g2intg2_unpack3(unsignedchar*cgrib,g2int*iofst,g2int**igds,g2int**igdstmpl,g2int*mapgridlen,g2int**ideflist,g2int*idefnum)
Unpack Section 3 (Grid Definition Section) of a GRIB2 message.
ProgramHistoryLog
Date Programmer Comments 2002-10-31 Gilbert Initial 2009-01-14 Vuong Changed structure
name template to gtemplate
Parameterscgrib Char array ontaining Section 3 of the GRIB2 message.
iofst Pointer to g2int which contains the bit offset for the beginning of Section 3 in cgrib.
igds Pointer to a pointer which will get a pointer to memory allocated for the GDS array, of length
5. The array will contain information read from the appropriate GRIB Grid Definition Section 3 for
the field being returned.
• igds[0] Source of grid definition (see Table 3.0).
• igds[1] Number of grid points in the defined grid.
• igds[2] Number of octets needed for each additional grid points definition. Used to define number
of points in each row (or column) for non-regular grids. = 0, if using regular grid.
• igds[3] Interpretation of list for optional points definition. (See Table 3.11)
• igds[4] Grid Definition Template Number (see Table 3.1).
igdstmpl Pointer a pointer to g2int, which will get a pointer to an allocated array that contians
containing the data values from the Grid Definition Template specified by igds[4].
mapgridlen A pointer tat gets the number of elements in igdstmpl. i.e. number of entries in Grid
Defintion Template specified by igds[4].
ideflist (Used if igds[2] .ne. 0) Pointer to integer array containing the number of grid points
contained in each row (or column).
idefnum (Used if igds[2] != 0.) A pointer that gets the number of entries in array ideflist - i.e.
number of rows (or columns) for which optional grid points are defined.
Returns
• G2_NO_ERROR No error.
• G2_UNPACK_BAD_SEC Array passed had incorrect section number.
• G2_UNPACK3_BAD_GDT message contains an undefined Grid Definition Template.
• G2_UNPACK_NO_MEM Memory allocation error.
Author
Stephen Gilbert
Date
2002-10-31
Definition at line 62 of file g2_unpack3.c.
References gtemplate::ext, extgridtemplate(), gtemplate::extlen, G2_NO_ERROR, G2_UNPACK3_BAD_GDT,
G2_UNPACK_BAD_SEC, G2_UNPACK_NO_MEM, gbit(), gbits(), getgridtemplate(), gtemplate::map,
gtemplate::maplen, and gtemplate::needext.
Referenced by g2_getfld(), getdim(), and getpoly().