CLaMS Compilation
- Requirements are a Fortran compiler and a NetCDF library with a Fortran interface and optionally an MPI library.
- The Intel compiler and the MPICH library are used by default in the ICE4 cluster.
- On JUWELS, the Intel compiler is used with the ParaStationMPI library.
- The use of gfortran is also possible, both on ICE4 cluster machines and on Juwels.
For other computer systems or other compilers, adjustments may need to be made in the makefiles under mkincl.
For compilation of all CLaMS programs, go to the target directory and simply type:
make all
If you already have a pre-installed version, you must clean it up before the compilation:
make distclean
For compilation of a specific program progname in package package-name:
cd target-directory make libs cd package-name make progname
The source code is compiled with MPI by default. The created executables can be run serially or in parallel. Please make sure, that mpif90 can be used or switch it off (see below).
On ICE-4 workstations with Ubuntu 24.04 the Intel compiler ifx must be made available and the bin subdirectory of the installation directory of MPICH library must be added to your path:
source /opt/intel/oneapi/setvars.sh PATH=/usr/nfs/software/icg1/local/mpich-4.3.1-ifx-2024.2.0/bin:$PATH export PATH
If the gfortran compiler is used on ICE-4 workstations and MPI support is required the PATH must be set to:
PATH=/usr/nfs/software/icg1/local/mpich-4.3.1-gfortran-13.3.0/bin:$PATH export PATH
Under Ubuntu 20.04 (icg1220) the Intel compiler ifort is automatically available, but the corresponding MPICH directory must be added to your path:
PATH=/usr/nfs/software/icg1/local/mpich-3.3.2-ifort-19.0.8/bin:$PATH export PATH
For compilation and execution on the supercomputers JURECA/JUWELS see: https://clams.icg.kfa-juelich.de/CLaMS/Jureca/CompileExecute
It is possible to compile without MPI, switch to gfortran compiler or use debug options with:
make [noMPI=true] [useComp=gfortran] [isDebug=true] [useSHM=true] all|libs|package-name
Option
Default
noMPI
false
switch to true to compile without MPI
useComp
ifc (intel fortran compiler)
switch to gfortran to compile with gfortran compiler
isDebug
false
switch to true to use debug options for compiling
useSHM
false
switch to true to use MPI3 Shared Memory and Parallel IO
(only implemented for intel compiler on JUWELS)
(only used for meteorological data in traj)