...
Warning |
---|
At this time only a beta release is available for OpenIFS 48r1. The code is shared only with specific beta testers and it is not yet publicly available. Once OpenIFS 48r1 becomes generally available an announcement will be made. If you have any questions please contact openifs-support@ecmwf.int. |
Contents:
Table of Contents |
---|
...
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).
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. |
Extract the OpenIFS package
Create your local installation of OpenIFS 48R1.1 by cloning or branching from the git repository with the OpenIFS package.
...
Note |
---|
|
Set up the platform configuration file
The OpenIFS model requires a small number of Linux environment variables to be set for both installation and runs. These are referred to as global environment variables.
...
Info |
---|
Previous versions of the OpenIFS model also used a platform configuration file. Since OpenIFS 48r1 the number of variables set inside this file has been reduced to a bare minimum. At present, only the variables |
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, but uses from now on the ecbuild ECMWF build system that is also used for the ECMWF IFS model, and which uses CMake at its core.
OpenIFS 48r1 is further distributed with a software bundle which automatically installs many required software packages during the build process, such as for instance 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/openifs-test.sh
script can be used to build the model and run initial tests.
...
Code Block | ||||
---|---|---|---|---|
| ||||
[INFO]: Good news - ctest has passed openifs is ready for experiment and SCM testing ---------------------------------------------------------------- END ifstest on OpenIFS build |
Set up a forecast experiment
An example forecast experiment has been prepared for OpenIFS 48r1. The experiment ID is ab2a.
...
Code Block | ||||
---|---|---|---|---|
| ||||
cd $PERM/ab2a/2016092500 cp $OIFS_HOME/scripts/oifs-run . cp $OIFS_HOME/scripts/exp-config.h . cp $OIFS_HOME/scripts/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 | ||
---|---|---|
| ||
|
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 | ||||
---|---|---|---|---|
| ||||
# run interactively: cd $PERM/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 a small number of plots from the model results can be generated. This permits a first-order sanity check whether the model results look sensible.
...
- On the ECMWF Virtual Desktop Interface (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 Notebooksingle.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.
...