The LMDZORINCA configurations
Table of contents
The LMDZORINCA configurations allow you to couple the LMDz atmospheric circulation model, the ORCHIDEE land model, and the INCA atmospheric chemistry model close to the CMIP6 coupled model.
Person in charge: Anne Cozic
1. Description of the configuration
1.1. LMDZORINCA_v6.1.11
LMDZORINCA_v6.1.11 is the default configuration for Inca forced model. It is compatible with the IPSLCM6.1.11_LR, LMDZOR_v6.1.11 models. It is constructed with the following models:
- LMDZ branches/IPSLCM6.0.15 rev 3643 for the gcm and the create_etat0_limit
- ORCHIDEE tag tags/ORCHIDEE_2_0/ORCHIDEE rev 6592
- INCA tags/INCA5_CMIP rev 928
This configuration allows you to work with the INCA version tuned for 39 levels and old LMDZ physics scheme for NMHC, NMHC_AER, NMHC_AER_S, AER, GES and DUSS, and on 79 levels and new LMDZ physics scheme for AER.
The same version of INCA is used in IPSLCM5A2CHT.1 configuration.
1.2. LMDZORINCA_v6.2_work
LMDZORINCA_v6.2_work is a working configuration close to IPSLCM6_v6.2_work using last testing rev for each component
- LMDZ6 trunk for the gcm and the create_etat0_limit
- ORCHIDEE branches/ORCHIDEE_2_2/ORCHIDEE
- INCA trunk/INCA6
This configuration use the new way of compilation (with a script). Read here the documentation on it.
1.3. LMDZORINCA_v6.2.2
LMDZORINCA_v6.2.2 is the 6.2 configuration for production, close to IPSLCM6.2.2 and LMDZOR_v6.2.2
- LMDZ6/branches/IPSL-CM6A-MR rev 3855 for the gcm and the create_etat0_limit
- branches/ORCHIDEE_Quest/ORCHIDEE rev 7086
- tags/INCA6.2 rev 1082
1.4. ICOLMDZORINCA_v7_work
ICOLMDZORINCA_v7_work is a working configuration close to LMDZORINCA_v6.2_work configuration with the possibility to use Dynamico's dynamic instead of Lmdz's one. This configuration use last testing rev for each component :
- LMDZ6 trunk for the physic
- DYNAMICO master or LMDZ6 trunk for the dynamic
- ORCHIDEE branches/ORCHIDEE_2_2/ORCHIDEE
- INCA trunk/INCA6
With this configuration you can choose between running with a regular grid as in v6 configurations, or with an unstructured grid (with Dynamico)
1.5. ICOLMDZORINCA_v7.2
ICOLMDZORINCA_v7.2 is a configuration for production using dynamico's dynamic.
- LMDZ6 branches/LMDZ-INCA-Dyn rev 3965 for the physic
- DYNAMICO rebase/trunk/nudging for the dynamic
- ORCHIDEE branches/ORCHIDEE_2_2/ORCHIDEE rev 6594
- INCA branches/INCA_DYNAMICOXIOS
2. Technical details
2.1. How to use it
2.1.1. Compilation LMDZORINCA_v6.2_work
To compile v6.2, and v7 configuration you need to use the script compile_lmdzorinca.sh. Options to use this script are available with the command :
./compile_lmdzorinca.sh -h
or
./compile_icolmdzorinca.sh -h
If you compile in debug or in dev mode you need to modify the parameter OptMode in config.card. If you change the resolution at the compilation you need to modify the parameter ResolAtm in config.card
2.1.2. Compilation of LMDZORINCA_v6.1.10
To compile LMDZORINCA_v6.1.10 configuration you need to use the Makefile store in config/LMDZORINCA/ directory. You can choose between several target :
- VLR and Old LMDZ Physics scheme
- NMHC_AERxLMD9695-L39 (default one)
- NMHC_AER_SxLMD9695-L39
- NMHCxLMD9695-L39
- AERxLMD9695-L39
- DUSSxLMD9695-L39
- GESxLMD9695-L39
- LR and New LMDZ Physics scheme
- AERxLMD144142-L79
- no maintened anymore - ask to Anne COZIC if you want to use it
- DUSSxLMD144142-L39
You can add the compilation of another resolution by copying the syntax of an existing resolution. If you do so, you will need to regrid all input files for the chosen chemistry model. documentation To regrid the inca files
2.2. Computing performances
- for VLR resolution (96x95x39) we advice to work with 48MPI and 12OMP for the gcm executable (config.card)
- for LR resolution (144x142x79) we advice to work with 71MPI and 8 OMP for the gcm executable (config.card)
ATM= (gcm_${ResolAtm}_${OptMode}_${ConfChem}.e, lmdz.x, 48MPI, 12OMP)
2.3. Restart files
For LMDZ and ORCHIDEE you can use restart files from any simulation of v6.1.10, or v6.2 family (even coupled model). For Inca you can start without any restart, or use one from a simulation using a version with a revision number bigger than 838
You can also use default restart files (initial states files) :
With the LMDZ model you can create initial files (start.nc, startphy.nc and limit.nc) for each simulation (for this, use the experiments : EXPERIMENTS/LMDZORINCA/CREATE_erai/). However, start.nc file only contain zero-values for tracers when the model is coupled to INCA. You must therefore work on those values or use output files from existing simulations. By default, we provide one initial state per configuration.
They are defined in the [InitialStateFiles] section of lmdz.card. For example:
[InitialStateFiles] List= (${R_INIT}/CHM/LMDZORINCA/INCA${RESOL_CHM}/start_o2a_noTer.nc, start.nc ) \ (${R_INIT}/CHM/LMDZORINCA/INCA${RESOL_CHM}/startphy_o2a_noTer.nc, startphy.nc )
2.4. Output frequencies
2.4.1. Output frequencies for LMDZORINCA_v6.2 configurations
The output frequencies and the files to write is set in inca.card (idem for LMDZ in lmdz.card, ORCHIDEE in orchidee.card ans stomate.card). See comments in the corresponding files. The WriteFrequency? option in config.card is not used any more.
2.4.2. Output frequencies for LMDZORINCA_v6.1 configurations
for Inca output frequencies, you can choose by default between 1 day and / or 1 month. For this you need to fill in your choice in section WriteFrequency? for chemistry part
#D-- CHM - [CHM] #D-- choose inca ... #D-- you can also ... WriteFrequency="1D"
or
[CHM] #D-- choose inca ... #D-- you can also ... WriteFrequency="1D 1M"
or
[CHM] #D-- choose inca ... #D-- you can also ... WriteFrequency="1M"
If you want another output frequency you need to modify the file_def_inca_.xml file in modeles/INCA/src/INCA_XML/ directory. You will find two files for each chemistry configurations (ex: file_def_inca_NMHC_daily.xml and file_def_inca_NMHC_monthly.xml).
2.5. Flags to manage LMDZORINCA configuration
In inca.card, lmdz.card and orchidee.card you can modify several parameters in sections [UsersChoices]
INCA
LMDZ_10m_winds y (use LMDZ 10 meters winds) n (use offline winds) wind_parameter 0.85 (default parameter value for threshold scheme to adjust 10 meters winds calculated by LMDZ) feedb 0 (no feedback from aerosol on climate with Old Physics scheme) 1 (aerosol effects selected by ok_ade and ok_aie in lmdz.card) CoupOrchInca y (coupled model with ORCHIDEE for VOC) n calcul_flux y (calcul and write in output the chemistry flux of reactions) n flag_plane 0 (no aircraft) 1 (old inca aircraft scheme) 2 (new subsonic inca aircraft scheme) 3 (subsonic + hypersonic inca aircraft scheme) emi_interp_time 0 (no time interpolation when using emission files) 1 (point to point time interpolation when using emissions files - default)
2.5.10. meters winds
If you choose to use offline winds, you need to define their path in the BoundaryFiles part of inca.card
For Example :
[BoundaryFiles] List= ($CCCWORKDIR/../../subipsl/subipsl/ECMWF320x160/AN${year}/165_${year}${month}.nc , u10mec.nc)\ ($CCCWORKDIR/../../subipsl/subipsl/ECMWF320x160/AN${year}/166_${year}${month}.nc , v10mec.nc)\ (${R_BC}/ATM/LMDZORINCA/${RESOL_ATM}/NUDGE_FILES/ERAI/AN${year}/u10m_ecmwf_${year}${month}.nc , u10m.nc )\ (${R_BC}/ATM/LMDZORINCA/${RESOL_ATM}/NUDGE_FILES/ERAI/AN${year}/v10m_ecmwf_${year}${month}.nc , v10m.nc )
2.5.11. The BVOC and Surface coupling
If you choose to activate the bvoc calcul in Orchidee (CHEMISTRY_BVOC=y in Orchidee.def) you can copy the new flux value in Inca. For this you need to modify the parameter CoupOrchInca in inca.card. By default it will copy all bvoc flux : iso - mono - ORVOC - MBO - methanol - acetone - acetal - formal - acetic - formic - no_soil - nox - fertil_no - apinen - bpinen - limonen - myrcen - sabinen - camphen - 3caren - tbocimen - othermono - sesquiter. And iso and mono are use in inca instead of the value read in sflx.nc.
WARNING it can only work with NMHC_AER configuration.
snow, lai, veget, vegetfrac are also copy from Orchidee to Inca. You can choose to copy only these variables, for this you need to add in PARAM/inca.def the line :
nbFlux_FromOrch=0
If you want copy some flux, but not all the list, you need to modify your inca.def
nbFlux_FromOrch=3 emi_FromOrch=ORVOC acetone bpinen
You need to modify orchidee.card
CHEMISTRY_BVOC=y # to decomment if we want to calcul bvoc - for this we need to activate CHEMISTRY_BVOC in orchidee.def_Choi ListNonDel= (${R_IN}/SRF/chemistry/orchidee_fertilizer_1995.nc, .), \ (${R_IN}/SRF/chemistry/orchidee_bbg_clim.nc, .)
and inca.card
CoupOrchInca=y #
2.6. Lengths, frequencies
We advice you to use a PeriodLength of 1 month or 1 year, and a Pack Frequency of 1 year.
2.7. Computing centers
LMDZORINCA_v6.1.10is available on TGCC and IDRIS computers
2.7.1. 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 edit and modify config.card as follows :
[Executable] #D- For each component, Real name of executable, Name of executable for oasis ATM= (gcm.e, lmdz.x, 48MPI, 10OMP)
Do not forget to install a new Job (command ins_job) in order to take into account these modifications.
2.8. How to add a parameter in the inca.card and use it in the code
If you want to add a parameter in COMP/inca.card, you have to add lines at two different places.
- In your configuration repository (for example, modipsl/config/LMDZORINCA/)
- First, change the driver file (GENERAL/DRIVER/inca.driver ou name_of_your_simulation/DRIVER/inca.driver) by adding these lines in the group function CHM_Update:
if [ ! X${inca_UserChoices_NameOfParameter} = X ] ; then IGCM_comp_modifyDefFile nonblocker inca.def NameOfParameter ${inca_UserChoices_NameOfParameter} else IGCM_comp_modifyDefFile nonblocker inca.def NameOfParameter DEFAULT fi
- Then, you can add the parameter in the PARAM/inca.def:
NameOfParameter=_AUTO_: DEFAULT =1.0
- Finally, you can add it in the file COMP/inca.card:
NameOfParameter=1.2
- First, change the driver file (GENERAL/DRIVER/inca.driver ou name_of_your_simulation/DRIVER/inca.driver) by adding these lines in the group function CHM_Update:
- In the source code of INCA (modipsl/modeles/INCA/src)
- In INCA_MOD/param_chem_mod.F90, add two lines at the end as follow:
REAL, SAVE :: NameOfParameter !! add a comment if needed !$OMP THREADPRIVATE(NameOfParameter)
- In INCA_SRC/conf_chem.F90, add these lines:
- In the beginning:
REAL :: NameOfParameter_omp
- In the !$OMP MASTER part
! default value for NameOfParameter NameOfParameter_omp=1.0 ! reading in inca.def if define CALL getin('NameOfParameter', NameOfParameter_omp)
- After the !$OMP BARRIER line
CALL bcast(NameOfParameter_omp) NameOfParameter = NameOfParameter_omp
- In the beginning:
- Now, you can use your parameter in the code. Make sure that the module PARAM_CHEM is used at the beginning of your subroutine.
- In INCA_MOD/param_chem_mod.F90, add two lines at the end as follow: