Re: [netcdf-java] Storm tracks as trajectories

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/

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