How to install ORCHIDEE without XIOS

Author: J. Ghattas
Last revision: J. Ghattas 2020/02/28

Writing of output diagnostic files in ORCHIDEE can be done either with XIOS or IOIPSL. Using XIOS is the default method in ORCHIDEE trunk version since revision [3109], November 2016. The possibility to use IOIPSL for output is kept in ORCHIDEE but only as backup reason. For example if you have difficulties to install XIOS at your local computer, you can install ORCHIDEE without XIOS. Note that IOIPSL must be installed in all cases because it is always used for reading and writing of restart files and reading of input files.

See on this page how to compile ORCHIDEE without compiling and linking to XIOS and how to change the execution.

Note that the coupled configurations distributed with modipsl such as all LMDZOR_v6.x configurations are not prepared to be used without XIOS.


Follow the instruction for installation and compilation as described on the page wiki:Documentation/UserGuide/InstallingORCHIDEEBasic, but change the command for the compilation as follow:

  • for versions compiled with script
    cd modipsl/config/ORCHIDEE_OL
    ./ -without_xios
  • for versions compiled with Makefile
    cd modipsl/config/ORCHIDEE_OL
    gmake without_xios

Run without XIOS

1) The flag XIOS_ORCHIDEE_OK=n must be set to run without XIOS. This is done directly in run.def or in orchidee_ol.card by setting :

# Use XIOS as output library instead of IOIPSL

ChaoYue_review: the flag XIOS is in orchidee_ol.card, but the flag XIOS_ORCHIDEE_OK is in PARAM/orchidee.def ? One should setup either one of these two or both?

2) The component IOS which corresponds to XIOS must be deactivated from config.card. This is done by removing or comment IOS in the [ListOfComponents] and [Executable] section in config.card. Following should be set :

#D-- ListOfComponents -
SRF= (sechiba, orchidee)
SBG= (stomate, orchidee)
OOL= (orchidee_ol, orchidee)
#IOS= (xios, XIOS)

#D-- Executable -
SRF= ("", "")
SBG= ("", "")
OOL= (orchidee_ol, orchidee_ol, 32MPI)
#IOS= (xios_server.exe, xios.x, 1MPI)

3) In order to produce correct time-series, the bounds for the time step has the name time_counter_bnds with IOIPSL and time_counder_bounds with XIOS. Therefore it is needed to change this in sechiba.card. Change time_counter_bounds at 2 places in sechiba.card to have:

GatherWithInternal= (lon, lat, veget, time_counter, time_counter_bnds, Areas, Contfrac)

ChaoYue_review: which version of the sechiba.card? I noticed in the most recent sechiba.card (rev6615), one does not find time_counter_bounds there. No need to adjust for stomate.card?

How to use an old branch

If your branch do not contain interface to XIOS, then you have to compile and run without XIOS as described above. If you use an experiment in a recent version of config/ORCHIDEE_OL (OOL_SEC_STO, OOL_SEC or SPINUP_ANALYTIC), then you'll also have to remove the copy of the *.xml files. If you don't the model will probably stops. These files are copied from the source ORCHIDEE/src_xml directory which probably do not exist in your version. Do this by remove the corresponding lines from COMP/orchidee_ol.card.

In COMP/orchidee_ol.card, change following lines:

List=   (${SUBMIT_DIR}/PARAM/run.def, .) ,\
        (${SUBMIT_DIR}/PARAM/iodef.xml, .)   ,\
        (${MODIPSL}/modeles/ORCHIDEE/src_xml/file_def_orchidee.xml, .)  ,\
        (${MODIPSL}/modeles/ORCHIDEE/src_xml/context_orchidee.xml, .)   ,\
        (${MODIPSL}/modeles/ORCHIDEE/src_xml/field_def_orchidee.xml, .)


List=   (${SUBMIT_DIR}/PARAM/run.def, .)

Last modified 4 years ago Last modified on 2020-05-29T06:13:14+02:00