This archive contains answers to questions sent to Unidata support through mid-2025. Note that the archive is no longer being updated. We provide the archive for reference; many of the answers presented here remain technically correct, even if somewhat outdated. For the most up-to-date information on the use of NSF Unidata software and data services, please consult the Software Documentation first.
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 ; }