Scroll to navigation

g2_addgrid.c(3) NCEPLIBS-g2c g2_addgrid.c(3)

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.

Tue May 3 2022 Version 1.6.4