{{{ #!html

Install a configuration

}}} ---- [[NoteBox(note,Download a model configuration to a specific machine using the '''modipsl''' tool., 600px)]] [[PageOutline(1-2,Table of contents,pullout)]] ---- # Description # '''modipsl''' is a suite of scripts which allow you to * obtain a model configuration from a computing center; * to [wiki:Doc/Compile compile] the model components of a model configuration on a specific machine. '''modipsl''' is also the architecture hosting the models and tools of a chosen model configuration. modipsl is developed at IPSL. # Downloading modipsl # {{{ #!sh svn co --username icmc_users https://forge.ipsl.fr/igcmg/svn/modipsl/trunk modipsl }}} The password must be asked a Platform group member. To avoid typing this command line for every new modipsl retrieval, we recommend to create an alias : {{{ #!sh alias svn_ano='svn co --username icmc_users https://forge.ipsl.fr/igcmg/svn/modipsl/trunk modipsl' }}} The retrieval command then becomes {{{ #!sh svn_ano }}} To learn more about SVN and other useful scripts, [wiki:DocKexterntoolsAsvnbasic click here]. # How to use modipsl # ## The modipsl directories ## After downloading '''modipsl''', you should have the following directory structure: * '''util''' contains information and scripts necessary to setup the different versions of the IPSL models; * '''doc''' contains the CECILL's license (license of the IPSL models) modipsl also contains the following directories (empty at the beginning) : * '''modeles''': directories containing the model source codes (filled once the model configuration has been downloaded and unpacked) * '''config''': directories containing the experiment directories (filled once the model configuration has been downloaded and unpacked: with command: ./model config_name) * '''bin''': directory containing the executables (filled after compiling) * '''lib''' and '''tmp''': directories containing temporary files created during the compilation. Those directories will not be used by all models. '''Main scripts in the directory ''util'''''[[BR]] * '''`model`''' --> Downloading script for available model configurations. This script also provides information on the available model configurations. * '''`mod.def`''' --> File containing the information on the available model configurations : components, tags, svn servers * '''`ins_make`''' --> Install Makefiles for the computing machine ## Available configurations via modipsl ## Using '''modipsl''' will give you access to a large number of model configurations, each of them uses one or more IPSL models. To list the available model configurations, use the following script: {{{ #!sh cd modipsl/util ./model -h }}} To obtain information on the models used (tags, versions,...) in a specific configuration, use the following script: {{{ #!sh ./model -h config_name }}} Example with LMDZOR_v6.1.10 : {{{ #!sh ./model -h LMDZOR_v6.1.10 model : LMDZOR_v6.1.10 LMDZ and ORCHIDEE model configuration Configuration corresponding to the coupled modele IPSLCM6.1.10-LR model manager email address : Josefine.Ghattas@ipsl.fr Component 1 : IOIPSL/tags/v2_2_4/src Revision 1 : HEAD System 1 : svn Server 1 : http://forge.ipsl.fr/igcmg/svn Directory 1 : IOIPSL/src Local Dir 1 : modeles Component 2 : tags/ORCHIDEE_2_0/ORCHIDEE Revision 2 : 5661 System 2 : svn Server 2 : svn://forge.ipsl.fr/orchidee Directory 2 : ORCHIDEE Local Dir 2 : modeles Component 3 : LMDZ6/branches/IPSLCM6.0.15 Revision 3 : 3554 System 3 : svn Server 3 : http://svn.lmd.jussieu.fr/LMDZ Directory 3 : LMDZ Local Dir 3 : modeles Component 4 : XIOS/branchs/xios-2.5 Revision 4 : 1550 System 4 : svn Server 4 : http://forge.ipsl.fr/ioserver/svn Directory 4 : XIOS Local Dir 4 : modeles Component 5 : CONFIG/UNIFORM/v6/LMDZOR_v6 Revision 5 : 4691 System 5 : svn Server 5 : http://forge.ipsl.fr/igcmg/svn Directory 5 : LMDZOR_v6 Local Dir 5 : config Component 6 : tags/ORCHIDEE_2_0/ORCHIDEE_OL Revision 6 : 5626 System 6 : svn Server 6 : svn://forge.ipsl.fr/orchidee Directory 6 : ORCHIDEE_OL Local Dir 6 : config Component 7 : trunk/libIGCM Revision 7 : 1487 System 7 : svn Server 7 : http://forge.ipsl.fr/libigcm/svn Directory 7 : libIGCM Local Dir 7 : . }}} If the requested model configuration does not exist : {{{ #!sh ./model -h Ornithorynque Model Ornithorynque unknown Try "model -h" }}} ## How to download and use a selected model configuration ## Downloading is the recovery of the source codes of the model components of a specific model configuration from different SVN servers. The download can be done with this script: {{{ #!sh ./model config_name }}} When you try to access to the component servers, some of them request a login and a password: ORCHIDEE, NEMO, INCA and REPROBUS. To do so, you must contact the person in charge of the [wiki:Doc/Config model configuration] (see above the list of [#Specialcases special cases]; model managers email addresses is available via the command '''model -h''') [[BR]] Example : {{{ #!sh cd modipsl/util # see all the available configurations ./model -h # extract the LMDZOR_v6.1.10 configuration ./model LMDZOR_v6.1.10 }}} The source codes of the downloaded models are in the '''modipsl/modeles/''' directory. For the previous example you will obtain the following directories : * `modipsl/modeles/IOIPSL` * `modipsl/modeles/LMDZ` * `modipsl/modeles/ORCHIDEE` * `modipsl/modeles/XIOS` Coupled configuration will download the coupler directyl in `modipsl/oasic-mct` '''modipsl''' also installs a model '''configuration'''. It is installed in the directory '''modipsl/config''' (here modipsl/config/LMDZOR_v6). [[BR]] Each model will be compiled and the simulation will be run in the '''`config`''' directory. The log files of the installation are stored in the `modipsl/util/log` file. ### v7 family ### Configuration management in mod.def has evolved with v7 configurations. Until now, all forced and coupled configurations were explicitly described in mod.def (e.g. IPSLCM6.2.2, LMDZOR_v6.2.2, etc.). From v7 onwards, only the IPSLCM7 coupled configuration is offered in mod.def, from which you can choose the sub-configuration you wish to extract. {{{ ./model IPSLCM7_tag [subconfig] e.g. ./model IPSLCM7_tag ICOLMDZORINCA }}} You can choose to extract the entire IPSLCM7 configuration, enabling you to use all the sub-configurations included in this model (IPSLCM7-ico, IPSLCM7-reg, ICOLMDZOR, LMDZOR, ICOLMDZORINCA, LMDZORINCA) with a single executable. ## Syntax in mod.def ## The file mod.def contains a section per predefined configuration. Each section must contain one or several lines starting with: * '''#-H- config_name''' ''Text information describing the configuration, character string, can contain space as well'' * '''#-C- config_name''' ''One line per code to extract, see syntax below'' As optional in mod.def, lines starting with '''#-M- config_name''' will specify a different email adress used to send a mail only at first extraction at a new machine for a specific login. The code extraction line has the following syntax : {{{ #-C- config_name versionOnServer revisionNumber depotNumber modelName dirInModipsl }}} * depotNumber is the reference of the repository address for the given code. The full address is set in the beginning of mod.def where all repository addresses are listed starting with '''#-S- number'''. * versionOnServer is directory to extract find on the current depository address * revisionNumber is the revision to extract. If revisionNumber is HEAD, the latest revision on the versionOnServer will be extracted. * dirInModipsl is the directory in modipsl where the code will be installed * modelName is the name of the installed directory. The code will be find in modipsl/dirInModipsl/modelName As an example see here an extract from mod.def: {{{ ... #-S- 8 svn http://forge.ipsl.fr/igcmg/svn #-S- 9 svn --username inca http://forge.ipsl.fr/inca/svn #-S- 10 svn http://forge.ipsl.fr/libigcm/svn #-S- 11 svn http://svn.lmd.jussieu.fr/LMDZ #-S- 12 svn http://forge.ipsl.fr/ioserver/svn #-S- 13 svn http://forge.ipsl.fr/fcm/svn #-S- 14 svn svn://forge.ipsl.fr/orchidee ... #---- LMDZOR configurations #-H- LMDZOR_v6.1.10 LMDZ and ORCHIDEE model configuration #-H- LMDZOR_v6.1.10 Configuration corresponding to the coupled modele IPSLCM6.1.10-LR #-C- LMDZOR_v6.1.10 IOIPSL/tags/v2_2_4/src HEAD 8 IOIPSL/src modeles #-C- LMDZOR_v6.1.10 tags/ORCHIDEE_2_0/ORCHIDEE 5661 14 ORCHIDEE modeles #-C- LMDZOR_v6.1.10 LMDZ6/branches/IPSLCM6.0.15 3554 11 LMDZ modeles #-C- LMDZOR_v6.1.10 XIOS/branchs/xios-2.5 1550 12 XIOS modeles #-C- LMDZOR_v6.1.10 CONFIG/UNIFORM/v6/LMDZOR_v6 4691 8 LMDZOR_v6 config #-C- LMDZOR_v6.1.10 tags/ORCHIDEE_2_0/ORCHIDEE_OL 5626 14 ORCHIDEE_OL config #-C- LMDZOR_v6.1.10 trunk/libIGCM 1487 10 libIGCM . ... }}} By launching ./model LMDZOR_v6.1.10, you'll install in directory * modipsl/modeles/IOIPSL/src : the latest revision (=HEAD) of IOIPSL/tags/v2_2_4/src * modipsl/modeles/ORCHIDEE : revision number 5661 of tag ORCHIDEE_2_0 * modipsl/modeles/LMDZ : revision number 3554 of LMDZ6/branches/IPSLCM6.0.15 * modipsl/modeles/XIOS : revision number 1550 of XIOS/branchs/xios-2.5 * modipsl/config/LMDZOR_v6 : revision number 4691 of CONFIG/UNIFORM/v6/LMDZOR_v6 * modipsl/config/ORCHIDEE_OL : revision number 5626 of tags/ORCHIDEE_2_0/ORCHIDEE_OL (ORCHIDEE Off Line) * modipsl/libIGCM : revision number 1487of trunk/libIGCM ## Change a model version ## By default the available model configurations use specific model versions. But different versions of a given model can be used with a specific configuration. This is the case for the LMDZ version in the "_v6" configurations. You might want to use the latest version on an LMDZ6/branches/IPSLCM6.0.15 branch (used for CMIP6 simulations). To find out which model version to use, please contact the model development team directly. [[BR]] If you already know which model version to use, you just have to change the section about the model configuration you selected in '''modipsl/util/mod.def'''. [[BR]] For example with LMDZOR_v6.1.10, in mod.def you have the following lines: {{{ #-C- LMDZOR_v6.1.10 IOIPSL/tags/v2_2_4/src HEAD 8 IOIPSL/src modeles }}} The second column tells the version and third column the revision for this version. If it says HEAD, this means the latest revision. This means that you'll extract IOIPSL version '''IOIPSL/tags/v2_2_4/src''', latest revision. For example, to extract the LMDZOR_v6.1.10 configuration with the latest revision (HEAD) of LMDZ6, change '''mod.def''' to obtain : {{{ #-C- LMDZOR_v6.1.10 LMDZ6/trunk HEAD 11 LMDZ modeles }}} or for LMDZ6/trunk revision 3563 : {{{ #-C- LMDZOR_v6.1.10 LMDZ6/trunk 3563 11 LMDZ modeles }}} # Special cases # * '''Reprobus''' : this model has restricted access via svn+ssh. Click [wiki:Doc/Models/REPROBUS here] for more information. * '''ORCHIDEE''' : this model needs a password.Click [wiki:Doc/Models/ORCHIDEE here] for more information * '''INCA''' : this model needs a password. Click [wiki:Doc/Models/INCA here] for more information. ----