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

Compare with Current View Page History

« Previous Version 13 Current »

The Starting the build process section on the OpenIFS 48r1 Getting Started page introduces the basic build and test command

$OIFS_TEST/openifs-test.sh -cbt

In addition to the command line options defined above (-cbt) , openifs-test.sh invokes some default ecbuild options and allows a user to add ecbuild options from command line using the -- notation, e.g., $OIFS_TEST/openifs-test.sh -cbt --without-single-precision.

Default build options

There are 5 default build options that are defined directly in openifs-test.sh. Of the 5, 3 options cannot be negated by command line options, while 2 can be negated by selecting the opposite option from the command line.

The following build options cannot be negated

--openifs-only - ensures code for OpenIFS is included in the build

--with-scmec - builds the SCM executable alongside the OpenIFS 3D executable

--arch=$OIFS_ARCH - defines the path to the arch directory defined in $OIFS_HOME/oifs-config.edit_me.sh


The following default build options, can be negated from the command line by selecting the opposite option 

--with-single-precision - Ensures OpenIFS is built in single precision, as well as the default double precision

--init-snan - initialises uninitialised variables to nan

Command line build options

In addition to the default options, there is a range of command-line options defined in $OIFS_HOME/bundle.yml, which can be invoked when openifs-test.sh -b  is executed.

The main available options that most users may want to use are

--clean - force a clean build by removing the $OIFS_HOME/build  directory. This is particularly useful when changing cmake files or adding new functionality, but it does mean the build takes longer. If there is no --clean and there is a build, then the build will be incremental (and quicker). 

--arch=<add path of arch file> - Allows a user to over-ride $OIFS_ARCH loaded while sourcing oifs-config.edit_me.sh. The expected path structure for <add path of arch file>  is ./arch/<site>/<platform>/<compiler>/<compiler_version>. For example --arch=./arch/ecmwf/hpc2020/gnu , where the site is ecmwf, the platform is hpc2020 and the compiler is gnu. The compiler version is not stated because the path contains a default link.

--without-single-precision or --without-double-precision - By default both single and double precision executables are built. These options negate the default option by excluding double or single precision build, which speeds up the build

--build-type=DEBUG - Builds the executable in debug mode with bounds checking, some trapping and no compiler optimisation

--no-init-snan - negates the default init-snan  option. It is recommended that this should only be used for debugging issues and not for research simulations

The rest of the availalbe options can be found in the 

On this page ...

  • No labels