General requirements
Encoding format
- WMO GRIB2 data format.
Missing values
- Bitmaps shall be used to indicate missing values.
Grid and resolution
- Each partner will provide their eps data on a 0.25/0.25 regular lat-lon grid (1440x721 grid points, including poles).
- First grid point is 90N 0E. The data will be archived first from west to east (OE to 359.75), and then from north to south (90N to 90S).
- The related GRIB 2 meta data called scanning mode should equal to 0.
Scanning mode 0
- i scans positively (west to east)
- i points are consecutive
- j scans negatively (north to south)
- i scans positively (west to east)
- Grids are defined in GRIB2 using an accuracy of 1/1000000 (one millionth) of a degree.
Data compression
CCSDS compression should be used
GRIB2 encoding
All data must be encoded following the required rules described below to achieve fully compliant WPMIP format from all centres.
Encoding 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.
For more general information about GRIB2 format please refer to WMO Manual on Codes .
Encoding details
General encoding
Specific details which should be encoded in GRIB2 sections 1 and 4:
Section 1 | ||||
---|---|---|---|---|
Octets | Key name | Value | Description | Comments |
6-7 | centre | 323*3 | WMO Centre's code | newly proposed WMO code |
8-9 | subCentre | X | WMO Sub-Centre's code | see subCentre codes below |
10 | tablesVersion | 36 | The latest WMO table*1 | |
11 | localTablesVersion | 0 | Local tables not used | |
20 | productionStatusOfProcessedData | 16 | Weather Prediction Model Intercomparison Project*2 | use during production phase |
17 | Weather Prediction Model Intercomparison Project test *2 | use during testing phase | ||
21 | typeOfProcessedData | 0 | Analysis products | |
1 | Forecast products |
*1 New WMO tables version 36 (containing also new WPMIP keys) will be officialy released by WMO later in 2025 (November)
*2 New codes for the WPMIP (part of GRIB 2 tables version 36) to be approved by WMO by August 2025 (Manual on Codes (WMO-No. 306), Volume I.2, GRIB code table 1.3)
*3 New code for the WPMIP to be approved by WMO in Q4 2025
Section 4 | ||
---|---|---|
Octets | Value | |
8-9 | productDefinitionTemplateNumber | 0/8*1 |
13 | backgroundProcess | X*2 |
14 | generatingProcessIdentifier | X*2 |
*1 statistically processed (typeOfStatisticalProcessing is set up)
*2 centre/model version dependent (see table with Centre codes below)
Section 5 | |||
---|---|---|---|
Octets | Value | Description | |
10-11 | dataRepresentationTemplateNumber | 42 | [Grid point data - CCSDS recommended lossless compression (grib2/tables/29/5.0.table) ] |
Centre codes and model versions
WMO Centre key for WPMIP together with subCentre defined for each organization is used to identified each data provider
- it was agreed that a new WMO centre code for WPMIP will be needed
- the current deadline for WMO proposals is 3rd October 2025. Proposals made at this meeting will be approved (and new GRIB2/BUFR4 codes available) in May 2026.
- it is assumed that centre=323 which is currently free, could be assigned for the project and thus could be used in advance
- if it changes, we would have to update the centre code accordingly
- such changes would be handled by WP-MIP project leads (in the already existing data)
- if it changes, we would have to update the centre code accordingly
Model name (e.g. ECMWF-AIFS-v1_oic) is identified in ecCodes for given centre, model and model version from following keys:
- centre=323 (WPMIP)
- subCentre (unique for each provider)
- we keep the subCentre values identical to centre codes for simplicity
- backgroundProcess (unique for each model)
- generatingProcessIdentifier (unique for each model version)
For example model=ECMWF-AIFS-v1_oic would be encoded using:
- centre=323
- subCentre=98
- backgroundProcess=1
- generatingProcessIdentifier=1
Initial conditions
- own initial conditions (OIC)
- same initial conditions (SIC)
WMO centre=323 (expected code for WPMIP project in next WMO tables release)
Organisation | subCentre | background Process | generating Process Identifier | modelName | modelVersion | model | remark |
---|---|---|---|---|---|---|---|
BoM | 1 | 14 | 1 | AccessG | v1_oic | BoM-AccessG-v1_oic | |
14 | 2 | AccessG | v1_sic | BoM-AccessG-v1_sic | |||
5 | 1 | AIFS_init_AccessG | v1_oic | BoM-AIFS_init_AccessG-v1_sic | AIFS Initialized with Access-G | ||
5 | 2 | AIFS_init_AccessG | v1_sic | BoM- AIFS_init_AccessG-v1_sic | |||
CMA | 38 | 25 | 1 | Fengshun | v1_oic | CMA-Fengshun-v1_oic | |
25 | 2 | Fengshun | v1_sic | CMA-Fengshun-v1_sic | |||
CPTEC | 46 | 6 | 1 | GM | v1_oic | CPTEC-GM-v1_oic | |
6 | 2 | GM | v1_sic | CPTEC-GM-v1_sic | |||
CSIR | 137 | 7 | 1 | GM | v1_oic | CSIR-GM-v1_oic | |
7 | 2 | GM | v1_sic | CSIR-GM-v1_sic | |||
DWD | 78 | 3 | 1 | ICON | v1_oic | DWD-ICON-v1_oic | |
3 | 2 | ICON | v1_sic | DWD-ICON-v1_sic | |||
4 | 1 | AICON | v1_oic | DWD-AICON-v1_oic | |||
4 | 2 | AICON | v1_sic | DWD-AICON-v1_sic | |||
ECCC | 53 | 8 | 1 | GDPS | v1_oic | ECCC-GDPS-v1_oic | |
8 | 2 | GDPS | v1_sic | ECCC-GDPS-v1_sic | |||
9 | 1 | GDPS_nudge | v1_oic | ECCC-GDPS_nudge-v1_oic | GDPS spectral nudging | ||
9 | 2 | GDPS_nudge | v1_sic | ECCC-GDPS_nudge-v1_sic | |||
10 | 1 | GEML | v1_oic | ECCC-GDPS_nudge-v1_oic | GEML experimantal | ||
10 | 2 | GEML | v1_sic | ECCC-GDPS_nudge-v1_sic | |||
ECMWF | 98 | 255 | 1 | IFS | v1_49r1 | ECMWF-IFS-v1_49r1 | operational IFS, version cy49r1 |
1 | 1 | AIFS | v1_oic | ECMWF-AIFS-v1_oic | operational AIFS version 1.0 | ||
1 | 2 | AIFS | v1_sic | ECMWF-AIFS-v1_sic | operational AIFS version 1.0 | ||
2 | 1 | AIFS_nudge_IFS | v1_49r1 | ECMWF-AIFS_nudge_IFS-v1_49r1 | spectral nudging to IFS | ||
GFDL | 138 | 11 | 1 | SHiELD | v1_oic | GFDL-SHiELD-v1_oic | |
11 | 2 | SHiELD | v1_sic | GFDL-SHiELD-v1_sic | |||
IMD | 28 | 12 | 1 | IMDGFS | v1_oic | IMD-IMDGFS-v1_oic | |
12 | 2 | IMDGFS | v1_sic | IMD-IMDGFS-v1_sic | |||
13 | 1 | NCUM | v1_oic | IMD-NCUM-v1_oic | |||
13 | 2 | NCUM | v1_sic | IMD-NCUM-v1_sic | |||
JMA | 34 | 15 | 1 | GSM | v1_oic | JMA-GSM-v1_oic | Operational Global Spectral Model (GSM) |
16 | 1 | GraphCast_init_GSM | v1_oic | JMA-GraphCast_init_GSM-v1_oic | GraphCast initialized and fine-tuned by GSM initial conditions | ||
KIAPS/KMA | 4 | 24 | 1 | KIM | v1_oic | KIAPS_KMA-KIM-v1_oic | |
24 | 2 | KIM | v1_sic | KIAPS_KMA-KIM-v1_sic | |||
UKMO | 74 | 17 | 1 | UM | v1_oic | UKMO-UM-v1_oic | |
17 | 2 | UM | v1_sic | UKMO-UM-v1_sic | |||
METNO | 88 | 18 | 1 | AIWP | v1_oic | METNO-AIWP-v1_oic | |
18 | 2 | AIWP | v1_sic | METNO-AIWP-v1_sic | |||
NOAA | 9 | 19 | 1 | GFS | v1_oic | NOAA-GFS-v1_oic | |
19 | 2 | GFS | v1_sic | NOAA-GFS-v1_sic | |||
20 | 1 | MLGFS | v1_oic | NOAA-MLGFS-v1_oic | |||
20 | 2 | MLGFS | v1_sic | NOAA-MLGFS-v1_sic | |||
NRL | 139 | 21 | 1 | NOGAPS | v1_oic | NRL-NOGAPS-v1_oic | |
21 | 2 | NOGAPS | v1_sic | NRL-NOGAPS-v1_sic | |||
RAS | 4 | 22 | 1 | GM | v1_oic | RAS-GM-v1_oic | |
22 | 2 | GM | v1_sic | RAS-GM-v1_sic | |||
SAWS | 149 | 23 | 1 | GM | v1_oic | SAWS-GM-v1_oic | |
23 | 2 | GM | v1_sic | SAWS-GM-v1_sic |
Examples of the required GRIB2 files
- all examples are encoded as the output from ECMWF-IFS-v1_49r1 (test data, steps 0-240h)
- productionStatusOfProcessedData=17 (WPMIP test data)
- centre=323 (WPMIP)
- subCentre=98 (ECMWF)
- backgroundProcess=255 (v1_49r1)
- generatingProcessIdentifier=1 (IFS)
- the data section is removed from the sample data to reduce the file size (thus only meta data matter here)
parameter | Sample file | GRIB metadata dump*1 |
---|---|---|
mslp (analysis, surface, instantaneous parameter) | an.sfc.mslp.grib2 | an.sfc.mslp.dump |
total precipitation (forecast, accumulated parameter) | fc.sfc.tp.grib2 | fc.sfc.tp.dump |
temperature (forecast, pressure levels, instantaneous parameter) | fc.pl.t.grib2 | fc.pl.t.dump |
*1 using "grib_dump -O" command from ecCodes package