[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: navigation information in GRIB2 datasets on THREDDS server



We are looking at adding those parameters, ill let you know.

David Wojtowicz wrote:
I see, however I have a significantly large pre-existing code base that uses
the GRIB navigation parameters for everything.
This code originally read GRIB1 files directly.  I had previously adapted it
to read data from the THREDDS server that used the NUWG conventions, and it
was relatively straightforward as the GRIB1 nav params were passed through
fairly directly in the various attributes.
Now however, I'm stuck in modifying it to deal with the GRIB2 based datasets
in THREDDS.  I'm not familiar enough with the navigation systems to make the
translations that would be necessary.
Would it be possible to pass the GRIB2 navigation params through as
ancillary information in the new convention? Or even just copy the nav block
(GRIB2 section 3) octets as an integer array into the dataset?  (or at least
point me to the place where the params are converted from GRIB to FGDC so I
could attempt to reverse the translation)  Redoing the code I have to use
FGDC navigation would be a huge undertaking.


-----
David Wojtowicz, Sr. Research Programmer, Sysadmin
Dept of Atmospheric Sciences / Computer Services
University of Illinois at Urbana-Champaign
address@hidden  (217) 333-8390

-----Original Message-----
From: John Caron [mailto:address@hidden] Sent: Tuesday, September 05, 2006 1:34 PM
To: David Wojtowicz
Cc: address@hidden; 'support-thredds'
Subject: Re: navigation information in GRIB2 datasets on THREDDS server

The projection parameters under the Lambert_Conformal variable follow the CF
conventions, and are in fact sufficient for georeferencing. These use the
FGDC projection parameter name and meanings; we consider them more
understandable than the GRIB values, but it sounds like you are more
familiar with the GRIB values.

David Wojtowicz wrote:

       *Hi,*


       *I'm having some trouble figuring out how to get all the
       necessary projection information out of the GRIB2 datasets on
       the motherlode THREDDS server.*


       *I need to know the values of most of the items from the GRIB2
       Grid Definition Section (section 3).  For Lambert Conformal, the
       following values should be available.  (See Table 1 below)*


       *However, I only see the navigation information on the THREDDS
       server in the fragment from a ncdump of the dataset (in this
       case NAM, 12KM) that is shown in table 2 below.*


       *Specifically, I need:*


       *Nx*,Ny  (obvious from the grid)


       *La1, Lo1 *


       *ResCompFlag*


       *Lov*


       *Dx, Dy *


       *Latin1, Latin2*


       *Projection* Center Flag


       *Scanning Mode*


       *It's not clear how the values given in Table 2 (from the
       THREDDS server) map to the values specified in the original
       GRIB2 file as they have different names, and there doesn't
       appear to be enough values to specify all of this.  And even
       where I can guess that the one value maps to the other, I'm not
       sure if the units are compatible.*


       *Any guidance would be appreciated.  It is possible that the
       values from the Grid Definition Section could simply be
       represented as an integer array in THREDDS?*


       *Thanks.*


       *Table 1:*


       *Grid Definition Template 3.30: Lambert conformal*

Octet Number(s)

        

Contents

15

        

Shape of the earth (see Code Table 3.2) <http://www.weather.gov/mdl/iwt/grib2/doc.htm#code3.2>

16

        

Scale factor of radius of spherical earth

17-20

        

Scaled value of radius of spherical earth

21

        

Scale factor of major axis of oblate spheroid earth

22-25

        

Scaled value of major axis of oblate spheroid earth

26

        

Scale factor of minor axis of oblate spheroid earth

27-30

        

Scaled value of minor axis of oblate spheroid earth

31-34

        

Nx - number of points along the X-axis

35-38

        

Ny - number of points along the Y-axis

39-42

        

La1 - latitude of first grid point

43-46

        

Lo1 - longitude of first grid point

47

        

Resolution and component flags (See Flag Table 3.3) <http://www.weather.gov/mdl/iwt/grib2/doc.htm#code3.3>

48-51

        

LaD - Latitude where Dx and Dy are specified

52-55

        

LoV - Longitude of meridian parallel to Y-axis along which latitude increases as the Y- coordinate increases

56-59

        

Dx - X-direction grid length (see note (1))

60-63

        

Dy - Y-direction grid length (see note (1))

64

        

Projection centre flag (see Flag Table 3.5) <http://www.weather.gov/mdl/iwt/grib2/doc.htm#code3.5>

65

        

Scanning mode (see Flag Table 3.4) <http://www.weather.gov/mdl/iwt/grib2/doc.htm#code3.4>

66-69

        

Latin 1 - first latitude from the pole at which the secant cone cuts the sphere

70-73

        

Latin 2 - second latitude from the pole at which the secant cone cuts the sphere

74-77

        

Latitude of the southern pole of projection

78-81

        

Longitude of the southern pole of projection





Table 2:

char Lambert_Conformal ;

Lambert_Conformal:grid_mapping_name = "lambert_conformal_conic" ;

                       Lambert_Conformal:standard_parallel = 25. ;

Lambert_Conformal:longitude_of_central_meridian = 265. ;

Lambert_Conformal:latitude_of_projection_origin = 25. ;

Lambert_Conformal:GRIB_earth_shape = "Earth spherical with radius of 6371229.0 m" ;

                       Lambert_Conformal:GRIB_earth_shape_code = 6 ;

                       Lambert_Conformal:DODS:strlen = 0 ;

           double y(y) ;

                       y:units = "km" ;

                       y:long_name = "y coordinate of projection" ;

                       y:standard_name = "projection_y_coordinate" ;

                       y:grid_spacing = "12.191001 km" ;

                       y:_CoordinateAxisType = "GeoY" ;

           double x(x) ;

                       x:units = "km" ;

                       x:long_name = "x coordinate of projection" ;

                       x:standard_name = "projection_x_coordinate" ;

                       x:grid_spacing = "12.191001 km" ;

                       x:_CoordinateAxisType = "GeoX" ;







-----
David Wojtowicz, Sr. Research Programmer, Sysadmin
Dept of Atmospheric Sciences / Computer Services
University of Illinois at Urbana-Champaign
address@hidden <mailto:address@hidden>  (217) 333-8390