wiki:WikiStart

Welcome to the OpenIFS Repository

OpenIFS is the academic version of the ECMWF operational Integrated Forecast Model (IFS). It has the same forecast capability of IFS but without the data assimilation system.

For more information and extensive help information about OpenIFS see here: https://software.ecmwf.int/oifs/

This page only refers to local installations and ARCHER.

OpenIFS on a Reading NCAS machine

NCAS-CMS have set up a machine in Reading to run OpenIFS for use in an MSc project; see http://cms.ncas.ac.uk/wiki/Projects/OpenIFS-local for details of how to build and run the model in this environment.

Getting started on ARCHER

Contact NCAS-CMS to be given access to OpenIFS.

Set environment

OpenIFS has been pre-compiled on ARCHER, using the Cray and GNU compilers. If you want to make changes to the source code, however, you will need to create a branch on PUMA and compile the model (see below).

Before setting the OpenIFS environment, make sure you have the desired ARCHER programming environment loaded. The Cray compilers are recommended (and default) but to use the GNU programming environment:

Setup the correct environment to use OpenIFS with these commands:

module use --append /work/y07/y07/openifs/modules
module load openifs 

The 'module use --append' command only needs to be done once per login session. It could be added to your shell startup script.

If you prefer to work with the GNU compilers first, then:

module swap PrgEnv-cray PrgEnv-gnu

and reload the OpenIFS module:

module load openifs

This sets a number of environment variables related to OpenIFS. To list them all type the command:

oenv

Some key variables are:

OIFS_HOME:: this points to the top level directory of the OpenIFS distribution. If you compile the model yourself in a branch from PUMA please make sure that you change this variable to point to your installation and not the pre-compiled one on Archer.

OIFS_EXE:: this points to the OpenIFS executable. If you do not change this it will point to either the Cray or GNU pre-built executable depending on which PrgEnv? you had loaded when typing the command: module load openifs.

For more details on the other environment variables, please see the OpenIFS user guide on the main OpenIFS website: https://software.ecmwf.int/oifs/.

Notes:

  • if you change PrgEnv you should load the openifs module again
  • the openifs module will replace the ARCHER grib-api module if that's loaded in your environment

Setup OpenIFS experiment

In your work directory, create a new directory in which to run OpenIFS.

Into that directory, copy your initial files. This is typically a tarfile provided by OpenIFS support e.g. 2007120100.tar.gz

e.g.

cd /work/n02/n02/auser
mkdir -p openifs/expts
cd openifs/expts
tar zxvf 2007120100.tar.gz
cp /work/y07/y07/openifs/oifs.job.example oifs.job

Unpacking the tarfile will create a directory 2007120100. Directories are normally named by the date and time of the initial data.

The final step copies the example Archer job into the experiment directory.

Inside the 2007120100 directory there are these files:

ICMCLgdboINIT  ICMGGgdboINIT  ICMGGgdboINIUA  ICMSHgdboINIT  ecmwf 

The files starting ICMgdbo* are the initial files. The 'gdbo' part of the filename is the "experiment id". You will need to specify this in the job as openifs expects to get the exptid on the command line.

The directory ecmwf has these files:

NODE.001_01.model.1  ifs.stat.model.1  namelistfc

NODE.001_01.model.1:: this is the model log output from the run as run at ECMWF. For comparison and/or debugging. namelistfc:: this is the model namelist.

If you did not get your initial files from openifs-support at ECMWF, you may not have the ecmwf directory.

Namelist

OpenIFS expects to find a file fort.4 in the same directory as the ICM* files.

If you have the ecmwf directory (as above), copy the namelistfc file:

cp ecmwf/namelistfc fort.4

and edit the namelist as necessary.

Archer job

An example job to run OpenIFS on Archer is provided. Copy this to your experiment directory created above and edit as necessary.

cp /work/y07/y07/openifs/oifs.job.example oifs.job 

Please change the #PBS lines at the top as indicated by <<< >>> and edit the experiment settings as required.

Make sure the experiment id given in the oifs.job file matches the experiment id named in the ICM* files.

Initial files

Initial files for OpenIFS are currently provided by the OpenIFS team at ECMWF.

Email openifs-support (at) ecmwf.int with your request. It is not currently possible to run OpenIFS directly from ERA reanalysis.

Create a branch and compile model

You only need to do this if you intend to change the model code. Prebuilt Cray and GNU versions of OpenIFS on ARCHER are available and set by the openifs module.

OpenIFS is hosted on PUMA and can be accessed using FCM.

e.g. download main trunk of OpenIFS from PUMA:

mkdir openifs
cd openifs
fcm co fcm:oifs-tr

Note the 'fcm co' command may take some time.

After completing, change into OpenIFS directory:

cd trunk
ls

You should see these files and directories:

CHANGES  CITE  COPYING  LICENSE  NOTICE  README  examples  fcm  make  scripts  src  t21test

fcm OpenIFS comes with FCM included. However, on ARCHER use the FCM provided by the above module command as it has been customized to work with PUMA.

Compiling OpenIFS

Make sure you first set the OIFS_HOME environment variable to point to the top level directory:

cd trunk
export OIFS_HOME=$(pwd)
echo $OIFS_HOME
/home/n02/n02/emgdc/openifs/trunk

There are two commands used to compile OpenIFS: omake and omakenew:

omake will only compile the code that's changed (a so-called incremental build)
omakenew will ALWAYS compile all the code regardless.

If there has been no previous compilation, omake behaves the same as omakenew.

To compile OpenIFS:

omake

After successful compilation, the executables will be in a directory make/cce-opt.

OpenIFS support several different build types : opt for optimized compilation and noopt for unoptimized compilation. For more information about these please see the OpenIFS user documentation on the main OpenIFS website.

Old Hector instructions

See the NCAS-CMS wiki page: http://cms.ncas.ac.uk/wiki/Projects/OpenIFS-IO (some of the instructions here are out-dated; use with caution)

Last modified 4 years ago Last modified on 08/26/15 11:24:36