wiki:Doc/Config/LMDZOR_v6.1

Version 22 (modified by jgipsl, 8 years ago) (diff)

--

The LMDZOR_v6 configuration


LMDZOR_v6 is a configuration under construction. It can already be used but it is not in its final version. More information to come...

Person in charge: Josefine Ghattas


1. Description

LMDZOR_v6 configuration contains the atmospheric model LMDZ and the land surface model ORCHIDEE. This configuration is under construction towards the version that will be used for CMIP6. You can extract the latest version of LMDZOR_v6 by extracting the latest version of modipsl. You can also extract a previous version of LMDZOR_v6. For that case you need to set the right version of source codes for the models and the corresponding version of the configuration files. See the table here to know which is the current state of the configuration and how to install older versions. ORCHIDEE offline configuration directory is also extracted (in config/ORCHIDEE_OL) but it is not used for LMDZOR simulations.

Corresponding coupled model LMDZ ORCHIDEE XIOS IOIPSL libIGCM LMDZOR_v6 configuration files ORCHIDEE_OL configuration files modipsl Comments
IPSLCM6.0.5 testing rev 2595 trunk rev 3623 trunk rev 858 tag v2_2_2 trunk rev 1333 rev 2958 trunk rev 3761 trunk rev 2990 Default options as CMIP5 (*)

(*) Default options for CMIP5 are : resolution 96x96x39, old physics in LMDZ and 2-layer hydrology in ORCHIDEE. These options can be changed.

1.1. Main differences with LMDZOR_v5 and LMDZOR_v5.2

LMDZOR_v6 :

  • is adapted to the latest versions of LMDZ and ORCHIDEE.
  • is only using XIOS for writing diagnostics. All diagnostics are configured in the xml files read by XIOS. The use of XIOS in server mode(default set up) removes the need for rebuild.
  • is compiling the hybrid parallelization mode (mixed MPI-OPenMP) which means that more cores can be used during run time to speed up the computing reel time.
  • has a clearer method for changing parameter files : the drivers can only change parameters set equal AUTO in the parameter files
    • variables marked as _AUTO_ in the parameter files can be changed by the users. They can not be changed again by the scripts (the drivers). For example this is the case for all variables concerning the output. The user can set the output level as she wants directly into the PARAM/file_def_...xml files and it can not be overwritten by the drivers.
    • variables marked as _AUTOBLOCKER_ must not be changed. If still they are changed, the simulation will stop with error message because the drivers are not allowed to make hidden modifications.

1.2. Compiling

Default compilation is still 96x96x39 but other resolutions can be compiled. To compile 144x142x79 grid do as follow :

gmake LMD144142-L79

By default the compiling is done for hybrid MPI and OMP parallelism. It is not necessary but possible to activate OMP threads during run time.

1.3. Launching

The default set up is using 31MPI for the gcm.e and 1MPI for the xios server. Following is set in config.card :

[Executable]
ATM= (gcm.e, lmdz.x, 31MPI, 1OMP)
SRF= ("", "")
SBG= ("", "")
IOS= (xios_server.exe, xios.x, 1MPI)

See here an example suitable for resolution 144x142x79 using 47MPI and 2 threads OMP for gcm and 1MPI for the xios server:

#D-- Executable -
[Executable]
ATM= (gcm.e, lmdz.x, 47MPI, 2OMP)
SRF= ("", "")
SBG= ("", "")
IOS= (xios_server.exe, xios.x, 1MPI)

1.4. XIOS and output control

XIOS is the new component used for output writing. It consists of a library linked to the model and an external server executable (xios_server.exe). It can be launched in attached mode or in server mode. The default set up in LMDZOR_v6 is using the server mode with 1 MPI for the server. 2 executables are launched: gcm.e and xios_server.exe. No reconstruction is needed for the output files. The rebuild tool detects automatically that this is not needed.

LMDZOR_v6 is only using XIOS for writing diagnostic output files. The output level is managed by xml files. The files beginning with file_def....xml are controlling the variables and the files that are written. These files are stored in PARAM/ directory or directly in the model source directory, look into lmdz.card and orchidee.card to have precise information.

A basic level of output control is done from config.card with the variables WriteFrequency. For LMDZ it is also possible to change the output level for the files using the variable OutLevel in lmdz.card. Finer control of the output must be done directly in the file_def_....xml files. Where it is set _AUTO_, it can be replaced manually for example in PARAM/file_def_histday_lmdz.xml :

        <file id="histday" name="histday" output_freq="1d" output_level="_AUTO_" enabled="_AUTO_">

can be changed into

        <file id="histday" name="histday" output_freq="1800s" output_level="1" enabled=".TRUE.">

1.5. Parameter files

Most parameter file are found in PARAM/ directory as for the v5 configurations. But some files are now also copied from the model directories. This is the case for field_def_lmdz.xml and field_def_orchidee.xml. In lmdz.card and orchidee.card you can see where the files are taken from.

In the parameter files, some of the variables will be modified after the job is submitted. This is done by the comp.driver: lmdz.driver, orchidee.driver, stomate.driver and xios.driver. All the variables that might be modified are set equal _AUTO_ or _AUTOBLOCKER_. No variable can be modified without having this key word. The values are set according to the options from lmdz.card, orchidee.card, stomate.card and config.card.

A variable which is set to _AUTO_ can also be changed manually in the corresponding file in the PARAM directory. For this case, the driver can not change it again. Some variables are set equal _AUTOBLOCKER_. They cannot be changed. If still they are changed, the job will exit with error message.

New physics in LMDZ:
NPv3.2, NPv5.17g and NPv5.17h are added currently. To run another physics version, you need to add the corresponding file physiq.def_L79_NPvXX coming from Abderrahmane Idelkadi simulations in PARAM and activate it in lmdz.card by setting LMDZ_Physics=NpvXX. The other .def files corresponds to what Abderrahmane has except for pmagic which is =0 in LMDZOR_v6. Note that the different physics are related to a specific number of vertical layers so don't forget to compile the corresponding resolution.

CWRR 11-layer hydrology in ORCHIDEE:
Change from Choisnel 2-layer into CWRR 11-layer in orchidee.card by setting DefSuffix=CWRR.

1.6. COSP and NMC output

Default compiling is done without COSP. Options to activate COSP are available in lmdz.card but running with COSP output has not been tested.

NMC monthly output are activated by default.

2. Quick installation

# Installation and compilation
svn co http://forge.ipsl.jussieu.fr/igcmg/svn/modipsl/trunk modipsl
cd modipsl/util
./model LMDZOR_v6
cd ../config/LMDZOR_v6
gmake      [or gmake LMD144142-L79]

# Experiment setup
cp EXPERIMENT/LMDZOR/clim/config.card .     # => modify at least JobName=MyJobname, DateBegin, DateEnd in config.card
../../libIGCM/ins_job
cd MyJobname

# Modify default setup: change physics in lmdz.card
# Change hydrology(2- or 11- layer) in orchidee.card
ccc_msub Job_MyJobname / llsubmit Job_MyJobname

3. Simulations

4. How to reproduce a coupled simulation with the forced model ?

You have run a simulation with IPSLCM6 and you would like to launch the same with LMDZOR_v6 with limit conditions (SST and seaice) coming from the same or another IPSLCM6 simulation. In practice this is needed to estimate radiative forcing from MyIPSLCM6 experiment using SST and sea-ice from the same simulation or from a reference simulation

For this you need to follow all these steps :

  • Create limit.nc using sst / sic and land-sea mask from your IPSLCM6 simulation, as described here
  • Create your new experiment directory
    cd modipsl/config/IPSLCM6
    cp -r MyIPSLCM6 MyLmdzor6
    cd MyLmdzor6
    rm -rf Script* run.card Job* Debug
    
  • modify config.card :
    • modify the JobName as you want
    • modify the TagName to LMDZOR
    • modify the Restart section to use Restart from MyIPSLCM6
    • remove or comment out all lines for the ocean component(OCE, MBG) and the coupler(CPL) in ListOfCompondents and Executable section :
      #========================================================================
      #D-- ListOfComponents -
      [ListOfComponents]
      #D- For each component, Name of component, Tag of component
      ATM= (lmdz, LMDZ4-dev)
      SRF= (orchidee, ORCHIDEE_1_9_5)
      SBG= (stomate, ORCHIDEE_1_9_5)
      #OCE= (opa9, CMIP5_IPSL)
      #ICE= (lim2, CMIP5_IPSL)
      #MBG= (pisces, CMIP5_IPSL)
      #CPL= (oasis, OASIS3-MCT)
      IOS= (xios, XIOS)
      
      #========================================================================
      #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)
      
      
  • Add the path of your new limit.nc files in [BoundaryFiles] Section of lmdz.card
  • (If you are working with IPSLCM5A you need to put "type_ocean=force" in PARAM/run.def)
  • create your new job
    ../../../libIGCM/ins_job