DCOM/NOAA/NWS Graphic

FM 92-XII GRIB General Regularly-distributed Information in Binary Form


Table of Contents


CODE FORM:

SECTION 0 Indicator Section
SECTION 1 Identification Section
SECTION 2 (Local Use Section)
SECTION 3 Grid Definition Section
SECTION 4 Product Definition Section
SECTION 5 Data Representation Section
SECTION 6 Bit-map Section
SECTION 7 Data Section
SECTION 8 End Section

NOTES:

  1. GRIB is the name of a data representation form for general regularly-distributed information in binary.


  2. Data encoded in GRIB consists of a continuous bit-stream made of a sequence of octets (1 octet = 8 bits).


  3. The octets of a GRIB message are grouped into sections:

Section Number

Section Name

Section Contents

0 Indicator Section "GRIB", Discipline, GRIB Edition number, length of message
1 Identification Section Length of section, section number, characteristics that apply to all processed data in the GRIB message
2 Local Use Section Length of section, section number, additional items for local use by originating centres (optional)
3 Grid Definition Section Length of section, section number, geometry of values within the plane described by the two fixed coordinates
4 Product Definition Section Length of section, section number, description of the data that follows, including the two fixed coordinates
5 Data Representation Section Length of section, section number, description of how the data that follows is represented
6 Bit-map Section Length of section, section number, indication of presence or absence of data at each of the grid points, as applicable
7 Data Section Length of section, section number, data values
8 End Section "7777"


  1. Sequences of GRIB sections 2 to 7, sections 3 to 7 or sections 4 to 7 may be repeated within a single GRIB message. All sections within such repeated sequences must be present and shall appear in the numerical order noted above. Unrepeated sections remain in effect until redefined.


  2. It will be noted that the GRIB code is not suitable for visual data recognition without computer interpretation.


  3. The representation of data by means of series of bits is independent of any particular machine representation.


  4. Message and section lengths are expressed in octets. Octets are numbered 1, 2, 3, etc., starting at the beginning of each section. Therefore, octet numbers in a template refer to the respective section.


  5. Bit positions within octets are referred to as bit 1 to bit 8, where bit 1 is the most significant and bit 8 is the least significant. Thus, an octet with only bit 8 set to 1 would have the integer value 1.


  6. As used in "GRIB", "International Alphabet No. 5" is regarded as an 8-bit alphabet with bit 1 set to zero.


  7. The IEEE single precision floating point representation is specified in the standard ISO/IEC 559-1985 and ANSI/IEEE 754-1985 (R1991), which should be consulted for more details. The representation occupies four octets and is

    seeeeeee emmmmmmm mmmmmmmm mmmmmmmm

    where

    s is the sign bit, 0 means positive, 1 negative
    e...e is an 8 bit biased exponent
    m...m is the mantissa, with the first bit deleted

    The value of the number is given by the following table:

    e...e m...m Value of number
    0 Any (-1)s (m...m)2-232-126 = (-1)s(m...m)2-149
    1...254 Any (-1)s (1.0 + (m...m)2-23)2((e e)-127)
    255 0 Positive (s=0) or Negative (s=1) infinity
    255 >0 NaN (Not a valid Number, result of illegal operation)

    Normally, only biased exponent values from 1 through 254 inclusive are used, except for positive or negative zero which are represented by setting both the biased exponent and the mantissa to 0.

    The numbers are stored with the high order octet first. The sign bit will be the first bit of the first octet. The low order bit of the mantissa will be the last (eighth) bit of the fourth octet.

    This floating point representation has been chosen because it is in common use in modern computer hardware. Some computers use this representation with the order of the octets reversed. They will have to convert the representation, either by reversing the octets or by computing the floating point value directly using the above formulae.

    [Table of Contents]


REGULATIONS:


92.1 General

92.1.1 The GRIB code shall be used for the exchange and storage of general regularly-distributed information expressed in binary form.

92.1.2 The beginning and the end of the code shall be identified by 4 octets coded according to the International Alphabet No. 5 to represent the indicators "GRIB" and "7777" in Indicator Section 0 and End Section 8, respectively. All other octets included in the code shall represent data in binary form.

92.1.3 Each section included in the code shall always end on an octet boundary. This rule shall be applied by appending bits set to zero to the section where necessary.

92.1.4 All bits set to "1" for any value indicates that value is missing. This rule shall not apply to packed data.

92.1.5 If applicable, negative values shall be indicated by setting the most significant bit to "1".

92.1.6 Latitude, longitude, and angle values shall be in units of 10-6 degree, except for specific cases explicitly stated in some grid definitions.

92.1.7 The latitude values shall be limited to the range 0 to 90 degrees inclusive. Orientation shall be north latitude positive, south latitude negative. Bit 1 is set to 1 to indicate south latitude.

92.1.8 The longitude values shall be limited to the range 0 to 360 degrees inclusive. Orientation shall be east longitude positive, with only positive values being used.

92.1.9 The latitude and longitude of the first grid point and the last grid point shall always be given for regular grids.

92.1.10 Vector components at the North and South Poles shall be coded according to the following conventions.

92.1.10.1 If the resolution and component flags in section 3 (Flag table 3.3) indicate that the vector components are relative to the defined grid, the vector components at the Pole shall be resolved relative to the grid.

92.1.10.2 Otherwise, for projections where there are multiple points at a given pole, the vector components shall be resolved as if measured an infinitesimal distance from the Pole at the longitude corresponding to each grid point. At the North Pole, the West to East (x direction) component at a grid point with longitude L shall be resolved along the meridian 90 degrees East of L, and the South to North (y direction) component shall be resolved along the meridian 180 degrees from L. At the South Pole the West to East component at a grid point with longitude L shall be resolved along the meridian 90 degrees East of L and the South to North component shall be resolved along L.

92.1.10.3 Otherwise, if there is only one Pole point, either on a cylindrical projection with all but one Pole point deleted, or on any projection (such as polar stereographic) where the Pole maps to a unique point, the West to East and South to North components shall be resolved along longitudes 90W and 0 respectively at the North Pole and along longitudes 90W and 180 respectively at the South Pole.

Note: (1) This differs from the treatment of the Poles in the WMO traditional alphanumeric codes.

92.1.11 The first and last grid points shall not necessarily correspond to the first and last data points, respectively, if the bit-map is used.

92.2 Section 0 - Indicator Section

92.2.1 Section 0 shall always be 16 octets long.

92.2.2 The first four octets shall always be character coded according to the International Alphabet No. 5 as "GRIB".

92.2.3 The remainder of the section shall contain reserved octets, followed by the Discipline, the GRIB Edition number, and the length of the entire GRIB message (including the Indicator Section).

92.3 Section 1 - Identification Section

92.3.1 The length of the section, in units of octets, shall be expressed over the group of the first four octets, i.e., over the first 32 bits.

92.3.2 The section number shall be expressed in the fifth octet.

92.3.3 Octets beyond 21 are reserved for future use and need not be present.

92.4 Section 2 - Local Use Section

92.4.1 Regulations 92.3.1 and 92.3.2 shall apply.

92.4.2 Section 2 is optional.

92.5 Section 3 - Grid Definition Section

92.5.1 Regulations 92.3.1 and 92.3.2 shall apply.

92.6 Section 4 - Product Definition Section

92.6.1 Regulations 92.3.1 and 92.3.2 shall apply.

92.7 Section 5 - Data Representation Section

92.7.1 Regulations 92.3.1 and 92.3.2 shall apply.

92.8 Section 6 - Bit-map Section

92.8.1 Regulations 92.3.1 and 92.3.2 shall apply.

92.9 Section 7 - Data Section

92.9.1 Regulations 92.3.1 and 92.3.2 shall apply.

92.9.2Data shall be coded using the minimum number of bits necessary to provide the accuracy required by international agreement. This required accuracy/precision shall be achieved by scaling the data by multiplication by an appropriate power of 10 (which may be 0) before forming the non-negative differences, and then using the binary scaling to select the precision of the transmitted value.

92.9.3 The data shall be packed by the method identified in Section 5.

91.8.4 Data shall be coded in the form of non-negative scaled differences from a reference value of the whole field plus, if applicable, a local reference value.

Notes:
  1. A reference value is normally the minimum value of the data set which is represented.


  2. For grid-point values, complex packing features are intended to reduce the whole size of the GRIB message (data compression without loss of information with respect to simple packing). The basic concept is to reduce data size thanks to local redundancy. This is achieved just before packing, by splitting the whole set of scaled data values into groups, on which local references (such as local minima) are removed. It is done with some overhead, because extra descriptors are needed to manage the groups characteristics. An optional pre-processing of the scaled values (spatial differencing) may also be applied before splitting into groups, and combined methods, along with use of alternate row scanning mode, are very efficient on interpolated data.
  3. For spectral data, complex packing is provided for better accuracy of packing. This is because many spectral coefficients have small values (regardless of sign), especially for large wave numbers. The first principle is to not pack a subset of coefficients, associated with small wave numbers so that the amplitude of the packed coefficients is reduced . The second principle is to apply an operator to the remaining part of the spectrum: with appropriate tuning it leads to a more homogeneous set of values to pack.
  4. The original data value Y (in the units of code table 4.2) can be recovered with the formula:

    Y * 10D= R + (X1+X2) * 2E

    For simple packing and all spectral data
    E = Binary scale factor,
    D = Decimal scale factor,
    R = Reference value of the whole field,
    X1 = 0,
    X2 = Scaled (encoded) value.

    For complex grid point packing schemes, E, D, and R are as above, but X1 = Reference value (scaled integer) of the group the data value belongs to, X2 = Scaled (encoded) value with the group reference value (XI) removed.


92.10 Section 8 - End Section

92.10.1 The end section shall always be 4 octets long, character coded according to the International Alphabet No. 5 as "7777". [Table of Contents]


SPECIFICATION OF OCTET CONTENTS

SECTION 0 - INDICATOR SECTION

Octet No.Contents
1-4"GRIB" (coded according to the International Alphabet No. 5.)
5-6Reserved
7Discipline - GRIB Master Table Number (see Code Table 0.0)
8GRIB Edition Number (currently 2)
9-16Total length of GRIB message in octets (including Section 0)

[Table of Contents]

SECTION 1 - IDENTIFICATION SECTION

Octet No.Contents
1-4Length of section in octets (21 or nn)
5Number of section ("1")
6-7Identification of originating/generating centre (see Common Code Table C-1)
8-9Identification of originating/generating sub-centre (allocated by originating/generating Centre)
10GRIB Master Tables Version Number (see Code Table 1.0)
11GRIB Local Tables Version Number (see Code Table 1.1)
12Significance of Reference Time (see Code Table 1.2)
13-14Year (4 digits)
15Month
16Day
17Hour
18Minute
19Second
20Production status of processed data in this GRIB message (see Code Table 1.3)
21Type of processed data in this GRIB message (see Code Table 1.4)
22 - nnReserved: need not be present

[Table of Contents]

SECTION 2 - LOCAL SECTION USE

Octet No.Contents
1-4Length of section in octets (nn)
5Number of section ("2")
6-nnLocal use

[Table of Contents]

SECTION 3 - GRID DEFINITION SECTION

Octet No.Contents
1-4Length of section in octets (nn)
5Number of section ("3")
6Source of grid definition (see Code Table 3.0 and Note 1)
7-10Number of data points
11Number of octets for optional list of numbers defining number of points (see Note 2)
12Interpretation of list of numbers defining number of points (see Code Table 3.11)
13-14Grid Definition Template Number (= N) (see Code Table 3.1)
15-xxGrid Definition Template (see Template 3.N, where N is the Grid Definition Template Number given in octets 13-14)
[xx+1]-nnOptional list of numbers defining number of points (see Notes 2, 3 and 4)

Notes:
  1. If octet 6 is not zero, octets 15-xx (15-nn if octet 11 is zero) may not be supplied. This should be documented with all bits set to 1 (missing value) in Grid Definition Template Number.


  2. An optional list of numbers defining number of points is used to document a quasi-regular grid, where the number of points may vary from one row to another (row being defined as adjacent points in a coordinate line, so this is dependent from data layout). In such a case, octet 11 is non zero, and gives the number of octets on which each number of points is encoded. For all other cases, such as regular grids, octets 11 and 12 are zero and no list is appended to the Grid Definition Template.


  3. If a list of numbers defining number of points is present, it is appended at the end of Grid Definition Template (or directly after Grid Definition Template Number if template is missing), the length of the list is given by the grid definition. When the Grid Definition Template is present, the length is given according to bit 3 of scanning mode flag octet (length is Nj or Ny for flag value 0). List ordering is implied by data scanning.


  4. Depending on code value given in octet 12, the list of numbers defining number of points corresponds either to the coordinate lines as given in the grid definition, or to a full circle.

[Table of Contents]

SECTION 4 - PRODUCT DEFINITION SECTION



Octet Number(s)Contents
1-4Length of section in octets (nn)
5Number of section ("4")
6-7Number of coordinates values after Template (see Note 1)
8-9Product Definition Template Number (see Code Table 4.0)
10-xxProduct Definition Template (see Template 4.X, where X is the Product Definition Template Number given in octets 8-9) [xx+1]-nn Optional list of coordinates values (see Notes 2 and 3)

Notes:

  1. Coordinates values are intended to document the vertical discretisation associated with model data on hybrid coordinate vertical levels. A number of zero in octets 6-7 indicates that no such values are present. Otherwise, the number corresponds to the whole set of values.


  2. Hybrid systems, in the context, employ a means of representing vertical coordinates in terms of a mathematical combination of pressure and sigma coordinates. When used in conjunction with a surface pressure field and an appropriate mathematical expression, the vertical coordinate parameters may be used to interpret the hybrid vertical coordinate.


  3. Hybrid coordinate values, if present, should be encoded in IEEE 32-bit floating point format. They are intended to be encoded as pairs.

[Table of Contents]

SECTION 5 - DATA REPRESENTATION SECTION



Octet No.Contents
1-4Length of section in octets (nn)
5Number of section ("5")
6-9Number of data points where one or more values are specified in Section 7 when a bit map is present, total number of data points when a bit map is absent.
10-11Data Representation Template Number (see Code Table 5.0)
12-nnData Representation Template (see Template 5.x, where x is the Data Representation Template Number given in octets 10-11)

[Table of Contents]

SECTION 6 - BIT-MAP SECTION

Octet No.Contents
1-4Length of section in octets (nn)
5Number of section ("6")
6Bit-map indicator (see Code Table 6.0 and Note (1))
7-nnBit-map

Note:
  1. If octet 6 is not zero, the length of the Section is 6 and octets 7-nn are not present.

[Table of Contents]

SECTION 7 - DATA SECTION

Octet Number(s)Contents
1-4Length of section in octets (nn)
5Number of section ("7")
6-nnData in a format described by Data Template 7.x, where x is the Data Representation Template number given in octets 10-11 of Section 5.

[Table of Contents]

SECTION 8 - END SECTION

Octet No.Contents
1-4"7777" (coded according to the International Alphabet No. 5.)

[Table of Contents]

TEMPLATE DEFINITIONS


TEMPLATE DEFINITIONS USED IN SECTION 3



[Table of Contents]

Grid Definition Template 3.0:
Latitude/longitude (or equidistant cylindrical, or Plate Carree)

Octet Number(s)Contents
15Shape of the earth (see Code Table 3.2)
16Scale factor of radius of spherical earth
17-20Scaled value of radius of spherical earth
21Scale factor of major axis of oblate spheroid earth
22-25Scaled value of major axis of oblate spheroid earth
26Scale factor of minor axis of oblate spheroid earth
27-30Scaled value of minor axis of oblate spheroid earth
31-34Ni - number of points along a parallel
35-38Nj - number of points along a meridian
39-42Basic angle of the initial production domain (see Note 1)
43-46Subdivisions of basic angle used to define extreme longitudes and latitudes, and direction increments(see Note 1)
47-50La1 - latitude of first grid point (see Note 1)
51-54Lo1 - longitude of first grid point (see Note 1)
55Resolution and component flags (see Flag Table 3.3)
56-59La2 - latitude of last grid point (see Note 1)
60-63Lo2 - longitude of last grid point (see Note 1)
64-67Di - i direction increment (see Note (1))
68-71Dj - j direction increment (see Note (1))
72Scanning mode (flags - see Flag Table 3.4)

Notes:
  1. Basic angle of the initial production domain and subdivisions of this basic angle are provided to manage cases where the recommended unit of 10-6 degrees is not applicable to describe the extreme longitudes and latitudes, and direction increments. For these last six descriptors, unit is equal to the ratio of the basic angle and the subdivisions number. For ordinary cases, zero and missing values should be coded, equivalent to respective values of 1 and 106 (10-6 degrees unit).
  2. For data on a quasi-regular grid, in which all the rows or columns do not necessarily have the same number of grid points, either Ni (Octets 31-34) or Nj (Octets 35-38) and the corresponding Di (Octets 64-67) or Dj (Octets 68-71) shall be coded with all bits set to 1 (missing). The actual number of points along each parallel or meridian shall be coded in the octets immediately following the Grid Definition Template (Octets [xx+1] nn), as described in the description of the Grid Definition Section.
  3. A quasi-regular grid is only defined for appropriate grid scanning modes. Either rows or columns, but not both simultaneously, may have variable numbers of points. The first point in each row (column) shall be positioned at the meridian (parallel) indicated by Octets 47-54. The grid points shall be evenly spaced in latitude (longitude).
[ Table of Section 3 Templates ]

Grid Definition Template 3.1: Rotated Latitude/longitude (or equidistant cylindrical, or Plate Carree)

Octet Number(s)Contents
15-72Same as Grid Definition Template 3.0 (see Note 1)
73-76Latitude of the southern pole of projection
77-80Longitude of the southern pole of projection
81-84Angle of rotation of projection

Notes:
  1. Basic angle of the initial production domain and subdivisions of this basic angle are provided to manage cases where the recommended unit of 10-6 degrees is not applicable to describe the extreme longitudes and latitudes, and direction increments. For these last six descriptors, unit is equal to the ratio of the basic angle and the subdivisions number. For ordinary cases, zero values should be coded, equivalent to respective values of 1 and 106 (10-6 degrees unit).
  2. Three parameters define a general latitude/longitude coordinate system, formed by a general rotation of the sphere. One choice for these parameters is:
    1. The geographic latitude in degrees of the southern pole of the coordinate system, Thetap for example.
    2. The geographic longitude in degrees of the southern pole of the coordinate system, Lambdap for example.
    3. The angle of rotation in degrees about the new polar axis (measured clockwise when looking from the southern to the northern pole) of the coordinate system, assuming the new axis to have been obtained by first rotating the sphere through Lambdap degrees about the geographic polar axis, and then rotating through (90 + Thetap) degrees so that the southern pole moved along the (previously rotated) Greenwich meridian.
[ Table of Section 3 Templates ]

Grid Definition Template 3.2:
Stretched Latitude/longitude (or equidistant cylindrical, or Plate Carree)

Octet Number(s)Contents
15-72Same as Grid Definition Template 3.0 (see Note 1)
73-76Latitude of the pole of stretching
77-80Longitude of the pole of stretching
81-84Stretching factor
Notes:
  1. Basic angle of the initial production domain and subdivisions of this basic angle are provided to manage cases where the recommended unit of 10-6 degrees is not applicable to describe the extreme longitudes and latitudes, and direction increments. For these last six descriptors, unit is equal to the ratio of the basic angle and the subdivisions number. For ordinary cases, zero values should be coded, equivalent to respective values of 1 and 106 (10-6 degrees unit).


  2. The stretching is defined by three parameters:
    1. The latitude in degrees (measured in the model coordinate system) of the "pole of stretching";
    2. The longitude in degrees (measured in the model coordinate system) of the "pole of stretching"; and
    3. The stretching factor C in units of 10-6 represented as an integer. The stretching is defined by representing data uniformly in a coordinate system with longitude Y and latitude X1, where:

                                   (1 - C2) + (1 + C2) sin X
                          X1 = sin-1 -----------------------------
                                   (1 + C2) + (1 - C2) sin X 
      

      and Y and X are longitude and latitude in a coordinate system in which the "pole of stretching" is the northern pole. C = 1 gives uniform resolution, while C > 1 give enhanced resolution around the pole of stretching.
[ Table of Section 3 Templates ]

Grid Definition Template 3.3:
Stretched and Rotated Latitude/longitude (or equidistant cylindrical, or Plate Carree)

Octet Number(s)Contents
15-72Same as Grid Definition Template 3.0 (see Note 1)
73-76Latitude of the southern pole of projection
77-80Longitude of the southern pole of projection
81-84Angle of rotation of projection
85-88Latitude of the pole of stretching
89-92Longitude of the pole of stretching
93-96Stretching factor

Notes:
  1. Basic angle of the initial production domain and subdivisions of this basic angle are provided to manage cases where the recommended unit of 10-6 degrees is not applicable to describe the extreme longitudes and latitudes, and direction increments. For these last six descriptors, unit is equal to the ratio of the basic angle and the subdivisions number. For ordinary cases, zero values should be coded, equivalent to respective values of 1 and 106 (10-6 degrees unit).
  2. See Note (2) under Grid Definition Template 3.1 - Rotated Latitude/longitude (or equidistant cylindrical, or Plate Carree)
  3. See Note (2) under Grid Definition Template 3.2 - Stretched Latitude/longitude (or equidistant cylindrical, or Plate Carree)
[ Table of Section 3 Templates ]

Grid Definition Template 3.10: Mercator

Octet Number(s)Contents
15Shape of the earth (see Code Table 3.2)
16Scale factor of radius of spherical earth
17-20Scaled value of radius of spherical earth
21Scale factor of major axis of oblate spheroid earth
22-25Scaled value of major axis of oblate spheroid earth
26Scale factor of minor axis of oblate spheroid earth
27-30Scaled value of minor axis of oblate spheroid earth
31-34Ni - number of points along a parallel
35-38Nj - number of points along a meridian
39-42La1 - latitude of first grid point
43-46Lo1 - longitude of first grid point
47Resolution and component flags (See Flag Table 3.3)
48-51LaD - Latitude(s) at which the Mercator projection intersects the Earth (Latitude(s) where Di and Dj are specified)
52-55La2 - latitude of last grid point
56-59Lo2 - longitude of last grid point
60Scanning mode (flags - see Flag Table 3.4)
61-64Orientation of the grid, angle between i direction on the map and the equator (see note (1)
65-68Di - longitudinal direction grid length (see note (2))
69-72Dj - latitudinal direction grid length (see note (2))
Notes:
  1. Limited to the range of 0 to 90 degrees; if the angle of orientation of the grid is neither 0 nor 90 degrees, Di and Dj must be equal to each other.
  2. Grid lengths are in units of 10-3 m, at the latitude specified by LaD.
[ Table of Section 3 Templates ]

Grid Definition Template 3.20:
Polar stereographic projection

Octet Number(s)Contents
15Shape of the earth (see Code Table 3.2)
16Scale factor of radius of spherical earth
17-20Scaled value of radius of spherical earth
21Scale factor of major axis of oblate spheroid earth
22-25Scaled value of major axis of oblate spheroid earth
26Scale factor of minor axis of oblate spheroid earth
27-30Scaled value of minor axis of oblate spheroid earth
31-34Nx - number of points along X-axis
35-38Ny - number of points along Y-axis
39-42La1 - latitude of first grid point
43-46Lo1 - longitude of first grid point
47Resolution and component flag (See (See Flag Table 3.5)
65Scanning mode (See flag table 3.4)

Notes:
  1. The resolution flag (bit 3-4 of Flag table 3.3) is not applicable.
  2. LoV is the value of the meridian which is parallel to the Y-axis (or columns of the grid) along which latitude increases as the Y-coordinate increases (the orientation longitude may or may not appear on a particular grid).
  3. Grid length is in units of 10-3 m at the latitude specified by LaD.
  4. Bit 2 of the projection flag is not applicable to the polar stereographic projection.
[ Table of Section 3 Templates ]

Grid Definition Template 3.30: Lambert conformal

Octet Number(s)Contents
15Shape of the earth (see Code Table 3.2)
16Scale factor of radius of spherical earth
17-20Scaled value of radius of spherical earth
21Scale factor of major axis of oblate spheroid earth
22-25Scaled value of major axis of oblate spheroid earth
26Scale factor of minor axis of oblate spheroid earth
27-30Scaled value of minor axis of oblate spheroid earth
31-34Nx - number of points along the X-axis
35-38Ny - number of points along the Y-axis
39-42La1 - latitude of first grid point
43-46Lo1 - longitude of first grid point
47Resolution and component flags (See Flag Table 3.3)
48-51LaD - Latitude where Dx and Dy are specified
52-55LoV - Longitude of meridian parallel to Y-axis along which latitude increases as the Y- coordinate increases
56-59Dx - X-direction grid length (see note (1))
60-63Dy - Y-direction grid length (see note (1))
64Projection centre flag (see Flag Table 3.5)
65Scanning mode (see Flag Table 3.4)
66-69Latin 1 - first latitude from the pole at which the secant cone cuts the sphere
70-73Latin 2 - second latitude from the pole at which the secant cone cuts the sphere
74-77Latitude of the southern pole of projection
78-81Longitude of the southern pole of projection

Notes:
  1. Grid lengths are in units tenths of 10-3 m, at the latitude specified by LaD.
  2. If Latin 1 = Latin 2, then the projection is on a tangent cone.
  3. The resolution flags (bits 3-4 of Flag Table 3.3) are not applicable
  4. LoV is the value of the meridian which is parallel to the Y-axis (or columns of the grid) along which latitude increases as the Y-coordinate increases (the orientation longitude may or may not appear on a particular grid).
[ Table of Section 3 Templates ]

Grid Definition Template 3.40: Gaussian latitude/longitude

Octet Number(s)Contents
15Shape of the earth (see Code Table 3.2)
16Scale factor of radius of spherical earth
17-20Scaled value of radius of spherical earth
21Scale factor of major axis of oblate spheroid earth
22-25Scaled value of major axis of oblate spheroid earth
26Scale factor of minor axis of oblate spheroid earth
27-30Scaled value of minor axis of oblate spheroid earth
31-34Ni - number of points along a parallel
35-38Nj - number of points along a meridian
39-42Basic angle of the initial production domain (see Note 1)
43-46Subdivisions of basic angle used to define extreme longitudes and latitudes, and direction increments (see Note 1)
47-50La1 - latitude of first grid point (see Note 1)
51-54Lo1 - longitude of first grid point (see Note 1)
55Resolution and component flags (see Flag Table 3.3)
56-59La2 - latitude of last grid point (see Note 1)
60-63Lo2 - longitude of last grid point (see Note 1)
64-67Di - i direction increment (see note (1))
68-71N - number of parallels between a pole and the equator (see note (2))
72Scanning mode (flags - see Flag Table 3.4)

Notes:
  1. Basic angle of the initial production domain and subdivisions of this basic angle are provided to manage cases where the recommended unit of 10-6 degrees is not applicable to describe the extreme longitudes and latitudes, and direction increments. For these last six descriptors, unit is equal to the ratio of the basic angle and the subdivisions number. For ordinary cases, zero values should be coded, equivalent to respective values of 1 and 106 (10-6 degrees unit).
  2. The number of parallels between a pole and the equator is used to establish the variable (Gaussian) spacing of the parallels; this value must always be given.
[ Table of Section 3 Templates ]

Grid Definition Template 3.41:
Rotated Gaussian latitude/longitude

Octet Number(s)Contents
15-72Same as Grid Definition Template 3.40 (see Note 1)
73-76Latitude of the southern pole of projection
77-80Longitude of the southern pole of projection
81-84Angle of rotation of projection

Notes:
  1. Basic angle of the initial production domain and subdivisions of this basic angle are provided to manage cases where the recommended unit of 10-6 degrees is not applicable to describe the extreme longitudes and latitudes, and direction increments. For these last six descriptors, unit is equal to the ratio of the basic angle and the subdivisions number. For ordinary cases, zero values should be coded, equivalent to respective values of 1 and 106 (10-6 degrees unit).
  2. The number of parallels between a pole and the equator is used to establish the variable (Gaussian) spacing of the parallels; this value must always be given.
  3. See Note (2) under Grid Definition Template 3.1 - Rotated Latitude/longitude grid (or equidistant cylindrical, or Plate Carree)
[ Table of Section 3 Templates ]

Grid Definition Template 3.42:
Stretched Gaussian latitude/longitude

Octet Number(s)Contents
15-72Same as Grid Definition Template 3.40 (see Note 1)
73-76Latitude of the pole of stretching
77-80Longitude of the pole of stretching
81-84Stretching factor

Notes:
  1. Basic angle of the initial production domain and subdivisions of this basic angle are provided to manage cases where the recommended unit of 10-6 degrees is not applicable to describe the extreme longitudes and latitudes, and direction increments. For these last six descriptors, unit is equal to the ratio of the basic angle and the subdivisions number. For ordinary cases, zero values should be coded, equivalent to respective values of 1 and 106 (10-6 degrees unit).
  2. The number of parallels between a pole and the equator is used to establish the variable (Gaussian) spacing of the parallels; this value must always be given.
  3. See Note (2) under Grid Definition Template 3.2 -Stretched Latitude/longitude (or equidistant cylindrical, or Plate Carree)
[ Table of Section 3 Templates ]

Grid Definition Template 3.43:
Stretched and rotated Gaussian latitude/longitude

Octet Number(s)Contents
15-72Same as Grid Definition Template 3.40 (see Note 1)
73-76Latitude of the southern pole of projection
77-80Longitude of the southern pole of projection
81-84Angle of rotation of projection
85-88Latitude of the pole of stretching
89-92Longitude of the pole of stretching
93-96Stretching factor

Notes:
  1. Basic angle of the initial production domain and subdivisions of this basic angle are provided to manage cases where the recommended unit of 10-6 degrees is not applicable to describe the extreme longitudes and latitudes, and direction increments. For these last six descriptors, unit is equal to the ratio of the basic angle and the subdivisions number. For ordinary cases, zero values should be coded, equivalent to respective values of 1 and 106 (10-6 degrees unit).
  2. The number of parallels between a pole and the equator is used to establish the variable (Gaussian) spacing of the parallels; this value must always be given.
  3. See Note (2) under Grid Definition Template 3.1 -Rotated Latitude/longitude (or equidistant cylindrical, or Plate Carree)
  4. See Note (2) under Grid Definition Template 3.2 -Stretched Latitude/longitude (or equidistant cylindrical, or Plate Carree)
[ Table of Section 3 Templates ]

Grid Definition Template 3.50:
Spherical harmonic coefficients

Octet Number(s)Contents
15-18J - pentagonal resolution parameter
19-22K - pentagonal resolution parameter
23-26M - pentagonal resolution parameter
27Representation type indicating the method used to define the norm (see Code Table 3.6).
28Representation mode indicating the order of the coefficients (see Code Table 3.7)

Notes:
  1. The pentagonal representation of resolution is general. Some common truncations are special cases of the pentagonal one:
    Triangular M = J = K
    Rhomboidal K = J + M
    Trapezoidal K = J, K > M
[ Table of Section 3 Templates ]

Grid Definition Template 3.51:
Rotated spherical harmonic coefficients

Octet Number(s)Contents
15-28Same as Grid Definition Template 3.50
29-32Latitude of the southern pole of projection
33-36Longitude of the southern pole of projection
37-40Angle of rotation of projection

Notes:
  1. See Note (1) under Grid Definition Template 3.50 - Spherical harmonic coefficients
  2. See Note (2) under Grid Definition Template 3.1 - Rotated Latitude/longitude grid (or equidistant cylindrical, or Plate Carree)
[ Table of Section 3 Templates ]

Grid Definition Template 3.52:
Stretched spherical harmonic coefficients

Octet Number(s)Contents
15-28Same as Grid Definition Template 3.50
29-32Latitude of the pole of stretching
33-36Longitude of the pole of stretching
37-40Stretching factor

Notes:
  1. See Note (1) under Grid Definition Template 3.50 - Spherical harmonic coefficients
  2. See Note (2) under Grid Definition Template 3.20 - Stretched Latitude/longitude grid (or equidistant cylindrical, or Plate Carree)
[ Table of Section 3 Templates ]

Grid Definition Template 3.53: Stretched and rotated spherical harmonic coefficients
Octet Number(s)Contents
15-28Same as Grid Definition Template 3.50
29-32Latitude of the southern pole of projection
33-36Longitude of the southern pole of projection
37-40Angle of rotation of projection
41-44Latitude of pole of stretching
45-48Longitude of pole of stretching
49-52Stretching factor

Notes:
  1. See Note (1) under Grid Definition Template 3.50 - Spherical harmonic coefficients
  2. See Note (2) under Grid Definition Template 3.1 - Rotated Latitude/longitude (or equidistant cylindrical, or Plate Carree)
  3. See Note (2) under Grid Definition Template 3.2 - Stretched Latitude/longitude (or equidistant cylindrical, or Plate Carree)
[ Table of Section 3 Templates ]

Grid Definition Template 3.90:
Space view perspective or orthographic

Octet Number(s)Contents
15Shape of the earth (see Code Table 3.2)
16Scale factor of radius of spherical earth
17-20Scaled value of radius of spherical earth
21Scale factor of major axis of oblate spheroid earth
22-25Scaled value of major axis of oblate spheroid earth
26Scale factor of minor axis of oblate spheroid earth
27-30Scaled value of minor axis of oblate spheroid earth
31-34Nx - number of points along X-axis (columns)
35-38Ny - number of points along Y-axis (rows or lines)
39-42Lap - latitude of sub-satellite point
43-46Lop - longitude of sub-satellite point
47Resolution and component flags (see Code Table 3.3)
48-51dx - apparent diameter of Earth in grid lengths, in X-direction
52-55dy - apparent diameter of Earth in grid lengths, in Y-direction
56-59Xp - X-coordinate of sub-satellite point (in units of 10-3 grid length expressed as an integer)
60-63Yp - Y-coordinate of sub-satellite point (in units of 10-3 grid length expressed as an integer)
64Scanning mode (flags - see Flag Table 3.4)
65-68Orientation of the grid; i.e., the angle between the increasing Y-axis and the meridian of the sub-satellite point in the direction of increasing latitude (see Note (3))
69-72Nr - altitude of the camera from the Earth's centre, measured in units of the Earth's (equatorial) radius multiplied by a scale factor of 10 6 (see Notes (4) and (5))
73-76Xo - X-coordinate of origin of sector image
77-80Yo - Y-coordinate of origin of sector image

Notes:
  1. It is assumed that the satellite is at its nominal position, i.e., it is looking directly at its sub-satellite point.
  2. Octets 46-49 shall be set to all ones (missing) to indicate the orthographic view (from infinite distance)
  3. It is the angle between the increasing Y-axis and the meridian 80E if the sub-satellite point is the North Pole; or the meridian 0 if the sub-satellite point is the South Pole.
  4. The apparent angular size of the Earth will be given by 2 * Arcsin (106 )/Nr).
  5. For orthographic view from infinite distance, the value of Nr should be encoded as missing (all bits set to 1).
  6. The horizontal and vertical angular resolutions of the sensor (Rx and Ry), needed for navigation equation, can be calculated from the following:
    Rx = 2 * Arcsin (106 )/Nr)/ dx
    Ry = 2 * Arcsin (106 )/Nr)/ dy
[ Table of Section 3 Templates ]

Grid Definition Template 3.100:
Triangular grid based on an icosahedron

Octet Number(s)Contents
15n2 - exponent of 2 for the number of intervals on main triangle sides
16n3 - exponent of 3 for the number of intervals on main triangle sides
17-18ni - number of intervals on main triangle sides of the icosahedron
19nd - Number of diamonds
21-23Latitude of the pole point of the icosahedron on the sphere
24-27Longitude of the pole point of the icosahedron on the sphere
28-31Longitude of the center line of the first diamond of the icosahedron on the sphere
32Grid point position (see Code table 3.8)
33Numbering order of diamonds (flag - see Flag table 3.9)
34Scanning mode for one diamond (flags - see Flag table 3.10)
35-38nt - total number of grid points

Notes:
  1. For more details see appendix II to the Manual of Codes, Vol. I, Part B- definition of the triangular grid based on an icosahedron
  2. The origin of the grid is an icosahedron with 20 triangles and 12 vertices. The triangles are combined to nd quadrangles, the so-called diamonds (e.g. if nd = 10, two of the icosahedron triangles form a diamond, and if nd = 5, 4 icosahedron triangles form a diamond). There are two resolution values called n2 and n3 describing the division of each triangle side. Each triangle side is divided into ni equal parts where ni = 3**n3 * 2**n2 with n3 either equal to 0 or to 1. In the example of appendix II, the numbering order of the rectangles is anti-clockwise with a view from the pole point on both hemispheres. Diamonds 1 to 5 are northern hemisphere and diamonds 6 to 10 are Southern Hemisphere.
  3. The exponent of 3 for the number of divisions of triangle sides is used only with a value of either 0 or 1.
  4. The total number of grid points for one global field depends on the grid point position. If e.g. the grid points are located at the vertices of the triangles nt = (ni + 1) * (ni + 1) * nd since grid points at diamond edges are contained in both adjacent diamonds and for the same reason the pole points are contained in each of the five adjacent diamonds.
[ Table of Section 3 Templates ]

Grid Definition Template 3.110:
Equatorial azimuthal equidistant projection

Octet Number(s)Contents
15Shape of the earth (see Code Table 3.2)
16Scale factor of radius of spherical earth
17-20Scaled value of radius of spherical earth
21Scale factor of major axis of oblate spheroid earth
22-25Scaled value of major axis of oblate spheroid earth
26Scale factor of minor axis of oblate spheroid earth
27-30Scaled value of minor axis of oblate spheroid earth
31-34Nx - number of points along X-axis
35-38Ny - number of points along Y-axis
39-42La1 - latitude of tangency point (center of grid)
43-46Lo1 - longitude of tangency point
47Resolution and component flag (see flag table 3.3)
48-51Dx - X-direction grid length in units of 10 -3 m as measured at the point of the axis
52-55Dy - Y-direction grid length in units of 10 -3 m as measured at the point of the axis
56Projection center flag
57Scanning mode (see flag table 3.4)

[ Table of Section 3 Templates ]

Grid Definition Template 3.120:
Azimuth-range Projection

Octet Number(s)Contents
15-18Nb - number of data bins along radials (see Note (1))
19-22Nr - number of radials
23-26La1 - latitude of center point
27-30Lo1 - longitude of center point
31-34Dx - spacing of bins along radials
35-38Dstart - offset from origin to inner bound
39-(33+4Nr)For each of Nr radials:
(33+4(Nr-1))-(34+4(Nr-1))Azi - starting azimuth, degree x 10 (degrees as north)
(35+4(Nr-1))-(36+4(Nr-1))Adelta - azimuthal width, degrees x 100, (+ clockwise, - counterclockwise)

Note:
  1. A data bin is a data point representing the volume centered on it.

[ Table of Section 3 Templates ]

TEMPLATE DEFINITIONS USED IN SECTION 4




[Table of Contents]

Product Definition Template 4.0:
Analysis or forecast at a horizontal level or in a horizontal
layer at a point in time

Octet Number(s)Contents
10Parameter category (see Code Table 4.1).
11Parameter number (see Code Table 4.2).
12Type of generating process (see Code Table 4.3)
13Background generating process identifier (defined by originating centre)
14Analysis or forecast generating processes identifier (defined by originating centre)
15-16Hours of observational data cutoff after reference time (See note (1))
17Minutes of observational data cutoff after reference time
18Indicator of unit of time range (see Code Table 4.4)
19-22Forecast time in units defined by octet 16
23Type of first fixed surface (see Code Table 4.5)
24Scale factor of first fixed surface
25-28Scaled value of first fixed surface
29Type of second fixed surface (see Code Table 4.5)
30Scale factor of second fixed surface
31-34Scaled value of second fixed surface

Note:
  1. Hours greater than 65534 will be coded as 65534.
[ Table of Section 4 Templates ]

Product Definition Template 4.1:
Individual ensemble forecast, control and perturbed, at a horizontal
level or in a horizontal layer at a point in time


Octet Number(s)Contents
10Parameter category (see Code Table 4.1)
11Parameter number (see Code Table 4.2)
12Type of generating process (see Code Table 4.3)
13Background generating process identifier (defined by originating Centre)
14Forecast generating process identifier (defined by originating Centre)
15-16Hours after reference time of data cutoff (see note (1))
17Minutes after reference time of data cutoff
18Indicator of unit of time range (See Code Table 4.4)
19-22Forecast time in units defined by octet 16
23Type of first fixed surface (see Code Table 4.5)
24Scale factor of first fixed surface
25-28Scaled value of first fixed surface
29Type of second fixed surface (see Code Table 4.5)
30Scale factor of second fixed surface
31-34Scaled value of second fixed surface
35Type of ensemble forecast (see Code Table 4.6)
36Perturbation number
37Number of forecasts in ensemble

Note:
  1. Hours greater than 65534 will be coded as 65534.
[ Table of Section 4 Templates ]

Product Definition Template 4.2:Derived forecast
based on all ensemble members at a horizontal level or in a horizontal
layer at a point in time

Octet Number(s)Contents
10Parameter category (see Code Table 4.1)
11Parameter number (see Code Table 4.2)
12Type of generating process (see Code Table 4.3)
13Background generating process identifier (defined by originating Centre)
14Forecast generating process identifier (defined by originating Centre)
15-16Hours after reference time of data cutoff (see note (1))
17Minutes after reference time of data cutoff
18Indicator of unit of time range (See Code Table 4.4)
19-22Forecast time in units defined by octet 16
23Type of first fixed surface (see Code Table 4.5)
24Scale factor of first fixed surface
25-28Scaled value of first fixed surface
29Type of second fixed surface (see Code Table 4.5)
30Scale factor of second fixed surface
31-34Scaled value of second fixed surface
35Derived forecast (see Code Table 4.7)
36Number of forecasts in ensemble

Note:
  1. Hours greater than 65534 will be coded as 65534.
[ Table of Section 4 Templates ]

Product Definition Template 4.3:
Derived forecasts based on a cluster of ensemble members over
a rectangular area at a horizontal level or in a horizontal layer
at a point in time


Octet Number(s)Contents
10Parameter category (see Code Table 4.1)
11Parameter number (see Code Table 4.2)
12Type of generating process (see Code Table 4.3)
13Background generating process identifier (defined by originating Centre)
14Forecast generating process identifier (defined by originating Centre)
15-16Hours after reference time of data cutoff (see note (1))
17Minutes after reference time of data cutoff
18Indicator of unit of time range (See Code Table 4.4)
19-22Forecast time in units defined by octet 16
23Type of first fixed surface (see Code Table 4.5)
24Scale factor of first fixed surface
25-28Scaled value of first fixed surface
29Type of second fixed surface (see Code Table 4.5)
30Scale factor of second fixed surface
31-34Scaled value of second fixed surface
35Derived forecast (see Code Table 4.7)
36Number of forecasts in the ensemble (N)
37Cluster identifier
38Number of cluster to which the high resolution control belongs
39Number of cluster to which the low resolution control belongs
40Total number of clusters
41Clustering method (see Code Table 4.8)
42-45Northern latitude of cluster domain
46-49Southern latitude of cluster domain
50-53Eastern longitude of cluster domain
54-57Western longitude of cluster domain
58-(57+N)List of N ensemble forecast numbers

Note:
  1. Hours greater than 65534 will be coded as 65534.
[ Table of Section 4 Templates ]

Product Definition Template 4.4:
Derived forecasts based on a cluster of ensemble members
over a circular area at a horizontal level or in a horizontal
layer at a point in time

Octet Number(s)Contents
10Parameter category (see Code Table 4.1)
11Parameter number (see Code Table 4.2)
12Type of generating process (see Code Table 4.3)
13Background generating process identifier (defined by originating Centre)
14Forecast generating process identifier (defined by originating Centre)
15-16Hours after reference time of data cutoff (see note (1))
17Minutes after reference time of data cutoff
18Indicator of unit of time range (See Code Table 4.4)
19-22Forecast time in units defined by octet 16
23Type of first fixed surface (see Code Table 4.5)
24Scale factor of first fixed surface
25-28Scaled value of first fixed surface
29Type of second fixed surface (see Code Table 4.5)
30Scale factor of second fixed surface
31-34Scaled value of second fixed surface
35Derived forecast (see Code Table 4.7)
36Number of forecasts in the ensemble (N)
37Cluster identifier
38Number of cluster to which the high resolution control belongs
39Number of cluster to which the low resolution control belongs
40Total number of clusters
41Clustering method (see Code Table 4.8)
42-45Latitude of central point in cluster domain
46-49Longitude of central point in cluster domain
50-53
Radius of cluster domain
54-(53+N)List of N ensemble forecast numbers

Note:
  1. Hours greater than 65534 will be coded as 65534.
[ Table of Section 4 Templates ]

Product Definition Template 4.5:
Probability forecasts at a horizontal level or in a horizontal layer
at a point in time

Octet Number(s)Contents
10Parameter category (see Code Table 4.1)
11Parameter number (see Code Table 4.2)
12Type of generating process (see Code Table 4.3)
13Background generating process identifier (defined by originating Centre)
14Forecast generating process identifier (defined by originating Centre)
15-16Hours after reference time of data cutoff (see note (1))
17Minutes after reference time of data cutoff
18Indicator of unit of time range (See Code Table 4.4)
19-22Forecast time in units defined by octet 16
23Type of first fixed surface (see Code Table 4.5)
24Scale factor of first fixed surface
25-28Scaled value of first fixed surface
29Type of second fixed surface (see Code Table 4.5)
30Scale factor of second fixed surface
31-34Scaled value of second fixed surface
35Forecast probability number
36Total number of forecast probabilities
37Probability type (see Code Table 4.9)
38Scale factor of lower limit
39-42Scaled value of lower limit
43Scale factor of upper limit
44-47Scaled value of upper limit

Note:
  1. Hours greater than 65534 will be coded as 65534.
[ Table of Section 4 Templates ]

Product Definition Template 4.6:
Percentile forecasts at a horizontal level or in a horizontal layer
at a point in time

Octet Number(s)Contents
10Parameter category (see Code Table 4.1)
11Parameter number (see Code Table 4.2)
12Type of generating process (see Code Table 4.3)
13Background generating process identifier (defined by originating Centre)
14Forecast generating process identifier (defined by originating Centre)
15-16Hours after reference time of data cutoff (see note (1))
17Minutes after reference time of data cutoff
18Indicator of unit of time range (See Code Table 4.4)
19-22Forecast time in units defined by octet 16
23Type of first fixed surface (see Code Table 4.5)
24Scale factor of first fixed surface
25-28Scaled value of first fixed surface
29Type of second fixed surface (see Code Table 4.5)
30Scale factor of second fixed surface
31-34Scaled value of second fixed surface
35Percentile value (from 100% to 0%)

Note:
  1. Hours greater than 65534 will be coded as 65534.
[ Table of Section 4 Templates ]

Product Definition Template 4.7:
Analysis or forecast error at a horizontal level or in a horizontal layer at a point in time

Octet Number(s)Contents
10Parameter category (see Code Table 4.1)
11Parameter number (see Code Table 4.2)
12Type of generating process (see Code Table 4.3)
13Background generating process identifier (defined by originating Centre)
14or forecast generating process identifier (defined by originating Centre)
15-16Hours after reference time of data cutoff (see note (1))
17Minutes after reference time of data cutoff
18Indicator of unit of time range (See Code Table 4.4)
19-22Forecast time in units defined by octet 16
23Type of first fixed surface (see Code Table 4.5)
24Scale factor of first fixed surface
25-28Scaled value of first fixed surface
29Type of second fixed surface (see Code Table 4.5)
30Scale factor of second fixed surface
31-34Scaled value of second fixed surface

Note:
  1. Hours greater than 65534 will be coded as 65534.
[ Table of Section 4 Templates ]

Product Definition Template 4.8:
Average, accumulation, and/or extreme values at a horizontal
level or in a horizontal layer in a continuous or non-continuous
time interval

Octet Number(s)Contents
10Parameter category (see Code Table 4.1)
11Parameter number (see Code Table 4.2)
12Type of generating process (see Code Table 4.3)
13Background generating process identifier (defined by originating Centre)
14Analysis or Forecast generating process identifier (defined by originating Centre)
15-16Hours after reference time of data cutoff (see note (1))
17Minutes after reference time of data cutoff
18Indicator of unit of time range (See Code Table 4.4)
19-22Forecast time in units defined by octet 16 (see Note (2))
23Type of first fixed surface (see Code Table 4.5)
24Scale factor of first fixed surface
25-28Scaled value of first fixed surface
29Type of second fixed surface (see Code Table 4.5)
30Scale factor of second fixed surface
31-34Scaled value of second fixed surface
35-36Year
37Month
38Day
39Hour
40Minute
41Second
42n - Number of time range specifications
describing the time intervals used to
calculate the statistically processed field
42-46Total number of data values missing in
statistical process.
46-48Specification or the outermost (or only)
time range over which statistical processing
is done
47Statistical process used to calculate the
processed field from the field at each time increment
during the time range (see Code Table 4.10)
48Type of time increment between successive fields
used in the statistical processing
(See Code Table 4.11)
49Indicator of unit of time for time range over
which statistical processing is done
(See Code Table 4.3)
50-53Length of the time range over which
statistical processing is done, in units
defined by the previous octet
54Indicator of unit of time for the increment between
the successive fields used (See Code Table 4.3)
55-58Time increment between successive fields,
in units defined by the previous octet
(See note 3)
59-nnThese octets are included only if n>1,
where nn = 45 + 12*n
59-70As octets 47 to 58, next innermost step
of processing
71-nnAdditional time range specifications,
included in accordance with the value of n.
Contents as octets 47 to 58, repeated as necessary.

Notes:
  1. Hours greater than 65534 will be coded as 65534.
  2. The reference time in section 1 and the forecast time together define the beginning of the overall time interval.
  3. An increment of zero means that the statistical processing is the result of a continuous (or near continuous) process, not the processing of a number of discrete samples. Examples of such continuous processes are the temperatures measured by analogue maximum and minimum thermometers or thermographs, and the rainfall measured by a rain gauge.
  4. The reference and forecast times are successively set to their initial values plus or minus the increment, as defined by the type of time increment (one of octets 46, 58, 70 ...). For all but the innermost (last) time range, the next inner range is then processed using these reference and forecast times as the initial reference and forecast time.
[ Table of Section 4 Templates ]

Product Definition Template 4.20:
Radar product

Octet Number(s)Contents
10Parameter category (see Code Table 4.1).
11Parameter number (see Code Table 4.2).
12Type of generating process (see Code Table 4.3)
13Number of radar sites used
14Indicator of unit of time range
15-18Site latitude (in 10-6 degree)
19-22Site longitude (in 10-6 degree)
23-24Site elevation (meters)
25-28Site ID (alphanumeric)
29-30Site ID (numeric)
31Operating mode (see Code Table 4.12)
32Reflectivity calibration constant (tenths of dB)
33Quality control indicator (see Code Table 4.13)
34Clutter filter indicator (see Code Table 4.14)
35Constant antenna elevation angle (tenths of degree true)
36-37Accumulation interval (minutes)
38Reference reflectivity for echo top (dB)
39-41Range bin spacing (m)
42-43Radial angular spacing (tenths of degree true)
[ Table of Section 4 Templates ]

Product Definition Template 4.30:
Satellite Product.

Octet Number(s)Contents
10Parameter category (see Code Table 4.1)
11Parameter number (See Code Table 4.2)
12Type of generating process (see Code Table 4.3)
13Observation generating process identifier (defined by originating Centres)
14Number of contributing spectral bands (NB)
Repeat the following 10 octets for each contributing band (nb = 1,NB)
(15+10(nb-1)) - (16+10(nb-1))Satellite series of band nb
(code table defined by originating/generating Centre)
(17+10(nb-1)) - (18+10(nb-1))Satellite numbers of band nb (code table defined by originating/generating Centre)
(19+10(nb-1))Instrument types of band nb
(code table defined by originating/generating Centre)
(20+10(nb-1))Scale factor of central wave
number of band nb
(21+10(nb-1)) - (24+10(nb-1))Scaled value of central
wave number of band nb (units: m-1)
[ Table of Section 4 Templates ]

Product Definition Template 4.254:
CCITTIA5 character string

Octet Number(s)Contents
10Parameter category (see Code Table 4.1).
11Parameter number (see Code Table 4.2).
12-15Number of characters
[ Table of Section 4 Templates ]

TEMPLATE DEFINITIONS USED IN SECTION 5



[Table of Contents]

Data Representation Template 5.0:


Grid point data - simple packing
Octet Number(s)Contents
12-15Reference value (R) (IEEE 32-bit floating-point value)
16-17Binary scale factor (E)
18-19Decimal scale factor (D)
20Number of bits used for each packed value for simple packing, or for each group reference value for complex packing or spatial differencing
21Type of original field values (see Code Table 5.1)
[ Table of Section 5 Templates ]

Data Representation Template 5.1: Matrix values at grid point -simple packing

Octet Number(s)Contents
12-21Same as Data Representation Template 5.0
220, no matrix bit maps present; 1 matrix bit maps present.
23-26Number of data values encoded in Section 7
27-28NR - first dimension (rows) of each matrix.
29-30NC - second dimension (columns) of each matrix.
31First dimension coordinate value definition (Code Table 5.2)
32NC1 - number of coefficients or values used to specify first dimension coordinate function.
33Second dimension coordinate value definition (Code Table 5.2)
34NC2 - number of coefficients or values used to specify second dimension coordinate function
35First dimension physical significance (Code Table 5.3)
36Second dimension physical significance (Code Table 5.3)
37-(36+NC1*4)Coefficients to define first dimension coordinate values in functional form, or the explicit coordinate values (IEEE 32-bit floating-point value)
(37+NC1*4)- (36+4(NC1+NC2))Coefficients to define second dimension coordinate values in functional form, or the explicit coordinate values (IEEE 32-bit floating-point value)
Notes:
  1. This form of representation enables a matrix of values to be depicted at each grid point; the two dimensions of the matrix may represent coordinates expressed in terms of two elemental parameters (e.g. direction and frequency for wave spectra). The numeric values of these coordinates, beyond that of simple subscripts, can be given in a functional form, or as a collection of explicit numbers.
  2. Some simple coordinate functional forms are tabulated in Code Table 5.2. Where a more complex coordinate function applies, the coordinate values shall be explicitly denoted by the inclusion of the actual set of values rather than the coefficients. This shall be indicated by a code figure 0 from Code Table 5.2; the number of explicit values coded shall be equal to the appropriate dimension of the matrix for which values are presented and they shall follow octet 36 in place of the coefficients.
  3. Matrix bit maps will be present only if indicated by octet 22. If present, there shall be one bit map for each grid point with data values, as defined by the primary bit map in Section 6, each of length (NR*NC) bits: a bit set to 1 will indicate a data element at the corresponding location within the matrix. Bit maps shall be represented end-to-end, without regard for octet boundaries; the last bit map shall, if necessary, be followed by bits set to zero to fill any partially used octet.
  4. Matrices restricted to scanning in the + i direction (left to right) and in the -j direction (top to bottom).
[ Table of Section 5 Templates ]
Data Representation Template 5.2:
Grid point data - complex packing
Octet Number(s)Contents
12-21Same as Data Representation Template 5.0
22Group splitting method used (see Code Table 5.4)
23Missing value management used (see Code Table 5.5)
24-27Primary missing value substitute
28-31Secondary missing value substitute
32-35NG - Number of groups of data values into which field is split
36Reference for group widths (see Note 12)
37Number of bits used for the group widths (after the reference value in octet 36 has been removed)
38-41Reference for group lengths (see Note 13)
42Length increment for the group lengths (see Note 14)
43-46True length of last group
47Number of bits used for the scaled group lengths (after subtraction of the reference value given in octets 38-41 and division by the length increment given in octet 42)

Notes:
  1. Group lengths have no meaning for row by row packing, where groups are coordinate lines (so the Grid Description Section and possibly the Bit-map Section are enough); for consistency associated field width and reference should then be encoded as 0.
  2. For row by row packing with a bit-map, there should always be as many groups as rows. In case of rows with only missing values, all associated descriptors should be coded as zero.
  3. Management of widths into a reference and increments, together with management of lengths as scaled incremental values, are intended to save descriptor size (which is an issue as far as compression gains are concerned).
  4. Management of explicitly missing values is an alternative to bit-map use within Section 6; it is intended to reduce the whole GRIB message size.
  5. There may be two types of missing value(s), such as to make a distinction between static misses (for instance, due to a land/sea mask) and occasional misses.
  6. As an extra option, substitute value(s) for missing data may be specified. If not wished (or not applicable), all bits should be set to 1 for relevant substitute value(s).
  7. If substitute value(s) are specified, type of content should be consistent with original field values (floating-point -and then IEEE 32-bit encoded-, or integer).
  8. If primary missing values are used, such values are encoded within appropriate group with all bits set to 1 at packed data level.
  9. If secondary missing values are used, such values are encoded within appropriate group with all bits set to 1, except the last one set to 0, at packed data level.
  10. A group containing only missing values (of either type) will be encoded as a constant group (null width, no associated data) and the group reference will have all bits set to 1 for primary type, and all bits set to 1, except the last bit set to 0, for secondary type.
  11. If necessary, group widths and/or field width of group references may be enlarged to avoid ambiguities between missing value indicator(s) and true data.
  12. The group width is the number of bits used for every value in a group.
  13. The group length (L) is the number of values in a group.
  14. The essence of the complex packing method is to subdivide a field of values into NG groups, where the values in each group have similar sizes. In this procedure, it is necessary to retain enough information to recover the group lengths upon decoding. The NG group lengths for any given field can be described by Ln = ref + Kn * len_inc, n = 1,NG, where ref is given by octets 38-41 and len_inc by octet 42. The NG values of K (the scaled group lengths) are stored in the Data Section, each with the number of bits specified by octet 47. Since the last group is a special case which may not be able to be specified by this relationship, the length of the last group is stored in octets 43-46.

[ Table of Section 5 Templates ]

Data Representation Template 5.3:
Grid point data - complex packing and spatial differencing


Octet Number(s)Contents
12-47Same as Data Representation Template 5.2
48Order of spatial differencing (see Code Table 5.6)
49Number of octets required in the Data Section to specify extra descriptors needed for spatial differencing (octets 6-ww in Data Template 7.3)

Notes:
  1. Spatial differencing is a pre-processing before group splitting at encoding time. It is intended to reduce the size of sufficiently smooth fields, when combined with a splitting scheme as described in Data Representation Template 5.2. At order 1, an initial field of values f is replaced by a new field of values g, where g1 = f1, g2 = f2 f1, , gn = fn fn-1. At order 2, the field of values g is itself replaced by a new field of values h, where h1 = f1, h2 = f2, h3 = g3 g2, , hn = gn gn-1. To keep values positive, the overall minimum of the resulting field (either gmin or hmin) is removed. At decoding time, after bit string unpacking, the original scaled values are recovered by adding the overall minimum and summing up recursively.
  2. For differencing of order n, the first n values in the array that are not missing are set to zero in the packed array. These dummy values are not used in unpacking.
[ Table of Section 5 Templates ]

Data Representation Template 5.50:
Spectral data - simple packing

Octet Number(s)Contents
12-15Reference value (R) (IEEE 32-bit floating-point value)
16-17Binary scale factor (E)
18-19Decimal scale factor (D)
20Number of bits used for each packed value (field width)
21-24Real part of (0,0) coefficient (IEEE 32-bit floating-point value)

Notes:
  1. Removal of the real part of (0,0) coefficient from packed data is intended to reduce the variability of the coefficients, in order to improve packing accuracy.
  2. For some spectral representations, the (0,0) coefficient represents the mean value of the parameter represented.
[ Table of Section 5 Templates ]

Data Representation Template 5.51:
Spherical harmonics data - complex packing

Octet Number(s)Contents
12-20Same as Data Representation Template 5.50
21-24P - Laplacian scaling factor (expressed in 10-6 units)
25-26JS - pentagonal resolution parameter of the unpacked subset (see Note 1)
27-28KS - pentagonal resolution parameter of the unpacked subset (see Note 1)
29-30MS - pentagonal resolution parameter of the unpacked subset (see Note 1)
31-34TS - total number of values in the unpacked subset (see Note 1)
35Precision of the unpacked subset (see Code Table 5.7)

Notes:
  1. The unpacked subset is a set of values defined in the same way as the full set of values (on a spectrum limited to JS , KS and MS), but on which scaling and packing are not applied. Associated values are stored in octets 6 onwards of Section 7.
  2. The remaining coefficients are multiplied by (n*(n+1))P, scaled and packed. The operator associated with this multiplication is derived from the laplacian operator on the sphere.
  3. The retrieval formula for a coefficient of wave number n is then: Y = (R+X*2E)*10-D* (n*(n+1))-P where X is the packed scaled value associated with the coefficient
[ Table of Section 5 Templates ]

TEMPLATE DEFINITIONS USED IN SECTION 7



[Table of Contents]

Data Template 7.0:
Grid point data - simple packing

Octet Number(s)Contents
6-nnBinary data values - binary string, with each (scaled) data value

[ Table of Section 7 Templates ]

Data Template 7.1:
Matrix values at grid point -simple packing

Octet Number(s)Contents
6-nnBinary data values - binary string, with each (scaled) data value

Note:
  1. Group descriptors mentioned above may not be physically present; if associated field width is 0.

[ Table of Section 7 Templates ]

Data Template 7.2:
Grid point data - complex packing

Octet Number(s)Contents
6-xxNG group reference values (XI in the decoding formula), each of which is encoded using the number of bits specified in octet 20 of Data Representation Template 5.0. Bits set to zero shall be appended as necessary to ensure this sequence of numbers ends on an octet boundary.
[xx+1]-yyNG group widths, each of which is encoded using the number of bits specified in octet 37 of Data Representation Template 5.2. Bits set to zero shall be appended as necessary to ensure this sequence of numbers ends on an octet boundary.
[yy+1]-zzNG scaled group lengths, each of which is encoded using the number of bits specified in octet 47 of Data Representation Template 5.2. Bits set to zero shall be appended as necessary to ensure this sequence of numbers ends on an octet boundary. (see Note 14 of Data Representation Template 5.2)
[zz+1]-nnPacked values (X2 in the decoding formula), where each value is a deviation from its respective group reference value.

Notes:
  1. Group descriptors mentioned above may not be physically present; if associated field width is 0.
  2. Group lengths have no meaning for row by row packing; for consistency associated field width should then be encoded as 0. So no specific test for row by row case is mandatory at decoding software level to handle encoding/decoding of group descriptors.
  3. Scaled group lengths, if present, are encoded for each group. But the true last group length (unscaled) should be taken from Data Representation Template.
  4. For groups with a constant value, associated field width is 0, and no incremental data are physically present.

[ Table of Section 7 Templates ]

Data Template 7.3:


Grid point data - complex packing and spatial differencing
Octet Number(s)Contents
6-wwFirst value(s) of original (undifferenced) scaled data values, followed by the overall minimum of the differences. The number of values stored is 1 greater than the order of differentiation, and the field width is described at octet 49 of Data Representation Template 5.3. (See Note 1)
[ww+1]-xxNG group reference values (X1 in the decoding formula), each of which is encoded using the number of bits specified in octet 20 of Data Representation Template 5.0. Bits set to zero shall be appended where necessary to ensure this sequence of numbers ends on an octet boundary.
[xx+1]-nnSame as for Data Representation Template 7.2.
Notes:
  1. Referring to the notation in Note (1) of Data Representation Template 5.3, at order 1, the values stored in octets 6-ww are g1 and gmin. At order 2, the values stored are h1, h2, and hmin.
  2. Extra descriptors related to spatial differencing are added before the splitting descriptors, to reflect the separation between the 2 approaches. It enables to share software parts between cases with and without spatial differencing.
  3. The position of overall minimum after initial data values is a choice that enables less software management.
  4. Overall minimum will be negative in most cases. First bit should indicate the sign: 0 if positive, 1 if negative.

[ Table of Section 7 Templates ]

Data Template 7.50:
Spectral data - simple packing

Octet Number(s)Contents
6-nnBinary data values - binary string, with each (scaled) data value

Data Template 7.51:
Spherical harmonics - complex packing

Octet Number(s)Contents
6-(5+I*TS)Data values from the unpacked subset (IEEE floating-point values on I octets)
(6+I*TS)-nnBinary data values - binary string, with each (scaled) data value out of the unpacked subset

Notes:
  1. Values ordering within the unpacked subset is defined according to the source of grid definition associated with the data
  2. Number of octets associated with each value of the unpacked subset (I) is defined in Code Table 5.7, according to the actual value in octet 35 of Data Representation Template 5.51
  3. Values ordering within the packed data is done according to the source of grid definition, skipping the values processed in the unpacked subset

[ Table of Section 7 Templates ]

CODE AND FLAG TABLES

CODE TABLES USED IN SECTION 0


Code Table 0.0:
Discipline of processed data in the GRIB message, number of GRIB Master Table

Code figureMeaning
0Meteorological products
1Hydrological products
2Land surface products
3Space products
4-9Reserved
10Oceanographic products
11-191Reserved
192-254Reserved for local use
255Missing

CODE TABLES USED IN SECTION 1



[Table of Contents]

Code Table 1.0:
GRIB Master Tables Version Number

Code figureMeaning
0Experimental
1Initial operational version number
2-254future operational version numbers
255local table used
[ List of Section 1 Code and Flag Tables ]

Code Table 1.1:
GRIB Local Tables Version Number

Code figureMeaning
0Local tables not used
1-254Number of local tables version used
255Missing
[ List of Section 1 Code and Flag Tables ]

Code Table 1.2:
Significance of Reference Time

Code figureMeaning
0Analysis
1Start of forecast
2Verifying time of forecast
3Observation time
4-191Reserved
192-254Reserved for local use
255Missing
[ List of Section 1 Code and Flag Tables ]

Code Table 1.3:
Production status of data

Code figureMeaning
0Operational products
1Operational test products
2Research products
3Re-analysis products
4-191Reserved
192-254Reserved for local use
255Missing
[ List of Section 1 Code and Flag Tables ]

Code Table 1.4: Type of data

Code figureMeaning
0Analysis products
1Forecast products
2Analysis and forecast products
3Control forecast products
4Perturbed forecast products
5Control and perturbed forecast products
6Processed satellite observations
7Processed radar observations
8-191Reserved
192-254Reserved for local use
255Missing

Note: An initialized analysis is considered a zero-hour forecast
[ List of Section 1 Code and Flag Tables ]

CODE AND FLAG TABLES USED IN SECTION 3



[Table of Contents]

Code Table 3.0: Source of Grid Definition

Code figureMeaningComments
0Specified in Code table 3.1
1Predetermined grid definitionDefined by originating centre
2-191Reserved
192-254Reserved for local use
255A grid definition does not apply to this product

[ List of Section 3 Code and Flag Tables ]

Code Table 3.1: Grid Definition Template Number

Code figureMeaningComments
0Latitude/longitudeAlso called equidistant cylindrical, or Plate Carree.
1Rotated latitude/longitude
2Stretched latitude/longitude
3Stretched and rotated latitude/longitude
4-9Reserved
10Mercator
11-19Reserved
20Polar stereographiccan be south or north.
21-29Reserved
30Lambert Conformalcan be secant or tangent, conical or bipolar.
(Also called Albers equal-area.)
31-39Reserved
40Gaussian latitude/longitude
41Rotated Gaussian latitude/longitude
42Stretched Gaussian latitude/longitude
43Stretched and rotated Gaussian latitude/longitude
44-49Reserved
50Spherical harmonic coefficients
51Rotated spherical harmonic coefficients
52Stretched spherical harmonic coefficients
53Stretched and rotated spherical harmonic coefficients
54-89Reserved
90Space view perspective orthographic.
91-99Reserved
100Triangular grid based on an icosahedron
101-109Reserved
110Equatorial azimuthal equidistant projection
111-119Reserved
120Azimuth-range projection
121- 32767Reserved
32768-65534Reserved for local use
65535Missing

[ List of Section 3 Code and Flag Tables ]

Code Table 3.2: Shape of the Earth

Code figureMeaning
0Earth assumed spherical with radius = 6367.47 km
1Earth assumed spherical with radius specified by data producer
2Earth assumed oblate spheroid with size as determined by IAU in 1965
(major axis = 6378.160 km, minor axis = 6356.775 km, f = 1/297.0)
3Earth assumed oblate spheroid with major and minor axes specified by data producer
4-191Reserved
192-254Reserved for local use
255Missing

[ List of Section 3 Code and Flag Tables ]

Flag Table 3.3: Resolution and Component Flags

Bit NumberValueMeaning
1-2Reserved
30i direction increments not given
1i direction increments given
40j direction increments not given
1j direction increments given
50Resolved u- and v- components of vector
quantities relative to easterly and northerly directions
1Resolved u- and v- components of vector
quantities relative to the defined grid in the direction of
increasing x and y (or i and j) coordinates respectively
6-8Reserved - set to zero

[ List of Section 3 Code and Flag Tables ]

Flag Table 3.4: Scanning Mode

Bit NumberValueMeaning
10Points of first row or column scan in
the +i (+x) direction
1Points of first row or column scan in the
-i (-x) direction
20Points of first row or column scan in the
-j (-y) direction
1Points of first row or column scan in the +j
(+y) direction
30Adjacent points in i (x) direction are
consecutive
1Adjacent points in j (y) direction is
consecutive
40All rows scan in the same direction
1Adjacent rows scans in the opposite direction
5-8Reserved

Notes:
  1. i direction: west to east along a parallel or left to right along an X-axis
  2. j direction: south to north along a meridian, or bottom to top along a Y-axis
  3. If bit number 4 is set, the first row scan is as defined by previous flags

[ List of Section 3 Code and Flag Tables ]

Flag Table 3.5: Projection Centre

Bit NumberValueMeaning
10North Pole is on the projection plane
1South Pole is on the projection plane
20Only one projection centre is used
1Projection is bi-polar and symmetric

[ List of Section 3 Code and Flag Tables ]

Code Table 3.6: Spectral data representation type


Not Defined


Code Table 3.7: Spectral data representation mode

Code figureMeaning
0Reserved
1The complex numbers Fnm
(see code figure 1 in Code Table 3.6 above) are stored for m³0 as pairs
of real numbers Re(Fnm), Im(Fnm) ordered with n increasing from m
to N(m), first for m=0 and then for m=1, 2, ... M. (see Note 1)
2-254Reserved
255Missing
Notes:
  1. Values of N(m) for common truncations cases:
              Triangular     M = J = K,     N(m) = J
              Rhomboidal     K = J + M,     N(m) = J+m
              Trapezoidal    K = J, K > M,  N(m) = J
    

[ List of Section 3 Code and Flag Tables ]

Code table 3.8: Grid point position

Code FigureMeaning
0Grid points at triangle vertices
1Grid points at centres of triangles
2Grid points at midpoints of triangle sides
3-191Reserved
192-254Reserved for local use
255Missing

[ List of Section 3 Code and Flag Tables ]

Flag table 3.9:
Numbering order of diamonds as seen from the corresponding pole

Bit No.ValueMeaning
10Clockwise orientation
1Anti-clockwise (i.e., counter-clockwise) orientation
2-8Reserved

[ List of Section 3 Code and Flag Tables ]

Flag table 3.10: Scanning mode for one diamond

Bit No.ValueMeaning
10Points scan in +i direction, i.e. from
pole to equator
1Points scan in -i direction, i.e. from
equator to pole
20Points scan in +j direction, i.e. from
west to east
1Points scan in -j direction, i.e. from
east to west
30Adjacent points in i direction are
consecutive
1Adjacent points in j direction is
consecutive
4-8Reserved

[ List of Section 3 Code and Flag Tables ]

Code table 3.11: Interpretation of list of
numbers defining number of points

Code figureMeaning
0There is no appended list
1Numbers define number of points corresponding to
full coordinate circles (i.e. parallels), coordinate values on each
circle are multiple of the circle mesh, and extreme coordinate values
given in grid definition (i.e. extreme longitudes) may not be reached
in all rows
2Numbers define number of points corresponding to
coordinate lines delimited by extreme coordinate values given in grid
definition (i.e. extreme longitudes) which are present in each row
3-254Reserved
255Missing

[ List of Section 3 Code and Flag Tables ]

CODE AND FLAG TABLES USED IN SECTION 4


[Table of Contents]

Code Table 4.0: Product Definition Template Number

NumberDescription
0Analysis or forecast at a horizontal level or in
a horizontal layer at a point in time
1Individual ensemble forecast, control and perturbed,
at a horizontal level or in a horizontal layer at a point in time
2Derived forecast based on all ensemble members at
a horizontal level or in a horizontal layer at a point in time
3Derived forecasts based on a cluster of ensemble
members over a rectangular area at a horizontal level or in a horizontal
layer at a point in time
4Derived forecasts based on a cluster of ensemble
members over a circular area at a horizontal level or in a horizontal
layer at a point in