Re: [netcdf-java] Storm tracks as trajectories

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/

--
Ethan R. Davis                                Telephone: (303) 497-8155
Software Engineer                             Fax:       (303) 497-8690
UCAR Unidata Program Center                   E-mail:    edavis@xxxxxxxx
P.O. Box 3000
Boulder, CO  80307-3000                       http://www.unidata.ucar.edu/
---------------------------------------------------------------------------



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