[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

ocean.cdl



Hiya,

There are two new variables in the ocean wave model for the gribtonc
decoder that uses ocean.cdl.

They are the period and direction of the wind waves on the ocean.  The
ocean.cdl is attached and also in the ~ftp/pub/decoders directory.

Robb...

===============================================================================
Robb Kambic                                Unidata Program Center
Software Engineer III                      Univ. Corp for Atmospheric Research
address@hidden             WWW: http://www.unidata.ucar.edu/
===============================================================================
netcdf ocean {          // Global Wind-Wave Forecast Model (NOW) and 
                        // Ocean Wave model with additional physics (PWAV)
                        // on international exchange grids 21, 22, 23, 24
                        
dimensions:
        record = UNLIMITED ;    // (reference time, forecast time)
        lat = 73 ;              // latitude
        lon = 73 ;              // longitude
        datetime_len = 21 ;     // string length for datetime strings
        ngrids = 4 ;            // number of subgrids stitched together
        nmodels = 2 ;           // both NOW model and PWAV models
        nav = 1 ;               // For navigation.  Variables that use
                                // this dimension define a mapping between
                                // (lat, lon) indices and (lat, lon) coords.
        nav_len = 100 ;         // max string length for navigation strings

variables:

        double  reftime(record) ;       // reference time of the model
                reftime:long_name = "reference time" ;
                reftime:units = "hours since 1992-1-1" ;

        double  valtime(record) ;       // forecast time ("valid" time)
                valtime:long_name = "valid time" ;
                valtime:units = "hours since 1992-1-1" ;

        :record = "reftime, valtime" ;  // "dimension attribute" -- means
                                        // (reftime, valtime) uniquely
                                        // determine record

        char    datetime(record, datetime_len) ; // derived from reftime
                datetime:long_name = "reference date and time" ;
                // units YYYY-MM-DD hh:mm:ssZ  (ISO 8601)

        float   valtime_offset(record) ; // derived as valtime-reftime
                valtime_offset:long_name = "hours from reference time" ;
                valtime_offset:units = "hours" ;

        long    model_id(nmodels) ;
                model_id:long_name = "generating process ID number" ;

        // The following lat and lon coordinate variables are redundant,
        // since the navigation variables provide the necessary information.
        // The extra information is included here for human readability.

        float   lat(lat) ;
                lat:long_name = "latitude" ;
                lat:units = "degrees_north" ;

        float   lon(lon) ;
                lon:long_name = "longitude" ;
                lon:units = "degrees_east" ;

// global attributes:
                :history = "created by gribtonc from HDS broadcast" ;
                :title = "NCEP Global Product Set" ;
                :Conventions = "NUWG" ;
                :version = 0.0 ;                // still just a draft

        // navigation variables all use nav dimension

        char    nav_model(nav, nav_len) ;        // navigation parameterization
                nav_model:long_name = "navigation model name" ;

        int     grid_type_code(nav) ;
                grid_type_code:long_name = "GRIB-1 GDS data representation 
type" ;

        char    grid_type(nav, nav_len) ;
                grid_type:long_name = "GRIB-1 grid type" ;

        char    grid_name(nav, nav_len) ;
                grid_name:long_name = "grid name" ;

        int     grid_center(nav) ;
                grid_center:long_name = "GRIB-1 originating center ID" ;

        int     grid_number(nav, ngrids) ;
                grid_number:long_name = "GRIB-1 catalogued grid number" ;
                grid_number:_FillValue = -9999 ;

        char    i_dim(nav, nav_len) ;
                i_dim:long_name = "longitude dimension name" ;

        char    j_dim(nav, nav_len) ;
                j_dim:long_name = "latitude dimension name" ;

        int     Ni(nav) ;
                Ni:long_name = "number of points along a latitude circle" ;

        int     Nj(nav) ;
                Nj:long_name =  "number of points along a longitude circle" ;

        float   La1(nav) ;
                La1:long_name = "latitude of first grid point" ;
                La1:units = "degrees_north" ;

        float   Lo1(nav) ;
                Lo1:long_name = "longitude of first grid point" ;
                Lo1:units = "degrees_east" ;

        float   La2(nav) ;
                La2:long_name = "latitude of last grid point" ;
                La2:units = "degrees_north" ;

        float   Lo2(nav) ;
                Lo2:long_name = "longitude of last grid point" ;
                Lo2:units = "degrees_east" ;

        float   Di(nav) ;
                Di:long_name = "Longitudinal direction increment" ;
                Di:units = "degrees" ;

        float   Dj(nav) ;
                Dj:long_name = "Latitudinal direction increment" ;
                Dj:units = "degrees" ;

        byte    ResCompFlag(nav) ;
                ResCompFlag:long_name = "resolution and component flags" ;

        // end of navigation variables

        float   u_sfc(record, lat, lon) ;
                u_sfc:long_name = "u-component of wind at surface" ;
                u_sfc:units = "m/s" ;
                u_sfc:_FillValue = -9999.f ;
                u_sfc:navigation = "nav" ;

        float   v_sfc(record, lat, lon) ;
                v_sfc:long_name = "v-component of wind at surface" ;
                v_sfc:units = "m/s" ;
                v_sfc:_FillValue = -9999.f ;
                v_sfc:navigation = "nav" ;

        float   wave_hgt_sfc(record, lat, lon) ;
                wave_hgt_sfc:long_name = "significant height of combined wind 
waves and swell" ;
                wave_hgt_sfc:units = "m" ;
                wave_hgt_sfc:_FillValue = -9999.f ;
                wave_hgt_sfc:navigation = "nav" ;

        float   wave_per_sfc(record, lat, lon) ;
                wave_per_sfc:long_name = "primary wave mean period" ;
                wave_per_sfc:units = "s" ;
                wave_per_sfc:_FillValue = -9999.f ;
                wave_per_sfc:navigation = "nav" ;

        float   wave_dir_sfc(record, lat, lon) ;
                wave_dir_sfc:long_name = "primary wave direction" ;
                wave_dir_sfc:units = "degrees_true" ;
                wave_dir_sfc:_FillValue = -9999.f ;
                wave_dir_sfc:navigation = "nav" ;

        float   sea_per_sfc(record, lat, lon) ;
                sea_per_sfc:long_name = "mean period of wind waves" ;
                sea_per_sfc:units = "s" ;
                sea_per_sfc:_FillValue = -9999.f ;
                sea_per_sfc:navigation = "nav" ;

        float   sea_dir_sfc(record, lat, lon) ;
                sea_dir_sfc:long_name = "direction of wind waves" ;
                sea_dir_sfc:units = "degrees_true" ;
                sea_dir_sfc:_FillValue = -9999.f ;
                sea_dir_sfc:navigation = "nav" ;

data:

 model_id = 10, 88 ;

 // Navigation
 nav_model = "GRIB1" ;
 grid_type_code = 0 ;
 grid_type  = "Latitude/Longitude" ;
 grid_name = "Global 5.0 x 2.5 degree grid" ;
 grid_center = 7 ;   // NCEP
 grid_number = 21,22,23,24 ;
 i_dim = "lon" ;
 j_dim = "lat" ;
 Ni = 73 ;
 Nj = 73 ;
 La1 = -90.0 ;
 Lo1 = -180.0 ;
 La2 = 90.0 ;
 Lo2 = 180.0 ;
 Di = 5.0 ;
 Dj = 2.5 ;
 ResCompFlag = 136 ;

 lon = -180,-175,-170,-165,-160,-155,-150,-145,-140,-135,-130,-125,
       -120,-115,-110,-105,-100, -95, -90, -85, -80, -75, -70, -65,
        -60, -55, -50, -45, -40, -35, -30, -25, -20, -15, -10,  -5,
          0,   5,  10,  15,  20,  25,  30,  35,  40,  45,  50,  55,
         60,  65,  70,  75,  80,  85,  90,  95, 100, 105, 110, 115,
        120, 125, 130, 135, 140, 145, 150, 155, 160, 165, 170, 175, 180 ;

 lat = -90.0,-87.5,-85.0,-82.5,-80.0,-77.5,-75.0,-72.5,
       -70.0,-67.5,-65.0,-62.5,-60.0,-57.5,-55.0,-52.5,
       -50.0,-47.5,-45.0,-42.5,-40.0,-37.5,-35.0,-32.5,
       -30.0,-27.5,-25.0,-22.5,-20.0,-17.5,-15.0,-12.5,
       -10.0, -7.5, -5.0, -2.5,  0.0,  2.5,  5.0,  7.5,
        10.0, 12.5, 15.0, 17.5, 20.0, 22.5, 25.0, 27.5,
        30.0, 32.5, 35.0, 37.5, 40.0, 42.5, 45.0, 47.5,
        50.0, 52.5, 55.0, 57.5, 60.0, 62.5, 65.0, 67.5,
        70.0, 72.5, 75.0, 77.5, 80.0, 82.5, 85.0, 87.5, 90.0 ;
}