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)

  • 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 nameValueDescriptionComments
6-7centre323*3WMO Centre's codenewly proposed WMO code
8-9subCentreXWMO Sub-Centre's codesee subCentre codes below
10tablesVersion36The latest WMO table*1
11localTablesVersion0Local tables not used
20productionStatusOfProcessedData16

Weather Prediction Model Intercomparison Project*2

use during production phase



17Weather Prediction Model Intercomparison Project test *2use during testing phase
21typeOfProcessedData0Analysis products


1Forecast 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-9productDefinitionTemplateNumber

0/8*1

13backgroundProcess

X*2

14generatingProcessIdentifier

X*2

*1 statistically processed (typeOfStatisticalProcessing is set up)

*2 centre/model version dependent (see table with Centre codes below)

Section 5
Octets
ValueDescription
10-11dataRepresentationTemplateNumber

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)

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)
  • 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)


OrganisationsubCentrebackground Processgenerating Process Identifier  modelNamemodelVersionmodelremark
1BoM1141AccessGv1_oicBoM-AccessG-v1_oic
2

142AccessGv1_sicBoM-AccessG-v1_sic
3

51AIFS_init_AccessGv1_oicBoM-AIFS_init_AccessG-v1_sicAIFS Initialized with Access-G
4

52AIFS_init_AccessGv1_sicBoM- AIFS_init_AccessG-v1_sic
5CMA38251Fengshunv1_oicCMA-Fengshun-v1_oic
6

252Fengshunv1_sicCMA-Fengshun-v1_sic
7CPTEC4661GMv1_oicCPTEC-GM-v1_oic
8

62GMv1_sicCPTEC-GM-v1_sic
9CSIR13771GMv1_oicCSIR-GM-v1_oic
10

72GMv1_sicCSIR-GM-v1_sic
11DWD7831ICONv1_oicDWD-ICON-v1_oic
12

32ICONv1_sicDWD-ICON-v1_sic
13

41AICONv1_oicDWD-AICON-v1_oic
14

42AICONv1_sicDWD-AICON-v1_sic
15ECCC53

8

1

GDPS

v1_oic

ECCC-GDPS-v1_oic


16

8

2

GDPS

v1_sic

ECCC-GDPS-v1_sic


17

9

1

GDPS_nudge

v1_oic

ECCC-GDPS_nudge-v1_oic

GDPS spectral nudging

18

9

2

GDPS_nudge

v1_sic

ECCC-GDPS_nudge-v1_sic


19

10

1

GEML

v1_oic

ECCC-GDPS_nudge-v1_oic

GEML experimantal

20

10

2

GEML

v1_sic

ECCC-GDPS_nudge-v1_sic


21ECMWF98

255

1

IFS

v1_49r1

ECMWF-IFS-v1_49r1

operational IFS, version cy49r1

22

1

1

AIFS

v1_oic

ECMWF-AIFS-v1_oic

operational AIFS version 1.0

23

1

2

AIFS

v1_sic

ECMWF-AIFS-v1_sic

operational AIFS version 1.0

24

2

1

IFS_nudge_AIFS

v1_49r1

ECMWF-IFS_nudge_AIFS-v1_49r1

spectral nudging to AIFS

25GFDL138111SHiELDv1_oicGFDL-SHiELD-v1_oicphysical-model
26

112SHiELDv1_sicGFDL-SHiELD-v1_sicphysical-model
27

261AI_SHiELDv1_oicGFDL-AI_SHiELD-v1_oicAI version
28

262AI_SHiELDv1_sicGFDL-AI_SHiELD-v1_sicAI version
29IMD28121IMDGFSv1_oicIMD-IMDGFS-v1_oic
30

122IMDGFSv1_sicIMD-IMDGFS-v1_sic
31

131NCUMv1_oicIMD-NCUM-v1_oic
32

132NCUMv1_sicIMD-NCUM-v1_sic
33JMA34151GSMv1_oicJMA-GSM-v1_oicOperational Global Spectral Model (GSM)
34

161GraphCast_init_GSMv1_oicJMA-GraphCast_init_GSM-v1_oicGraphCast initialized and fine-tuned by GSM initial conditions
35KIAPS/KMA40241KIMv1_oicKIAPS_KMA-KIM-v1_oic
36

242KIMv1_sicKIAPS_KMA-KIM-v1_sic
37

243KIMv2_oicKIAPS_KMA-KIM-v2_oic
38

244KIMv2_sicKIAPS_KMA-KIM-v2_sic
39UKMO74171UMv1_oicUKMO-UM-v1_oic
40

172UMv1_sicUKMO-UM-v1_sic
41METNO88181AIWPv1_oicMETNO-AIWP-v1_oic
42

182AIWPv1_sicMETNO-AIWP-v1_sic
43NOAA9191GFSv1_oicNOAA-GFS-v1_oic
44

192GFSv1_sicNOAA-GFS-v1_sic
45

201MLGFSv1_oicNOAA-MLGFS-v1_oic
46

202MLGFSv1_sicNOAA-MLGFS-v1_sic
47NRL139211NOGAPSv1_oicNRL-NOGAPS-v1_oic
48

212NOGAPSv1_sicNRL-NOGAPS-v1_sic
49RAS4221SL-AVv1_oicRAS-SL_AV-v1_oic
50

222SL-AVv1_sicRAS-SL_AV-v1_sic
51SAWS149231GMv1_oicSAWS-GM-v1_oic
52

232GMv1_sicSAWS-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.grib2an.sfc.mslp.dump
total precipitation (forecast, accumulated parameter)fc.sfc.tp.grib2fc.sfc.tp.dump
temperature (forecast, pressure levels, instantaneous parameter)fc.pl.t.grib2fc.pl.t.dump

*1 using "grib_dump -O" command from ecCodes package