Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This exercise is part of the OpenIFS meteorological evaluation framework which provides possibility for the users to assess the meteorological performance of OpenIFS based on two case studies. The exercise is prepared for working with storm Desmond. We will make one forecast experiment with OpenIFS 40r1 on T255L91 resolution initialized from ERA5 on 4th December 2015. The model outputs are visualized and evaluated using Metview.

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 the northwestern part of England was 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, the UK Met Office issued a red warning of heavy rain for Cumbria. The cyclone also led to flooding in southern Norway.

Orographical enhancement of the precipitation played the major role in the event and the operational model of ECMWF forecast 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 1).

Anchor
figure2
figure2

Figure 1: 24-hour precipitation amount (mm) between 6 UTC on 5 December and 6 UTC on 6 December, based on the 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 from the observations (right).


Prerequisites

HTML
<ol>
<li class="li_withspace">To run OpenIFS and access to the case study evaluation package, <strong>installation of OpenIFS40r1v2</strong> is required (earlier versions do not include the evaluation package). For more information on the installation, please see the <a href="https://software.ecmwf.int/wiki/display/OIFS/5.+OpenIFS+Installation" target="_blank">OpenIFS installation</a> section.</li>
<li class="li_withspace">To work with the GRIB files, <strong>installation of GRIB-API or ecCodes</strong> is needed. Recommended versions are <strong>GRIB-API 1.18.0</strong> and <strong>ecCodes 2.5.0</strong> or more recent ones.</li>
<li class="li_withspace">To use the visualization tools, <strong>installation of Metview</strong> is required, preferably version <strong>4.7.1</strong> or more recent versions (see also the <a href="#troubleshooting">Troubleshooting</a> section).</li>
</ol>

All these are installed under the training (troifs) user accounts.

Create the directory structure

Open a terminal window and login to ecaccess.ecmwf.int. After typing your username and password, select cca. Let us assume that the current directory is the ${HOME} directory. The necessary folders are automatically created by the next command:

Code Block
troifs1@cca-login4:~> . /perm/ectrain/troifs0/user-cray/oifs40r1/create_environment

This command creates the following structure on your ${PERM}:

Code Block
languagebash
troifs1@cca-login4:~> cd $PERM
troifs1@cca-login4:/perm/ectrain/troifs1> find .
.
./bin							# it contains the OpenIFS executable file
./bin/master.exe
./data							# it contains the input climatology files and a folder for outputs
./data/ifsdata
./data/ifsdata/climate
./data/ifsdata/climatology
./data/ifsdata/ifsdata
./data/ifsdata/rtables
./data/output
./job							# it contains the jobs to run on cca/ccb
./job/job_desmond
./job/oifs_run.sh
./nam							# it contains the namelists
./nam/namelistfc					# namelist for IFS
./nam/wam_namelist					# namelist for the wave model
./nam/wam_namelist_coupled_000		# namelist for the wave model
./rundir						# working directory of the experiment


Note

Please be aware that the name of input directories is pre-defined in the Metview macros. This means that you can choose different name for the data directory (e.g., input instead of data), but you have to keep the same subdirectory structure for the forecast results and re-analyses (i.e., input/forecast/${expID} and input/reference are expected).



Panel
borderColorlightgrey
bgColorwhite
titleBGColor#dcf0f7
borderStyledotted
titleOn this page


Div
dirlrt
classdiv_shifted_left
Table of Contents
maxLevel2
indent20px
absoluteUrltrue



Panel
borderColorlightgrey
bgColorwhite
titleBGColor#dcf0f7
borderStyledotted
titleUseful links


HTML
<ul style="margin-left: -20px;">
<li><a href="https://software.ecmwf.int/wiki/display/GRIB/Home" target="_blank">GRIB-API</a>: installation, documentation</li>
<li><a href="https://software.ecmwf.int/wiki/display/ECC/ecCodes+Home" target="_blank">ecCodes</a>: installation, documentation</li>
<li><a href="https://software.ecmwf.int/wiki/display/METV/Metview" target="_blank">Metview</a>: installation, documentation, tutorials</li>
<li><a href="https://software.ecmwf.int/wiki/display/OIFS/5.+OpenIFS+Installation" target="_blank">Installation of OpenIFS</a></li>
<li><a href="https://software.ecmwf.int/wiki/display/OIFS/How-to+articles" target="_blank">OpenIFS How-to articles</a></li>
<li><a href="https://software.ecmwf.int/wiki/display/OIFS/FAQ%3A+Frequently+Asked+Questions" target="_blank">OpenIFS FAQ</a></li>
<li><a href="http://download.ecmwf.int/test-data/openifs/reference_casestudies/" target="_blank">Reference case studies</a>: input data, programs, figures
<li>Access to ECMWF public datasets via <a href="https://software.ecmwf.int/wiki/display/WEBAPI/Access+ECMWF+Public+Datasets" target="_blank">WebAPI</a>: installation, documentation</li>
<li><a href="https://www.ecmwf.int/en/forecasts/datasets/reanalysis-datasets/era-interim" target="_blank">ERA-Interim data documentation</a></li>
<li><a href="https://www.ecmwf.int/en/forecasts/datasets/reanalysis-datasets/era5" target="_blank">ERA5 data documentation</a></li>
</ul>



Check the initial conditions

The initial conditions are available under the master troifs0 training user. You do not need to copy them, but you can check the content of the folder as well as the files.

Code Block
troifs1@cca-login4:/perm/ectrain/troifs1> ls -ltr /perm/ectrain/troifs0/user-cray/oifs40r1/data/input/


Panel
borderColor#cccccc
borderWidth1
borderStylesolid
titleInput data


HTML
<table>
<tr>
<td valign="top"><p style="line-height: 1.2;"><strong>File name</strong></p></td>
<td valign="top"><p style="line-height: 1.2;">&nbsp;</p></td>
<td valign="top"><p style="line-height: 1.2;"><strong>Description</strong></p></td>
<td valign="top" align="right"><p style="line-height: 1.2;"><strong>Size</strong></p></td>
</tr>
<tr>
<tr>
<td valign="top"><p style="font-family: Monospace; line-height: 1.2;">2015120300/ICMCLgs0cINIT</p></td>
<td valign="top"><p style="font-family: Monospace; line-height: 1.2;">: </p></td>
<td valign="top"><p style="font-family: Monospace; line-height: 1.2;">input file containing surface and soil information (albedo, soil temperature etc.)</p></td>
<td valign="top" align="right"><p style="font-family: Monospace; line-height: 1.2;">9.3 MB</p></td>
</tr>
<tr>
<td valign="top"><p style="font-family: Monospace; line-height: 1.2;"> 2015120300/ICMGGgs0cINIT</p></td>
<td valign="top"><p style="font-family: Monospace; line-height: 1.2;">: </p></td>
<td valign="top"><p style="font-family: Monospace; line-height: 1.2;">input file containing gridpoint surface initial data</p></td>
<td valign="top" align="right"><p style="font-family: Monospace; line-height: 1.2;">7 MB</p></td>
</tr>
<tr>
<td valign="top"><p style="font-family: Monospace; line-height: 1.2;"> 2015120300/ICMSHgs0cINIT</p></td>
<td valign="top"><p style="font-family: Monospace; line-height: 1.2;">: </p></td>
<td valign="top"><p style="font-family: Monospace; line-height: 1.2;">input file containing initial data for the prognostic variables in spectral representation</p></td>
<td valign="top" align="right"><p style="font-family: Monospace; line-height: 1.2;">35 MB</p></td>
</tr>
<tr>
<td valign="top"><p style="font-family: Monospace; line-height: 1.2;"> 2015120300/ICMGGgs0cINIUA</p></td>
<td valign="top"><p style="font-family: Monospace; line-height: 1.2;">: </p></td>
<td valign="top"><p style="font-family: Monospace; line-height: 1.2;">input file containing initial data for the prognostic variables in gridpoint representation</p></td>
<td valign="top" align="right"><p style="font-family: Monospace; line-height: 1.2;">&nbsp;&nbsp;&nbsp;101 MB</p></td>
</tr>
<tr>
<td valign="top"><p style="font-family: Monospace; line-height: 1.2;"> 2015120300/wam_grid_tables</p></td>
<td valign="top"><p style="font-family: Monospace; line-height: 1.2;">: </p></td>
<td valign="top"><p style="font-family: Monospace; line-height: 1.2;">model grid and tables for the wave model</p></td>
<td valign="top" align="right"><p style="font-family: Monospace; line-height: 1.2;">52 MB</p></td>
</tr>
<tr>
<td valign="top"><p style="font-family: Monospace; line-height: 1.2;"> 2015120300/wam_subgrid_0</p></td>
<td valign="top"><p style="font-family: Monospace; line-height: 1.2;">: </p></td>
<td valign="top"><p style="font-family: Monospace; line-height: 1.2;">information for model advection, including sub-grid parametrisation for the wave model</p></td>
<td valign="top" align="right"><p style="font-family: Monospace; line-height: 1.2;">12 MB</p></td>
</tr>
<tr>
<td valign="top"><p style="font-family: Monospace; line-height: 1.2;"> 2015120300/wam_subgrid_1</p></td>
<td valign="top"><p style="font-family: Monospace; line-height: 1.2;">: </p></td>
<td valign="top"><p style="font-family: Monospace; line-height: 1.2;">information for model advection, including sub-grid parametrisation for the wave model</p></td>
<td valign="top" align="right"><p style="font-family: Monospace; line-height: 1.2;">25 MB</p></td>
</tr>
<tr>
<td valign="top"><p style="font-family: Monospace; line-height: 1.2;"> 2015120300/wam_subgrid_2</p></td>
<td valign="top"><p style="font-family: Monospace; line-height: 1.2;">: </p></td>
<td valign="top"><p style="font-family: Monospace; line-height: 1.2;">information for model advection, including sub-grid parametrisation for the wave model</p></td>
<td valign="top" align="right"><p style="font-family: Monospace; line-height: 1.2;">25 MB</p></td>
</tr>
<tr>
<td valign="top"><p style="font-family: Monospace; line-height: 1.2;"> 2015120300/cdwavein</p></td>
<td valign="top"><p style="font-family: Monospace; line-height: 1.2;">: </p></td>
<td valign="top"><p style="font-family: Monospace; line-height: 1.2;">initial value of drag coefficient for the wave model</p></td>
<td valign="top" align="right"><p style="font-family: Monospace; line-height: 1.2;">63 KB</p></td>
</tr>
<tr>
<td valign="top"><p style="font-family: Monospace; line-height: 1.2;"> 2015120300/specwavein</p></td>
<td valign="top"><p style="font-family: Monospace; line-height: 1.2;">: </p></td>
<td valign="top"><p style="font-family: Monospace; line-height: 1.2;">initial wave spectra for the wave model</p></td>
<td valign="top" align="right"><p style="font-family: Monospace; line-height: 1.2;">7.6 MB</p></td>
</tr>
<tr>
<td valign="top"><p style="font-family: Monospace; line-height: 1.2;"> 2015120300/uwavein</p></td>
<td valign="top"><p style="font-family: Monospace; line-height: 1.2;">: </p></td>
<td valign="top"><p style="font-family: Monospace; line-height: 1.2;">initial value of wind speed for the wave model</p></td>
<td valign="top" align="right"><p style="font-family: Monospace; line-height: 1.2;">63 KB</p></td>
</tr>
<tr>
<td valign="top"><p style="font-family: Monospace; line-height: 1.2;"> 2015120300/sfcwindin</p></td>
<td valign="top"><p style="font-family: Monospace; line-height: 1.2;">: </p></td>
<td valign="top"><p style="font-family: Monospace; line-height: 1.2;">initial value of 10-meter horizontal wind components and sea ice fraction for the wave model</p></td>
<td valign="top" align="right"><p style="font-family: Monospace; line-height: 1.2;">2.2 MB</p></td>
</tr>
</table>


The initial conditions are GRIB files, you can check their content using eccodes ecCodes commands, e.g.:

Code Block
troifs1@cca-login4:/perm/ectrain/troifs1> grib_ls /perm/ectrain/troifs0/user-cray/oifs40r1/data/input/ICMSHgs0cINIT

Edit the namelist

The namelist files control the necessary experiment settings (e.g., time step, experiment ID) as well as the post-processing. The namelists are in the nam directory, go there and open the namelistfc file using a text editor, e.g.:

Code Block
troifs1@cca-login4:/perm/ectrain/troifs1> cd oifs40r1/nam
troifs1@cca-login4:/perm/ectrain/troifs1/oifs40r1/nam> gvim namelistfc

The most important namelist elements are listed below with their explanation:

Panel
borderColor#cccccc
borderWidth1
borderStylesolid
titleSample namelist

&NAMDYN                  ! Name of the namelist group
TSTEP=2700.0,            ! Time step in seconds
/                        ! End of the namelist group

&NAMFPG
NFPLEV=91,               ! Number of vertical levels
NFPMAX=255,              ! Spectral truncation
/

&NAMCT0
CNMEXP="gs0c",           ! Experiment ID
NFRPOS=4,                ! Output frequency of the 'history' files in time steps (i.e. here 3 hours)
NFRHIS=4,                ! Output frequency of the model variables in time steps (i.e. here 3 hours)

/

&NAMFPC
! Pressure level outputs: number of fields (NFP3DFP), GRIB field codes (MFP3DFP) and pressure levels in Pascals (RFP3P)
NFP3DFP=9,
MFP3DFP(:)=129,130,135,138,155,157,133,131,132,
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 (geopotential), surface pressure (logarithm of surface pressure) needed for post-processing
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,
/

&NAMFPD
NLAT=256,                ! Number of latitudes on the corresponding Gaussian grid
NLON=512,                ! Number of longitudes on the corresponding Gaussian grid
/

In the evaluation, we would like to investigate the following variables:

  • mean sea level pressure: its GRIB code number is 151;
  • 2-meter temperature: its code number is 167;
  • precipitation: it is composed from large-scale and convective precipitation with code numbers 142 and 143, respectively;
  • 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 with code numbers 131 and 132, respectively.

HTML
<p>These variables have to be included in the namelist among the post-processing variables (see the code numbers and levels highlighted with <b>bold</b> characters in the box above). More information about the namelist settings and GRIB field codes of different parameters can be found in the <b><a href="https://software.ecmwf.int/wiki/display/OIFS/How-to+articles" target="_blank">OpenIFS how-to articles</a></b>: <a href="https://software.ecmwf.int/wiki/display/OIFS/How+to+control+OpenIFS+output" target="_blank">How to control OpenIFS output</a>.</p>

Submit the experiment

The experiment will be executed by submission of the job_desmond file. Before its submission, we go through the steps this programme will do:

  1. Clean the working directory where your experiment will run:

    Code Block
    % cd ${OIFS_HOME}/rundir
    % $RUNDIR
    /bin/rm -fR ouput1 ICM* ifsdata rtables *l_2 wam* *in fort.* master.exe MPP*


  2. Copy or link the initial conditions from the input directory to your working directory:

    Code Block
    ln -sf ${INPUTDIR}/ICM* .
    ln -sf ${INPUTDIR}/wam* .
    ln -sf ${INPUTDIR}/*in .


  3. Set the necessary environment variables:
    • OIFS_GRIB_DIR: folder of eccodes ecCodes
    • OIFS_DATA_DIR: folder of climate data called ifsdata
  4. Copy the namelists to your rundir:

    Code Block
    cp -sf ${NAMDIR}/namelistfc fort.4
    ln -sf ${NAMDIR}/wam_namelist .
    ln -sf ${NAMDIR}/wam_namelist_coupled_000 .


  5. Run the model using the oifs_run.sh script. To run the script you have to specify the experiment ID, the executable file (named master.exe), the forecast length and you can set the spectral truncation as well as the timestep here:

    Code Block
    # oifs_run.sh -e${expID} -m${executable} -r${RESOUTION} -f${SCLENGTH} -s${TSTEP}
    ${JOBDIR}/oifs_run.sh -egs0c -m${BINDIR}/master.exe -r255 -fh54 -s2700. > out 2>err

    With these settings you run a 96-hour forecast (-fh96), where JOBDIR and BINDIR are the location of the oifs_run.sh script and the master.exe OpenIFS executable, respectively.
    Before the model run begins, the oifs_run.sh script checks the inputs and ensure that the necessary climate data on the corresponding resolution are also available in your working directory.

  6. When OpenIFS starts to run, you will see the following content in your working directory:

    Code Block
    master.exe        fort.4                                               # executable and namelist
    wam_namelist      wam_namelist_coupled_000						       # namelists for the wave model
    ICMGGgs0cINIUA    ICMCLgs0cINIT    ICMSHgs0cINIT     ICMGGgs0cINIT     # initial conditions
    cdwavein          sfcwindin        specwavein        uwavein		   # wave model initial conditions
    wam_grid_tables   wam_subgrid_0    wam_subgrid_1     wam_subgrid_2     # wave model files
    ifsdata           rtables          255l_2						       # climate data
    ncf927            ifs.stat         NODE.001_01                         # text output (log) files
    out               err                                                  # output and error files from the model run
    ICMGGgs0c+000000  ICMSHgs0c+000000 ICMGGgs0c+000003  ICMSHgs0c+000003  # output files for the first two steps


    HTML
    For more information about the content of the working directory, please see <a href="https://software.ecmwf.int/wiki/display/OIFS/6.2+Model+experiments#id-6.2Modelexperiments-Downloadingtheinputdata" target="_blank">section 6.2</a>.


HTML
<p>For more instructions and details about running the model, please visit the related <a href="https://software.ecmwf.int/wiki/display/OIFS/5.6+Acceptance+testing+OpenIFS+after+installation" target="_blank">page</a> in the <a href="https://software.ecmwf.int/wiki/display/OIFS/OpenIFS+User+Guides" target="_blank">OpenIFS User Guides</a>.</p>

Post-processing the model outputs

The Metview macros prepared for visualization of experiment results require the meteorological variables in GRIB format separated by variables and days with the appropriate names.

  1. The 2-meter temperature, the precipitation, the mean sea level pressure and the wind gust are expected in gridpoint representation. They are prepared from the ICMGG* outputs with the next operations:

    Code Block
    % expID=gs0c; date=20151203
    % steps="00 03 06 09 12 15 18 21 24 27 30 33 36 39 42 45 48 51 54 57 60 63 66 69 72" # every 3 hours from 0 UTC on 3 December to 0 UTC on 6 December
    % for step in ${steps}
       do
          grib_copy -w shortName=2t   ICMGG${expID}+0000${step} t2_${date}_${step}.grib    #to get the 2-meter temperature
          grib_copy -w shortName=msl  ICMGG${expID}+0000${step} mslp_${date}_${step}.grib  #to get the mean sea level pressure
          grib_copy -w shortName=10fg ICMGG${expID}+0000${step} gust_${date}_${step}.grib  #to get the 10-meter wind gust
       done


  2. For precipitation, both the convective and large-scale precipitation components have to be gathered in the same file:

    Code Block
    % expID=gs0c; date=20151203
    % steps="00 03 06 09 12 15 18 21 24 27 30 33 36 39 42 45 48 51 54 57 60 63 66 69 72" # every 3 hours from 0 UTC on 3 December to 0 UTC on 6 December
    % for step in ${steps}
       do
          grib_copy -w shortName=lsp/cp ICMGG${expID}+0000${step} p_${date}_${step}.grib
       done


  3. The pressure level data are required in spectral representation. They are prepared from the ICMSH* outputs with the next operations:

    Code Block
    % expID=gs0c; date=20151203
    % steps="00 03 06 09 12 15 18 21 24 27 30 33 36 39 42 45 48 51 54 57 60 63 66 69 72" # every 3 hours from 0 UTC on 3 December to 0 UTC on 6 December
    % for step in ${steps}
       do
          grib_copy -w shortName=t,level=850 ICMSH${expID}+0000${step} t850_${date}_${step}.grib  #to get the temperature at 850 hPa
          grib_copy -w shortName=r,level=700 ICMSH${expID}+0000${step} q700_${date}_${step}.grib  #to get the relative humidity at 700 hPa
          grib_copy -w shortName=z,level=500 ICMSH${expID}+0000${step} z500_${date}_${step}.grib  #to get the geopotential at 500 hPa       
       done


  4. For wind, both the u and v components have to be collected in the same file:

    Code Block
    % expID=gs0c; date=20151203
    % steps="00 03 06 09 12 15 18 21 24 27 30 33 36 39 42 45 48 51 54 57 60 63 66 69 72" # every 3 hours from 0 UTC on 3 December to 0 UTC on 6 December
    % for step in ${steps}
       do
          grib_copy -w shortName=u/v,level=250 ICMSH${expID}+0000${step} u250_${date}_${step}.grib  #to get the u and v components at 250 hPa
          grib_copy -w shortName=u/v,level=100 ICMSH${expID}+0000${step} u100_${date}_${step}.grib  #to get the u and v components at 100 hPa     
       done


  5. After these operations, the timesteps belonging to the same days have to be merged into a common file and the concatenated file has to be moved to the input directory of the Metview visualization:

    Code Block
    % expID=gs0c; date=20151203
    % variables="t2 mslp gust p t850 q700 z500 u250 u100"
    % for variable in ${variables}
       do
          cat ${variable}_${date}_*.grib > ${variable}_${date}.grib
          mv ${variable}_${date}.grib ${OIFS_HOME}/data/${expID}
       done


HTML
<p>More details can be found about the post-processing in <a href="https://software.ecmwf.int/wiki/display/OIFS/6.3+Data+pre-processing+for+visualization#id-6.3Datapre-processingforvisualization-Post-processingofmodeloutputs" target="_blank">section 6.3</a>.</p>

Download the re-analysis data

As reference for the evaluation, we use ERA5 re-analyses. The data are provided on the ECMWF download server in the proper format needed for visualization with Metview or they can be downloaded in their original format from the ECMWF MARS system. This retrieve has to be accomplished only once, if we download the data for the whole period of the case study.

To download the re-analysis GRIB files from the download server into the input directory of the Metview visualization:

Code Block
languagebash
% cd ${OIFS_HOME}/data/reference
% wget -c http://download.ecmwf.int/test-data/openifs/reference_casestudies/data/Desmond_201512/reference/ea_20151201-20151206.tar.gz


Expand
titleClick here to see the steps needed to retrieve the raw re-analysis data from the ECMWF MARS system.


Warning

Please note that this procedure requires installation of Python 2.7 or more recent version.


Expand
titleClick here to see the steps needed to retrieve ERA5 re-analysis data.


HTML
<ol>
   <li class="li_withspace"><b>Register</b> to Copernicus Climate Data Store (CDS): <a href="https://cds.climate.copernicus.eu/user/register" target="_blank">https://cds.climate.copernicus.eu/user/register</a>.
   <li class="li_withspace">Install the <b>CDS API</b> client, for example by running this command on Unix/Linux: <span class="font_code_black font_background_grey">% pip install cdsapi</span>.
   <li class="li_withspace">A <b>CDS key</b> is needed to be downloaded and installed. This page shows that: <a href="https://cds.climate.copernicus.eu/api-how-to" target="_blank">How to use the CDS API</a>.
   <li class="li_withspace">Before you may download any data from the CDS, you need to <b>accept the <i>Terms and Conditions</i></b> of the chosen dataset. To do this, log in to the <a href="https://cds.climate.copernicus.eu/#!/home" target="_blank">C3S Climate Data Store</a>, click on <span class="font_code_black">Datasets</span> on the top menu bar, select <span class="font_code_black">Product type</span> of interest (e.g. <span class="font_code_black">Reanalysis</span> for ERA5 datasets) on the left-hand side menu, follow the dataset title link and accept dataset licence.
   <li class="li_withspace" style="margin-top: 10px;">To download the data from MARS, we use the <span class="font_code_black">scr_download_re-analysis</span> shell script, which is available in the <span class="font_code_black">casestudies/mars</span> directory in the OpenIFS cycle 40r1v2 release as well as in the ECMWF download server: <a href="http://download.ecmwf.int/test-data/openifs/reference_casestudies/programs/mars/" target="_blank">http://download.ecmwf.int/test-data/openifs/reference_casestudies/programs/mars</a>.
   <br>Download all the necessary variables from the <strong>ERA5</strong> data for the period of 1&ndash;6 December 2015 into the <span class="font_code_black">${OIFS_HOME}/data/reference</span> directory:


Code Block
% ./scr_download_re-analysis -cea -s t2,mslp,p,gust -p t850,q700,z500,u250,u100 -f20151201 -l20151206 -o${OIFS_HOME}/data/reference


HTML
Or you can simply apply the <span class="font_code_black">all</a> option instead of listing each variable:


Code Block
% ./scr_download_re-analysis -cea -s all -p all -f20151201 -l20151206 -o${OIFS_HOME}/data/reference


HTML
</li></ol>



HTML
<p>After these two steps, altogether 18 files are in the <span class="font_code_black">${OIFS_HOME}/data/reference</span> directory for the 9 meteorological variables with filename <span class="font_code_black">ei_${variable}_20151201-20151206.grib</span> for ERA-Interim and <span class="font_code_black">ea_${variable}_20151201-20151206.grib</span> for ERA5.</p>


Note

You can download the re-analysis fields also for a shorter period, but be aware that the Metview macro plot_ERAI_ERA5.mv expects the re-analysis file to the evaluation with the filename *_20151201-20151206.grib.



HTML
<p>More information is provided about the background of the different re-analyses in <a href="https://software.ecmwf.int/wiki/display/OIFS/6.3+Data+pre-processing+for+visualization#id-6.3Datapre-processingforvisualization-Preparationofreferencedata" target="_blank">section 6.3</a>.</p>

Plotting

HTML
<p>The visualization package is available in the <span class="font_code_black">casestudies</span></a> directory of the OpenIFS cycle 40r1v2 release as well as in the ECMWF download server: <a href="http://download.ecmwf.int/test-data/openifs/reference_casestudies/programs/metview/" target="_blank">http://download.ecmwf.int/test-data/openifs/reference_casestudies/programs/metview</a>. Transfer the content of the <span class="font_code_black">definitions</span> and <span class="font_code_black">macros</span> folders into the corresponding local directories. Going to the <span class="font_code_black">macros</span> folder, the visualization can be done by the Metview macros (<span class="font_code_black">*.mv</span> files) in two ways: (1) interactively using a dialogue box or (2) in batch mode.</p>

<p>Before using the macros, the path of the <span class="font_code_black">definitions</span> directory has to be added to the <span class="font_code_black">METVIEW_MACRO_PATH</span> to reach the external functions and colour definitions:</p>


Code Block
% cd ${OIFS_HOME}/macros
% export METVIEW_MACRO_PATH="${OIFS_HOME}/definitions:${METVIEW_MACRO_PATH}"

There is an include statement in the plot_forecastrun.mv and plot_ERAI_ERA5.mv macros and further 2 ones in plot_IC.mv taking the two colour definitions from this directory. The path of the definitions folder has to be set in the macros according to the local working tree. To do that, open these files in a text editor, search the definitions and modify its path if it is necessary (4 times in total).

(1) Interactive plotting

Forecast maps

Expand
titleClick here to see the steps of plotting forecast maps.

To prepare maps from the T255L91 forecast initialized with ERA5 on 3 December 2015 for the validation date, i.e., 5 December 2015, start Metview (just type metview and press Enter), execute plot_forecastrun.mv with right mouse click on its icon and selecting the Execute option from the menu:


Set the following options in the pop-up dialogue box step by step:

  1. Give the surface parameters, the wind at 250 and 100 hPa as pressure level parameter and click "OK":
  2. Set the temperature at 850 hPa as pressure level parameter and click "OK":
  3. Set the relative humidity at 700 hPa as pressure level parameter and click "OK":
  4. Set the geopotential at 500 hPa as pressure level parameter and click "OK":
Note

Note the "/" at the end of the input and figure directory paths.

These steps generate all the maps from the forecast outputs between 0 UTC on 5 December and 0 UTC on 6 December.

Re-analysis maps

Expand
titleThe time handling in case of the re-analyses is different, so the procedure to prepare maps from the ERA-Interim data for the validation date consists of slightly different steps (click to see).

The time handling in case of the re-analyses is different, so the procedure to prepare maps from the ERA-Interim data for the validation date consists of the following steps:

  1. Repeat steps 1 to 4 above with plot_ERAI_ERA5.mv for 5 December 2015 (below an example for the surface parameters and the wind at 250 and 100 hPa):

    The generated figures range from 0 to 18 UTC on 5 December for most variables, excluding the daily precipitation amount and the windgust.
  2. Repeat the previous step for each variable apart from precipitation and windgust selecting 6 December as verification date to prepare the figures also for 0 UTC on 6 December (below an example for the temperature at 850 hPa):
  3. As the windgust values represent a time period, run the plot_ERAI_ERA5.mv macro selecting windgust for 4 December to prepare the figures also for 0 UTC on 5 December:

To prepare maps from the ERA5 data for the validation date, repeat the steps 1 to 3 above selecting ERA5 as reference (below an example for the temperature at 850 hPa):

(2) Plotting in batch mode

  1. To prepare maps from the T255L91 forecast initialized with ERA5 on 3 December 2015 for the validation date, i.e., 5 December 2015:

    Code Block
    % # metview -b plot_forecastrun.mv [experiment_ID] [resolution] [initial_condition] \
    % #                                [parameters] [pressure_levels] [start_date] [verification_date] \
    % #                                [area] [input_directory] [output_directory]
    
    % metview -b plot_forecastrun.mv gs0c T255L91 ea "t2,mslp,p,gust" " " 20151203 20151205 "25,-35,75,50" ../data/forecast/ ../figures/  # surface parameters
    % metview -b plot_forecastrun.mv gs0c T255L91 ea "t" "850" 20151203 20151205 "25,-35,75,50" ../data/forecast/ ../figures/             # t850
    % metview -b plot_forecastrun.mv gs0c T255L91 ea "q" "700" 20151203 20151205 "25,-35,75,50" ../data/forecast/ ../figures/             # q700
    % metview -b plot_forecastrun.mv gs0c T255L91 ea "z" "500" 20151203 20151205 "25,-35,75,50" ../data/forecast/ ../figures/             # z500
    % metview -b plot_forecastrun.mv gs0c T255L91 ea "u" "250,100" 20151203 20151205 "25,-35,75,50" ../data/forecast/ ../figures/         # u250, u100


  2. To prepare maps for the validation date, i.e., 5 December 2015 from the ERA5 data:

    Code Block
    % for date in 20151205 20151206
       do
          metview -b plot_ERAI_ERA5.mv ERA5 "t2,mslp" " " ${date} " " ../data/ ../figures/    # surface parameters
          metview -b plot_ERAI_ERA5.mv ERA5 t 850 ${date} " " ../data/ ../figures/            # t850
          metview -b plot_ERAI_ERA5.mv ERA5 q 700 ${date} " " ../data/ ../figures/            # q700
          metview -b plot_ERAI_ERA5.mv ERA5 z 500 ${date} " " ../data/ ../figures/            # z500
          metview -b plot_ERAI_ERA5.mv ERA5 u "250,100" ${date} " " ../data/ ../figures/      # u250, u100
       done
    
    % metview -b plot_ERAI_ERA5.mv ERA5 "p" " " 20151205 " " ../data/ ../figures/             # precipitation
    % metview -b plot_ERAI_ERA5.mv ERA5 "gust" " " 20151204 " " ../data/ ../figures/          # windgust


HTML
<p>More details about plotting with Metview are available in <a href="https://software.ecmwf.int/wiki/display/OIFS/6.4+Visualization+with+Metview" target="_blank">section 6.4</a>.</p>

Anchor
troubleshooting
troubleshooting
Troubleshooting

Here some cases are collected, when the model run and the forecast evaluation can terminate with error.

Model run

HTML
<ul>
<li class="li_withspace">The initial conditions are prepared for fix dates and spatial resolutions. Make sure that your settings coincide with that.</li>
<li class="li_withspace">The initial conditions are prepared with fix experiment ID that you can identify from the file names (e.g., in <span class="font_code_black">ICMGGgs0cINIT</span> experiment ID is <span class="font_code_black">gs0c</span>). Please make sure that you use the proper <span class="font_code_black">expID</span> in the job and the namelist, too.</li>
<li>Further possible issues regarding running the OpenIFS and their solution are listed in the <a href="https://software.ecmwf.int/wiki/display/OIFS/FAQ%3A+Frequently+Asked+Questions" target="_blank">OpenIFS FAQ</a>.</li>
</ul>

Visualization with Metview

HTML
<ul>
<li class="li_withspace">If you do not find the evaluation package (basically the Metview macros) in your local computing environment, you are likely to use earlier OpenIFS version than <strong>OpenIFS40r1v2</strong>. In that case, please download and install this version from the FTP server or download the Metview macros and the corresponding macro definitions from the <a href="http://download.ecmwf.int/test-data/openifs/reference_casestudies/programs/metview" target="_blank">ECMWF download server</a>.</li>
<li>Metview macros can stop with error message if not the recommended software versions are used. The supported (minimum) versions are <strong>GRIB-API 1.18.0, ecCodes 2.5.0</strong> and <strong>Metview 4.7.1</strong>.<br>
Using Metview 4.7.1 or 4.7.2, the next warnings are produced:


Code Block
languagebash
macro - WARN   - 20180611.125356 - Ambiguous verb: 'READ' could be:
macro - WARN   - 20180611.125356 -   READ (METVIEW)
macro - WARN   - 20180611.125356 -   READ (TIGGEMETVIEW)
macro - INFO   - 20180611.125356 - Choosing READ (METVIEW)
macro - WARN   - 20180611.125356 - Ambiguous verb: 'READ' could be:
macro - WARN   - 20180611.125356 -   READ (METVIEW)
macro - WARN   - 20180611.125356 -   READ (TIGGEMETVIEW)
macro - INFO   - 20180611.125356 - Choosing READ (METVIEW)
macro - INFO   - 20180611.125358 - Warn: Magics-warning: [NONE] is not a valid value for SUBPAGE_MAP_PROJECTION: reset to default -> [cylindrical]
macro - INFO   - 20180611.125358 - Warn: Magics-warning: tolerance condition error for 3.14159 -1.5708


HTML
Metview 4.8.0&ndash;4.8.5 give the following warnings:


Code Block
languagebash
macro - INFO   - 20180611.125358 - Warn: Magics-warning: [NONE] is not a valid value for SUBPAGE_MAP_PROJECTION: reset to default -> [cylindrical]
macro - INFO   - 20180611.125358 - Warn: Magics-warning: tolerance condition error for 3.14159 -1.5708


HTML
Metview 4.8.6&ndash;5.0.3 return with the following message:


Code Block
languagebash
macro - INFO   - 20180611.125358 - Warn: Magics-warning: [NONE] is not a valid value for SUBPAGE_MAP_PROJECTION: reset to default -> [cylindrical]


HTML
You can neglect all these warnings, they do not influence the output figures.
</li>
</ul>
  • Metview macros might terminate with the next message if METVIEW_MACRO_PATH is not set:

    Code Block
    languagebash
    macro - ERROR  - 20180611.143638 - Line 2729 in 'plot_IC.mv': Function not found: build_layout_2plus1(list)
    metview: EXIT on ERROR (line 1), exit status 1, starting 'cleanup'


  • Metview macros stops with error if the include statements in the .mv files are not set properly:

    Code Block
    languagebash
    base_visdef: No such file or directory
    macro - ERROR  - 20180611.144342 - Line 151: Cannot include file
    metview: EXIT on ERROR (line 1), exit status 1, starting 'cleanup'



  • HTML
    Metview macros partly require mandatory directory structure. The folder of the input data can be arbitrary, however, under this directory macros expect the re-analysis fields to be placed in the subdirectory named <span class="font_code_black">reference</span>, while the forecast data in the subdirectory identified with the 4-digit experiment ID (i.e., <span class="font_code_black">data/reference</span> and <span class="font_code_black">data/gs0c</span> etc.). Please make sure that the input data are stored in these folders with the proper file names (more information about the requested file names can be found in <a href="https://software.ecmwf.int/wiki/display/OIFS/6.4+Visualization+with+Metview#id-6.4VisualizationwithMetview-Inputdata" target="_blank">section 6.4</a>).


  • Metview macros can fail if they refer to non-existing directories. Please make sure that folders of the input data, output figures and the macro definitions are created.
  • Saving the outputs can cause surprise if you do not append "/" at the end of the path when specifying the output directory. Please use "/" at the end of the input data path, too.
  • Metview macros are constructed to process the data for given dates and parameters. If you use them for different dates and meteorological variables (it is easy to do that in batch mode), they will return with error message. To avoid that you can run the macros first in help mode, typing:

    Code Block
    languagebash
    % metview -b macroname


  • Please be aware that Metview macros require the input parameters in pre-defined order and number. If you do not want to specify a given parameter, use " " instead, e.g.:

    Code Block
    languagebash
    % metview -b plot_IC.mv Desmond "t2,mslp,p,gust" " " 20151203 "25,-35,75,50" ../data/forecast/ ../figures/

    where macro plot_ic.mv is executed for surface parameters, therefore, vertical levels are not specified.

Back to top

CSS Stylesheet
.cell_nopadding {
    padding: 3px;
    border: 0px;
}

.cell_leftmargin {
    padding-left: 30px;
}

.cell_top-bottom-border {
    border-top: 1px solid #3572b0;
    border-bottom: 1px solid #3572b0;
    border-left: 0px;
    border-right: 0px;
    padding: 3px;
}

.table_noborder {
     border: 0px;
}

.vertical {
    height: 100%;
}

.vertical td:first-child {
    position: relative;
    width: 35px;
    padding: 0;
    border: 2px solid #ddd;
}

.vertical_text {
    display: block;
    white-space: nowrap;
    -moz-transform: rotate(-90deg);
    -moz-transform-origin: center center;
    -webkit-transform: rotate(-90deg);
    -webkit-transform-origin: center center;
    -ms-transform: rotate(-90deg);
    -ms-transform-origin: center center;
    position: absolute;
    width:25px;
    color: #205081;
}

.table_line {
    padding: 0;
    height: 2px;
    border-left: 0px;
    border-right: 0px;
}

.table_line td:first-child {
    padding: 0;
    height: 2px;
    border-left: 0px;
    border-right: 0px;
}

.font_background_cyan {
    background-color: cyan;
}

.font_background_yellow {
    padding: 2px;
    background-color: #ffffb3;
}

.font_background_grey {
    padding: 2px;
    background-color: #dddddd;
}

.font_background_white {
    background-color: #ffffff;
}

.font_code_black {
    color: #000000;
    font-family: Monospace;
}

.li_withspace {
    margin-bottom: 10px;
}

.img_withoutspace {
    margin-bottom: -12px;
}

.font_background_darkgrey {
    padding: 2px;
    background-color: #aaaaaa;
}

Excerpt Include
Credits
Credits
nopaneltrue