= LMDZINCA_v2 = == Récupérer modipsl : == {{{ svn co http://forge.ipsl.jussieu.fr/igcmg/svn/modipsl/trunk modipsl }}} Plus d'info ici : http://www.ipsl.jussieu.fr/poles/Modelisation/index.htm == Extraire la config LMDZINCA_v2 == {{{ cd modipsl/util/ ./model LMDZINCA_v2 }}} == Création d'un makefile pour la configuration et lancement d'une compilation == Création d'un makefile pour la configuration (à ne faire qu'une fois après l'extraction de la configuration) {{{ cd modipsl/util ./ins_make }}} Lancement d'une compilation {{{ cd modipsl/config/LMDZINCA_v2 gmake _config_inca_xLMD9672 (avec _config_inca_ = CH4 ou CH4_AER ou NMHC ou NMHC_AER ou AER ou GES) }}} Cette commande permet dans l'ordre : 1. de compiler IOIPSL 2. de préprocesser le modèle INCA pour la config_inca que vous avez choisis 3. de compiler le modèle INCA avec l'outil FCM 4. de compiler le modèle LMDZ avec l'outil FCM 5. de faire l'édition de lien entre INCA et LMDZ [[BR]] Lorsque la configuration est compilée l'exécutable créé est stocké dans le répertoire modipsl/bin/ [[BR]][[BR]] Par défaut cette compilation est en mode parallèle. Réportez vous à la rubrique correspondante pour la compilation en mode séquentiel. Cela dit il est conseillé de travailler en mode parallèle. == Création d'un job de simulation == Pour les simulations nous utilisons la librairie libIGCM. Pour plus d'informations dessus vous pouvez consulter la page suivante (intranet IPSL) : http://wiki.ipsl.jussieu.fr/wiki_ipsl/IGCMG/libIGCM/DocUtilisateur === Présentation des répertoires d'expériences === Dans le répertoire modipsl/config/LMDZINCA_v2 vous trouverez 6 sous répertoires : [[BR]] - EXP_CH4_AER - EXP_AER - EXP_NMHC - EXP_NMHC_AER - EXP_GES - EXP_CH4 Chacun de ces répertoires contient les fichiers nécessaires pour lancer une simulation. [[BR]] Dans un répertoire type vous trouverez : - un fichier config.card - un répertoire COMP/ - un répertoire PARAM/ Le fichier config.card contient la fiche d'identitée de votre simulation (nom - dates de début et de fin - calendrier ...) [[BR]] Le répertoire PARAM/ contient les fichiers .def contentant les paramètres nécessaires à une simulation de LMDZ [[BR]] Le répertoire COMP/ contient deux sortes de fichiers : des cartes (.card) et des drivers (.driver). Les drivers ne sont pas à changer, ils indiquent les opérations à faire pour chaque composantes de votre configuration (ici : INCA et LMDZ). Les cartes elles contiennent les informations nécessaires pour chaque composantes (les fichiers d'états initiaux, les fichiers de conditions aux limites, les fichiers d'émissions ...) ainsi que comment gérer les fichiers sorties des composantes (noms des fichiers que l'on veut conserver, et post-traitement qu'on leur associe) [[BR]] === Etapes préliminaires à la création d'un job === ==== config.card ==== Avant de créer un job pour votre simulation vous devez indiquer tous les paramètres nécessaires à cette dernière dans le fichier config.card [[BR]] Voici les rubriques à modifier : {{{ JobName=_nom_simul_ DateBegin=_date_debut_simul_ DateEnd=_date_fin_simul_ PeriodLength= indiquez ici la fréquence de lancement de l'exécutable (1D ou 1M suivant les cas pour LMDZINCA) JobNumProcTot=_nombre_processeurs }}} En ne modifiant que ces champs vous préparer un run climatique utilisant le schéma de convection de Kerry Emmanuel. Je vous conseille de commencer avec ce run type avant de faire varier ces derniers paramêtres (voir rubriques plus bas). ==== répertoire COMP ==== Dans le répertoire COMP vous pouvez indiquer les adresses des fichiers d'état initiaux de votre simulation dans le fichier lmdz.card (suivre l'exemple donné par défaut). Vous pouvez également modifier les fichiers d'émissions dans le fichier inca.card. [[BR]] A chaque fois la syntaxe utilisée est la suivante : [[BR]] ''(path_fichier, fichier)'' [[BR]] Elle est équivalente à : [[BR]] ''cp path_fichier fichier'' [[BR]] Pour d'autres informations sur les scripts vous êtes invités à vous reporter à la documentation indiquée ci-dessus. === Création d'un job === {{{ cd modipsl/util ./ins_job }}} Cette commande recherche tous les fichiers config.card existant dans des sous-répertoires de modipsl et crée les job associés (en reprenant la rubrique !JobName du fichier config.card). Si jamais un fichier du même nom (Job_nom_simul) existe déjà alors un message d'avertissement apparait et le job n'est pas écrasé. Vous devez l'effacer au préalable pour pouvoir le recréer. [[BR]] Par défaut la simulation tournera sur le disque tmpdir de la machine. Si vous voulez qu'elle ait lieu sur le scratchir, vous devez modifier la variable RUN_DIR_PATH dans le fichier Job_nom_simul [[BR]] N'oubliez pas non plus de modifier la variable elapstim_req en entête de job. === Lancement d'une simulation === {{{ cd modipsl/config/LMDZINCA_v2/EXP_config_inca_/ qsub Job_nom_simul }}} == Comment travailler avec cette arborescence == Il vous est fortement conseillé de recréer un répertoire d'expérience pour chaque nouvelle simulation que vous lancez. Pour cela vous pouvez dès le départ conserver le répertoire EXP_config_inca (ex: EXP_AER) dans lequel vous laissez le !JobName de config.card vide (cette manipulation empéchera la création d'un job associé avec la commande ins_job). Vous pourrez ainsi recopier ce répertoire autant de fois que vous le désirerez. [[BR]] Si jamais vous voulez utiliser les modèles sur plusieurs projets différents qui demandent à chaque fois des nouveaux développements et des exécutables différents : il est conseillé de récupérer pour chacun d'entre eux une architecture modipsl nouvelle. == Le mode séquentiel == === compilation === 1. Dans modipsl/config/LMDZINCA_v2/AA_make : vous devez mettre toutes les options parallel à false (''-parallel false'') 2. Dans modipsl/modeles/INCA3/bld.cfg : vous devez enlever la clef CPP_PARA 3. Recréer le makefile à l'aide de la commande ./ins_make === exécution === 1. Dans le fichier modipsl/config/LMDZINCA_v2/EXP_.../config.card : vous devez changer la ligne !JobRunOption {{{ JobRunOptions='"-np "${config_UserChoices_JobNumProcTot}' devient JobRunOptions='' }}} 2. Toujours dans config.card indiquez que vous n'utilisez qu'un seul processeur. 3. Créez votre job == Le mode nudgé == == Changer le schéma de convection == ------------------------------------------------------------------------------- = Petits trucs en plus = ------------------------------------------------------------------------------- == Ajouter la config lmdzinca dans la base SVN == Mise en place sous svn de la configuration LMDZINCA parallèle. Commande à passer pour ajouter une configuration : !!! attention se placer au dessus du répertoire que l'on veut ajouter {{{ svn import LMDZINCA_v2 svn+ssh://yourlogin@forge.ipsl.jussieu.fr/ipsl/forge/projets/igcmg/svn/CONFIG/trunk/LMDZINCA_v2 }}} Remarques : * il faut donner deux fois son mot de passe. == Récupérer inca3 sans passer par modipsl == {{{ pour un administrateur : svn co svn+ssh://yourlogin@forge.ipsl.jussieu.fr/ipsl/forge/projets/inca/svn/trunk/INCA3 }}} == Faire un commit sur la config en partant de l'architecture modipsl == Attention il faut avoir récupéré modipsl en administrateur '''ET''' la config LMDZINCA_v2 en administrateur également. Pour cela modifier mod.def en ajoutant la ligne {{{ #-S- 9 svn svn+ssh://yourlogin@forge.ipsl.jussieu.fr/ipsl/forge/projets/igcmg/svn }}} puis modifier l'appel pour la config voulue {{{ #-C- LMDZINCA_v2 LMDZ4 V3_test 3 . modeles #-C- LMDZINCA_v2 libIGCM ? 1 . . #-C- LMDZINCA_v2 CONFIG/trunk/LMDZINCA_v2 ? 8 LMDZINCA_v2 config #- devient #-C- LMDZINCA_v2 LMDZ4 V3_test 3 . modeles #-C- LMDZINCA_v2 libIGCM ? 1 . . #-C- LMDZINCA_v2 CONFIG/trunk/LMDZINCA_v2 ? 9 LMDZINCA_v2 config #- }}} Commande svn pour commit : {{{ svn commit namefile }}}