OpenIFS forecast experiments

In order to run a forecast with OpenIFS a set of initial files (in GRIB format) together with a text file containing the model's controlling fortran namelists.

It is crucial that the initial files have mass and wind fields that are properly balanced, and appropriate for the particular model version. For this reason, users should request their initial data from openifs-support@ecmwf.int who will create the experiment files on the ECMWF system. ECMWF is working on a web-based approach to allow users to create their own experiments and initial data on the ECMWF system.

Each 'forecast experiments' consists of: (a) a set of model initial files created from an analyses (e.g. ERA5); (b) a model namelist file (fort.4).

Initial files

The input GRIB format initial files contain 2D and 3D fields to start the forecast. Similar to the t21test provided with OpenIFS, they are contained in files that begin with ICM* : ICMGG* are the initial gridpoint files, ICMSH* are the initial spectral fields. ICMCL* is the file containing the climatological forcing fields (this file is not needed for the T21 test case).

The gridpoint files are split into two types: ICMGGexidINIUA are the upper air gridpoint fields, whilst ICMGGexidINIT contain the surface fields in gridpoint format. These are a mix of both GRIB1 and GRIB2 format fields, the upper-air fields are GRIB2.

Use the 'grib_ls' or 'grib_dump' commands to examine the initial files:

grib_ls ICMGGob00INIT
grib_ls ICMSHob00INIT

These commands are provided as part of the ECMWF ecCodes library (see: 5.3 Install ecCodes GRIB library for OpenIFS).

OpenIFS namelists: fort.4

The file: fort.4 contains the model 'namelists'. It has a list of variable settings or 'switches' that control what the model does. These variables are grouped into separate fortran namelists, typically one namelist per section of the model (e.g. NAMDYN is the dynamics namelist).

The model will read this file when it starts up. There are many options to control the model. For more information, it is best and recommended to check the comments in the code.  The model code structure is organised such that the namelist files can be found in src/ifs/namelist. The corresponding fortran 'module' for each namelist is typically found in src/ifs/module. The module file contains the description of the namelist variables. For example, namelist NAMCT0 listed in fort.4 can be found in the model source at src/ifs/namelist/namct0.nam.h with its module at src/ifs/module/yomct0.F90.

The wave model, WAM, also has a separate namelist: wam_namelist.

OpenIFS experiments

An 'experiment' is created for each set of OpenIFS forecast initial data by the OpenIFS team and provided to users on request.

An experiment identifier, or 'id', is a 4 character sequence, embedded in the initial data filename and as a GRIB key in the headers of each file. For example, ICMSHg8ddINIT, would be the file for the initial spectral  fields ('SH'), for the experiment labelled 'g8dd'.

An experiment can be a single forecast date or a combination of multiple dates. Each date could be a single forecast or a ensemble of forecasts from a single date. But each experiment will use the same model resolution. For example, an experiment comprising a 5 member ensemble with 5 start dates (say 1st-5h December 2015) would result in 25 separate model forecasts.

Listing the experiment id: expid

The command 'exptid' is available in the OpenIFS 'bin' directory to check and change the experiment id in the initial GRIB files:

Confirm experiment id contained in GRIB files..
% exptid ICMSHob00INIT
In file ICMSHob00INIT, values of key experimentVersionNumber are:
ob00

The 'experimentVersionNumber' is the GRIB parameter encoded in the GRIB fields.

This can also be seen using the 'grib_ls' command to list the contents of the file:

% grib_ls -p shortName,typeOfLevel,dataDate,experimentVersionNumber ICMSHob00INIT
ICMSHob00INIT
shortName                typeOfLevel              dataDate                 experimentVersionNumber  
t                        hybrid                   20151101                 ob00                    
t                        hybrid                   20151101                 ob00                    
t                        hybrid                   20151101                 ob00  
.......    

The 'exptid' and 'grib_ls' commands can also be used for multiple files:

% exptid ICM*
In file ICMCLob00INIT, values of key experimentVersionNumber are:
0001
In file ICMGGob00INIT, values of key experimentVersionNumber are:
0001
ob00
In file ICMGGob00INIUA, values of key experimentVersionNumber are:
ob00
In file ICMSHob00INIT, values of key experimentVersionNumber are:
ob00

Note that the ICMCL and ICMGG*INIT files both have a experimentVersionNumber key of '0001'. This is used for climatological fields.

Changing the experiment id: expid

All experiments with OpenIFS should use a 4-character experiment id. At ECMWF, these ids are assigned by the system. However, OpenIFS users have the freedom to change the experiment id if they choose to.

The 'exptid' command is available with OpenIFS to change the experiment id in the 'bin' directory of the OpenIFS distribution. This might be done for example, to duplicate an forecast experiment initial files for use with a modified set of namelist variables.

Changing experiment id requires changes to the GRIB headers in the file, not just the filename itself. Use the exptid command rather than simply renaming the files.

% exptid -n ob01 ICM*ob00*
Changing expid from 'ob00' to 'ob01' for ICMCLob00INIT and writing to new file ICMCLob01INIT.
Changing expid from 'ob00' to 'ob01' for ICMGGob00INIT and writing to new file ICMGGob01INIT.
Changing expid from 'ob00' to 'ob01' for ICMGGob00INIUA and writing to new file ICMGGob01INIUA.
Changing expid from 'ob00' to 'ob01' for ICMSHob00INIT and writing to new file ICMSHob01INIT.