Meteorological data from ECMWF models

From Agri4castWiki
Revision as of 10:24, 22 October 2021 by Hendrik2 (talk | contribs) (Extraction of data into files)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

General description

The ECMWF is one of the world's leading centres for numerical modelling. It runs a suite of global models and data assimilation systems for the dynamics, thermodynamics and composition of the Earth's fluid envelope and interacting parts of the Earth system. The data assimilation systems harmonise observations from ground stations, radiosondes, satellites and many other sources with the meteorological equations to form a physically valid state of the atmosphere. These data are used as initial conditions for the various forecast models.

To extend the analysis period and improve crop monitoring and yield forecasting, weather forecasts are integrated into the MCYFS. The data provide important information on the development of the most important meteorological phenomena on the mesoscale.

ECMWF model outputs are used to produce meteorological and derived agrometeorological parameters, which are then visualised in dynamic maps and diagrams in analyst viewers and in static maps quick-looks.

Data from the ECMWF's ensemble forecast system (ENS) and seasonal forecast model (SEAS) provide several forecast outputs. Since the atmosphere is a chaotic system, small differences in initial conditions can lead to large differences in the resulting forecasts. In 1992, ECMWF introduced an ensemble forecast system that provides information on the uncertainty of a weather forecast. Small perturbations of the initial condition are used to produce (nowadays) 50 different initial conditions. Together with the non-perturbed control run, this results in an ensemble of 51 model results.

Before the ECMWF predicted weather data can be fed into the MCYFS, the data must be pre-processed to obtain the required resolutions in time and space.

Pre-Processing of ECMWF model data

Data acquisition from ECMWF

Model results for surface and pressure levels is provided by ECMWF in FM-92 GRIB format which is specified in WMO Publication 306 Manual on Codes.

Data from six products of the ECMWF model suite is ingested into the MCYFS:

Model set with ECMWFs abbrevation Abbreviation within MCYFS Number of forecast days used for MCYFS Number of ensemble members Original ECMWF grid* Corresponding original horizontal model resolution* Acquired resolution in MCYFS** Delivery of data files and maps
ERA5 ERA 1 1 N320 reduced Gaussian grid ~30 km 0.28125° x 0.28125° in April for the previous year
Deterministic model as analysis HRES OPE 1 1 O1280 octahedral grid*** ~9 km *** 0.25° x 0.25° Daily (10.30 hr)
Deterministic forecast HRES OPE 10 1 O1280 octahedral grid ~9 km *** 0.25° x 0.25° Daily (12.00 hr)
Ensemble Prediction System ENS ENS 15 50+1 O640 octahedral grid *** ~18 km *** 0.5° x 0.5° Daily (14.00 hr)
Seasonal forecast system SEAS SEAS 183 50+1 0320 octahedral grid ~36 km 0.4° x 0.4° February - June and November, 13th of the month

* Grid in which the model simulates the weather indicators (state: 2021). Depending on the model subset, ECMWF uses for surface and pressure levels either a Octahedral grid or a Reduced Gaussian grid. The octahedral grid names start with ‘O’ followed by the number of latitude lines between the pole and equator. Gaussian grid names start with 'N' followed by number of lines by which latitude is divided.
** Spatial resolution in which the simulated indicators are acquired and loaded into the MCYFS. The simulated indicators are distributed over the earth using a WGS84 coordinate system.
*** HRES and ENS are run by ECMWF twice daily, based on 00 and 12 UTC observations. The SEAS is started by ECMWF each 01st of the month as 00 UTC-run. Depending on the forecast horizon it takes between 5.5 hours (+0 hours HRES) and nearly 9 days (last day SEAS) until the centre disseminates the results.

The short range results of the subsequent HRES model runs are processed as analysis of the previous day and added to the archive (as HIS), assuming this is the best estimator for weather indicators of that day. Details are described below.

The other data of the forecasting suite is replaced when a more recent forecast becomes available (OPE forecast, ENS, SEAS). As the delivery into the MCYFS databases needs to take place until 15.00 hours of each day in standard situation the 00 UTC model runs are used. In the rare case that the model dissemination is delayed as fallback the 12 UTC model result of the previous day is taken into account.

ECMWF’s reanalysis data set ERA5 is used to build a consistent archive of gridded model results from January 1979 onwards. Below, details are described.

Spatial representation

The ECMWF model computes surface parameters of HRES and ENS on octahedral grids, with different resolutions. The central MCYFS database however requires the initial data in a specific grid resolution with regular latitudes and longitudes, see section Data acquisition from ECMWF. Therefore, conversion is needed.


The deterministic forecast model, within MCYFS addressed as OPE, including the short range forecast which is used as analysis, produces forecast weather for grid cells currently on a Octahedral O1280 grid (~9x~9km). This resolution is converted by ECMWF to a reduced Gaussian N640 grid (~16x~16km). Next a conversion of the N640 to a regular 0.25 x 0.25 degrees latitude longitude grid (OPE grid) is done.

Several height models at the regular 0.25 x 0.25 degrees latitude longitude exists:

  • the height model for the OPE is calculated in the same way as the data itself: first the Octahedral grid is converted to a Gaussian N640 reduced grid and next to the regular 0.25° OPE grid (~25x~25km).
  • in addition, the height model of a previous version of OPE model (prior to March 2016) is available. The previous OPE version was run on a Gaussian N640 reduced grid and the related height model was directly converted into the OPE grid.
  • in addition, the height model of a previous version of OPE model (2008-2010) is available. This OPE version was run on a Gaussian N400 reduced grid and the related height model was directly converted into the OPE grid

For the grid conversion, original software from ECMWF (EMOS-lib) is applied. The grid description is stored in table GRID_HIS including the elevation models originating from two previous OPE versions: ~16km (N640) and ~25km (N400).

Black dots: Gaussian N640 reduced grid (~16x~16km) to regular 0.25 x 0.25 degrees latitude longitude. Gray lines: 25x25km climate grid.


All surface parameters of the ENS forecast are calculated on a Octahedral O640 grid (~18x~18km). This resolution is converted by ECMWF to a reduced Gaussian N200 grid. Next a conversion of the N200 to a regular 0.5 x 0.5 degrees latitude longitude grid (ENS grid) is done. The height model for the ENS is calculated in the same way as the data sets: first the Octahedral grid is converted to a Gaussian N200 reduced grid and next to the regular 0.5° ENS grid. In addition, the height model of a previous version of ENS model (prior to March 2016), ran on a N320 reduced Gaussian grid, is available. For the grid conversion original software from ECMWF (EMOS-lib) is applied. The grid description is stored in table GRID_ENS, the elevation of the previous ENS model (prior to March 2016) is stored in column ALTITUDE.

Black dots: Gaussian N320 reduced grid (~30x~30km) to regular 0.5 x 0.5 degrees latitude longitude. Gray lines: 25x25km climate grid.


The ERA5 data are calculated for a 0320 octahedral grid (~36x~36km). The acquisition and processing of the SEAS data is done in a separate setup. Input data is downloaded from the Copernicus Climate Data Store (CDS) as netcdf formats at a spatial resolution of 0.4° by 0.4 degree. The data is being processed with Python and R scripts.


The ERA5 data are calculated for a Gaussian N320 reduced grid (~30x~30km). The ERA5 data is fetched from the Copernicus CDS API, which offers the dataset already pre-interpolated to the target grid in a spatial resolution of 0.25° x 0.25. The official ECMWF MIR interpolation package is used for the regridding, ensuring consistent datasets.

Applied parameters from ECMWF grib deliveries

In total, analysis and forecast for 35 parameters of the ECMWF re-analysis and forecasting suite is used for the various applications in MCYFS and the production of the static maps.

ECMWF disseminates the model results for the surface layer in WMO FM 92 GRIB format, according WMO specifications, Manual on Codes in WMO Publication Nr 306. To extract the required parameters from the ECMWF data package(s) and to decode the binary GRIB formats the ECMWF GRIB API application program interface for C is used.

As a next step after acquisition and scaling to the regular lat-lon-grids, derived elements and daily indicators are calculated

Aggregation to daily data

First, aggregates of the 3- or 6-hourly data to daily means, extremes or sums are calculated. Total precipitation and global radiation are provided by ECMWF as accumulated values since the begin of the model runtime and therefore differences for the 24-hourly daily sums need to be computed. The box below summarizes the algorithms.

Calculation of additional indicators

The following indicators are retrieved from other elements. These include:

  • Snow depth (thickness snow cover)
  • Climate water balance (for mapping purposes)

Snow depth

The snow depth (thickness of the snow layer, Dsn) is derived from snow depth water equivalent and snow density.

Climatic water balance

Climatic water balance is calculated based on evapotranspiration calculated through the equation of Penman-Monteith (ET0) and the total precipitation of a day. This calculated ET0 is only used for mapping purposes. Note that in the downstream processing, and after spatial scaling operations, ET0 is calculated again (see calculation of additional parameters after downscaling).

Calculation of extreme weather events

For the static map production (quicklooks) it is necessary to derive additional parameters out of the raw ECMWF data set. This especially concerns probabilities and aggregated counts of number of days where a special condition is met. To compute the probability for the exceedance of thresholds (e.g. probability of freezing days) first the daily value for each separate ensemble member is computed and then the amount of members which fit the corresponding constraint (p.e. exceed 20 mm of daily precipitation sum) is counted. To compute the number of days where a parameter exceed a threshold first the numbers for each separate ensemble member is calculated (from the daily values of each ensemble member). Afterwards the median is derived for presentation on map. The deterministic run and the ensemble control run are treated like any other ensemble member. Probabilities for anomalies require comparison with ECMWF model climate and are therefore only visualized where available in the ECMWF catalogue.

Aggregation to 10-daily and weekly data

For the production of the maps, as well an aggregation to 10-daily and weekly aggregates of the daily data takes place. Therefore the average of mean temperature, maximum temperature, minimum temperature, snow depth and the sum of precipitation, ET0, climatic water balance and global radiation is computed.

Extraction of data into files

After processing data are exported as data files and static maps that can be distributed to users and other MCYFS processes.

A simple file naming scheme for the data files was adopted with the general format: <ROI>_<model_code>_<yyyy><mm><dd>_<member>.dat

In which:

  • ROI = region (GLD)
  • model_code = ECMWF model (OPE, ENS)
  • yyyy = the year (four digits),
  • mm = the month number (two digits),
  • dd = the day in the month (two digits)
  • member = the member number (two digits)

The date in the filename links to the forecast day = 0 (FORECAST_OFFSET = 0). In case of OPE only member 00 is allowed; in case of ENS the member number runs from 0 to 50.

An example of a file name for each of the 4 models is:

  • GLO_OPE_20160715_00.dat OPE data issued July 15, 2016 (only member 00 allowed)
  • GLO_ENS_20160704_35.dat ENS data issued July 4, 2016, member 35

An input file basically contains the following structure:

  • A header providing geo referencing information
  • Blocks of data for the first forecast date (for each variable)
  • Blocks of data for the second forecast date (for each variable)
  • etc.

For simplification purposes, below a simple example is given with a detailed explanation.

The data files are loaded in the MCYFS database, tables WEATHER_<MODEL>_GRID_RAW where <MODEL> is to be replaced by the abbreviation of one of the two ECMWF products (OPE, ENS). During loading two actions are executed:

  • additional unit conversion
  • plausible range checks

The SEAS and the ERA5 data is being processed with separate processing lines, respectively. The resulting daily data is delivered as NetCDF.

Extraction of data into maps

The static maps are exported as flat images and animated images with full layout and directly made available to analysts that use them during analysis of weather indicators. The geographic extent of the static maps for Europe is defined by the upper-left corner at 75° North/25° West and the lower-right corner 20° North/70° East, the maps for the RUK domain cover a domain 65° North/25° West to 40° North/105° East. This production line includes GrADS mapping software which is able to create maps directly from GRIB files.

Static map of maximum temperature on 7-feb-2011 with a spring breeze in Central and Western Europe.
Animated Rainfall, emitted 20-dec-2010 with the forecasted precipitation of low "Petra". Petra's snow masses retarded travel in many regions of Europe before Christmas 2010. Large animation
Static map with the forecasted number of days with significant rain (>5mm) within the next 10 days. Forecast issued 20 July 2016.
Static map with the forecasted probability for a cold anomaly > 2K in June 2016, forecasted by the SEAS run initialized 01 June 2016.