Due to the current gap in continued funding from the U.S. National Science Foundation (NSF), the NSF Unidata Program Center has temporarily paused most operations. See NSF Unidata Pause in Most Operations for details.
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: