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 HPC facility (hpc2020 Atos)

  • 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
  • The model will be installed into $HOME/openifs/openifs_48R148r1.0/
  • The example forecast experiment will be set up in directory $PERM/i4xc/

It is important to note that the installation process on hpc2020 will not directly translate to alternative systems

...

Code Block
languagebash
themeMidnight
git clone ssh://git@git.ecmwf.int/~dahaoifs/openifs-main-git_48r1.0.git


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 currently access to this repository is restricted to a limited number of users only.

...

Code Block
languagebash
themeMidnight
export OIFS_HOME=$HOME/openifs/openifs_48R148r1.0/

The other model environment variables are

...

  • This file can be located anywhere on your file system, however the recommended default location is $OIFS_HOME/binscripts.
  • We provide a template for this configuration file in $OIFS_HOME/binscripts/oifs-config.edit_me.sh.
  • You should edit this file and update the path set in variable OIFS_HOME with your installation's path.

...

Starting the build process

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

...

Code Block
languagebash
themeMidnight
cd $OIFS_HOME
./binscripts/openifs-test.sh -cbt

where

...

Info

By default, on hpc2020, OpenIFS will be built using the intel compilerIntel compiler (Intel 2021.2) . OpenIFS will also build with GNU, if this is required then the user should execute the following command

./binscripts/openifs-test.sh -cbt -e gnu 

This will load the compiler environment for gnu GNU GCC 11.2.

If everything has worked correctly then all tests should have passed and the script returns the following

...

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

Extract the example forecast experiment i4xc.tgz into a folder in a location suitable for model experiments. This folder will be your experiment directory. 

Example: 
On the ECMWF hpc2020 our model installation $OIFS_HOME will be in $HOME/openifs_48r1.0 and for the experiment we extract the i4xc package to $PERM. The experiment directory shall therefore be $PERM/i4xc/2016092500

...

Code Block
languagebash
themeMidnight
cd $PERM/i4xc/2016092500
cp ./ecmwf/fort.4 .
cp ./ecmwf/wam_namelist .

You will need to copy two three further scripts from the OpenIFS package into your experiment directory:

  • oifs-run: this is a generic run script which executes the binary model program file.
  • exp-config.h: this is the experiment configuration file that determines settings for your experiment. It will be read by oifs-run. 
  • run.ecmwf-hpc2020.job: this is the wrapper script to submit non-interactive jobs on hpc2020

Copy both these files from $OIFS_HOME/bin scripts into your experiment directory.

Code Block
languagebash
themeMidnight
cd $PERM/i4xc/2016092500
cp $OIFS_HOME/binscripts/oifs-run .
cp $OIFS_HOME/binscripts/exp-config.h .
cp $OIFS_HOME/binscripts/run.ecmwf-hpc2020.job

Determine experiment parameters

...

  • A job wrapper script that is suitable for the locally available batch scheduler needs to be used to call oifs-run.
  • We include an example job wrapper script run.ecmwf-hpc2020.job in $OIFS_HOME/binscripts, which is suitable for the ECMWF hpc2020 Atos HPC. This uses the SLURM batch job scheduler.
    • In section 3, this script is copied to the experiment directory because it needs to be located here, to run an experiment.
  • run.ecmwf-hpc2020.job needs to be edited with the following essential and optional changess
    • Intially run.ecmwf-hpc2020.jobsets the PLATFORM_CFG variable as follows

...

    • It is important to change "/path/to/your/config/oifs-config.edit_me.sh" to the actual path for the oifs-config.edit_me.sh, e.g., "$HOME/openifs/openifs_48R148r1.0/binscripts/oifs-config.edit_me.sh"
    • The default resources requested in run.ecmwf-hpc2020.job are  8 nodes on ECMWF hpc2020, with a total of 256 MPI tasks and 4 OpenMP threads. This can be changed as required.
    • For information, the LAUNCH command for batch job submission is set to "srun" without any further options, because all required parallel environment settings are provided through the SLURM script headers.

...