Please note that this page is up-to-date for older cycle of OpenIFS 43r3

The OpenIFS models run on a variety of Unix based systems: Unix/Linux, Mac OS X. There is no support for running under Windows.

Please use the same compiler family for all the required libraries and compiling the OpenIFS code. Otherwise issues linking/running may arise.

Common requirements

The OpenIFS model, Single Column Model (SCM) and the Offline Surface Model (OSM) (HTESSEL) all require the following in order to build and run. These should be available as standard on Unix/Linux systems:

bash - the scripts accompanying the package make use of the Bash shell.

perl - is required for the FCM software used to compile the models. Some additional perl modules may be required for FCM (see below).

fortran & C compilers - many Linux/Unix systems come with gfortran/gcc by default which work well with the OpenIFS models. High Performance Computer facilities may provide other compilers which achieve better performance. The fortran compiler must support an auto-double (e.g. -r8) capability as some source code files are in fixed format fortran.
The OpenIFS model can make use of OpenMP if it is supported on your system (multicore) and compilers but this is optional. Note that if OpenMP is used then the version of MPI used should be thread-safe.

LAPACK & BLAS libraries - these are usually available on all flavours of Linux/Unix. Some systems, notably HPC installations will have special optimized versions of these libraries. These should be used instead (if a version exists for your choice of compiler) to achieve a better performance. You may need to modify the compile configuration to access these optimized libraries.
If the LAPACK/BLAS libraries are not available or you choose not to use them, OpenIFS comes with the necessary LAPACK/BLAS code, disabled by default, see README.lapack file in the openifs distribution for instructions on how to use this code.

netCDF - an implementation of the netCDF library must be available on the system as the models read/write netcdf format (OpenIFS reads some files in netCDF but note the output format is GRIB).

Perl modules required

Software called FCM is used to compile the OpenIFS and provided in the tarfile. However, note that it may need additional Perl modules installed. The most likely missing modules are: XML::ParserCheck and Time::Piece.

To check a Perl module is installed e.g. XML::Parser, type the command perl -MXML::Parser -e 1. If the module is not installed this will cause an error.

For help with installing missing Perl modules either see the CPAN module page or ask your local support team. ECMWF cannot provide assistance in installing Perl on your machine.

OpenIFS model additional requirements

OpenIFS requires the following in order to build and run:

MPI library - an implementation of MPI must be available on your system. It can either be vendor supplied or one of the freely available versions such as MPICH or OpenMPI. OpenIFS does include an option to run without the MPI library using some dummy routines but this severely restricts the model performance and possible resolutions and is not recommended.

Python - is required to run some of the tools. Python 3 is recommended.

Optional software

XIOS - (43r3+ only) XIOS is a parallel MPI library that provides an I/O server for OpenIFS. XIOS is not used at ECMWF, the ability for OpenIFS to use XIOS was developed by OpenIFS users (the Barcelona Supercomputing Group and staff at KNMI).  XIOS also direct netCDF output from OpenIFS instead of GRIB files, it also provides runtime computation of monthly means and other diagnostics. For more details on how to install and use XIOS please see: Using the XIOS I/O server.

FFTW - (43r3+ only) FFTW is a very fast Fourier Transform library that improves model performance mainly for the cubic octahedral grids (Tco). OpenIFS can use the FFTW library and link against it if available on the user's system.

OpenIFS users may also find the Metview and MAGICS graphics software useful with OpenIFS.

Single column model additional requirements

IDL - optionally requirement as some sample scripts are provided to plot the model output.