...
Code Block | ||||
---|---|---|---|---|
| ||||
mkdir bld mkdir grib-api cd bld export CC=gcc export FC=gfortran cmake ../grib_api-1.14.0-Source \ -DCMAKE_INSTALL_PREFIX="../grib-api" \ -DENABLE_NETCDF=ON \ -DENABLE_JPG=OFF \ -DENABLE_PNG=OFF \ -DENABLE_PYTHON=ON \ -DENABLE_FORTRAN=ON \ -DENABLE_GRIB_THREADS=ON |
Explanation of lines. Note that all options are prefixed by '-D':
| These lines set the choice of compiler. CMake is often able to determine the available compilers for itself. However, in cases where multiple compilers are available, or where compiler wrappers are used (as on HPC systems), it's preferable to set these explicitly by use of environment variables. These lines can often be omitted. |
CMAKE_BUILD_TYPE=Bit | "Bit" here means 'bit-reproducible'. It instructs CMake to use conservative compiler options that are known to ensure bit-reproducibility in separate runs of OpenIFS. |
CMAKE_INSTALL_PREFIX="../grib_api" | This specifies the location where the 'make install' command will place the grib-api installation. |
ENABLE_NETCDF=ON | Enabling netcdf ensures the grib_to_netcdf command can be used. |
ENABLE_JPG=OFF ENABLE_PNG=OFF | As OpenIFS does not deal with any image based GRIB data these options can be disabled, unless you have other grib data containing images that you need to work with. |
ENABLE_PYTHON=ON | Some of the utilities that come with OpenIFS make use of the python interface to grib_api, e.g. the tools to create and manipulate the model data. For this option to work, ensure that a python installation is available. |
ENABLE_FORTRAN=ON | This enables the Fortran interface to grib_api and should always be on. |
ENABLE_GRIB_THREADS=ON | This ensures grib_api is compiled to be 'thread-safe'. Although OpenIFS does not currently use multiple threaded calls to grib-api, future versions may do so this option is recommended. |
...