Installation¶
Our journey starts with cloning MODIPSL that manages IPSL-CM-LAM model (the IPSLCM7* configurations).
Getting MODIPSL¶
Type in your shell:
- Check if Subversion is available with the command:
svn --version. On IDRIS/Jean-Zay, runmodule load svnto load it.
SVN authentication
Cloning of MODIPSL and model components on ESPRI/Spirit(x) and third-party machines requires SVN authentication. You must provide passwords for the subsequent users, if you will be using corresponding components:
- MODIPSL/IOIPSL/IGCMG, username:
icmc_users - LMDZ, username:
lmdz-users - ORCHIDEE, username:
sechiba - INCA, username:
inca
Please consult the webpage of the particular component, ask us, or ask MODIPSL support (mailing list platform-users@listes.ipsl.fr) to obtain required passwords.
Tip
In order to increase reproducibility of your experiments, work on specific revision of modipsl.
You can clone a selected revision with svn co -r <REVISION>. By doing so, you
make sure that versions of models and experiments are the same for you and other users.
Structure of MODIPSL¶
MODIPSL has a fixed structure with several directories:
modipsl/
├── bin #(1)!
├── config #(2)!
├── doc
│ └── NEMO_CeCILL.txt
├── lib #(3)!
├── modeles #(4)!
└── util
├── AA_make.gdef
├── ins_make
├── ins_m_prec
├── mod.def #(5)!
├── model #(6)!
├── README
└── w_i_h
- This directory will contain binaries of compiled coupled models, such as
icosa_lmdz_orch4_prod.exeorxios_server_prod.exe. - This directory will be populated with model and experiment configurations.
- This directory will contain compiled libraries, like DYNAMICO's
libicosa.a. - This directory will consists of downloaded components (e.g. DYNAMICO, LMDZ, XIOS, ORCHIDEE).
- This file contains the definitions of coupled models. The file uses custom structure which is explained in the IGCM Tools Documentation. You can use ipsl-common Python library to load the
mod.deffile into the Python dictionary. - The script for listing and downloading coupled models. Run
./model -hto list available models, and./model <MODEL_NAME>to download the selected model.
Some directories are empty and will be later populated with directories and files.
For example, after the compilation, bin/ and lib/ will contain produced binaries and libraries.
Or, experiments will be placed in the config/ directory.
Downloading model¶
Downloading of models is performed by the util/model script.
Type ./model -h to see a list of available model configurations:
...
Possible configurations are :
IOIPSL_PLUS
IPSLCM5A2.1
IPSLCM5A2.2
IPSLCM5A2_work
IPSLCM6.1.11-LR
IPSLCM6.1.12_LANDN-LR
...
Models compatible with LAM
The IPSL-CM-LAM works with the following models:
The IPSLCM7_work model is the development version.
Use it with caution!
Furthermore, any future model version IPSLCM7* should work with the LAM as well.
Finally, select the model to download onto your machine with the command: ./model IPSLCM7_work.
Remember, that you might be prompted to provide passwords for several SVN repositories (check the SVN authentication information above).
Compiling model¶
To compile the downloaded model, run the compilation script config/IPSLCM7/compile_ipslcm7.sh from the config/IPSLCM7/ working directory.
In fact, the path and the name of this script is the same for all IPSLCM7* models.
Two arguments are worth considering:
-subconfig ICOLMDZORlimits the number of used components to only essential: dynamics (DYNAMICO), physics (LMDZ) and land surface model (ORCHIDEE).-regular_latlon nomakes sure the icosahedral grid of DYNAMICO is used.
Due to the resource-demanding compilation, request some computational resources beforehand if your machine allows doing so:
srun --pty \ #(1)!
--ntasks=1 \ #(2)!
--cpus-per-task=20 \ #(3)!
--hint=nomultithread \
--time 00:30:00 \ #(4)!
--account=<YOUR_PROJECT>@cpu \ #(5)!
--qos=qos_cpu-dev \ #(6)!
bash #(7)!
./compile_ipslcm7.sh -arch X64_JEANZAY \ #(8)!
-subconfig ICOLMDZOR \ #(9)!
-regular_latlon no \ #(10)!
- Use pseudo-terminal. This is required for the interactive session.
- One computational node is enough as it has
40cores (see Jean-Zay documentation). - Going with more than
40cores doesn't make sense as only the XIOS compilation script is launch with that many cores. Nevertheless,20cores is still a sensible choice. - The session time in minutes - it might require adjustment.
- Correctly choose the name of your computational projet to use, e.g.
wuu@cpuorbrn@cpu. - Use development queue - it shortens the waiting time for resources.
- Run interactive Bash session.
- Specification of the FCM architecture files is sometimes optional, as the
compile_ipslcm7.shis capable of figuring out the current machine. - Subconfiguration is a limited collection of components. In the context of LAM, usually the classical ICOLMDZOR configuration is used with dynamics (DYNAMICO), physics (LMDZ) and land surface model (ORCHIDEE).
- Turning off the lat-lon grid will make sure our model uses icosahedral grid of DYNAMICO.
ccc_mprun -s \ #(1)!
-T 1800 \ #(2)!
-x \ #(3)!
-p rome \ #(4)!
-Q test \ #(5)!
-A <YOUR_PROJECT> #(6)!
./compile_ipslcm7.sh -arch X64_IRENE-AMD \ #(7)!
-subconfig ICOLMDZOR \ #(8)!
-regular_latlon no #(9)!
- Launch an interactive shell session.
- The session time in seconds - it might require adjustment.
- Request exclusive use of a computational node (might be optional).
- Select computing partition.
- Use testing queue - it shortens the waiting time for resources.
- Correctly choose your computational project/accout name.
- Specification of the FCM architecture files is sometimes optional, as the
compile_ipslcm7.shis capable of figuring out the current machine. - Subconfiguration is a limited collection of components. In the context of LAM, usually the classical ICOLMDZOR configuration is used with dynamics (DYNAMICO), physics (LMDZ) and land surface model (ORCHIDEE).
- Turning off the lat-lon grid will make sure our model uses icosahedral grid of DYNAMICO.
At this point, the compilation should finish and the modipsl/bin and modipsl/lib directories should contain prepared binaries and libraries.