Loading...
Searching...
No Matches
g2_unpack3.c File Reference

Unpack Section 3 (Grid Definition Section) of a GRIB2 message. More...

`#include "grib2_int.h"`
`#include <stdio.h>`
`#include <stdlib.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)
| Unpack Section 3 (Grid Definition Section) of a GRIB2 message.

## Detailed Description

Unpack Section 3 (Grid Definition Section) of a GRIB2 message.

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 )

Unpack Section 3 (Grid Definition Section) of a GRIB2 message.

### Program History Log

Date | Programmer | Comments
--- | --- | ---
2002-10-31 | Gilbert | Initial
2009-01-14 | Vuong | Changed structure name template to gtemplate

Parameters

  cgrib | 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().