WikiPrint - from Polar Technologies

The LMDZORINCA configurations


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:

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

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

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 :

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.


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 :

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

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_parameter0.85 (default parameter value for threshold scheme to adjust 10 meters winds calculated by LMDZ)
feedb0 (no feedback from aerosol on climate with Old Physics scheme) 1 (aerosol effects selected by ok_ade and ok_aie in lmdz.card)
CoupOrchIncay (coupled model with ORCHIDEE for VOC) n
calcul_fluxy (calcul and write in output the chemistry flux of reactions) n
flag_plane0 (no aircraft) 1 (old inca aircraft scheme) 2 (new subsonic inca aircraft scheme) 3 (subsonic + hypersonic inca aircraft scheme)
emi_interp_time0 (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.

  1. In your configuration repository (for example, modipsl/config/LMDZORINCA/)
    1. 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
      
    2. Then, you can add the parameter in the PARAM/inca.def:
      NameOfParameter=_AUTO_: DEFAULT =1.0
      
    3. Finally, you can add it in the file COMP/inca.card:
      NameOfParameter=1.2
      
  1. In the source code of INCA (modipsl/modeles/INCA/src)
    1. 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) 
      
    2. 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
        
    3. Now, you can use your parameter in the code. Make sure that the module PARAM_CHEM is used at the beginning of your subroutine.