New set up of the coupled model of IPSL. This configuration contains possibility to run IPSLCM5A, IPSLCM5B or IPSLCM5_C and all smaller configurations such as LMDZOR. [[PageOutline]] == Extract IPSLCM5_v4 configuration == To use the configuration IPSLCM5_v4, it is necessary to extract modipsl rev 1618 or later. It is also necessary to have libIGCM_v1_12 rev 576 or later. Extract using modipsl, same as IPSLCM5A except the configuration name should be IPSLCM5_v4. Change also directory LMDZ4 to LMDZ. Add in mod.def : {{{ #-H- IPSLCM5_v4 IPSLCM5_v4 coupled configuration #-H- IPSLCM5_v4 CMIP5 version 08/12/2011 #-H- IPSLCM5_v4 with 5 NEMO sub-domains for vargas or titane by default #-H- IPSLCM5_v4 NEMO svn branches/CMIP5_IPSL 3205 #-H- IPSLCM5_v4 XMLF90 svn trunk revision 297 #-H- IPSLCM5_v4 XMLIO_SERVER svn trunk revision 297 #-H- IPSLCM5_v4 IOIPSL/src svn tags/v2_2_1 #-H- IPSLCM5_v4 LMDZ4 branches LMDZ4_AR5 revision 1602 #-H- IPSLCM5_v4 ORCHIDEE version orchidee_1_9_5 #-H- IPSLCM5_v4 OASIS3 tag ipslcm5a #-H- IPSLCM5_v4 IPSLCM5_v4 svn #-H- IPSLCM5_v4 libIGCM tag libIGCM_v1_12 #-M- IPSLCM5_v4 arnaud.caubel@lsce.ipsl.fr #-C- IPSLCM5_v4 IOIPSL/tags/v2_2_1/src HEAD 8 IOIPSL/src modeles #-C- IPSLCM5_v4 ORCHIDEE orchidee_1_9_5 2 . modeles #-C- IPSLCM5_v4 OASIS3 ipslcm5a 1 prism . #-C- IPSLCM5_v4 LMDZ4/branches/LMDZ4_AR5/ 1602 11 LMDZ modeles #-C- IPSLCM5_v4 CONFIG/IPSLCM/IPSLCM5_v4 HEAD 8 IPSLCM5_v4 config #-C- IPSLCM5_v4 tags/libIGCM_v1_12 HEAD 10 libIGCM . #-C- IPSLCM5_v4 branches/CMIP5_IPSL/NEMO 3205 7 . modeles #-C- IPSLCM5_v4 branches/CMIP5_IPSL/UTIL 3205 7 . modeles #-C- IPSLCM5_v4 XMLF90 297 12 . modeles #-C- IPSLCM5_v4 XMLIO_SERVER/trunk 297 12 XMLIO_SERVER modeles }}} LMDZ5 can also be used, in that case change the line for extraction of LMDZ into : {{{ #-C- IPSLCM5_v4 LMDZ5/trunk 1575 11 LMDZ modeles }}} == Contents of the configuration directory IPSLCM5_v4 == {{{ > ls AA_make AA_make.ldef scripts GENERAL USER_SPEC }}} The ''AA_make*'' files and the directory ''scripts'' are used for the compiling. These are the same as in IPSLCM5A. There are no differences in compiling compared to IPSLCM5A.[[BR]] For the running part, there are 2 directories USER_SPEC and GENERAL. The directory GENERAL contains the sub-directories POST, PARAM and DRIVERS. The files in GENERAL are used for all types of experiments using this configuration. USER_SPEC contains different sub-directories with all cards needed for 5 proposed experiments with IPSLCM5. {{{ > ls USER_SPEC LMDZ LMDZOR IPSLCM5 > ls USER_SPEC/IPSLCM5 Chistorical CpiControl EXP00 historical piControl }}} For one experiment, a config.card and a directory COMP exist. The COMP directory contains all components card for the experiment. For example the experiment historical : {{{ > ls USER_SPEC/IPSLCM5/historical config.card COMP > ls USER_SPEC/IPSLCM5/historical/COMP lim2.card lmdz.card oasis.card opa9.card orchidee.card pisces.card stomate.card }}} [[BR]] == How to create a job and run directory == Combining the GENERAL directory with one of the sub-directories in USER_SPEC makes a complete run directory. The ins_job contains the creation of such a run directory. [[BR]] Choose in USER_SPEC the experiment to be done and copy the corresponding config.card to modipsl/config/IPSLCM5_v4/. Modify the config.card as usual, for at least the !JobName. Apply ins_job and the creation of a new run directory will be done :[[BR]] - the run directory will be created with the same name as !JobName in config.card. If a directory with the same name already exists, nothing will be done.[[BR]] - the directory GENERAL will be copied into the new run directory[[BR]] - one of the COMP directories in USER_SPEC will be copied into the new run directory, according to the variable !UserSpec in config.card[[BR]] - the config.card will be copied into the run directory [[BR]] - a job will be created in the run directory[[BR]] Once the run directory has been created with ins_job, this directory is used as a normal run directory. For example it is possible to remove the job, change the config.card inside the directory and re-create the job with ins_job. To create a second run directory, modify the upper config.card, in IPSLCM5_v4 directory, with at least the !JobName, and re-run ins_job. If a directory with the !JobName already exist, nothing will be done using this config.card. [[BR]] == DRIVER directory == Another difference with origin configuration structure (such as IPSLCM5A) is the separation between cards and drivers. All cards (expect config.card) are kept in COMP directory and all drivers are in a new DRIVER directory. To use this structure the tag libIGCM_v1_12 or later is needed. == Remaining questions == How to make clear that a variable in a parameter file might be edited by the drivers ?[[BR]] - If the variable always is edited, it is then possible to put in parameter file var=_AUTO_[[BR]] - But if a variable only is some cases is modified, then a default value is needed. A possibility might be to decide a syntax for example var=_AUTO_:X where X is the default value. Then before starting the execution all variables that still keeps _AUTO_, the X value must be adapted... == To do list == === Avant fin mai === * Améliorer ins_job (Sébastien D.) * Ajouter option pour MPI/OpenMP (Arnaud) * Ajouter dans mod.def les nouveaux configurations * Changer pour ORCHIDEE sous SVN (Josefine) * Changer pour OASIS sous SVN (Arnaud) * Moyenne résolution : * Mettre les fichiers poids sur les comptes commune. Vérifier qu'on pointe sur les bons fichiers pour les différents résolutions. Documenter. (Olivier ?) * Vérifier que les paramètres sont bons pour la moyenne résolution. pmagic aussi! * A faire à la main ou automatiser : * Il faut aussi changer !TagName : IPSLCM5A-MR * Il faut réduire les tailles des Chunck dans les POST * Revoir les variables "auto" dans les namelist NEMO. Dans le driver, éventuellement utiliser le même type de _sed que dans orchidee.driver et lmdz.driver. * Validation entre IPSLCM5_u1 et IPSLCM5A * Documentation dans modispslforBeginners1 * Adapter libIGCM pour Curie. Fait dans tag libIGCM_v2_beta1 === Plus tard === * Changer environnement de compilation pour NEMO : utiliser NEMO v3_4 avec fcm et allocation dynamique pour le nombre de processus * Amélioration dans la gestion des diagnostiques: choix des fichiers, fréquences, time-series,..., simplification et documentation * Déterminer si souhaitable d'ajouter NEMO et PISCES offline (Chrisitan) * Ajoute IPSLCM5INCA_u1 (Anne)