Page tree
Skip to end of metadata
Go to start of metadata

This page contains a few rules on the S2S parameters. A complete list of all the parameters and sample GRIB2 encoding is given here.

General rules


  • All fields shall use units as defined in GRIB Edition 2


  • All accumulations shall start from the beginning of the forecast
  • The initial state (forecast step zero) shall be a part of all forecasts, all members, etc ... except for daily mean fields .
  • The values of accumulated fields shall be set to zero for t=0
  • Accumulations are archived once a day, valid at 00Z,  Accumulations are archived once a day, valid at 00Z,  except for total precipitation which are archived 4 times a day (decided at the 14/02/2014 S2S steering group meeting)

Instantaneous fields

  • Instantaneous fields shall be archived with a frequency of once a day, valid at 00Z.

Daily mean/max/min

  • Daily means are average of 00, 06, 12 and 18 UTC (universal time).
  • Surface air maximum temperature and surface air minimum temperature have the same hour-boundaries as daily means and are defined as respectively the maximum and minimum temperature over the past 6 hours.


  • The re-forecasts are archived with a reference date  to distinguish between real-time data and re-forecast data,


  • The flux sign convention will be positive downwards.

Missing values

  • Bitmaps shall be used to indicate missing values (i.e. Soil moisture (sm) shall be coded using a bitmap, because there is no model output over the sea)

Grid and resolution

  • Each partner will provide their eps data on a 1.5/1.5 regular lat-lon grid for both ocean and atmosphere. First grid point is 90N 0E. The data will be archived first from east to west (OE to 358.5), and then from North to South (90N to 90S).
  • Grids are defined in GRIB2 using an accuracy of 1/1000000 (one millionth) of a degree. If this accuracy is not sufficient to describe your grid (latitude/longitude of first and last points, as well as grid increments) without loss of information, you can use a GRIB2 feature that provides a way to describe any regular grid. See the page on encoding global latitude/longitude grid for more details.

Number of forecasts

  • The Control Forecast must be number 0,
  • The number of members is identical to the number of all EPS members plus the Control Forecast.

GRIB2 encoding

ECMWF encoding/decoding Software

ECMWF makes available a GRIB decoding library (grib_api) for the benefit of the WMO community. grib_api can be freely downloaded from here and the documentation can be found here.

grib_api provides a simplified access to GRIB2 headers through a set of virtual keys documented here


1) S2S Production status of processed data

Octet 36 of section 1 of a GRIB2 message contains the Production status of processed data. The WMO has added two values to table 1.3 Production status of data:

  • 6: S2S operational products
  • 7: S2S test products

You should use value 7 when testing (and set the vvvv part of the file naming convention to test), and 6 for operational data (in this case vvvv should be set to prod).

S2S extension (Section 2)

It is proposed that the section 2 for S2S fields be the same for all partners. A GRIB2 decoder must decode the section 2 as a TIGGE extension based on the octet 36 of section 1 (Production status of processed data) being 6 or 7.

The format of the S2S extension is not yet defined. The section 2 should either be missing or empty.

2) Control and perturbed forecasts

Control and perturbed forecasts are identified in section 1 and 4. The following tables explains how to code them in GRIB2:

Section 1
Example perturbedExample control
21typeOfProcessedData=4 =3 

Ensemble (section 4, template 4.61)
Example perturbedExample control
35type of ensemble forecast= 255 (missing) = 255 (missing) 
36perturbation number= 7= 0
37number of forecasts in ensemble= 51= 51

3) Time component and reforecasts 

4) Examples of GRIB2 files

Daily average  Control  PerturbedControl Perturbed
Accumulations  Control  PerturbedControl  Perturbed
Instantaneous  Control  PerturbedControl Perturbed
Maximum over the last 6 hours  Control  PerturbedControl Perturbed
Minimum over the last 6 hours  Control Perturbed

  • No labels