Re: 20030303:Error with gribtocdl

NOTE: The decoders mailing list is no longer active. The list archives are made available for historical reasons.

On Mon, 3 Mar 2003, Unidata Support wrote:


------- Forwarded Message

>To: support@xxxxxxxxxxxxxxxx
>From: "Waylon Collins" <Waylon.Collins@xxxxxxxx>
>Subject: Error with gribtocdl
>Organization: UCAR/Unidata
>Keywords: 200303011129.h21BTB308517

This is a multi-part message in MIME format.
--------------7E19F6396570B56A1CAD3316
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Dear Unidata Support,

When running gribtocdl on a linux box (uname -r = 2.4.7-10smp), an
apparent error message appeared (attached.) Nevertheless, information
appeared in the cdl file, but not the parameter information - I know for
certain the grib file contained one parameter (Sea Surface Temperatrue
with a Grib Code of 80), yet it was not referenced in the cdl file. The
contents of the cdl file created are also attached. Any idea what the
problem is?

Waylon
--
**********************************************************************
* Waylon G. Collins                  Voice: (361)289-0959            *
* NOAA/National Weather Service      E-Mail: Waylon.Collins@xxxxxxxx *
* 300 Pinson Drive                                                   *
* Corpus Christi, TX 78406                                           *
* USA                                                                *
**********************************************************************


--------------7E19F6396570B56A1CAD3316
Content-Type: text/plain; charset=us-ascii;
 name="gribtocdl_error"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="gribtocdl_error"

 gribtocdl -v sst.grib > sst.cdl
Mar 01 11:08:13 gribtocdl[1524]: Starting Up
Mar 01 11:08:13 gribtocdl[1524]: oversize GRIB product 2

Wayon,

The grib products contain a size after the start of the product. Since
gribtocdl didn't find the end of the grib product at a the predicted
place,  it gives error message  "oversize GRIB product" and stops
processing the grib.  The problem might be a corrupted grib product or a
grib product that has the wrong size in it. I would try another grib and
see if you get the same error. It seems that gribtocdl "sort of" ignored
the error and wrote out the cdl anyway but without the parameter. I'll
probably fix gribtocdl to not write out the cdl if oversize error is
encountered.

Robb...




Mar 01 11:08:13 gribtocdl[1524]: EOF on input
Mar 01 11:08:13 gribtocdl[1524]: Exiting
Mar 01 11:08:13 gribtocdl[1524]: 0 WMO msgs, 0 GRIBs decoded, 0 written

--------------7E19F6396570B56A1CAD3316
Content-Type: text/plain; charset=us-ascii;
 name="sst.cdl"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="sst.cdl"

netcdf sst.grib{


dimensions:
        record = UNLIMITED ;    // (reference time, forecast time)
        lat = 0 ;
        lon = 0 ;
        datetime_len = 21 ;
        nmodels = 0 ;
        ngrids = 0 ;
        nav = 1 ;
        nav_len = 100 ;

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" ;


        // 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" ;

        long   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, 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


// global attributes
               :history = "2003-03-01 05:08:13 - created by gribtocdl 1.3 - 
31.05.2002" ;
               :title = "sst.grib" ;
               :Conventions = "NUWG" ;
               :version = 0.0 ;

data:

 model_id = 1009 ;

 // Navigation
 nav_model = "GRIB1" ;
 grid_type_code = 0 ;
 grid_type = "Latitude/Longitude" ;
 grid_name = " " ;
 grid_center = 0 ;
 grid_number =  ;
 i_dim = "lat" ;
 j_dim = "lon" ;
 Ni = 0 ;
 Ni = 0 ;
 Nj = 0 ;
 La1 = 0.000000 ;
 Lo1 = 0.000000 ;
 La2 = 0.000000 ;
 Lo2 = 0.000000 ;
 Di = 0.000000 ;
 Dj = 0.000000 ;
 ResCompFlag = 0 ;

 lon =  0.00 ;

 lat =  0.00 ;

}
--------------7E19F6396570B56A1CAD3316--


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


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