g2_create.c(3) Library Functions Manual g2_create.c(3)

g2_create.c - Initialize a new GRIB2 message and pack GRIB2 sections 0 (Indicator Section) and 1 (Identification Section).

#include 'grib2_int.h'
#include <stdio.h>


#define LENSEC0 16
Length of GRIB Section 0. #define MAPSEC1LEN 13
Length of Map Section 1.


g2int g2_create (unsigned char *cgrib, g2int *listsec0, g2int *listsec1)
Initialize a new GRIB2 message and pack GRIB2 Section 0 (Indicator Section) and Section 1 (Identification Section).

Initialize a new GRIB2 message and pack GRIB2 sections 0 (Indicator Section) and 1 (Identification Section).

Author

Stephen Gilbert

Date

2002-10-31

Definition in file g2_create.c.

Length of GRIB Section 0.

Definition at line 11 of file g2_create.c.

Length of Map Section 1.

Definition at line 10 of file g2_create.c.

g2int g2_create (unsigned char * cgrib, g2int * listsec0, g2int * listsec1)

Initialize a new GRIB2 message and pack GRIB2 Section 0 (Indicator Section) and Section 1 (Identification Section). This routine is used with routines g2_addlocal(), g2_addgrid(), g2_addfield(), and g2_gribend() to create a complete GRIB2 message. g2_create() must be called first to initialize a new GRIB2 message. A call to g2_gribend() is required to complete GRIB2 message after all fields have been added.

Parameters

cgrib Character array to contain the GRIB2 message. Must be allocated large enough to store the entire GRIB2 message.
listsec0 Contains information needed for GRIB Indicator Section 0. Must be dimensioned >= 2.
  • listsec0[0] Discipline-GRIB Master Table Number ([Code Table 0.0] (https://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_doc/grib2_table0-0.shtml)).
  • listsec0[1] GRIB Edition Number (currently 2).

listsec1 Contains information needed for GRIB Identification Section 1. Must be dimensioned >= 13.

  • listsec1[0] Id of orginating centre ([Table 0] (https://www.nco.ncep.noaa.gov/pmb/docs/on388/table0.html)).
  • listsec1[1] Id of orginating sub-centre ([Table C] (https://www.nco.ncep.noaa.gov/pmb/docs/on388/tablec.html)).
  • listsec1[2] GRIB Master Tables Version Number ([Table 1.0] (https://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_doc/grib2_table1-0.shtml)).
  • listsec1[3] GRIB Local Tables Version Number ([Table 1.1] (https://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_doc/grib2_table1-1.shtml)).
  • listsec1[4] Significance of Reference Time ([Table 1.2] (https://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_doc/grib2_table1-2.shtml))
  • listsec1[5] Reference Time - Year (4 digits)
  • listsec1[6] Reference Time - Month
  • listsec1[7] Reference Time - Day
  • listsec1[8] Reference Time - Hour
  • listsec1[9] Reference Time - Minute
  • listsec1[10] Reference Time - Second
  • listsec1[11] Production status of data ([Table 1.3] (https://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_doc/grib2_table1-3.shtml)).
  • listsec1[12] Type of processed data ([Table 1.4] (https://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_doc/grib2_table1-4.shtml)).

Returns

  • > 0 Current size of new GRIB2 message
  • G2_CREATE_GRIB_VERSION Tried to use for version other than GRIB Edition 2

This routine is intended for use with routines g2_addlocal(), g2_addgrid(), g2_addfield(), and g2_gribend() to create a complete GRIB2 message.

Author

Stephen Gilbeert

Date

2002-10-31

Definition at line 68 of file g2_create.c.

References G2_CREATE_GRIB_VERSION, LENSEC0, MAPSEC1LEN, and sbit().

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

Version 2.1.0 NCEPLIBS-g2c