Software Requirements
Fortran 90/95 and C compiler
MPI or OpenMP libraries
netCDF4 library linked with HDF5 and zip libraries and extended by the Fortran netCDF package (The netCDF4 package comes with the programs ncdump and nccopy)
UNIX utilities: make, ksh, uname, sed, awk, wget, etc.
For post-processing: Climate Data Operators (CDO) and netCDF Operators (NCO)
An ICON binary
CCLM_SP uses netCDF I/O of COSMO-CLM
The starter package is written for the HRLE-4 Levante at DKRZ. Additional changes need to be applied on other machines. At DKRZ the Simple Linux Utility for Resource Management SLURM ist installed.
module load intel-oneapi-compilers/2022.0.1-gcc-11.2.0 module load openmpi/4.1.2-intel-2021.5.0
Unpack and Configure
1. Copy the starter package from 🔑 RedC.
2. Unpack the starter package:
$ tar -xzvf cclm-sp-4.1.1.tgz $ mv cclm-sp-4.1.1 yourpath/cclm-sp
3. Copy and unpack the supplementary data files for testing the starter package (the program wget needs to be installed on your system)
$ cd yourpath/cclm-sp/data $ ./get_sp_ext.sh
4. Change to the directory yourpath/cclm-sp/configure_scripts
5. Adjust the settings in the file system_settings
to your computer system
6. Type the following command to create a default test experiment
$ ./config.sh
this first compiles the necessary cfu program and the fortran-csv-lib, and then creates the test experiments ${SPDIR}/chain/gcm2cclm/sp001
and ${SPDIR}/chain/cclm2cclm/sp002
.
or, if you want to create a default experiment including add-ons:
$ ./config.sh -a addon1,addon2,…
Compile
The source code for INT2LM, CCLM and the auxiliary program packages CFU and fortran-csv-lib need to be compiled for running a simulation with the regional climate model. INT2LM and CCLM needs to be compiled by yourself. CFU and fortran-csv-lib are automatically compiled when you run the config.sh
script.
Compiler options are stored in the file Fopts for each program. You need to set the appropriate compiler options for your computer system.
Compile INT2LM
$ cd /$SPDIR/src/int2lm
Open the Fopts script with any text editor and change the fortran options according to your computer platform. Compile INT2LM:
$ make
If compilation is successful an executable $SPDIR/src/int2lm/bin/int2lm.exe
is created.
You may try to perform a parallel make by typing:
$ make -j N
this results in a much faster compilation. Replace N
by the number of requested processors.
Compile CCLM
$ cd /$SPDIR/src/cclm
Open the Fopts script with any text editor and change the fortran options according to your computer platform. Compile CCLM:
$ make
If compilation is successful an executable $SPDIR/src/cclm/bin/cclm.exe
is created.
You may try to perform a parallel make by typing:
$ make -j N
this results in a much faster compilation. Replace N
by the number of requested processors.
Run the test examples
There are two tests, one for testing CCLM with GCM or reanalysis data as initial and boundary conditions (${SPDIR}/chain/gcm2cclm/sp001) and one for testing CCLM with coarse grid CCLM data as initial and boundary conditions (${SPDIR}/chain/cclm2cclm/sp002). Actually sp001 creates the necessary input data for sp002.
Before you start the experiment look for the following environment variables in the job_settings of sp001 and sp002 file and adopt them to your needs.
PROJECT_ACCOUNT= # your project account EMAIL_ADDRESS= # your email address if you want to get information when your job crashes or finishes
Now you should be ready to start the first experiment:
$ cd ${SPDIR}/chain/gcm2cclm/sp001 $ ./subchain start
This experiment is a two month simulation, 50 km / Europe / driven bei ERAInterim
The scripts are called in the order prep.job.sh, int2lm.job.sh, cclm.job.sh, arch.job.sh, post.job.sh. If your job crashes in one of the scripts you do not have to run all the successful scripts again, but can start this script again after you made the corrections by submitting the appropriate command from the following list:
$ ./subchain prep $ ./subchain conv2icon $ ./subchain icon noprep $ ./subchain arch $ ./subchain post
After successful completion of the SP001
experiment adopt the scripts in SP002
and start this experiment:
$ cd ${SPDIR}/chain/icon2icon/sp002 $ ./subchain start