Setting up a coupled climate run for present day conditions

Author: S. Luyssaert and M. McGrath
Last major revision: S. Luyssaert (2016/11/26)
Last minor revision: S.Luyssaert (2020/02/28)


Background of this set-up: The aim is to run a 20 year long equilibrium simulation for the year 2011. Orchidee off-line line was used to simulate the surface area in 2011 and now we want to know how the climate looked liked for such a surface. The coupled run is zoomed over Europe, nudged at the edges of Europe uses the CWRR (a.k.a. 11-layer) hydrology and all the DOFOCO features. A set of coupled pre-industrial runs demonstrated that the net-radiation at the top of the atmosphere was close to zero (0.2 Wm2 over 15 years with a monthly std 5.4 Wm2 for a pmagic = 0.000).

Before setting up a present day simulation, a pre-industrial run will be required to check the radiation balance at the top of the atmosphere. You can find some extra information on the topic at The basic idea is that for a pre-industrial run the net radiation at the top of the atmosphere should be close to zero. If this is not the case then the albedo of the oceans can be adjusted to mimic several atmospheric processes which are not accounted for. The setting of the variable pmagic that was required to produce a pre-industrial run with zero net-radiation at the top of the atmosphere is also the value for pmagic that needs to used in the present day simulation.

The page follows the workflow of Documentation/UserGuide/LMDZOR and Documentation/SetupZoomEurope. For the commands and actions consult those pages. On this page the settings are specified.

The boundary conditions

We want a 30-year equilibrium run but if we really use the boundary conditions from 1980 to 2010 we won't get anything near equilibrium given that this is the period in which climate change became very obvious. So we tried to limit the variation by copying the boundary conditions from 2008 to 2012 and cycling over these files to obtain a pseudo-chronology for 1981 to 2010. This approach enables us to run an experiment from 1981 to 2010 which makes LibIGCM happy and at the same time account for the inter-annual variability around 2010 which makes the coupled simulation more realistic. The pseudo-chronologies were aligned for 2010 (2010->2010, 2009->2009, 2008->2008, 2012->2007, 2011->2006, 2010->2005, etc). The original source files are the same as those used in the pre-industrial experiment and are stored at /ccc/work/cont003/dsm/p86ipsl/IGCM/INIT/ATM/LMDZOR/ATM/AMIP/. The cyclic boundary conditions for ocean surface temperature and sea ice extent are stored at /ccc/work/cont003/dofoco/dofoco/INPUT_FILES/OCEAN_COMP/. The same adjustments were made for the boundary condition files for ozone. The original source files are the same as those used in the pre-industrial experiment and are stored at /ccc/work/cont003/dsm/p86ipsl/IGCM/INIT/ATM/LMDZOR/Ozone/HYBRIDE/v2.clim/* These cyclic files to be used in this set-up can be found at /ccc/work/cont003/dofoco/dofoco/INPUT_FILES/ATM_COMP/OZON/.

LMDZOR was installed twice to avoid any conflicts between the boundary files of the pre-industrial and the present day simulations. Hence, one installation will be used for the pre-industrial runs (and will thus use the pre-industrial boundary conditions), the other installation is to be used for present day simulations. For both sets of simulations an AMIP set-up was chosen. Note that we use ERAI wind fields for nudging but AMIP for the other boundary conditions. It would be better to use ERAI for all boundary conditions but that is only possible for more recent simulations. This set-up comes with acceptable BC between 1870 and 2100 which allows us to focus on the climate and reduce issues with sea surface temperature, sea ice and aerosol concentrations. So copy the amip config.card to define the job that will create the BC

cd config/LMDZOR_v5.2/
cp EXPERIMENTS/LMDZ/CREATE_amip/config.card ./

The following changes were made to the config.card:

(1) Add a suffix, i.e., -2010 (but keep the grid dimensions 128x118x39) to the job name so that the pre-industrial and present day boundary files will not interfere with each other on the store directory

JobName= ELI-128x118x39-2010

(2) Set the begin date to the earliest year available. We are planning 20 year long equilibrium simulations but we are not sure whether it will take 20 or 30 years so we simulate the BC for 30 years to be on the safe side.


(3) There is no need to manually create a directory for this experiment. When you use ./../../util/ins_job the script will create a directory with a copy of the config.card as well as the COMP, DRIVER and PARAM folder.

The following, further, changes were made to the COMP/lmdz.card:

(1) Specify in the list of parameter files that the BC should be based on the predefined present day settings. These settings contain the TOA solar incoming radiation, atmospheric CO2, CH4 and N2O among other settings. Have a look in PARAM/config.def_preind to get a better idea of these settings.

(${SUBMIT_DIR}/PARAM/config.def_actuel     ,  config.def),    \

(2) In the DRIVER/lmdz.driver it is specified that in the absence of the Oasis coupler, which is the case for LMDZOR, the ocean is forced. Hence the need of SST and sea ice files for all years in the experiment. These newly defined years now have to be used in COMP/lmdz.card. Therefore, change the boundary files as follows:

List=   (/ccc/work/cont003/dofoco/dofoco/INPUT_FILES/OCEAN_COMP/amipbc_sst_360x180_${year}.nc,, \
	(/ccc/work/cont003/dofoco/dofoco/INPUT_FILES/OCEAN_COMP/amipbc_sic_360x180_${year}.nc,, \

Most likely this is redundant at this stage but better safe than sorry so in PARAM/run.def set


Open PARAM/config.def_actuel and change pmagic to its pre-industrial value (0.000 in this experiment)

pmagic = 0.000

Now the ELI-128x118x39-2010 can be launched. It takes about 70 seconds per year so in this example it will take over 30 minutes to complete this 30-year job

ccc_msub Job_ELI-128x118x39-2010

The present day experiment

Where for the BC run, an LMD experiment was copied, we now have to copy a LMDZOR experiment. We haven't tried whether LMDZ/clim BC files can be combined with LMDZOR/amip experiments but to keep it simple we propose to be consistent and thus combine LMDZ/amip BC files with an LMDZOR/amip experiment

cp ./EXPERIMENTS/LMDZOR/amip/config.card .

Edit the config card by changing the JOBNAME and setting the dates so that all dates of the experiment fall within the dates for which the BC were made.


This will create a new directory with the JOBNAME and copies the COMP, DRIVER and PARAM into that folder. Following the settings can be adjusted to the needs of the experiments



Use the same begin and end date of the ELI experiment. For the ELI experiment we have to make use observed BC so all BC will be from prior to 2010. A 30-year experiment does requires that we run the ELI from 1981 to 2010. We don't want to use the 1981 conditions so we will compensate for this by adjusting the dates of files in the COMP settings or by preparing cyclic or even static files.

Given we want to simulate the equilibrium climate with the surface we should provide an initial condition of the vegetation. As an initial condition we use the restarts of an off-line simulation. Remember to use a restart for both the SRF and SBG component!

# If config_Restarts_OverRule == 'n' next 4 params are read
#-- Last day of the experience used as restart for this component if Restart=y
# Define restart simulation name for this component

COMP/orchidee.card (Part 1)

LMDZOR can use both the 2-layer and 11-layer hydrology. ORCHIDEE-DOFOCO can only use the 11-layer hydrology so there is no choice but to use the 11-layers or CWRR scheme. First open the COMP/orchidee.card and change the suffix to ensure that the correct run.def will be used.



When installing LMDZOR we substituted the trunk version of ORCHIDEE by the DOFOCO-branch. The coupled set-up has some left overs of previous ORCHIDEE versions. Earlier the run.def of ORCHIDEE contained all settings. Because such an extensive file was very difficult to read and maintain all parameters now get a default value and only when the default value needs to be changed, the parameter should be mentioned in the run.def. This basically resulted in an empty run.def when running a default set-up. LMDZOR still comes with the unreadable full run.def which in the LMDZOR world is called PARAM/orchidee.def_CWRR. We propose to delete all settings from the old run.def and only keep the following settings:

# When using the new physics (NP) use the corrected potential evapotranspiration. Not needed
# for the old physics (AP)
evapot_corr= CHOOSE{y/n} for {NP/AP}

# The river routing module does not like zoomed grids 
# because a zoom affects the coastal pixels. 
# Because in a zoomed grid, the coast may have moved 
# into the sea, some rivers are too short and 
# never make it to the ocean. The model notices 
# and will crash. 

# Use stomate (all the biogeochemical and anthropogenic processes)

# To reset the time coming from SECHIBA restart file
# This option allows the model to override the time
# found in the restart file of SECHIBA with the time
# of the first call. That is the restart time of the GCM.
SECHIBA_reset_time = y

# Name of restart to READ for initial conditions
# This is the name of the file which will be opened
# to extract the initial values of all prognostic
# values of the model. This has to be a netCDF file.
# Not truly COADS compliant. NONE will mean that
# no restart file is to be expected.
SECHIBA_restart_in = _AUTO_

# Name of restart to READ for initial conditions of STOMATE
# This is the name of the file which will be opened of STOMATE
# to extract the initial values of all prognostic values of STOMATE.

# Frequency in seconds at which to WRITE output
# This variables gives the frequency the output of
# the model should be written into the netCDF file.
# It does not affect the frequency at which the
# operations such as averaging are done.

# Frequency in seconds at which to WRITE output
# This variables gives the frequency the output 2 of
# the model should be written into the netCDF file.
# It does not affect the frequency at which the
# operations such as averaging are done.
# That is IF the coding of the calls to histdef
#  are correct !

# STOMATE history time step (d)
# Time step of the STOMATE history file
# Care : this variable must be higher than DT_SLOW

# Interception reservoir coefficient.
# Transforms leaf area index into size of interception reservoir
#  for slowproc_derivvar or stomate.
# default = 0.1

# Defines how fast diffusion occurs horizontally between
#  the individual PFTs' water reservoirs. If infinite, no
#  diffusion.
# default = 86400.

IF you are using ORCHIDEE-DOFOCO to its full potential, 13 PFTs - which is the default - is low. The two tested DOFOCO set-ups have either 28 PFTs (without age classes) or 64 PFTs (with four age classes for each of the European tree species. This implies that you have to add all the PFT specific parameters as well. These parameters can be found in a table stored on /ccc/work/cont003/dofoco/dofoco/PARAMETERS/PARAMETER_VALUES/. The script at /ccc/work/cont003/dofoco/dofoco/SCRIPTS/rundef_from_table/ can be used to convert the table in run.def. The script allows a more or less flexible way of defining which PFTs need age classes. Have a look at the readme.txt file in the same folder.

Given that off-line ORCHIDEE runs were used to forward the land surface in time, the off-line runs may account for land cover change, forest management and litter raking. To increase the chances that an equilibrium climate is reached in under 20 years it is advised to switch off as many of these changes as possible.


Make sure that stomate is on by looking in PARAM/orchidee.def_CWRR


and in config.card (if this line is missing, there will be no STOMATE)

SBG= ("", "")

COMP/orchidee.card (Part 2)

Use the minimally required output level, i.e., 2, to limit the size of the history files. Land cover change is now switched off.


Within the 20-year coupled run the land surface will stay constant to that described by the restart file that will be used, i.e., 2010. Forest management and litter raking are still activated (else we will affect the C-pools). We will keep these settings constant to their values for the year 2010. We simply hard code the years for these maps as detailed below. Note that because we start from a restart file the [InitialStateFiles] are not used. We have to define the litter and FM maps as [BoundaryFiles] which are read only once during the year. Note that 1:12: means that the file will be copied to the working directory at the first integration step and then every 12 iterations until the simulation is finished. More information on the difference between InitialStateFiles, BoundaryFilesn and SmoothFiles can be found at CAREFUL: the example here is for BCLF, when BC, BCF or BCL are to be set different fm_start maps need to be used.

List= ()

List= ()
ListNonDel= (/ccc/work/cont003/dofoco/dofoco/MAPS/LITTER_DEMAND/RGRID/,, \

List= ()


Double check whether in PARAM/config.def_preind the pmagic setting matches the setting of the actual ELI experiment and in turn the setting of Pmagic of the pre-industrial run. In this set-up pmagic was 0.000 thus


and check whether the aerosol setting is as follows:


All other settings are set to _AUTO_ and should thus be automatically taken into account.


More details on the settings of COMP/lmdz.card are given on section 5. For the new physics, set in COMP/lmdz.card


For the old physics set in COMP/lmdz.card


The aerosols that are being used are set in PARAM/config.def_preind (see above). In COMP/lmdz.card we have some additional manual control but it is better not to touch it.


We can choose from 5 aerosol groups which groups we want to account for during the simulation. 6 means that all 5 groups will be used. Activating ok_ade and ok_aie implies that the model accounts for both the direct and indirect effects of aerosols. Because we run without INCA, the aerosols are coupled and aerosol_couple is set to n. For ozone it a day time climatology, a night time climatology or both (=2) can be used. cdnc stands for cloud number count. The path of the aerosol files is also specified in COMP/lmdz.card (see below). For a more detailed description of the these aerosols settings have a look at As we are not sure which information is read first, i.e., the PARAM/config.def_preind or the COMP/lmdz.card we don't want to take the risk that the present day settings get overwritten and so we commented-out the setting in the COMP/lmdz.card. In case you want to regrid your own aerosol files the relevant scripts and instructions (in French) can be found at Interesting to know but NOT part of this set-up: it is also possible to deactivate aerosol forcing. To do so, remove the lines containing aerosols_ from the List section and change lmdz.card to the following : flag_aerosol=0, ok_ade=n, ok_aie=n, aerosol_couple=n, read_climoz=0, ok_cdnc=n. Note that read_climoz=0 will also deactivate the reading of ozone. Ozone is regridded by the job LMDZ/CREATE_ (as are some other boundary conditions such as SST, sea ice, ...) so this is not necessary to deactivate.

Activate nudging by setting ok_guide=y and add the path to the nudging files in Boundary Files section List in lmdz.card. (the French for 'nudging' is 'guider')


Because we want to calculate the difference in climate between 1750 and 2010 it is more important to make sure that our wind fields come from the same phase in the North Atlanic Oscillation (NOA). If not, the change in climate that will be assigned to our treatment could be just due to a change in NOA.The 1980 to 2011 wind fields are used to nudge the present day simulation. The years 1980 to 2011 have been prepared for the 128x118 zoomed grid and are stored at /ccc/work/cont003/dsm/p86ipsl/IGCM/BC/ATM/LMDZ/LMD128118/NUDGE_FILES/ERAI. If you are not using a zoomed grid that has been used previously, or you want to use the 128*118 grid for different years, you will have to prepare your own nudging files. ERAI nudging files for wind (u and v) can be interpolated to the zoomed grid using the method described here : ​ Note that you must be in the group subipsl to have the permission to access these files. Contact Anne Cozic for TGCC to be added to subipsl.

We need to tell the model which nudging files it should use. This requires a change to COMP/lmdz.card so that libIGCM knows to copy the files before the run.

List= (${R_BC}/ATM/${config_UserChoices_TagName}/${RESOL_ATM}/NUDGE_FILES/ERAI/${year}/u_${year}${month},,\

The aerosols have to be interpolated to the zoomed model grid. The years 1980-2000 for HISTORIQUE run version _v5 have been done. They are found at the standard place : /ccc/work/cont003/dsm/p86ipsl/IGCM/BC/ATM/LMDZ/LMD128118/AR5/HISTORIQUE . You need to change _v3 into _v5 in lmdz.card to use these files. Similar to the pre-industrial run in which we only used the aerosols of 1860 we will now only use the aerosols of 2000 to avoid adding more variability to the present day runs compared to the pre-industrial run. Because we want to calculate the net climate effect of both biogeochemical and biophysical effects of forest manangement and land cover change, we have to recalculate the atmospheric CO2 concentration for the different treatments. To do so we first applied the BERN2.5 box model to account for the equilibrium between the atmosphere, the land and the oceans (thus the reason why ~40% of the emissions stay in the atmosphere). Following we converted this CO2 uptake/release into a change in atmospheric CO2 concentration. Finally, this change was subtracted from the present day atmospheric CO2. Note that $$$ below should be BC, BCF, BCL or BCLF depending on the experimental treatment.

List=	(${ARCHIVE}/IGCM_OUT/LMDZ/${CREATE}/ATM/Output/Restart/${CREATE}_${year},,\

List= (${R_BC}/ATM/${config_UserChoices_TagName}/${RESOL_ATM}/NUDGE_FILES/ERAI/${year}/u_${year}${month},,\

# With AR5 ozone(tropo + strato from LMDZOR-INCA-REPROBUS simulations)
ListNonDel= (/ccc/work/cont003/dofoco/dofoco/INPUT_FILES/ATM_COMP/SOLAR_ACTUAL.txt, SOLARANDVOLCANOES.txt),\
    (/ccc/work/cont003/dofoco/dofoco/INPUT_FILES/ATM_COMP/CO2_ACTUAL_$$$.txt, CO2.txt),\
    (/ccc/work/cont003/dofoco/dofoco/INPUT_FILES/ATM_COMP/CH4_ACTUAL.txt, CH4.txt),\
    (/ccc/work/cont003/dofoco/dofoco/INPUT_FILES/ATM_COMP/N2O_ACTUAL.txt, N2O.txt),\
    (/ccc/work/cont003/dofoco/dofoco/INPUT_FILES/ATM_COMP/CFC11_ACTUAL.txt, CFC11.txt),\
    (/ccc/work/cont003/dofoco/dofoco/INPUT_FILES/ATM_COMP/CFC12_ACTUAL.txt, CFC12.txt),\

# With AR5 ozone(tropo + strato from LMDZOR-INCA-REPROBUS simulations)
List=   (${ARCHIVE}/IGCM_OUT/LMDZ/${CREATE}/ATM/Output/Boundary/${CREATE}_${year},,           1:12:),\
        (${R_BC}/ATM/${config_UserChoices_TagName}/${RESOL_ATM}/AR5/HISTORIQUE/, aerosols${year}.nc, 1:12:), \
        (${ARCHIVE}/IGCM_OUT/LMDZ/${CREATE}/ATM/Output/Boundary/${CREATE}_${year},,     1:12:)

Pre-defined present day settings (TOA solar incoming radiation, atmospheric CO2, CH4 and N2O and aerosols (see above)) should be set by changing


Alternatively this setting can be hard coded by changing ${ConfType?} into preind in the following line. The first option seems more direct.

(${SUBMIT_DIR}/PARAM/config.def_actual,  config.def),    \

Beacuse we have set the radiation and atmospheric concentrations to _AUTO_ in PARAM/config.def_actual it looks like the model then uses the boundary files specified in COMP/lmdz.card


Change the PARAM/guide.def to the following (not the typo in DEFFAULT -> DEFAULT which should not affect the simulations):

ok_guide=_AUTO_ : DEFFAULT = n  
guide_u= y
guide_v= y
guide_T= n
guide_P= n
guide_Q= n

This means that outside the zoom, the wind is nudged every 86400*0.05 seconds (about 1h12min), which is considered fairly strong but necessary for an intense zoom. Inside the zoom, the winds are slightly nudged every 10 days.


For the new physics only. The number codes are explained in the file physiq.def_L39_NPv3.1



No specific changes are required for the old physics

Launch the experiment

For the regular grid you are done and can try to launch the job:

ccc_msub Job_JOBNAME

Setting-up factorial treatments

  • config.card: change the restart files to the appropriate off-line experiment (for SBG and SRF)
  • COMP/orchidee.card: use the matching litter and forest management maps (no need to set the species map LANDCOVER = n)
  • COMP/lmdz.card: use the CO2_ACTUAL_$$$.txt file that matches the off-line experiment
  • Job: make new job, adjust for the appropriate server and adjust the NBperiod
Last modified 23 months ago Last modified on 02/28/20 17:25:03