Introduction
ECMWF makes real-time forecast data from the IFS and AIFS models available to the public free of charge. More information about this dataset is available on the ECMWF website. This page provides example config for adding this import to your Delft-FEWS application. An up-to-date configuration example of the import is also available in the FEWS-Conform repository.
This import is available Delft-FEWS versions 2024.02 and later.
Make the IdMap
Start by manually downloading an example .grib2 file from the ECMWF data browser and opening it in a NetCDF viewer (e.g. Panoply). Identify the parameters you would like to import. How to map the parameters depends on whether a parameter has a z-level (*_height_above_ground) or not. Parameters with a z-level should be mapped to an internalLocation that has a z-level defined (see next paragraph) combined with externalLocation="0". Parameters without a z-level can be mapped directly, without defining locations. Note: this import has not yet been tested for other types of parameters such as *_isobaric variables.
<idMap xmlns="http://www.wldelft.nl/fews" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.wldelft.nl/fews http://fews.wldelft.nl/schemas/version1.0/idMap.xsd" version="1.1">
	
	<!--3D variables with a fixed grib2 parameter name and a z-level ("*_height_above_ground") should be linked to a location with that height.-->
	<map internalParameter="WSu.fcst" internalLocation="Ecmwf.10m" externalParameter="u-component_of_wind_height_above_ground" externalLocation="0"/>
	<map internalParameter="WSv.fcst" internalLocation="Ecmwf.10m" externalParameter="v-component_of_wind_height_above_ground" externalLocation="0"/>
	<map internalParameter="T.fcst" internalLocation="Ecmwf.2m" externalParameter="Temperature_height_above_ground" externalLocation="0"/>
	<!--2D variables with a fixed grib2 parameter name only need to be linked to the internal parameter-->
	<!--meteo params-->
	<parameter internal="Pmsl.fcst" external="Pressure_msl"/>
	<parameter internal="Prate.fcst" external="Total_precipitation_rate_surface"/>
	<parameter internal="Rs.fcst" external="Net short wave radiation flux"/>
	<!--Wave params -->
	<parameter internal="Wavedirm.fcst" external="Direction_of_combined_wind_waves_and_swell_surface"/>
	<parameter internal="Waveperm.fcst" external="Mean_period_of_combined_wind_waves_and_swell_surface"/>
	<parameter internal="Waveperpk.fcst" external="Peak_wave_period_surface"/>
	<parameter internal="Waveheightsig.fcst" external="Significant_height_of_combined_wind_waves_and_swell_surface"/>
</idMap>
Define the grid and location
Next, define the grid. For *_height_above_ground variables, you'll need to identify the height coordinate defined for the variable, and then check the associated coordinate variable to identify the height.
<regular locationId="Ecmwf"> <rows>136</rows> <columns>168</columns> <geoDatum>WGS 1984</geoDatum> <firstCellCenter> <x>112</x> <y>-10</y> </firstCellCenter> <xCellSize>0.25</xCellSize> <yCellSize>0.25</yCellSize> </regular> <regular locationId="Ecmwf.2m"> <rows>136</rows> <columns>168</columns> <geoDatum>WGS 1984</geoDatum> <firstCellCenter> <x>112</x> <y>-10</y> </firstCellCenter> <xCellSize>0.25</xCellSize> <yCellSize>0.25</yCellSize> </regular> <regular locationId="Ecmwf.10m"> <rows>136</rows> <columns>168</columns> <geoDatum>WGS 1984</geoDatum> <firstCellCenter> <x>112</x> <y>-10</y> </firstCellCenter> <xCellSize>0.25</xCellSize> <yCellSize>0.25</yCellSize> </regular>
Configure the import module
xxx