Re: 20020430: converting ETA 104 GRIB file to netCDF using gribtonc

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 351640
University 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/
==============================================================================


  • 2002 messages navigation, sorted by:
    1. Thread
    2. Subject
    3. Author
    4. Date
    5. ↑ Table Of Contents
  • Search the decoders archives: