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

Units

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

Accumulations

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

Re-forecasts

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

Fluxes

  • 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 west to east (OE to 358.5), 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. 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.
  • Ocean parameters
    • follow the same rules but the  data is on a 1.0/1.0 regular lat-lon grid

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 (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

S2S GRIB2 checking tool

The so called tigge_check tool is a part of ecCodes package. It should be used to validate all GRIB2 files prepared for S2S (the option "-s" for the real-time outputs and option "-s -r" for S2S reforecast files). The tool is checking all encoding details so that only fully compliant S2S files following exactly required definitions would pass. Find more information about the tool in the page Data encoding checking tools

Encoding

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
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
Octets
Example perturbedExample control
21type of processed data4 3 


Ensemble (section 4, template 4.61)
Octets
Example perturbedExample control
8-9product definition template number

1/11* (real-time)

60/61* (reforecast)

1/11* (real-time)

60/61* (reforecast)

35type of ensemble forecast255 (missing) 255 (missing) 
36perturbation number70
37number of forecasts in ensemble5151
  • statistically processed (typeOfStatisticalProcessing is set up)

3) Time component and reforecasts 

4) Examples of GRIB2 files


real-timere-forecast
Daily averageControl  PerturbedControl Perturbed
AccumulationsControl  PerturbedControl  Perturbed
InstantaneousControl  PerturbedControl Perturbed
Maximum over the last 6 hoursControl  PerturbedControl Perturbed
Minimum over the last 6 hoursControl Perturbed
Example of a new ocean parameter *

real-timere-forecast
Daily averageControl  PerturbedControl Perturbed

(*) ecCodes version>= 2.13.0 is needed to see correct MARS meta data