KSEC1 element | Contents | GRIB octet | Recommended GRIB_API keys | Coded GRIB_API keys | Comments |
---|---|---|---|---|---|
37 |
ECMWF local GRIB use definition identifier. |
41 | localDefinitionNumber | localDefinitionNumber | |
38 | Class | 42 | class | marsClass | |
39 | Type | 43 | type |
marsType | |
40 | Stream | 44-45 | stream |
marsStream | |
41 |
Version number or experiment identifier. |
46-49 | expver |
experimentVersionNumber | |
42 | Ensemble member number |
50-51, if stream = 1090 |
number |
perturbationNumber |
|
43 | Zero | 51, unless stream = 1090 | |||
- | 1 (a flag showing a post-auxiliary array is in use) | 52 | flagShowingPostAuxiliaryArrayInUse |
flagShowingPostAuxiliaryArrayInUse |
|
44 | System number | 53 | systemNumber |
systemNumber | |
45 | Method number | 54 | methodNumber |
methodNumber |
Used for storing ocean model data in GRIB code. A separate version of code table 2 is used for ocean data: ECMWF local Code Table 2, Version Number 150 or 151 for FM92-VIII.
All coordinates in this local use GRIB definition are given as 4-byte INTEGERs in the following units:
At several points in the definition, there may be a need for a variable amount of supplementary data. This is indicated with '(+info)', and in such cases a supplementary data block is specified at the end of the local use section.
The physical meaning of the (x,y,z,t) coordinate system is defined below.
KSEC1 element | Contents | GRIB octet | Recommended GRIB API keys | Coded GRIB API keys | Comments |
---|---|---|---|---|---|
46 |
Space unit flag (applies only if lengths not otherwise labelled): |
55 | spaceUnitFlag |
spaceUnitFlag |
|
47 |
Vertical coordinate definition (z): |
56 | verticalCoordinateDefinition |
verticalCoordinateDefinition |
|
48 |
Horizontal coordinate definition (x,y): |
57 | horizontalCoordinateDefinition |
horizontalCoordinateDefinition |
|
49 |
Time unit flag: |
58 | timeUnitFlag |
timeUnitFlag |
|
50 |
Time coordinate definition (t): |
59 | timeCoordinateDefinition |
timeCoordinateDefinition |
A 2-dimensional field located in 4-dimensional space-time needs 2 coordinates to define where the field is located, and 2 coordinates internal to the field. The locating coordinates are specified first. Each coordinate is identified according to the following table, in this order where possible:
KSEC1 element | Contents | GRIB octet | Recommended GRIB API keys | Coded GRIB API keys | Comments |
---|---|---|---|---|---|
51 |
Mixed coordinate field flag: |
60 | mixedCoordinateFieldFlag |
mixedCoordinateFieldFlag |
|
52 | Coordinate 1 flag (usually time). | 61 | coordinate1Flag |
coordinate1Flag |
|
53 |
Averaging flag: |
62 | averaging1Flag |
averaging1Flag |
|
54 | Position of level 1 | 63-66 | coordinate1Start |
coordinate1Start |
|
55 | Position of level 2 (or zero if not used) | 67-70 | coordinate1End |
coordinate1End |
|
56 | Coordinate 2 flag (usually z-coordinate). | 71 | coordinate2Flag |
coordinate2Flag |
|
57 |
Averaging flag: |
72 | averaging2Flag |
averaging2Flag |
|
58 | Position of level 1 | 73-76 | coordinate2Start |
coordinate2Start |
|
59 | Position of level 2 (or zero if not used) | 77-80 | coordinate2End |
coordinate2End |
KSEC1 element | Contents | GRIB octet | Recommended GRIB API keys | Coded GRIB API keys | Comments |
---|---|---|---|---|---|
60 | Coordinate 3 flag (x-axis, usually longitude). | 81 | coordinate3Flag |
coordinate3Flag |
|
61 | Coordinate 4 flag (y-axis, usually latitude). | 82 | coordinate4Flag |
coordinate4Flag |
|
62 | Coordinate 4 of first grid point | 83-86 | coordinate4OfFirstGridPoint |
coordinate4OfFirstGridPoint |
|
63 | Coordinate 3 of first grid point | 87-90 | coordinate3OfFirstGridPoint |
coordinate3OfFirstGridPoint |
|
64 | Coordinate 4 of last grid point | 91-94 | coordinate4OfLastGridPoint |
coordinate4OfLastGridPoint |
|
65 | Coordinate 3 of last grid point | 95-98 | coordinate3OfLastGridPoint |
coordinate3OfLastGridPoint |
|
66 | i-increment | 99-102 | iIncrement |
iIncrement |
|
67 | j-increment | 103-106 | jIncrement |
jIncrement |
|
68 |
Flag for irregular grid coordinate list: |
107 | flagForIrregularGridCoordinateList |
flagForIrregularGridCoordinateList |
|
69 |
Flag for normal or staggered grid: |
108 | flagForNormalOrStaggeredGrid |
flagForNormalOrStaggeredGrid |
KSEC1 element | Contents | GRIB octet | Recommended GRIB API keys | Coded GRIB API keys | Comments |
---|---|---|---|---|---|
70 |
Flag for any further information: |
109 | flagForAnyFurtherInformation |
flagForAnyFurtherInformation |
|
71 | Number of entries in the horizontal coordinate definition | 110 | numberInHorizontalCoordinates |
numberInHorizontalCoordinates |
|
72 | Number of entries in mixed coordinate definition | 111-112 | numberInMixedCoordinateDefinition |
numberInMixedCoordinateDefinition |
|
73 | Number of entries in the grid coordinate list | 113-114 | numberInTheGridCoordinateList |
numberInTheGridCoordinateList |
|
74 | Number of entries in the auxiliary array | 115-116 | numberInTheAuxiliaryArray |
numberInTheAuxiliaryArray |
The horizontal coordinate definition, the mixed coordinate definition, the grid coordinate list, the auxiliary array and the post-auxiliary-array values are stored in GRIB as 4-byte INTEGERs.
KSEC1 element | Contents | Recommended GRIB API keys | Coded GRIB API keys | Comments |
---|---|---|---|---|
A1-nn | Horizontal coordinate supplement. Not yet defined. | horizontalCoordinateSupplement |
horizontalCoordinateSupplement |
"numberInHorizontalCoordinates"
elements |
KSEC1 element | Contents | Recommended GRIB API keys | Coded GRIB API keys | Comments |
---|---|---|---|---|
B1 |
Flag for regularity of x-y coordinate mixing: |
mixedCoordinateDefinition |
mixedCoordinateDefinition |
"numberInMixedCoordinateDefinition"
elements |
- | For regular, linear mixing. | |||
B2 | Alpha *109 | |||
B3 | X0 | |||
B4 | Y0 | |||
- | Irregular mixing with code given. | |||
B2 | Locally defined codes to define section. | |||
B3 | Locally defined codes to define section. | |||
B4 | Locally defined codes to define section. |
KSEC1 element | Contents | Recommended GRIB API keys | Coded GRIB API keys | Comments |
---|---|---|---|---|
C1-nn |
Coordinates of irregular x and y-axes. |
gridCoordinate |
gridCoordinate |
"numberInTheGridCoordinateList" values |
KSEC1 element | Contents | Recommended GRIB API keys | Coded GRIB API keys | Comments |
---|---|---|---|---|
D1-nn | Auxiliary array values. | auxiliary |
auxiliary |
"numberInTheAuxiliaryArray"
values |
KSEC1 element | Contents | Recommended GRIB API keys | Coded GRIB API keys | Comments |
---|---|---|---|---|
E1 | Size of post-auxiliary array (number of entries, including E1) | sizeOfPostAuxiliaryArrayPlusOne |
sizeOfPostAuxiliaryArrayPlusOne |
|
E2-E4 | Array values | postAuxiliary |
postAuxiliary |
"sizeOfPostAuxiliaryArrayPlusOne-
1" valies |
E5-E7 | Used for hindcast support if E1 > 4 | |||
E8 | Used if E1=8 | |||
E5 | Reference date (YYYYMMDD) | |||
E6 | Climate date - from (YYYYMMDD), or zero | |||
E7 | Climate date - to (YYYYMMDD), or zero | |||
E8 |
Ocean Atmosphere coupling: |
If the post-auxiliary array is not being used, E1 (the value in KSEC1 after the end of the previously defined part of KSEC1) must be explicitly set to zero when coding or else errors may result.
The indicator of type of level should be set to 160 (depth below sea level) for all oceanographic data. The depth in metres should be set to the appropriate value if the field is a horizontal section, and to zero in all other cases.
It is assumed that the grid description section of the GRIB code corresponds to a latitude/longitude grid, with correct values for the number of points along parallels/meridians, and the coordinates of the first and last data points are in millidegrees (or the appropriate units from this section, divided by 1000).
The coordinate increments should be given to the extent that the field is regular.