Compiling OASIS3-MCT

OASIS3-MCT is an MPI code. Compiling OASIS3-MCT libraries can be done in oasis3-MCT/util/make_dir with Makefile TopMakefileOasis3 which must include a header file make. your_platform specific to the compiling platform used and specified in oasis3-MCT/util/make_dir/

One of the header files distributed with the release can by used as a template in particular to see how to use MPI librairies and NetCDF librairies. The root of the OASIS3-MCT tree can be anywhere and must be set in the variable COUPLE in the make.your_platform file.

The coupled models must be compiled with the same libraries as the ones used to compile OASIS3-MCT.

The following commands are available:

Log and error messages from compilation are saved in /util/make_dir in the files COMP.log and COMP.err .

During compilation, a new compiling directory, defined by variable ARCHDIR is created. After successful compilation, resulting libraries are found in the compiling directory in /lib and object and module files in /build.

To interface a component code with OASIS3-MCT and use the module mod_oasis (see section [*]), it is enough to include the path of the psmile objects and modules ($ARCHDIR/build/lib/psmile.MPI1) during the compilation and to use the psmile library $ARCHDIR/lib/libpsmile.MPI1.a when linking12.

Exchange of coupling fields in single and double precision is now supported directly through the interface (see section [*]), even if all real variables are now treated in double precision internally. For double precision coupling field, there is no need anymore to promote REAL variables to double precision at compilation.


... linking12
If module mod_prism is used in the models, it is necessary to include the path of the psmile and of the mct objects and modules for the compilation (i.e. $ARCHDIR/build/lib/psmile.MPI1 and /mct and to use both the psmile and mct libraries $ARCHDIR/lib/libpsmile.MPI1.a and libmct.a and libmpeu.a when linking.