Units
- All fields shall use units as defined in GRIB Edition 2.
Output frequency
- all details are available here
Accumulations
- All accumulations shall start from the beginning of the forecast
- The initial state (forecast step zero) must not be included (as it should be 0 value field by definition)
Missing values
- Bitmaps shall be used to indicate missing values (i.e. Soil temperature (st) shall be coded using a bitmap, because there is no model output over the sea)
Grid and resolution
- The fields have to be provided on a regular latitude‐longitude grid at the resolution that is best matching the native resolution of the direct model output.
- Grids are defined in GRIB2 using an accuracy of 1/1000000 (one millionth) of a degree.
GRIB2 encoding
ECMWF encoding/decoding Software
ECMWF makes available a GRIB decoding library (ecCodes) for the benefit of the WMO community. ecCodes can be freely downloaded from here and the documentation can be found here. ecCodes provides a simplified access to GRIB2 headers through a set of virtual keys documented here
WAVE-GRIB2 checking tool
TBD
GRIB2 encoding details
The complete WMO compliant GRIB2 definitions of all wave parameters are in the parent page.
The additional generally required encoding details are listed below:
|
| ||
Deterministic system (both analysis and forecast products)
|
| ||
|
| ||
|
Ensemble DA system (both analysis and forecast products)
|
| ||
|
| ||
| |||
37 | number of forecasts in ensemble | 4 |
Examples of UERRA compliant GRIB2 files
| ||||
| ||||
| ||||
|
| |||
| ||||
|
*disregard data values in this grib (some step/level values were created artificially as real data has not been available yet)
Examples of encoding for various parameter validity types
Instantaneous
This example describes an instantaneous field valid on 20120103 00Z from a forecast starting on 20120101 00Z (time step=48 hours) .
- In bold, the values are fixed. They are meant to be used by all partners
- In green, these are the values for the example.
Time ( instantaneous ) | ||||
---|---|---|---|---|
Start of forecast ( section 1 ) | ||||
Octets | values | Meaning of values | Grib_api values | |
12 | Significance of Reference Time | 1 | Start of forecast | |
13-14 | Year (four digits) | 2012 | year of start of forecast |
dataDate=20120101 dataTime=0 |
15 | Month | 01 | month of start of forecast | |
16 | Day | 01 | day of start of forecast | |
17 | Hour | 00 | hour of start of forecast | |
section 4 e.g. template 4.1 | ||||
18 | Indicator of unit of time range | 1 | Hour | |
19-22 | Forecast time | 48 | Forecast step | stepType=instant, step=48 |
Accumulations
This example represents a 54 hour accumulation of a field produced by a forecast started on 20120101 00Z.
- In bold, the values are fixed. They are meant to be used by all partners
- In green, these are the values for the example.
Time ( accumulated ) | ||||
---|---|---|---|---|
Start of forecast ( section 1 ) | ||||
Octets | Values | Meaning of values | Grib_api key | |
12 | Significance of Reference Time | 1 | Start of forecast | |
13-14 | Year (four digits) | 2012 | year of start of forecast | dataDate=20120101 dataTime=0 |
15 | Month | 01 | month of start of forecast | |
16 | Day | 01 | day of start of forecast | |
17 | Hour | 00 | hour of start of forecast | |
Accumulation ( section 4 e.g. template 4.11 ) | ||||
18 | Indicator of unit of time range | 1 | Hour | |
19-22 | Forecast time | 0 | Accumulation starts at step=0 | startStep=0 |
38-39 | year of end of overall time interval | 2012 |
End of accumulated period, 20120103 06Z |
endStep=54
|
40 | month of end of overall time interval | 01 | ||
41 | day of end of overall time interval | 03 | ||
42 | hour of end of overall time interval | 06 | ||
45 | number of time ranges | 1 | Only one type of time statistics used (accumulation) | |
46-49 | total number of data values missing in statistical process | 0 | ||
50 | Statistical process used to calculate the processed field from the field at each time increment during the time range | 1 | Accumulation | stepType=accum |
51 | Type of time increment between successive fields used in the statistical processing | 2 | Successive times processed have same start time of forecast, forecast time is incremented | |
52 | Indicator of unit of time for time range over which statistical processing is done | 1 | Hour | |
53-56 | Length of the time range over which statistical processing is done, in units defined by the previous octet | 54 |
| |
57 | Indicator of unit of time for the increment between the successive fields used | 255 | Missing | |
58-61 | Time increment between successive fields, in units defined by the previous octet | 0 | 0 |