Re: [netcdf-java] Storm tracks as trajectories

Hi Ethan-
I have tried expanding to two dimensional arrays (and along with it, the wasted space I will encounter) and still have no luck. I have attached the new CDL for further help.

Again, is there a sample file having multiple trajectories?
Any ideas on "fixing" the CDL to work?
-Ken



netcdf one_file {
dimensions:
        storm = UNLIMITED ; // (2 currently)
        record = 40 ;
variables:
        short storm(storm) ;
        short numObs(storm) ;
        float time(storm, record) ;
                time:long_name = "Modified Julian Day" ;
                time:units = "days since 1858-11-17 00:00:00" ;
        float lat(storm, record) ;
                lat:long_name = "Storm center latitude" ;
                lat:units = "degrees_north" ;
        float lon(storm, record) ;
                lon:long_name = "Storm center longitude" ;
                lon:units = "degrees_east" ;
        short alt(storm, record) ;
                alt:long_name = "Altitude" ;
                alt:units = "m" ;
        short wind(storm, record) ;
                wind:long_name = "Maximum Sustained Wind (10 min)" ;
                wind:units = "knots" ;

// global attributes:
                :cdm_datatype = "Trajectory" ;
                :trajectoryDimension = "storm" ;
                :Conventions = "Unidata Observation Dataset v1.0" ;
data:

 storm = 0, 1 ;

 numObs = 34, 5 ;

 time =
  53601.75, 53602, 53602.25, 53602.5, 53602.75, 53603, 53603.25, 53603.5,
53603.75, 53604, 53604.25, 53604.5, 53604.75, 53605, 53605.25, 53605.5, 53605.75, 53606, 53606.25, 53606.5, 53606.75, 53607, 53607.25, 53607.5, 53607.75, 53608, 53608.25, 53608.5, 53608.75, 53609, 53609.25, 53609.5,
    53609.75, 53610, _, _, _, _, _, _,
53604.5, 53604.75, 53605, 53605.25, 53605.5, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ ;

 lat =
13.3, 13.5, 13.6, 13.8, 14, 14.3, 14.9, 15.7, 16.5, 17.2, 17.8, 18.3, 18.6, 18.9, 19.2, 19.6, 20, 20.4, 20.9, 21.4, 22, 22.7, 23.3, 23.9, 24.3, 24.7,
    25, 25.3, 25.6, 25.7, 25.7, 25.6, 25.5, 25.5, _, _, _, _, _, _,
19.4, 19.6, 19.7, 19.7, 19.7, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _,
    _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ ;

 lon =
  -96.6, -98.2, -99.8, -101.3, -102.5, -103.7, -104.7, -105.6, -107.1,
    -108.5, -110, -111.5, -112.3, -113.2, -114.1, -114.9, -115.6, -116.1,
-116.7, -117.2, -117.7, -118.4, -119.1, -119.9, -120.7, -121.6, -122.6, -123.6, -124.6, -125.5, -126.5, -127.5, -128.5, -129.4, _, _, _, _, _, _, -94.5, -95, -95.7, -96.7, -97.7, _, _, _, _, _, _, _, _, _, _, _, _, _, _,
    _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ ;

 alt =
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, _, _, _, _, _, _,
0, 0, 0, 0, 0, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _,
    _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ ;

 wind =
22, 26, 35, 44, 48, 57, 62, 62, 66, 79, 79, 79, 75, 70, 66, 62, 62, 57, 57, 57, 48, 40, 35, 31, 26, 22, 22, 22, 22, 22, 22, 22, 22, 22, _, _, _, _,
    _, _,
26, 31, 40, 31, 22, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _,
    _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ ;
}



Ethan Davis said the following on 8/20/2008 11:16 AM:
Hi Ken, Don,

I agree as well that altitude should not be required ... it just hasn't made it off the ToDo list and onto the Done list.

Another problem for your sample file below is that none of the Trajectory implementations understand the contiguous list style of structures you are using [discribed in the obs dataset convention, http://www.unidata.ucar.edu/software/netcdf-java/formats/UnidataObsConvention.html]. I believe that only multidimensional arrays are handled by the current trajectory implementations.

Are you working with the 2.2.22 library or 4.0?

Ethan

Ken Knapp wrote:
Hi Don-
The following still does not work (but may be closer).
My two cents: Altitude should not be required for trajectory ... in this case, it would spuriously inflate the file size and likely confuse users.

Could ToolsUI be changed to say what causes a data type to fail (e.g., missing variable, dimension, etc)?

Thanks ... and still looking for the answer-
-Ken

p.s. Does someone have sample files for multiple trajectory files?

netcdf one_file {
dimensions:
        storm = 2 ;
        record = UNLIMITED ; // (39 currently)
variables:
        short storm(storm) ;
        int firstObs(storm) ;
        short numObs(storm) ;
        short trajectoryIndex(record) ;
        float time(record) ;
                time:long_name = "Modified Julian Day" ;
                time:units = "days since 1858-11-17 00:00:00" ;
        float lat(record) ;
                lat:long_name = "Storm center latitude" ;
                lat:units = "degrees_north" ;
        float lon(record) ;
                lon:long_name = "Storm center longitude" ;
                lon:units = "degrees_east" ;
        short alt(record) ;
                alt:long_name = "Altitude" ;
                alt:units = "m" ;
        short wind(record) ;
                wind:long_name = "Maximum Sustained Wind (10 min)" ;
                wind:units = "knots" ;

// global attributes:
                :cdm_datatype = "Trajectory" ;
                :trajectoryDimension = "storm" ;
                :Conventions = "Unidata Observation Dataset v1.0" ;
data:

 storm = 0, 1 ;

 firstObs = 0, 34 ;

 numObs = 34, 5 ;

trajectoryIndex = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, 1,
    2, 3, 4 ;

 time = 53601.75, 53602, 53602.25, 53602.5, 53602.75, 53603, 53603.25,
53603.5, 53603.75, 53604, 53604.25, 53604.5, 53604.75, 53605, 53605.25, 53605.5, 53605.75, 53606, 53606.25, 53606.5, 53606.75, 53607, 53607.25, 53607.5, 53607.75, 53608, 53608.25, 53608.5, 53608.75, 53609, 53609.25, 53609.5, 53609.75, 53610, 53604.5, 53604.75, 53605, 53605.25, 53605.5 ;

lat = 13.3, 13.5, 13.6, 13.8, 14, 14.3, 14.9, 15.7, 16.5, 17.2, 17.8, 18.3, 18.6, 18.9, 19.2, 19.6, 20, 20.4, 20.9, 21.4, 22, 22.7, 23.3, 23.9, 24.3, 24.7, 25, 25.3, 25.6, 25.7, 25.7, 25.6, 25.5, 25.5, 19.4, 19.6, 19.7,
    19.7, 19.7 ;

lon = -96.6, -98.2, -99.8, -101.3, -102.5, -103.7, -104.7, -105.6, -107.1, -108.5, -110, -111.5, -112.3, -113.2, -114.1, -114.9, -115.6, -116.1, -116.7, -117.2, -117.7, -118.4, -119.1, -119.9, -120.7, -121.6, -122.6,
    -123.6, -124.6, -125.5, -126.5, -127.5, -128.5, -129.4, -94.5, -95,
    -95.7, -96.7, -97.7 ;

alt = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ;

wind = 22, 26, 35, 44, 48, 57, 62, 62, 66, 79, 79, 79, 75, 70, 66, 62, 62, 57, 57, 57, 48, 40, 35, 31, 26, 22, 22, 22, 22, 22, 22, 22, 22, 22, 26,
    31, 40, 31, 22 ;
}



Don Murray said the following on 8/20/2008 10:13 AM:
Hi Ken-

Most likely you need an altitude variable as well (can  just be 0).
The trajectory interface assumes there is always an altitude.  I've
argued against that, but I think that's what's missing.

Don

Ken Knapp wrote:
I'm working on writing tropical storm track data in netCDF.
I think they should be written as CDM trajectories, but am unsure how to have ToolsUI recognize them as trajectories. I've attached below the CDL for a simple set of two storms. What do I need to change to have ToolsUI recognize them as trajectories??

Thanks in advance-
-Ken

netcdf one_file {
dimensions:
        storm = 2 ;
        record = UNLIMITED ; // (39 currently)
variables:
        short storm(storm) ;
        int firstObs(storm) ;
        short numObs(storm) ;
        short trajectoryIndex(record) ;
        float time(record) ;
                time:long_name = "Modified Julian Day" ;
                time:units = "days since 1858-11-17 00:00:00" ;
        float lat(record) ;
                lat:long_name = "Storm center latitude" ;
                lat:units = "degrees_north" ;
        float lon(record) ;
                lon:long_name = "Storm center longitude" ;
                lon:units = "degrees_east" ;
        short wind(record) ;
                wind:long_name = "Minimum Central Pressure" ;
                wind:units = "mb" ;
        short pres(record) ;

// global attributes:
                :cdm_datatype = "Trajectory" ;
                :trajectoryDimension = "storm" ;
                :Conventions = "Unidata Observation Dataset v1.0" ;
data:

 storm = 0, 1 ;

 firstObs = 0, 34 ;

 numObs = 34, 5 ;

trajectoryIndex = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, 1,
    2, 3, 4 ;

 time = 53601.75, 53602, 53602.25, 53602.5, 53602.75, 53603, 53603.25,
53603.5, 53603.75, 53604, 53604.25, 53604.5, 53604.75, 53605, 53605.25, 53605.5, 53605.75, 53606, 53606.25, 53606.5, 53606.75, 53607, 53607.25, 53607.5, 53607.75, 53608, 53608.25, 53608.5, 53608.75, 53609, 53609.25, 53609.5, 53609.75, 53610, 53604.5, 53604.75, 53605, 53605.25, 53605.5 ;

lat = 13.3, 13.5, 13.6, 13.8, 14, 14.3, 14.9, 15.7, 16.5, 17.2, 17.8, 18.3, 18.6, 18.9, 19.2, 19.6, 20, 20.4, 20.9, 21.4, 22, 22.7, 23.3, 23.9, 24.3, 24.7, 25, 25.3, 25.6, 25.7, 25.7, 25.6, 25.5, 25.5, 19.4, 19.6, 19.7,
    19.7, 19.7 ;

lon = -96.6, -98.2, -99.8, -101.3, -102.5, -103.7, -104.7, -105.6, -107.1, -108.5, -110, -111.5, -112.3, -113.2, -114.1, -114.9, -115.6, -116.1, -116.7, -117.2, -117.7, -118.4, -119.1, -119.9, -120.7, -121.6, -122.6, -123.6, -124.6, -125.5, -126.5, -127.5, -128.5, -129.4, -94.5, -95,
    -95.7, -96.7, -97.7 ;

wind = 22, 26, 35, 44, 48, 57, 62, 62, 66, 79, 79, 79, 75, 70, 66, 62, 62, 57, 57, 57, 48, 40, 35, 31, 26, 22, 22, 22, 22, 22, 22, 22, 22, 22, 26,
    31, 40, 31, 22 ;

pres = 1007, 1006, 1002, 997, 994, 987, 983, 981, 979, 972, 970, 972, 974, 976, 981, 983, 985, 986, 987, 990, 994, 998, 1000, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1008, 1009, 1009, 1010, 1006, 1004, 1001, 1002,
    1005 ;
}



--
Ken Knapp
Remote Sensing and Applications Division
National Climatic Data Center
151 Patton Ave
Asheville, NC 28801
828-271-4339 (voice) 828-271-4328 (fax)
http://www.ncdc.noaa.gov/
http://www.ncdc.noaa.gov/oa/rsad/isccpb1/
------------------------------------------------------------------------

_______________________________________________
netcdf-java mailing list
netcdf-java@xxxxxxxxxxxxxxxx
For list information or to unsubscribe, visit: http://www.unidata.ucar.edu/mailing_lists/


--
Ken Knapp
Remote Sensing and Applications Division
National Climatic Data Center
151 Patton Ave
Asheville, NC 28801
828-271-4339 (voice) 828-271-4328 (fax)
http://www.ncdc.noaa.gov/
http://www.ncdc.noaa.gov/oa/rsad/isccpb1/



  • 2008 messages navigation, sorted by:
    1. Thread
    2. Subject
    3. Author
    4. Date
    5. ↑ Table Of Contents
  • Search the netcdf-java archives: