= MODIPSL for beginner = '''MODIPSL pour les débutants''' MODIPSL est l'interface d'accès aux modèles de l'IPSL. Cette page résume ce qu'un nouvel utilisateur de MODIPSL doit connaître. [[BR]] Cette page veut rassembler les informations pour les nouveaux utilisateurs et pointer vers les pages plus complètes de chaque configuration ou de chaque outil quand nécessaire. [[BR]] N'hésitez pas à consulter la présentation du cours "modipsl" [http://igcmg.ipsl.jussieu.fr/ESCI/Cours/Cours-modipsl-2007.ppt ppt] (ou [http://igcmg.ipsl.jussieu.fr/ESCI/Cours/Cours-modipsl-2007.pdf pdf]). Les transparents 24 à 48 reprennent avec des schémas une grande partie des informations qui vous seront données ci-dessous. [[BR]] * [wiki:ModipslBeginner#Extrairemodipsl Accès à modipsl] * [wiki:ModipslBeginner#Lectureseule Lecture seule (accès anonyme)] * [wiki:ModipslBeginner#Modeadministrateur Mode administrateur ] * [wiki:ModipslBeginner#PourensavoirplussurSVN Pour en savoir plus sur SVN ] * [wiki:ModipslBeginner#Presentationdesrepertoires Présentation des répertoires de Modipsl] * [wiki:ModipslBeginner#Listedesconfigurations Liste des configurations] * [wiki:ModipslBeginner#Travailleravecuneconfiguration Travailler avec une configuration] * [wiki:ModipslBeginner#Extraction Extraction] * [wiki:ModipslBeginner#Compilation Compilation] * [wiki:ModipslBeginner#Lancerunesimulation Lancement d'une simulation] * [wiki:ModipslBeginner#Casgeneral Cas général ] * [wiki:ModipslBeginner#Presentationdurepertoireexperience Présentation du répertoire d'expérience] * [wiki:ModipslBeginner#Creationdujob Creation du job ] * [wiki:ModipslBeginner#Lancementdelasimulation Lancement de la simulation ] * [wiki:ModipslBeginner#CasparticuliersLMDZ4OR_v2etLMDZINCA_v2 Cas particuliers LMDZ4OR_v2 et LMDZINCA_v2] * Suivi de la simulation (Monitoring) * Post-traitements systématiques (atlas) * Plus d'informations : * Comment connaitre l'état de la simulation en cours? * Comment sont rangés les fichiers de sortie? * Où est le script de sortie dans tous les cas (normal ou anormal)? * Où trouver le journal de sortie? * Questions/Réponses : * Extraction : * Mots de passe * Compilation : * A qui signaler quand cela ne marche pas? * Execution : * Comment relancer? * Comment poursuivre? * Post-traitements : * Comment vérifier les post-traitements? * Comment relancer les post-traitements seulement? [[BR]] [[BR]] == Extraire modipsl == === Lecture seule === {{{ svn co http://forge.ipsl.jussieu.fr/igcmg/svn/modipsl/trunk modipsl }}} Pour vous simplifiez la vie et éviter de retaper cette ligne de commande à chaque nouvelle extraction de modipsl, nous vous conseillons de vous créer un alias : {{{ alias svn_ano='svn co http://forge.ipsl.jussieu.fr/igcmg/svn/modipsl/trunk modipsl' }}} La commande d'extraction devient alors juste {{{ svn_ano }}} === Mode administrateur === {{{ svn co svn+ssh://yourlogin@forge.ipsl.jussieu.fr/ipsl/forge/projets/igcmg/svn/modipsl/trunk modipsl }}} D'autres commandes en bas de cette page : http://forge.ipsl.jussieu.fr/igcmg/wiki/WikiStart === Pour en savoir plus sur SVN === * Le site officiel de subversion : http://subversion.tigris.org/ * [http://igcmg.ipsl.jussieu.fr/ESCI/Exposes/SVN-2007-03-28/svn_p.html Présentation de SVN (Jacques Bellier)] * [http://igcmg.ipsl.jussieu.fr/ESCI/Exposes/SVN-2007-03-28/svn_swt.html SVN commandes] * [http://igcmg.ipsl.jussieu.fr/ESCI/Exposes/SVN-2007-03-28/svnqref.html SVN quick reference guide] * [http://igcmg.ipsl.jussieu.fr/ESCI/Exposes/SVN-2007-03-28/key_ssh.html Mémo sur la gestion des clés ssh] * [http://forge.ipsl.jussieu.fr/inca/wiki/InstSvnInca Quelques commandes de base pour SVN (Anne Cozic)] [[BR]] [[BR]] == Presentation des repertoires == Après avoir extrait Modipsl vous avez un répertoire contenant 7 sous-répertoires : * bin/ * config/ * doc/ * lib/ * modeles/ * tmp/ * util/ Tous ces répertoires sont vides excepté le répertoire '''doc/''' contenant le texte de la licence CECILL (license sous laquelle sont placés les modèles de l'IPSL) et le répertoire '''util/''' qui contient les scripts nécessaire à une installation complète de n'importe quelle configuration disponible des modèles de l'IPSL. [[BR]] {{{ mod.def >>>>>> Définition pour chaque configuration de leurs composantes et de leurs tags model >>>>>> Extraction des modèles validés disponibles ins_make >>>>>> Installation et configuration des Makefiles ins_job >>>>>> Installation et configuration des scripts de lancement }}} Voir le transparent 26 de la présentation suivante [http://igcmg.ipsl.jussieu.fr/ESCI/Cours/Cours-modipsl-2007.ppt ppt] [[BR]] [[BR]] == Liste des configurations == Via modipsl vous pouvez avoir accès à un grand nombre de configurations regroupant différents modèles de l'IPSL. Pour connaître cette liste il vous suffit dans le répertoire '''util/''' de passer la commande suivante : {{{ cd modipsl/util ./model -h }}} Pour avoir plus d'informations sur une configuration en particulier (modèles utilisés, versions CVS ou SVN utilisées ...) il faut passer la commande {{{ ./model -h nom_de_la_config }}} Exemple avec LMDZ4OR_v2 : {{{ >> ./model -h LMDZ4OR_v2 >> model : LMDZ4OR_v2 LMDZ4OR_v2 configuration with parallel LMDZ4 and ORCHIDEE working configuration Official beta release IOIPSL/src svn tags/v2_1_1 LMDZ4 tag LMDZ4_V3_1 ORCHIDEE tag orchidee_1_9_1 LMDZ4OR_v2 svn trunk libIGCM HEAD model manager email address : Abderrahmane.Idelkadi@lmd.jussieu.fr Component 1 : IOIPSL/tags/v2_1_1/src Tag 1 : HEAD System 1 : svn Server 1 : http://forge.ipsl.jussieu.fr/igcmg/svn Directory 1 : IOIPSL/src Local Dir 1 : modeles Component 2 : ORCHIDEE Tag 2 : orchidee_1_9_1 System 2 : cvs Server 2 : sechiba@cvs.ipsl.jussieu.fr:/home/ssipsl/CVSREP Directory 2 : . Local Dir 2 : modeles Component 3 : LMDZ4 Tag 3 : LMDZ4_V3_1 System 3 : cvs Server 3 : lmdzbrowse@cvs.lmd.jussieu.fr:/home/cvsroot Directory 3 : . Local Dir 3 : modeles Component 4 : CONFIG/trunk/LMDZ4OR_v2 Tag 4 : HEAD System 4 : svn Server 4 : http://forge.ipsl.jussieu.fr/igcmg/svn Directory 4 : LMDZ4OR_v2 Local Dir 4 : config Component 5 : libIGCM Tag 5 : ? System 5 : cvs Server 5 : anonymous@cvs.ipsl.jussieu.fr:/home/ioipsl/CVSROOT Directory 5 : . Local Dir 5 : . }}} La première partie les modèles utilisés dans la configuration ainsi que leurs numéros de version sur CVS ou SVN. Ensuite est donnée l'adresse e-mail du responsable de cette configuration, puis tous les paths des composantes. [[BR]] [[BR]] == Travailler avec une configuration == Dans ce paragraphe nous prendrons comme exemple le modèle couplé '''IPSLCM4_v2'''. Les autres configurations utilisant le nouveau modipsl ('''IPSL_ESM_V1''', '''LMDZ4OR_v2''', '''LMDZINCA_v2''', '''LMDZORINCA''') suivent le même principe. Quand des cas particuliers existent nous vous les indiquerons. === Extraction === {{{ cd modipsl/util ./model -h >>>> indique toutes les configurations dispo ./model IPSLCM4_v2 >>>> on choisi d'extraire la configuration IPSLCM4_v2 }}} Lors de cette extraction plusieurs logins et mots de passe vous seront demandés. Pour les récupérer adressez vous au responsable de la configuration (voir ci-dessus) [[BR]] Cette commande récupère sur CVS et/ou SVN les différents modèles composant la configuration demandée. Les sources de ces modèles sont installées dans le répertoire '''modipsl/modeles/'''. Pour notre exemple vous obtenez les répertoires suivants : * modipsl/modeles/IOIPSL/ * modipsl/modeles/LMDZ4/ * modipsl/modeles/OPA/ * modipsl/modeles/ORCHIDEE/ * modipsl/modeles/UTIL/ Modipsl installe également ce que l'on appelle une '''configuration'''. Elle est dans le répertoire '''modipsl/config/''' (ici modipsl/config/IPSLCM4_v2/). [[BR]] Cette configuration vous permettra de [wiki:ModipslBeginner#Compilation compiler] l'ensemble des modèles, puis de [wiki:ModipslBeginner#Lancerunesimulation lancer une simulation]. [[BR]] === Compilation === Avant la première compilation des différents modèles de votre configuration vous devez créer les makefiles adaptés à la machine sur laquelle vous travaillez. {{{ cd modipsl/util ./ins_make }}} La commande ins_make permet de créer un makefile pour la config. Dans notre exemple '''modipsl/config/IPSLCM4_v2/Makefile'''. Ce Makefile contrôle tous les makefiles des différents modèles utilisés.Une fois qu'il est créé vous n'avez pas besoin de le regéner (sauf changement de machine ou d'emplacement de modipsl dans votre architecture). [[BR]] Suivant la configuration sur laquelle vous travaillez le Makefile peut vous proposer différentes résolutions. Pour les connaître vous devez regarder les différentes target dans le fichier Makefile. Pour IPSLCM4_v2 ce sont les suivantes : * ORCA2xLMD4443 * ORCA2xLMD444315 * ORCA2xLMD444311 * ORCA2xLMD7245 * ORCA2lgmxLMD7245 * ORCA2xLMD9671 * ORCA2lgmxLMD9671 * ORCA2xLMD14496 * ORCA2xLMD144142 Lorsque vous savez quelle résolution vous désirez vous pouvez alors lancer la compilation : {{{ cd modipsl/config/IPSLCM4_v2/ gmake resolution_desirée }}} par exemple {{{ gmake ORCA2xLMD9671 }}} Petit truc : A la fin de la compilation le makefile crée un fichier .resol qui contiendra la résolution de la dernière compilation. Une fois ce fichier créé vous pouvez ensuite relancer les compilations juste avec la commande '''gmake''' vous n'êtes plus obligé de préciser la résolution. === Lancer une simulation === ==== Cas general ==== ===== Presentation du repertoire experience ===== Dans le répertoire '''modipsl/config/IPSLCM4_v2/''' vous trouverez 1 sous répertoires EXP00 [[BR]] Ce répertoire contient les fichiers nécessaires pour lancer une simulation : - 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 de paramètres nécessaires aux modèles[[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 (modèles) de votre configuration. 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]] Vous trouverez plus d'informations sur les cartes là : http://wiki.ipsl.jussieu.fr/wiki_ipsl/IGCMG/libIGCM/DocUtilisateur ===== Etapes avant la creation du job de simulation ===== ====== 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 JobNumProcTot=_nombre_processeurs }}} ====== répertoire COMP ====== (...) A chaque fois la syntaxe utilisée est la suivante : [[BR]] ''(path_fichier, fichier)'' [[BR]] Elle est équivalente à : [[BR]] ''cp path_fichier fichier'' [[BR]] ====== répertoire PARAM ====== (...) ===== Creation du 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 les variables '''elapstim_req''' et '''memsz_job''' en entête de job si nécessaire. {{{ #PBS -l memsz_job=6.0gb # limite memoire #PBS -l elapstim_req=00:30:00 # limite en temps elapsed }}} Remarque : Pour connaître les temps autorisés sur les différentes queues de la machine vous pouvez utiliser la commande '''class''' [[BR]] Avant de lancer votre simulation il vous reste une dernière étape : vous devez définir la variable '''!PeriodNb''' dans votre Job. '''!PeriodNb''' peut être définie comme le nombre maximal de '''!PeriodLength''' (dans config.card) pouvant être simulée sur le '''elapstim_req''' demandé ! [[BR]] [[BR]] ===== Lancement de la simulation ===== {{{ cd modipsl/config/IPSLCM4_v2/EXP00/ ccc_msub Job_nom_simul }}} [[BR]] [[BR]] ==== Cas particuliers LMDZ4OR_v2 et LMDZINCA_v2 ==== ===== Répertoires d'experience ===== * Pour LMDZ4OR_v2 le répertoire d'expérience se nomme LMDZOR * Pour LMDZINCA_v2 il y a un répertoire d'expérience par configuration de INCA : EXP_AER, EXP_CH4, EXP_NMHC .... Plus d'information sur la config LMDZINCA_v2 ici : http://forge.ipsl.jussieu.fr/igcmg/wiki/LMDZINCA_v2 ===== Création de l'état initial ===== Si vous n'avez pas de fichier d'états initiaux pour le modèle couplé celui-ci les crée automatiquement. Ce qui n'est pas le cas pour les configurations LMDZ4OR_v2 et LMDZINCA_v2. Dans ces deux cas vous trouverez un répertoire CREATE/ en plus de votre répertoire d'expérience. Nous allons prendre pour exemple la config LMDZ-ORCHIDEE. [[BR]] Le répertoire '''CREATE/''' est composé de : * un fichier config.card * un fichier config.card_AMIP * un sous répertoire COMP/ * un sous répertoire PARAM/ L'utilisateur peut décider soit de créer un état initial pour un '''run climato''' c'est à dire qu'il utilisera pour chaque année de simulation le même fichier de conditions aux limites. Soit de créer un état initial pour un '''run nudgé''' c'est à dire qu'à chaque année de simulation correspondra un fichier de conditions aux limites différents prenant en compte les données de sst et de glaces de mer (sic). Nous allons voir maintenant comment procéder dans ces deux cas : [[BR]][[BR]] * __RUN CLIMATO__ Dans ce cas vous laissez les fichiers tels que vous les avez extraits. {{{ cd modipsl/config/LMDZ4OR_v2/CREATE/ ls >>>> verification des fichiers dans le répertoire CREATE/ (cf ci-dessus) cd ../../../util ./ins_job >>>> creation du job Job_CLIM_EL dans le répertoire CREATE/ cd ../config/LMDZ4OR_v2/CREATE ccc_msub Job_CLIM_EL >>>> soumission du job tel quel }}} L'état initial ainsi créé sera dans le répertoire '''$DMFDIR/IGCM_OUT/LMDz4OR_v2/CLIM_EL/''' {{{ ls $DMFDIR/IGCM_OUT/LMDz4OR_v2/CLIM_EL/ATM/Restart/ CLIM_EL_19791230_limit.nc CLIM_EL_19791230_start.nc CLIM_EL_19791230_startphy.nc }}} Ensuite avant de lancer votre simulation vous devez vérifier que le fichier modipsl/config/LMDZ4OR_v2/LMDZOR/COMP/lmdz.card renvoie bien vers ces fichiers {{{ [InitialStateFiles] List= (${R_OUT}/${config_UserChoices_TagName}/${CREATE}/ATM/Restart/${CREATE}_19791230_start.nc, start.nc) \ (${R_OUT}/${config_UserChoices_TagName}/${CREATE}/ATM/Restart/${CREATE}_19791230_startphy.nc, startphy.nc) [...] [BoundaryFiles] ListNonDel= (${R_OUT}/${config_UserChoices_TagName}/${CREATE}/ATM/Restart/${CREATE}_19791230_limit.nc, limit.nc) \ [...] }}} [[BR]] * __RUN NUDGE__ Dans ce cas là vous devez utiliser les fichiers suffixés AMIP. Ils permettent de créer les fichiers aux limites pour les années 1956 à 2005 en utilisant les données AMIP. {{{ cd modipsl/config/LMDZ4OR_v2/CREATE mv config.card_AMIP config.card mv COMP/lmdz.card_AMIP COMP/lmdz.card cd ../../../util ./ins_job >>>> creation du Job Job_AMIP_EL cd ../config/LMDZ4OR_v2/CREATE ccc_msub Job_AMIP_EL }}} L'état initial ainsi créé sera dans le répertoire '''$DMFDIR/IGCM_OUT/LMDz4OR_v2/AMIP_EL/'''. Contrairement au cas climato vous obtenez 50 trios "start.nc, startphy.nc et limit.nc" {{{ ls $DMFDIR/IGCM_OUT/LMDz4OR_v2/AMIP_EL/ATM/Restart/ AMIP_EL_19561230_limit.nc AMIP_EL_19561230_start.nc AMIP_EL_19561230_startphy.nc (...) AMIP_EL_20051230_limit.nc AMIP_EL_20051230_start.nc AMIP_EL_20051230_startphy.nc }}} Pour votre simulation vous devrez comme précédemment indiquer les path de start et startphy dans le fichier lmdz.card. Mais attention cette fois ci pour le fichier de conditions aux limites il faudra l'indiquer dans la section '''List''' et non pas '''!ListNonDel''' de !BoundaryFiles. {{{ [InitialStateFiles] List= (${R_OUT}/${config_UserChoices_TagName}/${CREATE}/ATM/Restart/${CREATE}_${year}1230_start.nc, start.nc) \ (${R_OUT}/${config_UserChoices_TagName}/${CREATE}/ATM/Restart/${CREATE}_${year}1230_startphy.nc, startphy.nc) [...] [BoundaryFiles] List=(${R_OUT}/${config_UserChoices_TagName}/${CREATE}/ATM/Restart/${CREATE}_${year}1230_limit.nc, limit.nc) }}} [[BR]] __Remarque :__ Si vous souhaitez utiliser d'autres jeux de données que les données AMIP vous devez modifier le fichier modipsl/config/LMDZ4OR_v2/CREATE/lmdz.card [[BR]] [[BR]]