NCEPLIBS-g2c  1.6.4
g2_unpack3.c File Reference

Unpack Section 3 (Grid Definition Section) as defined in GRIB Edition 2. More...

#include <stdio.h>
#include <stdlib.h>
#include "grib2.h"

Go to the source code of this file.

Functions

g2int g2_unpack3 (unsigned char *cgrib, g2int *iofst, g2int **igds, g2int **igdstmpl, g2int *mapgridlen, g2int **ideflist, g2int *idefnum)
 This routine unpacks Section 3 (Grid Definition Section) as defined in GRIB Edition 2. More...
 

Detailed Description

Unpack Section 3 (Grid Definition Section) as defined in GRIB Edition 2.

Author
Stephen Gilbert
Date
2002-10-31

Definition in file g2_unpack3.c.

Function Documentation

◆ g2_unpack3()

g2int g2_unpack3 ( unsigned char *  cgrib,
g2int iofst,
g2int **  igds,
g2int **  igdstmpl,
g2int mapgridlen,
g2int **  ideflist,
g2int idefnum 
)

This routine unpacks Section 3 (Grid Definition Section) as defined in GRIB Edition 2.

Program History Log

Date Programmer Comments
2002-10-31 Gilbert Initial
2009-01-14 Vuong Changed structure name template to gtemplate
Parameters
cgribChar array ontaining Section 3 of the GRIB2 message.
iofstBit offset for the beginning of Section 3 in cgrib.
igdsContains 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).
igdstmplPointer to integer array containing the data values for the Grid Definition Template specified by igds[4].
mapgridlenNumber 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] .ne. 0) The number of entries in array ideflist - i.e. number of rows (or columns) for which optional grid points are defined.
Returns
  • 0 no error
  • 2 Not Section 3
  • 5 message contains an undefined Grid Definition Template.
  • 6 memory allocation error
Author
Stephen Gilbert
Date
2002-10-31

Definition at line 57 of file g2_unpack3.c.

References gtemplate::ext, extgridtemplate(), gtemplate::extlen, gbit(), gbits(), getgridtemplate(), gtemplate::map, gtemplate::maplen, and gtemplate::needext.

Referenced by g2_getfld(), getdim(), and getpoly().