Case studies
Storm Xaver
On the 5 December 2013 a large and violent cyclonic storm hit the North Sea region and several adjacent countries. Problems were caused both by the high wind speeds and the related storm surge. The surge reached 6 metres in Hamburg for example and was the highest along the England east-coast for 60 years. In the aftermaths of the cyclone a blizzard hit Sweden. The storm system was named Xaver by Berlin's Free University; other names assigned elsewhere include Bodil, Sven and St. Nicholas (Hewson et al., 2014). T he cyclone developed around 00 UTC on 4 December northeast of Newfoundland and it was situated between converging northerly and southerly airstreams. Due to the westerly wind jet accelerated by the convergence, the cyclone moved to northeast and east, deepening explosively. It had an intense meso-vortex hanging back to west, which enhanced the strong wind (see Figure 1). The cyclone was presented in the operational forecasts 8-9 days before the event and the forecasts indicated the very strong wind gust 3-4 days in advance. (Although some strength overestimation over Germany as well as timing error in surface pressure were concluded.)
| ||
Figure 1: 24-hour maximum wind gust (m/s) on 5 December based on ECMWF operational IFS forecasts at 00 UTC on 3 and 5 December (left and middle, respectively; with white contours for the mean sea level pressure in hPa on 12 UTC on 5 December) and from the observations (right). |
Storm Desmond
Storm Desmond caused severe flooding, travel disruption and a power outage across northern England, parts of Scotland and Ireland on 5 December 2015. Cumbria in northwestern part of England is one of the worst affected regions with more than 200 mm of rain in 24 hours recorded in that area. Storm Desmond broke the United Kingdom's 24-hour rainfall record, with 341.4 mm of rain falling in Honister Pass, Cumbria. On Saturday, 5 December, UK Met office issued a red warning of heavy rain for Cumbria. The cyclone also led to flooding in southern Norway.
Orographical enhancement of precipitation played a major role in the event and the operational model of the ECMWF picked well the highest rainfall amounts over the orographical barriers. However, the forecast underestimated the peak values of about 100 mm in 24 hours in Cumbria and overestimated the precipitation amount in lee of the hills (Figure 2).
| |
Figure 2: 24-hour precipitation amount (mm) between 6 UTC on 5 December and 6 UTC on 6 December, based on ECMWF operational IFS forecast at 00 UTC on 5 December (left; with cyan contours for the mean sea level pressure in hPa at 12 UTC on 5 December) and observations (right). |
Model experiments
Several experiments have been conducted with OpenIFS for both cases with the aim to test the effect of starting date and forecast length, initial condition as well as spatial resolution to the forecast quality. The details of experiments are summarized in Table 1.
Table 1: Settings of the experiments achieved for Storm Xaver and Storm Desmond. | |||||||
Experiment ID | Initial condition | Resolution | Starting date | Time step | Output frequency | ||
---|---|---|---|---|---|---|---|
Xaver | 1. | ERA-Interim | T255L91 | 1 Dec 2013 | 2700 s | 3h | |
2. | ERA_Interim | T639L137 | 900 s | 3h | |||
3. | ERA5 | T255L91 | 2700 s | 3h | |||
4. | ERA5 | T639L137 | 900 s | 3h | |||
line | |||||||
Desmond | 1. | gryg | ERA-Interim | T255L91 | 1 Dec 2015; 2 Dec 2015; | 2700 s | 3h |
2. | gs22 | ERA-Interim | T639L137 | 3 Dec 2015; 4 Dec 2015 | 900 s | 3h | |
3. | gs23 | ERA-Interim | T1279L137 | 3 Dec 2015; 4 Dec 2015 | 600 s | 3h | |
4. | gs0c | ERA5 | T255L91 | 3 Dec 2015; 4 Dec 2015 | 2700 s | 3h | |
5. | gs04 | ERA5 | T639L137 | 3 Dec 2015; 4 Dec 2015 | 900 s | 3h |
!! The input data and the namelists needed to run the experiments can be downloaded from the ECMWF FTP server: download.ecmwf.int/openifs/evalution. !!
The files are packed in .tgz
files and structured into directories named after the case studies (i.e., Xaver_201312
, Desmond_201512
) and subdirectories indicating the main experiment characteristics (e.g., T255L91_ERA5
). The archive files were prepared by starting dates (e.g., gs0c_2015120300.tgz
). Typical content of a .tgz
file is as follows:
Size File name
Description
0 2015120300/
: directory for a given starting date
0 2015120300/ecmwf/ : subdirectory containing the namelists and some outputs
4750 2015120300/ecmwf/namelistfc : namelist with detailed experiment setup
3983964 2015120300/ecmwf/NODE.001_01.model.1
: text output (log) file including all the important information about the model run
26563 2015120300/ecmwf/ifs.stat.model.1 : information about model steps (useful for debugging)
3161 2015120300/ecmwf/wam_namelist : namelist of the coupled wave model
3161 2015120300/ecmwf/wam_namelist_coupled_000 : namelist of the coupled wave model
9763008 2015120300/ICMCLgs0cINIT : input file containing surface and soil information (albedo, soil temperature etc.)
7311120 2015120300/ICMGGgs0cINIT : input file containing gridpoint surface initial data
36695160 2015120300/ICMSHgs0cINIT : input file containing initial data for the prognostic variables in spectral representation
106044120 2015120300/ICMGGgs0cINIUA : input file containing initial data for the prognostic variables in gridpoint representation
54997789 2015120300/wam_grid_tables : model grid and tables for the wave model
13000184 2015120300/wam_subgrid_0 : information for model advection, including sub-grid parametrisation for the wave model
26709432 2015120300/wam_subgrid_1 : information for model advection, including sub-grid parametrisation for the wave model
26709416 2015120300/wam_subgrid_2 : information for model advection, including sub-grid parametrisation for the wave model
64560 2015120300/cdwavein : initial value of drag coefficient for the wave model
7943760 2015120300/specwavein : initial wave spectra for the wave model
64560 2015120300/uwavein : initial value of wind speed for the wave model
2349600 2015120300/sfcwindin : initial value of 10-meter horizontal wind components and sea ice fraction for the wave model
To run OpenIFS, the files highlighted in green in the box above are needed, i.e., the initial conditions for the atmospheric model (files with ICM
) and the namelist (namelistfc
). The namelist controls the necessary settings (e.g., time step, experiment ID) as well as the post-processing. The most important namelist elements are listed below with their explanation:
&NAMDYN
! Name of the namelist group
TSTEP=2700.0, ! Timestep in seconds
/
! End of the namelist group
&NAMFPG
NFPLEV=91, ! Number of vertical levels
NFPMAX=255,
!
Spectral truncation
/
&NAMCT0
CNMEXP="gs0c",
! Experiment ID
/
&NAMFPC
! Model level outputs: number of fields
(NFP3DFS
), GRIB field codes
(MFP3DFS
) and model levels (
)NRFP3S
NFP3DFS=5,
MFP3DFS(:)=130,135,138,155,133,
NRFP3S(:)=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,\
28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,\
52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,\
76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,
! Pressure level outputs:
number of fields
(
), NFP3DFP
GRIB field codes
(
) and pressure levels in Pascals (MFP3DFP
)RFP3P
NFP3DFP=7,
MFP3DFP(:)=129,130,135,138,155,157,133,
RFP3P(:)=100000.0,92500.0,85000.0,70000.0,50000.0,40000.0,30000.0,25000.0,20000.0,\
15000.0,10000.0,7000.0,5000.0,3000.0,2000.0,1000.0,700.0,500.0,300.0,200.0,100.0,! Saving spectral orography (g
), surface pressure (eopotential
) needed to post-processinglogarithm of surface pressure
NFP2DF=2,
MFP2DF(:)=129,152,
! Physics output: number of fields (NFPPHY) and GRIB field codes (MFPPHY)
NFPPHY=89,
MFPPHY(:)=31,32,33,34,35,36,37,38,39,40,41,42,44,45,49,50,57,58,59,78,79,129,136,\
137,139,141,142,143,144,145,146,147,148,151,159,164,165,166,167,168,169,\
170,172,175,176,177,178,179,180,181,182,183,186,187,188,189,195,196,197,\
198,201,202,205,206,208,209,210,211,235,236,238,243,244,245,229,230,231,\
232,213,212,8,9,228089,228090,228001,260121,260123,228129,228130,
/
In the evaluation, we would like to investigate the following variables:
- 2-meter temperature: its GRIB code number is 167;
- precipitation: it is composed from large-scale and convective precipitation with code numbers 142 and 143, respectively;
- mean sea level pressure: its code number is 151;
- 10-meter wind gust: its code number is 49;
- temperature at 850 hPa level: its code number is 130;
- relative humidity at 700 hPa level: its code number is 157;
- geopotential at 500 hPa level: its code number is 129;
u and v wind components at 250 and 100 hPa.
The listed variables have to be included in the namelist among the post-processing variables (see the code numbers and levels highlighted with bold characters in the box above). Instead of the wind components at given pressure level, the direct model output contains vorticity and divergence (with code number 138 and 155; see the highlight in red above). To obtain the horizontal wind components, an external post-processing is needed, which calculates u and v from the vorticity and divergence (see later). More information about the namelist settings and GRIB field codes can be found in the how-to articles: How to control OpenIFS output.
!! To run the model, the paths of the input data and the namelist have to be set in the job. ..... Acceptance testing OpenIFS after installation
Preparation of data for visualization
After the job run is completed, the outputs are split into 2 files (located in the working directory): ICMGG
for the gridpoint fields and ICMSH
for the spectral ones. The two files should include all the necessary variables set in the namelist. However, before visualisation of the results, some steps are still needed.
Post-processing of model outputs
The Metview macros prepared for visualisation desires the meteorological variables in GRIB files separated by variables and day with the following names:
t2_${day}.grib for 2-meter temperature,
p_${day}.grib for precipitation,
mslp_${day}.grib for mean sea level pressure,
gust_${day}.grib for 10-meter wind gust,
t850_${day}.grib for temperature at 850 hPa,
q700_${day}.grib for relative humidity at 700 hPa,
z500_${day}.grib for geopotential at 500 hPa,
u250_${day}.grib for horizontal wind components at 250 hPa,
u100_${day}.grib
for horizontal wind components at 100 hPa
,
where day
is the given date in format of yyyymmdd
(e.g., 20151203
). All the files should contain data for 8 timesteps per day (i.e., in every 3 hours).
Please note the lowercase letters in the filenames.
The 2-meter temperature, the precipitation, the mean sea level pressure and the windgust are expected in gridpoint representation, so will be taken from the ICMGG
files. To prepare the needed input files for the Metview macros from the raw ICMGG
outputs, the next operations are needed:
grib_copy -w marsParam=167 ICMGG${expID}+00${step} t2_${day}${step}.grib #to get the 2-meter temperature
grib_copy -w marsParam=151 ICMGG${expID}+00${step} mslp_${day}${step}.grib #to get the mean sea level pressure
grib_copy -w marsParam=49 ICMGG${expID}+00${step} gust_${day}${step}.grib #to get the 10-meter wind gust
where expID
is the 4-digit experiment ID and step
is the post-processing steps (every 3 hours) For precipitation, both the convective and large-scale precipitation components have to be in the same file:
grib_copy -w marsParam=142,marsParam=143 ICMGG${expID}+00${step} p_${day}${step}.grib
The pressure level data are required in spectral representation, so they will be taken from ICMSH
files. To prepare the needed input files for the Metview macros from the raw ICMSH
outputs, the next operations are needed:
grib_copy -w marsParam=130,level=850 ICMSH${expID}+00${step} t850_${day}${step}.grib
#to get the temperature
at 850 hPa
grib_copy -w marsParam=157,level=700 ICMSH${expID}+00${step} q700_${day}${step}.grib
#to get the relative humidity at 700 hPa
grib_copy -w marsParam=
129,level=500 ICMSH${expID}+00${step}
z500_${day}${step}.grib
#to get the geopotential at 500 hPa
For wind
, the files should include the u and v wind components. To obtain wind components from the vorticity and divergence, we will use the dv2uvl
command of CDO (Climate Data Operators) software (more information about the possibilities in CDO can be found in the how-to articles: How to convert GRIB to netCDF):
grib_copy -w marsParam=158,marsParam=155,level=250
ICMSH${expID}+00${step}
rotdiv250_${day}
${step}
.grib#to filter the vorticity and divergence at 250 hPa from the ICMSH file
cdo
dv2uvl
rotdiv250_${day}
${step}
.grib u250_${day}
${step}
.grib #to get the wind components from the vorticity and divergence at 250 hPa
grib_copy -w marsParam=158,marsParam=155,level=100
ICMSH${expID}+00${step}
rotdiv100_${day}
${step}
.grib#to filter the vorticity and divergence at 100 hPa from the ICMSH file
cdo
dv2uvl
rotdiv100_${day}
${step}
.grib u100_${day}
${step}
.grib
#
the vorticity and divergence at 100 hPato get the wind components from
Preparation of reference data
Metview macros
- where they are, how to set them up .. etc
Catalogue
References
Hewson, T. , Magnusson, L. , Breivik, O. , Prates, F ., Tsonevsky, I. , de Vries, H.J.W. , 2014: Windstorms in northwest Europe in late 2013. ECMWF Newsletter 139, 22–28. [PDF]