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

UERRA parameter rules

Units

  • All fields shall use units as defined in GRIB Edition 2. The exact definition for each parameter is linked in Parameter page

Output frequency, levels for an/fc

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)

Parameters archived since previous post-processing

  • Some parameters (2m tmin/tmax, 10m wind gust) shall be archived with varying length of time range intervals:
    0-1/1-2/2-3/4-5/5-6/6-9/9-12/../27-30
    Find further in this page GRIB2 files examples including header outputs etc

Fluxes

  • The flux sign convention is positive downwards.
  • Positive evaporation represents condensation.

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

  • Each partner provide data on their native grid.
  • Grids are defined in GRIB2 using an accuracy of 1/1000000 (one millionth) of a degree.

Ensemble type of outputs

  • Ensemble member numbering must start from 1

Model levels

  • Model level numbering must start from 1

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. The GRIB-API provides a simplified access to GRIB2 headers through a set of virtual keys documented here

The new GRIB-API version 1.19.0 which can recognise all UERRA parameters is already available on all ECMWF's premises (e.g. ecgate). Its official public release will follow soon in following weeks.

UERRA-GRIB2 checking tool

The so called tigge_check tool is a part of GRIB-API package. It should be used to validate all GRIB2 files prepared for UERRA (the option -u). The tool is checking all encoding details so that only fully compliant UERRA files following exactly required definitions would pass. It can check also allowed value ranges for each parameter if used with the option -v. These ranges have not been fully defined for all UERRA parameters yet e.g. for radiation fluxes. Sometimes warnings about values exceeding expected limits do not mean error in the checked data but only model specific correct values.

Temporary tigge_check version

During the development phase there will be always the latest version of tigge_check tuned on the latest full sample data from providers available on ecgate:

ecgate: ~marm/uerra/bin/tigge_check

After the end of the development phase (when full samples for more days/weeks are available from all expected models) that last version of tigge_check will be added to the next closest official GRIB-API release.

Examples of tigge_check usage:

> module load grib_api/1.17.0
> load grib_api 1.17.0 Library (GRIB_API_MODE, GRIB_API_VERSION, GRIB_API_INCLUDE, GRIB_API_LIB, GRIB_API_INCLUDE_DIR, GRIB_API_LIB_DIR, EC_FFLAGS, EC_CFLAGS, EC_CXXFLAGS, EC_FLDFLAGS, EC_CLDFLAGS, EC_CXXLDFLAGS)
> 
# example with one data value ranges warning and one encoding error
> tigge_check -u -w -v *.grib2
> warning: an.enda.tcw.sfc.0.fp.grib2, field 1 [total_column_water_sfc]: total_column_water_sfc maximum value 31.5638 is not in [50,150]
  => [31.5638,150]
> fc.oper.2t.sfc.2.grib2 , field 1 [temperature_hl]: invalid height level 3


GRIB2 encoding details

The complete WMO compliant GRIB2 definitions of all UERRA parameters are linked here.

The additional generally required encoding UERRA details are listed below:

Section 1
Octets Key nameValueDescription
6-7centre78COSMO products (code Offenbach edzw)


84Meteo-France products (code Toulouse lfpw )


82HARMONIE products (code Sweden eswi)


74MO products (code UK Meteorological Office Exeter egrr)
10tablesVersion17latest WMO table with some new definitions for UERRA 
20productionStatusOfProcessedData

8

operational UERRA products



9test UERRA products
21typeOfProcessedData0Analysis products


1Forecast products

Deterministic system (both analysis and forecast products)

Section 4
OctetsKey name

Value

Description

8-9productDefinitionTemplateNumber

0

Analysis and Forecast products (instantaneous)

(Analysis or forecast at a horizontal level or in a horizontal layer at a point in time (grib2/tables/17/4.0.table))



8

Analysis and Forecast products (statistically processed = accumulated/min/max values)

(Average, accumulation, extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval (grib2/tables/17/4.0.table))

Ensemble DA system (both analysis and forecast products)

Section 4
OctetsKey name

Value

Description

8-9productDefinitionTemplateNumber

1


Analysis and Forecast products (instantaneous)

(Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time  (grib2/tables/17/4.0.table))



11

Analysis and Forecast products (statistically processed = accumulated/min/max values)

(Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous time interval (grib2/tables/17/4.0.table))

35type of ensemble forecast255 missing
36perturbation number2Example for 2nd eps member of ensemble with 4 members (0/1/2/3)
37number of forecasts in ensemble4

Examples of UERRA compliant GRIB2 files


deterministicensemble DA

ANFCANFC

Accumulations

(Evaporation)

N/A

grib

dump

N/A

grib

dump

Instantaneous on surface level

(Surface air temperature)

grib

dump

grib

dump

grib

dump

grib

dump

Instantaneous on model level

(Specific humidity on model level 1)

grib

dump

grib

dump

grib

dump

grib

dump

Maximum since previous post-processing

(Surface air maximum temperature since previous post-processing)

N/A

grib*

dump

N/A

grib*

dump

Minimum since previous post-processing

(Surface air minimum temperature since previous post-processing)

N/A

grib*

dump

Parameter on soil level

(Soil temperature on soil level 1)

grib

dump

grib

dump

*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 valuesGrib_api values
12Significance of Reference Time1Start of forecast
13-14Year (four digits)2012year of start of forecast


dataDate=20120101 

dataTime=0


15Month01month of start of forecast
16Day01day of start of forecast
17Hour00hour of start of forecast
 section 4 e.g. template 4.1
18Indicator of unit of time range 1Hour
19-22Forecast time48Forecast stepstepType=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 valuesGrib_api key
12Significance of Reference Time1Start of forecast
13-14Year (four digits)2012year of start of forecast


dataDate=20120101

dataTime=0

15Month01month of start of forecast
16Day01day of start of forecast
17Hour00hour of start of forecast
Accumulation ( section 4 e.g. template 4.11 )
18Indicator of unit of time range1Hour
19-22Forecast time0Accumulation starts at step=0startStep=0
38-39year of end of overall time interval2012


End of accumulated period, 20120103 06Z

   


endStep=54



40month of end of overall time interval01
41day of end of overall time interval03
42hour of end of overall time interval06
45number of time ranges1Only one type of time statistics used (accumulation)
46-49total number of data values missing in statistical process0

50

Statistical process used to calculate the processed

field from the field at each time increment during the time range

1Accumulation

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

1Hour
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

255Missing
58-61

Time increment between successive fields, in units defined by the previous octet

00


Maximum since the previous post-processing

This example represents a  maximum since the previous post-processing of a field valid on 20120103 00Z produced by a forecast started on 20120101 00Z . In this example, the maximum is the 6-hourly maximum in the time interval: steps 42 to 48.

  • 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 (Maximum over the last 6 hours )
Start of forecast ( section 1 )

Octets


 values

Meaning of valuesGrib_api keys
12Significance of Reference Time1Start of forecast
13-14Year (four digits)2012year of start of forecast


dataDate=20120101

dataTime=0

15Month 01month of start of forecast
16Day 01day of start of forecast
17Hour 00hour of start of forecast
Maximum ( section 4  e.g. Template 4.11)
18Indicator of unit of time range 1Hour
19-22Forecast time42Step at the beginning of the 6-hourly intervalstartStep=42
38-39year of end of overall time interval2012


End of maximum period


endStep=48

40month of end of overall time interval 01
41day of end of overall time interval 03
42hour of end of overall time interval 00
45number of time ranges1Only one time statistics applied (maximum)
46-49total 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

 2MaximumstepType=max
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

 1HourindicatorOfUnitForTimeRange=1
53-56

Length of the time range over which statistical

processing is done, in units defined by the previous octet

66-hourly maximumlengthOfTimeRange=6
57

Indicator of unit of time for the increment between

the successive fields used

 1Hour

indicatorOfUnitForTimeIncrement=1

58-61

Time increment between successive fields,

in units defined by the previous octet

 0Maximum computed continuously in the 6 hourly intervaltimeIncrement=0


Minimum since the previous post-processing

This example represents a  minimum since the previous post-processing of a field valid on 20120103 00Z produced by a forecast started on 20120101 00Z . In this example, the minimum is the 6-hourly minimum in the time interval: steps 42 to 48.

  • 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 (Minimum over the last 6 hours )
Start of re-forecast ( section 1 )

Octets


Fixed

 Meaning of  valuesGrib_api keys
12Significance of Reference Time1Start of forecast
13-14Year (four digits)2012year of start of forecast


dataDate=20120101

dataTime=0

15Month 01month of start of forecast
16Day 01day of start of forecast
17Hour 00hour of start of forecast
Minimum ( section 4 e.g. Template 4.11)
18Indicator of unit of time range 1Hour
19-22Forecast time 42Step at the beginning of the 6-hourly intervalstartStep=42
45-46year of end of overall time interval 2012


End of minimum period

 

endStep=48

47month of end of overall time interval 01
48day of end of overall time interval 03
49hour of end of overall time interval 00
52number of time ranges 1Only one time statistics applied (minimum)
53-56total number of data values missing in statistical process 0

57

Statistical process used to calculate the processed field

from the field at each time increment during the time range

 3MinimumstepType=min
58

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


59

Indicator of unit of time for time range

over which statistical processing is done

 1HourindicatorOfUnitForTimeRange=1
60-63

Length of the time range over which statistical

processing is done, in units defined by the previous octet

 66-hourly minimumlengthOfTimeRange=6
64

Indicator of unit of time for the increment between

the successive fields used

 1HourindicatorOfUnitForTimeIncrement=1
65-68

Time increment between successive fields,

in units defined by the previous octet

 0Minimum computed continuously in the 6 hourly intervaltimeIncrement=0