NOTE: The decoders
mailing list is no longer active. The list archives are made available for historical reasons.
On Tue, 30 Apr 2002, Unidata Support wrote:
------- Forwarded Message >To: support@xxxxxxxxxxxxxxxx >From: David Ovens <ovens@xxxxxxxxxxxxxxxxxxxx> >Subject: converting ETA 104 GRIB file to netCDF >Organization: University of Washington >Keywords: 200204302322.g3UNMna26603 netCDF gribtonc CDL ETA Hello, I need to convert the ETA 104 GRIB files to netCDF format. I am a novice netCDF person. I tried using gribdump to put together a *.cdl file like I have for some other models, and then tried using gribtonc, but I don't get any of the gridded data in the netCDF file -- I just get the data I entered in the cdl file. Do you have any suggestions? Thanks for any help.
David, The way I debug gribtonc is to run it from the command line with verbose mode, ie % gribtonc -vl - eta104.cdl eta104.nc < eta104.input One can also send it to a log file, % gribtonc -vl log eta104.cdl eta104.nc < eta104.input Usually the output gives enough information to solve the problem. At this time, I'm preparing for a workshop as a presenter so I will not have time to take a detail look at this problem until later next week. Keep me informed of your status, also I would appreciate a copy of a working cdl if you solve the problem. Thanks, Robb...
Here is my eta104.cdl file for sea-level pressure and Z at 500 mb: ====================================================================== netcdf eta { // ETA 40km model in Polar Stereographic Projection dimensions: record = UNLIMITED ; // (reference time, forecast time) level = 1 ; // isobaric levels for most parameters x = 147 ; y = 110 ; datetime_len = 21 ; // string length for datetime strings nmodels = 3 ; // both 80km and 48km models accum = 2 ; // time range for accumulations nav = 1 ; // For navigation. Variables that use // this dimension define a mapping between // (x,y) indices and (lat,lon) coords. nav_len = 100 ; // max length for navigation character 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" ; int model_id(nmodels) ; 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) ; grid_number:long_name = "GRIB-1 catalogued grid numbers" ; grid_number:_FillValue = -9999 ; char earth_shape(nav, nav_len) ; earth_shape:long_name = "assumed earth shape" ; char x_dim(nav, nav_len) ; x_dim:long_name = "x dimension name" ; char y_dim(nav, nav_len) ; y_dim:long_name = "y dimension name" ; int Nx(nav) ; Nx:long_name = "number of points along x-axis" ; int Ny(nav) ; Ny:long_name = "number of points along y-axis" ; 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" ; byte ResCompFlag(nav) ; ResCompFlag:long_name = "resolution and component flags" ; float Lov(nav) ; Lov:long_name = "orientation of the grid" ; Lov:units = "degrees_east" ; float Dx(nav) ; Dx:long_name = "x-direction grid length" ; Dx:units = "meters" ; float Dy(nav) ; Dy:long_name = "y-direction grid length" ; Dy:units = "meters" ; byte ProjFlag(nav) ; ProjFlag:long_name = "projection center flag" ; float Latin1(nav) ; Latin1:long_name = "first intersecting latitude" ; Latin1:units = "degrees_north" ; float Latin2(nav) ; Latin2:long_name = "second intersecting latitude" ; Latin2:units = "degrees_north" ; float SpLat(nav) ; SpLat:long_name = "latitude of the southern pole" ; SpLat:units = "degrees_north" ; float SpLon(nav) ; SpLon:long_name = "longitude of the southern pole" ; SpLon:units = "degrees_east" ; // end of navigation variables // global attributes: :history = "created by gribtonc from HDS broadcast" ; :title = "NCEP Global Product Set" ; :Conventions = "NUWG" ; :version = 0.0 ; // still just a draft float Psl_et(record, y, x) ; Psl_et:long_name = "mean sea level pressure (ETA model reduction)" ; Psl_et:units = "Pa" ; Psl_et:_FillValue = -9999.f ; Psl_et:navigation = "nav" ; float Z(record, level, y, x) ; Z:long_name = "geopotential height" ; Z:units = "gp m" ; Z:_FillValue = -9999.f ; Z:navigation = "nav" ; data: level = 500; model_id = 83, 84, 89 ; // Navigation nav_model = "GRIB1" ; grid_type_code = 5 ; grid_type = "Polar Stereographic" ; grid_name = "AWIPS grid #104" ; grid_center = 7 ; grid_number = 104 ; earth_shape = "oblate spheroid (IAU 1965)" ; x_dim = "x" ; y_dim = "y" ; Nx = 147 ; Ny = 110 ; La1 = -0.2680 ; Lo1 = -139.475006 ; ResCompFlag = 8 ; Lov = -105.0 ; Dx = 90755 ; Dy = 90755 ; ProjFlag = 64 ; } ====================================================================== -- David Ovens e-mail: ovens@xxxxxxxxxxxxxxxxxxxx (206) 685-8108 plan: Real-time MM5 forecasting for Pacific Northwest Research Meteorologist Dept of Atmospheric Sciences, Box 351640University of Washington Seattle, WA 98195------- End of Forwarded Message
============================================================================== Robb Kambic Unidata Program Center Software Engineer III Univ. Corp for Atmospheric Research rkambic@xxxxxxxxxxxxxxxx WWW: http://www.unidata.ucar.edu/ ==============================================================================
decoders
archives: