You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 9 Next »

Prerequisites

You should have completed: the install grib_api and downloaded the OSM source code.

Set your environment

The OSM uses software called 'FCM' to handle the compilation of the code. FCM is distributed in the tarball downloaded from the ftp site.

Before trying to compile, make sure the FCM directory is added to your PATH environment variable so the fcm command can be found (if you already have fcm available on your system, we still recommend using the distributed version):

e.g. assuming osm is unpacked in $HOME/ecmwf/osm/
export PATH=$PATH:$HOME/ecmwf/osm/fcm/bin

Build configuration

At ECMWF...

The script compile_fcm.ksh is provided that correctly sets the compilation environment by using module load command and then compiling the model code using the command fcm. You may need to edit this script for your own account name and directories. You can ignore the rest of these instructions though they are a useful reference.

Before compiling the model, the build configuration must first be set by several environment variables:

OSM_COMP - This sets the choice of compiler. The default is 'gnu' which means the gfortran/gcc compilers will be used.

OSM_BUILD - This sets the type of build.

These environment variables directly correspond to the names of the FCM configuration files in the make/cfg/ directory in the source. Please see this directory for the choices provided.

Build types: OSM_BUILD sets the type of build and there will be one FCM configuration file for each type. Build types provided are:

  • opt - Recommended optimized compile settings for OpenIFS for this compiler. Tested to provide best performance for this platform & compiler.
  • noopt - Debugging options. No optimization set for all of the code. Suitable for use with a debugger. OpenMP is disabled.
  • nansC - Debugging options with extra checks. Array bound checking enabled and variables initialized to NAN (not-a-number). Use of a variable set to NaN will trigger a floating point exception. This option is useful for debugging purposes but will run the slowest.

e.g.

export OSM_COMP=intel
export OSM_BUILD=opt

means using the Intel ifort compiler and the model will be compiled with full optimization compiler settings. So the FCM build system will expect to find a file:

make/cfg/intel-opt.cfg

 

Setting:
export OSM_COMP=xlf
export OSM_BUILD=noopt
means FCM will expect to find a file:

 

 

 

 

 


On this page...

  • No labels