Provided by: libg2c-dev_1.6.4-3_amd64 bug

NAME

       g2_addgrid.c - Pack up a Grid Definition Section (Section 3) and adds it to a GRIB2
       message.

SYNOPSIS

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

   Functions
       g2int g2_addgrid (unsigned char *cgrib, g2int *igds, g2int *igdstmpl, g2int *ideflist,
           g2int idefnum)
           This routine packs up a Grid Definition Section (Section 3) and adds it to a GRIB2
           message.

Detailed Description

       Pack up a Grid Definition Section (Section 3) and adds it to a GRIB2 message.

       Author
           Stephen Gilbeert

       Date
           2002-11-01

       Definition in file g2_addgrid.c.

Function Documentation

   g2int g2_addgrid (unsigned char * cgrib, g2int * igds, g2int * igdstmpl, g2int * ideflist,
       g2int idefnum)
       This routine packs up a Grid Definition Section (Section 3) and adds it to a GRIB2
       message. It is used with routines g2_create(), g2_addlocal(), g2_addfield(), and
       g2_gribend() to create a complete GRIB2 message. g2_create() must be called first to
       initialize a new GRIB2 message.

       Parameters
           cgrib Char array that contains the GRIB2 message to which section should be added.
           Must be allocated large enough to store the entire GRIB2 message.
           igds Contains information needed for GRIB Grid Definition Section 3. Must be
           dimensioned >= 5.

           • igds[0] Source of grid definition (see Code 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. (Code Table 3.11)

           • igds[4] Grid Definition Template Number (Code Table 3.1)

           igdstmpl Contains the data values for the specified Grid Definition Template
           (NN=igds[4]). Each element of this integer array contains an entry (in the order
           specified) of Grid Defintion Template 3.NN
           ideflist (Used if igds[2] != 0) This array contains the number of grid points
           contained in each row (or column).
           idefnum (Used if igds[2] != 0) The number of entries in array ideflist. i.e. number of
           rows (or columns) for which optional grid points are defined.

       Returns

           • > 0 Current size of updated GRIB2 message

           • -1 GRIB message was not initialized. Need to call routine gribcreate first.

           • -2 GRIB message already complete. Cannot add new section.

           • -3 Sum of Section byte counts doesn't add to total byte count

           • -4 Previous Section was not 1, 2 or 7.

           • -5 Could not find requested Grid Definition Template.

       Note
           The Grid Def Section ( Section 3 ) can only follow Section 1, 2 or Section 7 in a
           GRIB2 message.

       PROGRAM HISTORY LOG

       • 2002-11-01 Gilbert

       • 2009-01-14 Vuong Changed structure name template to gtemplate

       Author
           Stephen Gilbeert

       Date
           2002-11-01

       Definition at line 60 of file g2_addgrid.c.

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

Author

       Generated automatically by Doxygen for NCEPLIBS-g2c from the source code.