[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
mrf-e cdl
- Subject: mrf-e cdl
- Date: Tue, 16 May 2000 09:21:18 -0600 (MDT)
Hiya,
The mrf-e model now has another model ID 94, it was added to the mrf-e.cdl
this morning. The mrf-e.cdl is available in the decoders ftp area, ie
ftp.unidata.ucar.edu
pub/decoders/mrf-e.cdl
Robb...
ps. mrf-e.cdl is also attached to this message
===============================================================================
Robb Kambic Unidata Program Center
Software Engineer III Univ. Corp for Atmospheric Research
address@hidden WWW: http://www.unidata.ucar.edu/
===============================================================================
netcdf mrf-e {
dimensions:
record = UNLIMITED ; // (reference time, forecast time)
level = 2 ;
lat = 37 ; // latitude
lon = 72 ; // longitude
datetime_len = 21 ; // string length for datetime strings
nmodels = 3 ; // both MRF and SPEC62MRF models
ngrids = 2 ; // number of subgrids stitched together
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" ;
float level(level) ;
level:long_name = "level" ;
level:units = "hectopascals" ;
long model_id(nmodels) ;
model_id:long_name = "generating process ID number" ;
model_id:long_name = "generating process ID number" ;
// 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 numbers" ;
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
// The following lat and lon coordinate variables are redundant,
// since the navigation variables provide the necessary information.
But
// it's OK to include such extra information 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
float Z(record, level, lat, lon) ;
Z:long_name = "geopotential height" ;
Z:units = "gp m" ;
Z:_FillValue = -9999.f ;
Z:navigation = "nav" ; // georeference info
float T_sfc(record, lat, lon) ;
T_sfc:long_name = "surface temperature" ;
T_sfc:units = "degK" ;
T_sfc:_FillValue = -9999.f ;
T_sfc:navigation = "nav" ;
float P_msl(record,lat,lon) ; // Pressure at Mean Sea Level
P_msl:long_name = "pressure reduced to MSL" ;
P_msl:units = "Pa" ;
P_msl:_FillValue = -9999.0f ;
P_msl:navigation = "nav" ; // georeference info
float u(record, level, lat, lon) ;
u:long_name = "u-component of wind" ;
u:units = "meters/second" ;
u:_FillValue = -9999.f ;
u:navigation = "nav" ;
float v(record, level, lat, lon) ;
v:long_name = "v-component of wind" ;
v:units = "meters/second" ;
v:_FillValue = -9999.f ;
v:navigation = "nav" ;
data:
level = 1000, 500 ;
model_id = 78, 80, 94 ;
// Navigation
nav_model = "GRIB1" ;
grid_type_code = 0 ;
grid_type = "Latitude/Longitude" ;
grid_name = "Global 5.0 x 5.0 degree grid" ;
grid_center = 7 ; // NCEP
grid_number = 25, 26 ;
i_dim = "lon" ;
j_dim = "lat" ;
Ni = 72 ;
Nj = 37 ;
La1 = -90.0 ;
Lo1 = 0.0 ;
La2 = 90.0 ;
Lo2 = 355.0 ;
Di = 5.0 ;
Dj = 5.0 ;
ResCompFlag = 136 ;
lon = 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,185,190,195,200,205,210,215,220,225,230,235,
240,245,250,255,260,265,270,275,280,285,290,295,300,305,310,315,
320,325,330,335,340,345,350,355 ;
lat = -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 ;
}