Persons in charge: Sébastien Nguyen, Pierre Sepulchre
IPSL-CM5A2 is an IPSL coupled climate model including atmosphere, land, ocean, sea ice and carbon cycle. The goal of this model is to reproduce IPSLCM5A-LR version, with reduced computing times to allow to run long simulations (i.e thousands of years) within reasonable time. Main characteritics of this model are ORCA2-LIM2-PISCES x LMD 96x95x39, old LMDZ physics, ORCHIDEE with Choisnel hydrology (2 layers). This model uses both recent component versions and recent technical developments (hybrid parallelization MPI-OpenMP, XIOS 2.0 as input-output library, OASIS3-MCT parallel coupler) that allow to reach 80 simulated years per day on about 300 computing cores. This model is available on Irene (TGCC) and JeanZay (IDRIS) supercomputers and benefits from last developments of libIGCM running environment.
IPSL-CM5A2 model includes :
IPSL-CM5A2 model is available at following resolutions/configurations :
The resolution of LMDZ is 96x95 (3.75° in longitude and 1.875° in latitude) with 39 vertical levels. The ocean configuration is ORCA2 : global ocean with a tripolar grid with one South Pole, one North Pole above Siberia and one North Pole above northern America. The resolution is 2°. In the tropical region, the latitudinal resolution decreases to 1/2°. There are 31 vertical levels.
IPSL-CM5A2 is composed of following components and tools and available within IPSLCM5A2.1 release:
#-H- IPSLCM5A2.1 IPSLCM5A2.1 coupled configuration #-H- IPSLCM5A2.1 2nd frozen IPSLCM5A2 version #-H- IPSLCM5A2.1 NEMOGCM branch nemo_v3_6_STABLE revision 6665 #-H- IPSLCM5A2.1 XIOS2 trunk revision 1551 #-H- IPSLCM5A2.1 IOIPSL/src svn tags/v2_2_2 #-H- IPSLCM5A2.1 LMDZ5 branches/IPSLCM5A2.1 rev 3342 #-H- IPSLCM5A2.1 ORCHIDEE branches/ORCHIDEE-IPSLCM5A2.1 rev 5307 #-H- IPSLCM5A2.1 OASIS3-MCT 2.0_branch rev 1818 #-H- IPSLCM5A2.1 IPSLCM5A2 svn #-H- IPSLCM5A2.1 libIGCM trunk rev 1477 #-M- IPSLCM5A2.1 arnaud.caubel@lsce.ipsl.fr #-C- IPSLCM5A2.1 IOIPSL/tags/v2_2_2/src HEAD 8 IOIPSL/src modeles #-C- IPSLCM5A2.1 branches/ORCHIDEE-IPSLCM5A2.1/ORCHIDEE 5307 14 ORCHIDEE modeles #-C- IPSLCM5A2.1 branches/OASIS3-MCT_2.0_branch/oasis3-mct 1818 15 oasis3-mct . #-C- IPSLCM5A2.1 LMDZ5/branches/IPSLCM5A2.1 3342 11 LMDZ modeles #-C- IPSLCM5A2.1 CONFIG/UNIFORM/v6/IPSLCM5A2 4041 8 IPSLCM5A2 config #-C- IPSLCM5A2.1 trunk/libIGCM 1477 10 libIGCM . #-C- IPSLCM5A2.1 branches/2015/nemo_v3_6_STABLE/NEMOGCM 6665 7 . modeles #-C- IPSLCM5A2.1 XIOS/trunk 1551 12 XIOS modeles
Note that previous IPSLCM5A2.0 release (with bug in runoff conservation) is still available.
Newer version IPSLCM5A2.2 has been released. It uses the following components:
#-H- IPSLCM5A2.2 IPSLCM5A2.2 coupled configuration #-H- IPSLCM5A2.2 Working IPSLCM5A2 version #-H- IPSLCM5A2.2 NEMOGCM branch nemo_v3_6_STABLE revision 6665 #-H- IPSLCM5A2.2 XIOS2 branchs/xios-2.5 revision 1903 #-H- IPSLCM5A2.2 IOIPSL/src svn tags/v2_2_2 #-H- IPSLCM5A2.2 LMDZ5 branches/IPSLCM5A2.1 rev 3907 #-H- IPSLCM5A2.2 ORCHIDEE branches/ORCHIDEE-IPSLCM5A2.1 rev 7376 #-H- IPSLCM5A2.2 OASIS3-MCT 2.0_branch (rev 1818 Cerfacs server, rev 4775 IPSL server) #-H- IPSLCM5A2.2 IPSLCM5A2 svn 6056 #-H- IPSLCM5A2.2 libIGCM trunk rev 1534 #-M- IPSLCM5A2.2 platform-extract@listes.ipsl.fr #-C- IPSLCM5A2.2 IOIPSL/tags/v2_2_2/src HEAD 8 IOIPSL/src modeles #-C- IPSLCM5A2.2 branches/ORCHIDEE-IPSLCM5A2.1/ORCHIDEE 7376 14 ORCHIDEE modeles #-C- IPSLCM5A2.2 CPL/oasis3-mct/branches/OASIS3-MCT_2.0_branch 4775 8 oasis3-mct . #-C- IPSLCM5A2.2 LMDZ5/branches/IPSLCM5A2.1 3907 20 LMDZ modeles #-C- IPSLCM5A2.2 CONFIG/UNIFORM/v6/IPSLCM5A2 6056 8 IPSLCM5A2 config #-C- IPSLCM5A2.2 trunk/libIGCM 1534 10 libIGCM . #-C- IPSLCM5A2.2 branches/2015/nemo_v3_6_STABLE/NEMOGCM 6665 7 . modeles #-C- IPSLCM5A2.2 XIOS/branchs/xios-2.5 1903 12 XIOS modeles
Here are the commands you need to know if you want to retrieve and compile the IPSL-CM5A2 model and if you want to setup and run a piControl experiment (pdControl is also available):
mkdir YOUR_DIRECTORY ; cd YOUR_DIRECTORY svn_ano # svn co http://forge.ipsl.fr/igcmg/svn/modipsl/trunk modipsl cd modipsl/util ./model IPSLCM5A2.1 cd ../config/IPSLCM5A2 gmake # by default ORCA2xLMD9695-L39 cp EXPERIMENTS/IPSLCM/piControl/config.card . vi config.card # modify JobName (at least) : MYJOBNAME, restarts ../../libIGCM/ins_job # Check and complete job's header cd MYJOBNAME vi Job_MYJOBNAME # modify NbPeriodsPerJob, adjust the time, headers ... llsubmit Job_MYJOBNAME # IDRIS ccc_msub Job_MYJOBNAME # TGCC
It retains all the standard functionalities of IPSLCM5A2.1. It's usage is transparent for "non-paleo" simulations.
It restores the possibility to compile the create_etatlimite executable that was broken in preceding versions.
Some new functionalities have been added for "paleo" runs:
Note that
The basic configuration (default configuration) ran smoothly on Irene TGCC (and very soon on JeanZay IDRIS) machine and uses 302 computing cores : 1 process for XIOS, 45 processes for NEMO, and 32 MPI processes and 8 OpenMP threads for LMDZ. This configuration allows you to run 80 simulated years per day on Irene TGCC.
In order to use less computing resources, it is possible to run on 160 cores (56 simulated years per day) as follows : 1 process for XIOS, 31 processes for NEMO, and 32 MPI processes and 4 OpenMP thread for LMDZ. To do that, you have to :
#======================================================================== #D-- Executable - [Executable] #D- For each component, Real name of executable, Name of executable for oasis ATM= (gcm.e, lmdz.x, 32MPI, 4OMP) SRF= ("" ,"" ) SBG= ("" ,"" ) OCE= (opa, opa.xx, 31MPI) ICE= ("" ,"" ) MBG= ("" ,"" ) CPL= ("", "" ) IOS= (xios_server.exe, xios.x, 1MPI)
../../libIGCM/ins_job
jpni = 1 ! jpni number of processors following i (set automatically if < 1) jpnj = 31 ! jpnj number of processors following j (set automatically if < 1) jpnij = 31 ! jpnij number of local domains (set automatically if < 1)
In order to run faster (using more computing resources), it is possible to run on 437 cores (95 simulated years per day) as follows : 1 process for XIOS, 60 processes for NEMO, and 47 MPI processes and 8 OpenMP thread for LMDZ. To do that, you have to :
#======================================================================== #D-- Executable - [Executable] #D- For each component, Real name of executable, Name of executable for oasis ATM= (gcm.e, lmdz.x, 47MPI, 8OMP) SRF= ("" ,"" ) SBG= ("" ,"" ) OCE= (opa, opa.xx, 60MPI) ICE= ("" ,"" ) MBG= ("" ,"" ) CPL= ("", "" ) IOS= (xios_server.exe, xios.x, 1MPI)
../../libIGCM/ins_job
jpni = 4 ! jpni number of processors following i (set automatically if < 1) jpnj = 15 ! jpnj number of processors following j (set automatically if < 1) jpnij = 60 ! jpnij number of local domains (set automatically if < 1)
Because of load-balancing (difference between ocean computing time and atmosphere computing time), not all of the configurations (in terms of number of process/threads) are efficient. If you want to run a configuration with fewer cores, ask Arnaud Caubel what would be the optimum configuration.
Default IPSL-CM5A2-VLR configuration starts from CM5A2.1.pi.debug simulation at the date of 5009-12-31. The monitoring of this simulation is available here : https://vesg.ipsl.upmc.fr/thredds/fileServer/work_thredds/p25sepul/IPSLCM5A2/PROD/piControl/CM5A2.1.pi.debug/MONITORING/index.html
By default, low output levels are activated : monthly and daily outputs for atmospheric component, monthly and/or yearly outputs for other components. Remind that you have to think of the output you need before launching a long simulation.
Default period length is 1Y, i.e in config.card :
PeriodLength=1Y
Note that clean_PeriodLength.job will remove last period files, i.e last simulated year files.
Default pack frequency is 10Y, i.e in config.card :
PackFrequency=10Y
Note that since clean_latestPackperiod.job works on the latest pack period, clean_latestPackperiod.job will remove files from latest 10Y pack period. clean_latestPackperiod.job can also be used several time in a row to delete several 10Y pack periods. In order to optimize the use of inodes (beware of quotas !), we advice you to use 100Y as PackFrequency for very long simulations.
Since we run with XIOS (server mode) as output library, the rebuild step is not needed anymore.
This configuration runs on TGCC-Irene-SKL and at IDRIS-JeanZay.
Because of JeanZay architecture (computing nodes based on sockets of 20 cores), we advice you to use 2, 4, 5, 10 or 20 OpenMP threads for LMDZ-ORCHIDEE component. By default, the number of OpenMP threads defined in config.card is 8. To change that, you have to :
#======================================================================== #D-- Executable - [Executable] #D- For each component, Real name of executable, Name of executable for oasis ATM= (gcm.e, lmdz.x, 35MPI, 10OMP) SRF= ("" ,"" ) SBG= ("" ,"" ) OCE= (opa, opa.xx, 48MPI) ICE= ("" ,"" ) MBG= ("" ,"" ) CPL= ("", "" ) IOS= (xios_server.exe, xios.x, 1MPI)
../../libIGCM/ins_job
jpni = 4 ! jpni number of processors following i (set automatically if < 1) jpnj = 12 ! jpnj number of processors following j (set automatically if < 1) jpnij = 48 ! jpnij number of local domains (set automatically if < 1)
The above configuration allows you to run 93 SYPD.
Tuning and evaluation of the model are described in a paper in open-discussion at Geoscientific Model Development :
https://www.geosci-model-dev-discuss.net/gmd-2019-332/
Most of the scripts used to evaluate the model can be retrieved and run interactively here :
https://zenodo.org/record/3549652
File bathy.orca.nc changed into bathy.orca_v1.nc (see https://forge.ipsl.fr/igcmg/changeset/3545/CONFIG/UNIFORM/v6/IPSLCM5A2). No change in results except for MBG component. The corrupted file (it was not defined on the right grid) was here : $(ccc_home --cccwork -u igcmg)/IGCM/OCE/IPSLCM6/ORCA2.3/bathy.orca_orca1l46.nc.