Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
install.rst 13.33 KiB

Essential components

Prerequisites

The NEMO source code is written in Fortran 95 and some of its prerequisite tools and libraries are already included in the download.
It contains the AGRIF_ mesh refinement library; the FCM_ build system ; the PPR_ polynomial reconstruction library and the IOIPSL_ library for parts of the output.

System dependencies

Other requirements should be provided natively by your system or can be installed from the official repositories of your Unix-like distribution:

NEMO, by default, takes advantage of some MPI features introduced into the MPI-3 standard.

Hint

The MPI implementation is not strictly essential since it is possible to compile and run NEMO on a single processor. However most realistic configurations will require the parallel capabilities of NEMO and these use the MPI standard.

Note

On older systems, that do not support MPI-3 features, the key_mpi2 preprocessor key should be used at compile time. This will limit MPI features to those defined within the MPI-2 standard (but will lose some performance benefits).

Specifics for NetCDF and HDF

NetCDF and HDF versions from official repositories may have not been compiled with MPI support. However access to all the options available with the XIOS IO-server will require the parallelism of these libraries.

To satisfy these requirements, it is common to have to compile from source in this order HDF (C library) then NetCDF (C and Fortran libraries)
It is also necessary to compile these libraries with the same version of the MPI implementation that both NEMO and XIOS (see below) have been compiled and linked with.

Hint

It is difficult to define the options for the compilation as they differ from one architecture to another according to the hardware used and the software installed.
The following is provided without any warranty
$ ./configure [--{enable-fortran,disable-shared,enable-parallel}] ...

It is recommended to build the tests --enable-parallel-tests and run them with make check

Particular versions of these libraries may have their own restrictions. Note the following requirements for netCDF-4 support:

Caution!

When building NetCDF-C library versions older than 4.4.1, use only HDF5 1.8.x versions.
Combining older NetCDF-C versions with newer HDF5 1.10 versions will create superblock 3 files that are not readable by lots of older software.