Versions Compared

Key

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

...

Info

Worked Example:

We explain the model installation and the process of running of a forecast experiment on the ECMWF Atos Sequana XH2000 HPC facility (hpc2020)

  • All data files and configuration scripts that are required for the worked example experiment described in this guide can be found on the ECMWF file system here:  /perm/openifs/oifs_data/48r1/example
  • For users without access to the ECMWF HPC facility we provide URLs for downloading all required data files and configuration scripts.
  • The model will be installed into $HOME/openifs-48r1.1/
  • The example forecast experiment will be set up in directory $OIFS_EXPT/ab2a/

It is important to note that the installation process on hpc2020 will not directly translate to alternative systems. To address this we present details about a docker install in the last section of this guide.

Access requirements

OpenIFS is licensed software and using the model requires your affiliation with an institute that has signed the ECMWF OpenIFS software licence agreement.

...

If you are a new model user you should in the first instance contact OpenIFS support (by emailing openifs-support@ecmwf.int) requesting access to OpenIFS by providing the following information: your full name, your affiliation and related institutional email address, and your ECMWF account user name. OpenIFS staff will then activate OpenIFS user policies for your personal ECMWF account. In some cases we may need to request additional verification of your affiliation with your licensed institute prior to giving you access. 

Extract the OpenIFS package

Create your local installation of OpenIFS 48R1.1 by downloading and extracting the tarball containing the model source package.

...

Note
  • You will need approximately 4 GB of disk space for the model sources, the bundle packages, and the built model binaries. 
  • Please note that in future access to the OpenIFS source package will be provided through a git repository. Therefore the provision of the package as a tarball is only a temporary arrangement. 

Set up the platform configuration file

The OpenIFS model requires a number of Linux environment variables to be set for both installation and runs. These are referred to as global environment variables.

...

Info

$OIFS_HOME/oifs-config.edit_me.sh also contains a environment variables that relate to the SCM. These are discussed in <add link to SCM documentation>

 Build OpenIFS

In the next step the model binary executable (and other helper programs) will be built.

OpenIFS build system

In contrast to earlier model versions, the building of OpenIFS 48r1 is no longer based on the FCM configuration manager; instead, the build system for OpenIFS is now based on the same ecbuild / CMake system used for the ECMWF IFS model.

Similar to the IFS, OpenIFS 48r1 also employs a software bundle which, as part of the build process, automatically finds, downloads and installs many of the required software packages, e.g., ecbuild, ecCodes, metkit, etc. Hence, a separate installation of these libraries is no longer required as they have now become part of the OpenIFS distribution. 

Starting the build process

The  $OIFS_HOME/scripts/build_test/openifs-test.sh  script can be used to build the model and run initial tests. 

...

Note

100% pass with $OIFS_TEST/openifs-test.sh -cbt shows that the low resolution (t21) ifs-test cases can run to completion on the chosen system. These tests do not check bit comparibility with known good output. If this is a requirement, e.g., if a user makes a code change and needs to test whether the code has led to unexpected behaviour in the code, then Openifs - bit identical testing page describes how to set this up with openifs-test.

 Set up a forecast experiment

An example forecast experiment has been prepared for OpenIFS 48r1. The experiment ID is  ab2a

...

Code Block
languagebash
themeMidnight
cd $OIFS_EXPT/ab2a/2016092500
cp $OIFS_HOME/scripts/exp_3d/oifs-run .
cp $OIFS_HOME/scripts/exp_3d/exp-config.h .
cp $OIFS_HOME/scripts/exp_3d/run.ecmwf-hpc2020.job .

Determine experiment parameters

Namelist:

  • You can edit the atmospheric model namelist file fort.4. It contains Fortran namelists which control model settings and switches.
  • An important switch to edit is in namelist NAMRIP the variable CSTOP. Set this to the desired length of the forecast experiment.
  • Experiment ab2a can be run for up to 144 hours (6 days) by setting CSTOP='h144'.

...

Info
titleOrder of precedence for how OpenIFS evaluates variables:


  1. exp-config.h:  These variables have the highest precedence and are used for the experiment (Best practice to use this).
    Example: Here you are setting the experiment ID, parameters for the model grid and for parallel execution of this specific experiment. Each experiment directory should contain its own exp-config.h file. 

  2. oifs-run:  If no exp-config.h is found, and if no command-line parameters are provided when calling oifs-run, then the default settings found inside oifs-run are used instead (This is not recommended! Use an exp-config.h file instead). 
    Example: For some variables the defaults are usually fine. For instance, you do not need to specify the namelist file 'fort.4' in exp-config.h, because oifs-run will use this file name as a default value.

  3. oifs-config.edit_me.sh:  This file contains global configuration settings required for the correct functioning of OpenIFS, and therefore this file needs to be always sourced first. However, it does not contain variables that are specific to a forecast experiment, and any variables that are declared in either exp-config.h or in oifs-run will overwrite their previous settings in this global configuration file.
    Example: In your global configuration file you may have set the double precision variable as your standard model executable. If you wish to use single precision for a specific experiment, then you can set OIFS_EXEC in exp-config.h to the SP binary executable which will overwrite the global setting for this experiment.


Running the experiment

After all optional edits to the namelists (fort.4) and to the experiment configuration file (exp-config.h) have been completed the model run can be started.

Depending on the available hardware experiments can either be run interactively or as a batch job.

Running a batch job

This method is the preferred way to run OpenIFS, as it is more efficient and it allows more flexibility in using the available hardware resources. 

...

Info

The job wrapper script will read the exp-config.h file and adopt the selected values. The exceptions are LAUNCH, which is set to "srun" for batch jobs, and OIFS_NPROC & OIFS_NTHREAD for which values from the batch job headers are used. The job wrapper script modifies the exp-config.h file accordingly prior to calling the oifs-run script.

Running interactively

On the ECMWF hpc2020, running the model script interactively should be fine for lower grid resolutions up to T255L91. 

...

Code Block
languagebash
themeMidnight
# run interactively:
cd $OIFS_EXPT/ab2a/2016092500
./oifs-run

Postprocessing

If in the exp-config.h file the OIFS_PPROC variable has been set to true (or if the --pproc command line parameter was used) then the model output in the experiment directory is further processed after completing the model run.

...

This postprocessing is required if the Metview Python script is to be used later to visualise the model output.

Plotting of model output

Here we describe in a brief summary how plots from the model results can be generated. This permits a first-order sanity check whether the model results look sensible.

...

  • We describe the process on the example of the ECMWF Linux Virtual Desktop (VDI)
  • In the VDI, open a terminal, log into the hpc2020 with command:  ssh hpc-login
  • In the terminal start the Jupyter session on an interactive node, using the command:  ecinteractive -j
  • After the interactive node has started you will be given a weblink to connect to the Jupyterlab session ("To manually re-attach go to <weblink>").
  • Open a web browser (e.g. Chrome) inside the VDI and paste the weblink into the browser's URL address field; this will connect to the Jupyter session.
  • In the file explorer, on the left side of the Jupyter window, navigate to the folder $PERM/mv/ipynb/ and select Notebook  single.ipynb
  • Open this Notebook by double-clicking in the explorer window.
  • Once it has opened, run all its cells in sequence (e.g. use the command "Run All Cells" in menu "Run").
  • This will generate a series of plots from the model output which are displayed inside the Notebook. 
  • Optional:  After completing the Jupyter session it is good practice to release the reserved interactive node using this command in the terminal window:  ecinteractive -p hpc -k   and confirm cancellation of the job; if this is not done the interactive job will timeout after 12 hours.

Requirements

This section provides further details about software requirements for OpenIFS.

...