Changes between Version 206 and Version 207 of ModipslBeginner


Ignore:
Timestamp:
11/27/11 12:04:01 (12 years ago)
Author:
mafoipsl
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ModipslBeginner

    v206 v207  
    11= MODIPSL for beginner = 
    22 
    3 Dernire mise  jour : 26/05/2011 
    4 ---- 
    5 [[BR]] 
     3Cette page a été vidée après la réorganisation de la documentation par sous-chapitre. Voir wiki:ModipslBeginner1 
     4Si besoin de trouver l'ancienne version, regarder l'onglet history 
    65 
    7 [[PageOutline]] 
     6This page has been deleted after strong reorganisation. See : wiki:ModipslBeginner1 
     7If required, you can access to old version through History button. 
    88 
    9 '''MODIPSL pour les dbutants''' 
    10  
    11 MODIPSL est l'interface d'accès aux modèles de l'IPSL.  
    12 Cette page résume ce qu'un nouvel utilisateur de MODIPSL doit connaître. 
    13 [[BR]] 
    14 Cette page veut rassembler les informations pour les nouveaux utilisateurs et pointer  
    15 vers les pages plus complètes de chaque configuration ou de chaque outil quand nécessaire. [[BR]] 
    16 N'hésitez pas à consulter la présentation du cours "modipsl" disponible sur cette page : [wiki:igcmg/Documentation] 
    17  [[BR]] 
    18  
    19 {{{ 
    20 #!comment Table des matières ancienne version  
    21 ---- 
    22 '''Table des matières''' 
    23  * [wiki:ModipslBeginner#Environnementsdecalculs Environnements de Calculs] 
    24   * IDRIS 
    25   * CCRT 
    26  * [wiki:ModipslBeginner#Extrairemodipsl Accès à modipsl] 
    27   * [wiki:ModipslBeginner#Lectureseule Lecture seule (accès anonyme)] 
    28   * [wiki:ModipslBeginner#Modeadministrateur Mode administrateur ] 
    29   * [wiki:ModipslBeginner#PourensavoirplussurSVN Pour en savoir plus sur SVN ] 
    30  * [wiki:ModipslBeginner#Presentationdesrepertoires Présentation des répertoires de Modipsl] 
    31  * [wiki:ModipslBeginner#Listedesconfigurations Liste des configurations] 
    32  * [wiki:ModipslBeginner#Travailleravecuneconfiguration Travailler avec une configuration] 
    33   * [wiki:ModipslBeginner#Extraction Extraction] 
    34   * [wiki:ModipslBeginner#FCM FCM ] 
    35   * [wiki:ModipslBeginner#Compilation Compilation] 
    36     * [wiki:ModipslBeginner#OptionsdecompilationsdeLMDZ Options de compilations de LMDZ] 
    37   * [wiki:ModipslBeginner#Lancerunesimulation Lancement d'une simulation] 
    38    * [wiki:ModipslBeginner#Casgeneral Cas général ] 
    39      * [wiki:ModipslBeginner#Presentationdurepertoireexperience Présentation du répertoire d'expérience] 
    40      * [wiki:ModipslBeginner#Creationdujob Creation du job ] 
    41      * [wiki:ModipslBeginner#Lancementdelasimulation Lancement de la simulation ] 
    42      * [wiki:ModipslBeginner#LeparallelismeetlesfichiersBands Le parallelisme et les fichiers Bands ] 
    43    * [wiki:ModipslBeginner#CasparticuliersLMDZ4OR_v2etLMDZINCA_v2 Cas particuliers LMDZ4OR_v2 et LMDZINCA_v2]  
    44   * Suivi de la simulation (Monitoring) 
    45   * Post-traitements systématiques (atlas) 
    46  * Plus d'informations : 
    47   * [wiki:ModipslBeginner#Etatdelasimulationencours Etat de la simulation en cours ] 
    48   * [wiki:ModipslBeginner#Findesimulation Fin de simulation ] 
    49    * [wiki:ModipslBeginner#CommentlirelefichierScriptOutput Comment lire le fichier Script_output ] 
    50    * [wiki:ModipslBeginner#Outrouverlesfichiersdeoutput Ou trouver les fichiers de output ? ] 
    51    * Où est le script de sortie dans tous les cas (normal ou anormal)? 
    52    * Où trouver le journal de sortie? 
    53  * Questions/Réponses : 
    54   * Extraction : 
    55     * [wiki:ModipslBeginner#Motsdepasse Mots de passe] 
    56   * Compilation : 
    57     * A qui signaler quand cela ne marche pas? 
    58   * [wiki:ModipslBeginner#Execution Execution :] 
    59     * [wiki:ModipslBeginner#Relancerunesimulation Comment relancer? ] 
    60     * [wiki:ModipslBeginner#Poursuivreunesimulation Comment poursuivre?] 
    61   * Post-traitements : 
    62     * Comment vérifier les post-traitements? 
    63     * Comment relancer les post-traitements seulement? 
    64  * Questions/Réponses des autres documentations :  
    65   * [http://forge.ipsl.jussieu.fr/libigcm/wiki/DocUtilisateur/InstallationIPSLCM4v2#RedémarragedepuisdesrésultatsIPSLCM4_v1_OASIS3anciensscripts Redémarrage depuis des fichiers créés par un couplé IPSLCM4_v1] 
    66   * [http://forge.ipsl.jussieu.fr/libigcm/wiki/DocUtilisateur/InstallationIPSLCM4v2#RedémarragedepuisdesrésultatsIPSLCM4_v1Oasis2.4 Redémarrage depuis des fichiers créés par un couplé IPSLCM4_v1_OASIS3] 
    67   * [wiki:IPSLCM4_v2_PAR#CompilationFcm Comment remettre en route une compilation de LMDZ après recopie d'un répertoire complet sur un autre] 
    68   * [wiki:IPSLCM4_v2_PAR#CommentavoirautantdesortiestexteLMDZquedetaches Comment avoir autant de fichiers de sorties texte LMDZ que de taches lancées en parallèle] 
    69   * [wiki:IPSLCM4_v2_PAR#Commentdebogueravectotalview Comment déboguer le couplé avec totalview sur mercure] 
    70   * [http://forge.ipsl.jussieu.fr/libigcm/wiki/libIGCM/DocUtilisateur/FAQ libIGCM ]  
    71   * [http://forge.ipsl.jussieu.fr/libigcm/wiki/libIGCM/DocUtilisateur/FAQ#Messagesderreur Messages erreurs dans Script_output]  
    72   * [http://forge.ipsl.jussieu.fr/inca/wiki/FAQ_LMDZINCA FAQ LMDZINCA] 
    73 }}} 
    74 ---- 
    75  
    76 [[BR]] 
    77 [[BR]] 
    78 == Environnements de calculs == 
    79  === IDRIS === 
    80  * http://www.idris.fr/ 
    81  * les machines de l'IDRIS disponibles pour le couplé sont brodie (NEC SX-8) et vargas (IBM Power6). Pour vargas, voir informations plus loin. 
    82 __Mémo des choses à faire sur un nouveau login à l'IDRIS pour pouvoir préparer et lancer une simulation :__ 
    83      * PATH sur brodie : ajouter l'accès à svn et fcm : 
    84  {{{  
    85 PATH=$PATH:/TXlocal/pub/svn/svn-1.3.1/bin:/home/rech/psl/rpsl035/fcm/bin 
    86  }}} 
    87      * sur vargas, il faut  
    88        * avoir accès à svn : {{{module load svn}}} 
    89        * avoir fcm dans son PATH : 
    90  {{{  
    91 PATH=$PATH:/homegpfs/rech/psl/rpsl035/FCM/bin 
    92  }}} 
    93      * $WORKDIR sur ulam est très vaste mais non sauvegardé. C'est là que les post-traitements tourneront in fine.  
    94      * $WORKDIR sur brodie peut être étendu largement (50 Go pour le groupe par exemple). Le demander à l'assistance. Pour vérifier l'occupation et la taille : 
    95 {{{  
    96 quota_u -w  
    97 }}} 
    98      * sur ulam, il faut éviter les bavardages affichés lors de la connexion. Vérifier depuis brodie que la commande : rsh ulam pwd renvoie juste une ligne avec le HOME.  
    99 {{{ 
    100 brodie : rsh ulam pwd 
    101 /home/rech/... 
    102 brodie :  
    103 }}} 
    104      * Il faut faire marcher les transferts brodie/gaya par mfget/mfput. Pour cela utiliser la commande '''Ftuas''' sur ulam (permet de faire connaitre le mot de passe gaya à brodie et à toutes les machines).  
    105      * Pour que le stockage sur le serveur dods.idris fonctionne, il faut faire marcher la commande '''rsh gaya pwd''' sur ulam. Pour cela remplir le fichier gaya:~/.rhosts (et lui donner les accès rw-------) avec : 
    106  {{{ 
    107 ulam.idris.fr 
    108 ulam 
    109 brodie.idris.fr 
    110 brodie 
    111 }}} 
    112      * Pour les accès dods, il faut lancer de plus une commande mfdods sur gaya. Cela crée le lien (24h après la première fois) visible là : http://dods.idris.fr/monlogin. 
    113      * Pour donner les accès à tous (755 ou drwxr-xr-x) au WORKDIR de brodie, il faut demander à l'assistance IDRIS pour le niveau /u/rech/grp.  
    114 === CCRT === 
    115   * accès ouvert : http://www-ccrt.cea.fr/ 
    116   * accès protégé (authentification à l'aide de votre login et de votre mot de passe CCRT): https://www-ccrt.ccc.cea.fr  
    117    * [https://www-ccrt.ccc.cea.fr/intranetccrt/fr/ccrt/environnement_des_codes.htm Environnement des codes] 
    118  * les machines du CCRT disponibles pour le couplé sont mercure (NEC SX-8 et NEC SX-9) et platine (Bull Itanium) et titane (Bull Xeon). Voir information spécifique titane plus loin. 
    119 [[BR]] 
    120  __Mémo des choses à faire sur un nouveau login au CCRT pour pouvoir préparer et lancer une simulation :__ 
    121        * PATH sur mercure/platine/titane : ajouter l'accès à fcm : 
    122 {{{  
    123 PATH=$PATH:/home/cont003/p86ipsl/fcm/bin  # MERCURE only  
    124 }}} 
    125 [[BR]] 
    126  
    127 ==== Conseil pour installer son environnement au ccrt ====  
    128 Nous vous conseillons de garder le bash comme shell de login, et de récupérer les fichiers suivants :   
    129 {{{  
    130 ~p86ipsl/.bashrc  
    131 ~p86ipsl/.bashrc_platine  
    132 ~p86ipsl/.bashrc_mercure01  
    133 ~p86ipsl/.bashrc_cesium  
    134 ~p86ipsl/.bashrc_titane  
    135 ~p86ipsl/.profile  
    136 }}}  
    137   
    138 Ces fichiers sont maintenus par le groupe esci et sont adaptés aux machines de calcul du CCRT. Lorsque des modifications majeures sont apportées à l'une des machines (exemple : le changement de frontale de la machine mercure en juin 2010) vous pouvez récupérer la nouvelle version du fichier concerné (.bashrc_machine).   
    139  
    140   
    141 '''NOTE ''' : si votre shell de login n'est pas bash, vous pouvez le modifier avec la commande chsh.   
    142  
    143 === TGCC === 
    144  
    145  * accès ouvert : http://www-hpc.cea.fr/fr/complexe/tgcc.htm 
    146  
    147 ==== Logiciels installés par le TGCC ==== 
    148  
    149  * evince (remplace acroread ou xpdf ) 
    150  * cdo  
    151  * netcdf   
    152  * ferret  
    153  * firefox  
    154  * ghostscript 
    155  * imagemagick  
    156  * nco - Yann signale des soucis (7/7/2011) 
    157  * netpbm  
    158  * python 2.6.2, netCDF4 et numpy 
    159  * subversion 
    160  * tetex-latex 
    161  
    162 ==== Environnement IPSL ==== 
    163  
    164 Presque rien de fait pour l'instant. L'ouverture d'un compte commun igcmg est demandée. 
    165  
    166  * Rebuild : /ccc/store/cont005/pa0369/meurdesy/REBUILD 
    167  
    168 == Extraire modipsl == 
    169  
    170 === Mode utilisateur === 
    171 {{{ 
    172 svn co http://forge.ipsl.jussieu.fr/igcmg/svn/modipsl/trunk modipsl 
    173 }}} 
    174 Pour vous simplifier la vie et éviter de retaper cette ligne de commande à chaque nouvelle extraction de modipsl, nous  
    175 vous conseillons de vous créer un alias :  
    176 {{{ 
    177 alias svn_ano='svn co http://forge.ipsl.jussieu.fr/igcmg/svn/modipsl/trunk modipsl' 
    178 }}} 
    179 La commande d'extraction devient alors juste 
    180 {{{ 
    181 svn_ano 
    182 }}} 
    183  
    184 Attention sur vargas (IDRIS) il faut explicitement demander l'accès à svn : {{{ module load subversion }}} 
    185  
    186 === Mode administrateur === 
    187 {{{ 
    188 svn co svn+ssh://yourlogin@forge.ipsl.jussieu.fr/ipsl/forge/projets/igcmg/svn/modipsl/trunk modipsl 
    189 }}} 
    190 D'autres commandes en bas de cette page : [wiki:igcmg/Documentation] 
    191  
    192 === Pour en savoir plus sur SVN === 
    193  * Le site officiel de subversion : http://subversion.tigris.org/ 
    194  * [http://igcmg.ipsl.jussieu.fr/ESCI/Exposes/SVN-2007-03-28/svn_p.html Présentation de SVN (Jacques Bellier)] 
    195  * [http://igcmg.ipsl.jussieu.fr/ESCI/Exposes/SVN-2007-03-28/svn_swt.html SVN commandes] 
    196  * [http://igcmg.ipsl.jussieu.fr/ESCI/Exposes/SVN-2007-03-28/svnqref.html SVN quick reference guide] 
    197  * [http://igcmg.ipsl.jussieu.fr/ESCI/Exposes/SVN-2007-03-28/key_ssh.html Mémo sur la gestion des clés ssh]  
    198  * [http://forge.ipsl.jussieu.fr/inca/wiki/InstSvnInca Quelques commandes de base pour SVN (Anne Cozic)]  
    199  * [http://wiki.ipsl.jussieu.fr/Pole/ESCI?action=AttachFile&do=get&target=Subversion_2008.pdf Point sur l'utilisation de SVN (Marie-Alice Foujols)] (accès restreint) 
    200  
    201 [[BR]] 
    202 [[BR]] 
    203 ---- 
    204  
    205 == Présentation des répertoires de modipsl == 
    206 Après avoir extrait Modipsl vous avez un répertoire contenant 7 sous-répertoires :  
    207  * bin/ 
    208  * config/ 
    209  * doc/ 
    210  * lib/ 
    211  * modeles/ 
    212  * tmp/ 
    213  * util/ 
    214 Tous ces répertoires sont vides excepté le répertoire '''doc/''' contenant le texte de la licence CECILL (license 
    215 sous laquelle sont placés les modèles de l'IPSL) et le répertoire '''util/''' qui contient les scripts  
    216 nécessaires à une installation complète de n'importe quelle configuration disponible des modèles de l'IPSL. [[BR]] 
    217 {{{ 
    218 mod.def         >>>>>> Définition pour chaque configuration de leurs composantes et de leurs tags 
    219 model           >>>>>> Extraction des modèles validés disponibles 
    220 ins_make        >>>>>> Installation et configuration des Makefiles  
    221 ins_job         >>>>>> Installation et configuration des scripts de lancement 
    222 }}} 
    223 Voir le transparent 26 de la présentation. 
    224  
    225 [[BR]] 
    226 [[BR]] 
    227 ---- 
    228  
    229 == Liste des configurations disponibles via modipsl == 
    230 Via modipsl vous pouvez avoir accès à un grand nombre de configurations regroupant différents modèles de l'IPSL.  
    231 Pour connaître cette liste il vous suffit dans le répertoire '''util/''' de passer la commande suivante :  
    232 {{{ 
    233 cd modipsl/util 
    234 ./model -h  
    235 }}} 
    236  
    237 Pour avoir plus d'informations sur une configuration en particulier (modèles utilisés, versions CVS ou SVN utilisées ...)  
    238 il faut passer la commande 
    239 {{{ 
    240 ./model -h nom_de_la_config 
    241 }}} 
    242 Exemple avec LMDZOR_v4 :  
    243 {{{ 
    244 >> ./model -h LMDZOR_v4 
    245  
    246 >> model : LMDZOR_v4 
    247    
    248 LMDZ and ORCHIDEE (closest version to IPSLCM5A) 
    249 This configuration can be used with LMDZ4 or LMDZ5(default) 
    250   
    251 model manager email address : blablabla@blbla 
    252   
    253 Component 1 : IOIPSL/tags/v2_2_1/src 
    254 Tag       1 : HEAD 
    255 System    1 : svn 
    256 Server    1 : http://forge.ipsl.jussieu.fr/igcmg/svn 
    257 Directory 1 : IOIPSL/src 
    258 Local Dir 1 : modeles 
    259 Component 2 : ORCHIDEE 
    260 Tag       2 : orchidee_1_9_5 
    261 System    2 : cvs 
    262 Server    2 : sechiba@cvs.ipsl.jussieu.fr:/home/ssipsl/CVSREP 
    263 Directory 2 : . 
    264 Local Dir 2 : modeles 
    265 Component 3 : LMDZ5/trunk 
    266 Tag       3 : HEAD 
    267 System    3 : svn 
    268 Server    3 : http://svn.lmd.jussieu.fr/LMDZ 
    269 Directory 3 : LMDZ 
    270 Local Dir 3 : modeles 
    271 Component 4 : CONFIG/LMDZOR/branches/LMDZOR_v4 
    272 Tag       4 : HEAD 
    273 System    4 : svn 
    274 Server    4 : http://forge.ipsl.jussieu.fr/igcmg/svn 
    275 Directory 4 : LMDZOR_v4 
    276 Local Dir 4 : config 
    277 Component 5 : tags/libIGCM_v1_11 
    278 Tag       5 : HEAD 
    279 System    5 : svn 
    280 Server    5 : http://forge.ipsl.jussieu.fr/libigcm/svn 
    281 Directory 5 : libIGCM 
    282 Local Dir 5 : . 
    283  
    284 }}} 
    285 La première partie indique les modèles utilisés dans la configuration ainsi que leurs numéros de version sur CVS ou SVN.  
    286 Ensuite est donnée l'adresse e-mail du responsable de cette configuration, puis tous les paths des composantes.  
    287  
    288 [[BR]] 
    289 [[BR]] 
    290 ---- 
    291  
    292 == Travailler avec une configuration choisie == 
    293 Dans ce paragraphe nous prendrons comme exemple le modèle couplé '''IPSLCM5A'''. Les autres configurations 
    294 utilisant modipsl ('''IPSL_ESM_V1''', '''LMDZOR_v4''', '''LMDZINCA_v2''', '''LMDZORINCA''' ...) 
    295 suivent le même principe. Quand des cas particuliers existent nous vous les indiquerons.  
    296  [[BR]] 
    297  
    298 === Extraction === 
    299 {{{ 
    300 cd modipsl/util 
    301 ./model -h               >>>> indique toutes les configurations dispo 
    302 ./model IPSLCM5A       >>>> on choisit d'extraire la configuration IPSLCM5A 
    303 }}} 
    304 Lors de cette extraction plusieurs logins et mots de passe vous seront demandés. Pour les  
    305 récupérer adressez vous au responsable de la configuration (voir ci-dessus model manager email address) [[BR]] 
    306 En cas d'urgence, vous pouvez aussi récupérer le fichier ~/.cvspass et le répertoire ~/.subversion d'un autre utilisateur. 
    307 Cette commande récupère sur CVS et/ou SVN les différents modèles composant la configuration demandée.  
    308 Les sources de ces modèles sont installées dans le répertoire '''modipsl/modeles/'''. Pour notre exemple 
    309 vous obtenez les répertoires suivants :  
    310  * modipsl/modeles/IOIPSL/ 
    311  * modipsl/modeles/LMDZ4/ 
    312  * modipsl/modeles/NEMO/ 
    313  * modipsl/modeles/UTIL/ 
    314  * modipsl/modeles/ORCHIDEE/ 
    315  * modipsl/modeles/XMLF90 
    316  * modipsl/modeles/XMLIO_SERVER 
    317 Modipsl installe également ce que l'on appelle une '''configuration'''. Elle est dans le répertoire  
    318 '''modipsl/config/''' (ici modipsl/config/IPSLCM5A/). [[BR]] 
    319 Cette configuration vous permettra de [wiki:ModipslBeginner#Compilation compiler] l'ensemble des modèles, puis de [wiki:ModipslBeginner#Lancerunesimulation lancer une simulation]. [[BR]] 
    320  [[BR]] 
    321 ==== Mots de passe ==== 
    322  
    323 Pour connaitre les mots de passe d'extraction s'adresser au ''model manager email address''. Il est indiqué lors de la commande  
    324 {{{ 
    325  ./model -h IPSLCM5A  
    326 }}} 
    327  [[BR]] 
    328  
    329 === FCM === 
    330 Certains modèles de l'IPSL utilisent l'outils [http://www.metoffice.gov.uk/research/nwp/external/fcm/ FCM] pour gérer la création de leur makefile (modèle LMDZ, modèle INCA ...).  
    331 FCM n'est pas accessible par défaut sur les machines de calcul. Il est disponible sur les machines de l'IDRIS et du CCRT et vous devez l'ajouter à votre PATH : 
    332 {{{ 
    333 # sur mercure, platine et titane 
    334 PATH=~p86ipsl/fcm/bin:$PATH 
    335 # sur brodie 
    336 PATH=/home/rech/psl/rpsl035/fcm/bin:$PATH 
    337 # sur vargas 
    338 PATH=/homegpfs/rech/psl/rpsl035/FCM/bin/fcm:$PATH 
    339 }}} 
    340 [[BR]] 
    341  
    342 === Compilation === 
    343  
    344 ==== Spécificité titane ==== 
    345  
    346 Pour compiler sur titane, il faut charger explicitement la bonne bibliothèque NetCDF. Faire : 
    347 {{{ 
    348 module load netcdf/3.6.3 
    349 }}} 
    350  
    351 Pour compiler le couplé, voir plus loin les détails : 
    352  * il faut supprimer les 2 clés : "key_vectopt_loop key_vectopt_memory"  dans config/IPSLCM5A/AA_make 
    353  * il faut explicitement demander l'utilisation de 5 processeurs pour NEMO. Sinon le message est : 
    354 {{{ 
    355 xmlf90 ../../../lib/libioipsl.a -L/applications/netcdf-3.6.3/lib -lnetcdff -lnetcdf 
    356 /applications/intel/cprof/11.1.056/lib/intel64/libimf.so: warning: warning: feupdateenv is not implemented and will always fail 
    357 ../../../lib/libopa.a(opa.o): In function `opa_mp_opa_model_': 
    358 opa.F90:(.text+0x2a5): relocation truncated to fit: R_X86_64_PC32 against symbol `dom_oce_mp_narea_' defined in COMMON section in ../../../lib/libopa.a(dom_oce.o) 
    359 opa.F90:(.text+0x8bb): relocation truncated to fit: R_X86_64_PC32 against symbol `in_out_manager_mp_nprint_' defined in COMMON section in ../../../lib/libopa.a(in_out_manager.o) 
    360 ... 
    361 opa.F90:(.text+0xa4d): additional relocation overflows omitted from the output 
    362 gmake[2]: *** [../../../bin/opa] Error 1 
    363 }}} 
    364 La correction à faire est la suivante :  
    365 {{{ 
    366 dans modipsl/modeles/NEMO/WORK/par_oce.F90 (lignes 29-31) 
    367       jpni   = 1,                   &  !: number of processors following i 
    368       jpnj   = 5,                   &  !: number of processors following j 
    369       jpnij  = 5                       !: nb of local domain = nb of 
    370 processors 
    371  
    372 }}} 
    373  
    374 ==== Spécificité SX8 ==== 
    375  
    376 Pour compiler pour la SX8, il faut explicitement charger netcdf pour SX8. Le plus simple est de se préparer une fonction pour cela, par exemple sx8 : 
    377 {{{ 
    378 sx8 () {  module load netcdf_sx8 ; export PS1="SX8"' - $PWD : ' ; } 
    379 }}} 
    380  
    381 ==== Spécificité SX9 ==== 
    382 Pour compiler pour la SX9, il faut vous placer dans l'environnement SX9. Le plus simple est de se préparer une fonction pour cela, par exemple sx9 : 
    383 {{{ 
    384 sx9 () { module switch SX8 SX9 ; module load netcdf_sx9 ; export PS1="SX9"' - $PWD : ' ; } 
    385 }}} 
    386  
    387 A noter : si vous recompilez en restant en SX8 alors que tout a été fait en SX9 jusque là, vous aurez le message suivant d'erreur et aucune recompilation ne se fera. 
    388 {{{ 
    389 **************************************************************** 
    390 INFO -  This Makefile is for host type : sx9mercure 
    391 INFO -  Host used has type :             sx8mercure 
    392 **************************************************************** 
    393 ERROR - This Makefile is not compatible whith the host ! 
    394 **************************************************************** 
    395 Makefile:22: *** .  Stop. 
    396 }}} 
    397  
    398 La soumission des post-traitements se fait vers cesium depuis le 11/2009. Pour que cela marche il faut avoir créé une passphrase vide pour ssh et s'être connecté sur cesium au moins une fois. 
    399  
    400 Mémo : 
    401 {{{ 
    402 mercure : pwd 
    403 ~/.ssh 
    404 mercure : ssh-keygen -t rsa 
    405 Generating public/private rsa key pair. 
    406 Enter file in which to save the key (/home/cont003/xxxxxx/.ssh/id_rsa):  
    407 Enter passphrase (empty for no passphrase): (RETURN) 
    408 Enter same passphrase again: (RETURN) 
    409 Your identification has been saved in ...../.ssh/id_rsa. 
    410 Your public key has been saved in ...../.ssh/id_rsa.pub. 
    411 The key fingerprint is: 
    412 af:.... 
    413 mercure  : cat id_rsa.pub >>authorized_keys 
    414  
    415 }}} 
    416  
    417 Commandes à passer pour vérifier que les post-traitements se feront bien sur ceisum : 
    418  
    419 {{{ 
    420 cesium : ssh mercure pwd 
    421 mercure : ssh mercure01 pwd 
    422 mercure : ssh mercure01 ssh cesium pwd 
    423 }}} 
    424  
    425 Plus d'informations sur la compilation SX9/SX8 : [http://wiki.ipsl.jussieu.fr/Pole/Couple/CCRT/SX9 là (Intranet)] 
    426  
    427 ==== Toutes machines ==== 
    428  
    429 Avant la première compilation des différents modèles de votre configuration 
    430 vous devez créer les makefiles adaptés à la machine sur laquelle vous travaillez.  
    431 {{{ 
    432 cd modipsl/util 
    433 ./ins_make 
    434 }}} 
    435 La commande ins_make permet de créer un makefile pour la config. Dans notre exemple '''modipsl/config/IPSLCM5A/Makefile'''.  
    436 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énérer (sauf  
    437 changement de machine ou d'emplacement de modipsl dans votre architecture). [[BR]] 
    438 Vous pouvez ensuite lancer la compilation (résolution par défaut soit ORCA2 et LMDZ 96x95x39) :  
    439 {{{ 
    440 cd modipsl/config/IPSLCM5A/ 
    441 gmake 
    442 }}} 
    443  
    444 Suivant la configuration sur laquelle vous travaillez le Makefile peut vous proposer différentes résolutions. Pour les connaître vous devez  
    445 regarder les différentes target (normalement en lettres majuscules) dans le fichier Makefile. Pour IPSLCM5A ce sont les suivantes :  
    446  * ORCA2xLMD4443  
    447  * ORCA2xLMD5655   
    448  * ORCA2xLMD9671 
    449  * ORCA2xLMD9695 
    450  * '''ORCA2xLMD9695-L39'''  
    451  * ORCA2xLMD144142 
    452  * ORCA2xLMD144142-L39 
    453 Lorsque vous savez quelle résolution vous désirez vous pouvez alors lancer la compilation :  
    454 {{{ 
    455 cd modipsl/config/IPSLCM5A/ 
    456 gmake resolution_desirée 
    457 }}} 
    458 par exemple  
    459 {{{ 
    460 gmake ORCA2xLMD144142-L39  
    461 }}} 
    462  
    463 Petit truc : A la fin de la compilation le makefile crée un fichier .resol qui contiendra la résolution  
    464 de la dernière compilation. Une fois ce fichier créé vous pouvez ensuite relancer les compilations  
    465 juste avec la commande '''gmake''' vous n'êtes plus obligé de préciser la résolution.  
    466  [[BR]] 
    467 ==== A qui signaler quand cela ne marche pas? ==== 
    468 Si il y a un problème de compilation vous pouvez vous adresser au ''model manager''. Il est indiqué lors de la commande  
    469 {{{ 
    470  ./model -h IPSLCM5A  
    471 }}} 
    472 [[BR]] 
    473  
    474 ==== Options de compilations de LMDZ ====  
    475 LMDZ propose un certain nombre d'options de compilation que voilà :  
    476 {{{ 
    477 makelmdz_fcm [options] -m arch exec 
    478 [-h]                       : manuel abrégé 
    479 [-d [[IMx]JMx]LM]          : IM, JM, LM sont les dims en x, y, z (def: $dim) 
    480 [-p PHYS]                  : compilation avec la physique libf/phyPHYS, (def: lmd) 
    481 [-prod / -dev / -debug]    : compilation en mode production (default) / developpement / debug . 
    482 [-c false/MPI1/MPI2]       : couplé océan : MPI1/MPI2/false (def: false) 
    483 [-v false/true]            : avec ou sans végétation (def: false) 
    484 [-chimie INCA/false]       : avec ou sans model de chimie INCA (def: false) 
    485 [-parallel none/mpi/omp/mpi_omp] : parallelisation (default: none) : mpi, openmp ou mixte mpi_openmp 
    486 [-g GRI]                   : conf. grille dans dyn3d/GRI_xy.h  (def: reg inclue un zoom) 
    487 [-io IO]                   : choix d'une librairie I/O, experts (def: ioipsl) 
    488 [-include INCLUDES]        : variables supplementaires pour include 
    489 [-cpp CPP_KEY]             : cle cpp supplementaires 
    490 [-adjnt]                   : adjoint, a remettre en route ... 
    491 [-filtre NOMFILTRE]        : prend le filtre dans libf/NOMFILTRE (def: filtrez) 
    492 [-link LINKS]              : liens optionels avec d'autres librairies 
    493 [-fcm_path path]           : chemin pour fcm (def: le chemin est suppose deja exister dans le PATH) 
    494 [-ext_src path]            : chemin d'un repertoire source avec des sources externe a compiler avec le modele 
    495  -arch nom_arch            : nom de l'architecture cible 
    496  exec                      : exécutable généré 
    497 }}} 
    498 Ces options sont utilisées dans le fichier config/IPSLCM5A/Makefile. Notez que par défaut on demande la compilation en mode mpi.  
    499 [[BR]] 
    500  
    501 === Lancer une simulation === 
    502 ==== Cas général ==== 
    503 '''NOTE''' avant la première simulation veillez à créer le fichier ~/.forward contenant votre adresse mail, pour que les mails envoyés en fin de simulation soient  
    504 bien redirigés vers votre boîte mail. [[BR]] 
    505  
    506 ===== Présentation du répertoire d'expérience ===== 
    507 Dans le répertoire '''modipsl/config/IPSLCM5A/''' vous trouverez 1 sous répertoire EXP00 [[BR]] 
    508 Ce répertoire contient les fichiers nécessaires pour lancer une simulation :  
    509  - un fichier config.card 
    510  - un répertoire COMP/ 
    511  - un répertoire PARAM/ 
    512  - un répertoire POST/ 
    513  
    514 Le fichier config.card contient la fiche d'identité de votre simulation (nom - dates de début et de fin - calendrier ...). Il contient également les options de démarrage : démarrage depuis les états initiaux (par défaut) ou redémarrage depuis une simulation (à soi ou non).[[BR]] 
    515 Le répertoire PARAM/ contient les fichiers de paramètres nécessaires aux modèles[[BR]] 
    516 Le répertoire COMP/ contient deux sortes de fichiers : des cartes (.card) et des drivers (.driver). Les drivers ne sont pas à changer,  
    517 ils indiquent les opérations à faire pour chaque composantes (modèles) de votre configuration. Les cartes   
    518 contiennent les informations nécessaires pour chaque composantes (les fichiers d'états initiaux, les fichiers de conditions aux limites, les  
    519 fichiers d'émissions ...) ainsi que comment gérer les fichiers sorties des composantes (noms des fichiers que l'on veut conserver, et post-traitement  
    520 qu'on leur associe.) [[BR]] 
    521 Le répertoire POST/ contient 2 fichiers de configuration des monitoring, spécifiques pour la glace lim2 et stomate. [[BR]] 
    522 Vous trouverez plus d'informations sur les cartes là : [http://forge.ipsl.jussieu.fr/libigcm/wiki/DocUtilisateur Doc Utilisateur libIGCM] 
    523  
    524 [[BR]] 
    525 ===== Etapes avant la création du job de simulation ===== 
    526 __'''config.card'''__ [[BR]] 
    527 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]] 
    528 Voici les rubriques à modifier :  
    529 {{{ 
    530 JobName=_nom_simul_ 
    531 ExperimentName=pdControl (mettre le nom de l'expérience selon le vocabulaire CMIP5. pdControl par défaut) 
    532 SpaceName=DEVT (mettre DEVT, TEST ou PROD)  
    533 DateBegin=_date_debut_simul_ 
    534 DateEnd=_date_fin_simul_ 
    535 PeriodLength= indiquez ici la fréquence de lancement de l'exécutable >>> voir ci-dessous après l'exemple  
    536 JobNumProcTot=_nombre_processeurs 
    537 }}} 
    538 Exemple (10 ans):  
    539 {{{ 
    540 JobName=RUN1 
    541 DateBegin=1950-01-01 
    542 DateEnd=1959-12-30 
    543 PeriodLength=1M 
    544 JobNumProcTot=4 
    545 }}} 
    546  
    547 __!PeriodLength__ : [[BR]] 
    548 !PeriodLength correspond à la fréquence des fichiers de sorties de votre modèle. Vous avez le choix entre 
    549 1 jour, 5 jours, 1 mois ou 1 an (1D, 5D, 1M ou 1Y). Si vous choisissez 1D cela signifie que au bout d'une année 
    550 de simulation vous aurez 360 fichiers de sorties. Si vous choisissez 1M vous aurez 12 fichiers de sorties, et si  
    551 vous choisissez 1Y vous aurez 1 fichier de sortie. [[BR]] 
    552 '''Attention''' il faut impérativement que !PeriodLength ne soit  
    553 pas supérieur à la durée de votre simulation : c'est à dire pour une simulation de 1 mois ne demandez pas une 
    554 !PeriodLength de 1 an. [[BR]] 
    555  
    556 '''__répertoire COMP__'''[[BR]] 
    557 Comme indiqué ci-dessus le répertoire COMP contient une carte par composante (modèle) de votre configuration. Chacune 
    558 de ces cartes est divisée en différentes parties :  
    559  * `[InitialStateFiles]        >>>> indique les fichiers d'état initiaux utilisés pour votre simulation (ex start.nc et startphy.nc pour le modèle lmdz)` 
    560  * `[BoundaryFiles]            >>>> indique les fichiers de conditions aux limites (deux parties List pour les fichiers variant avec le temps, ` 
    561  `                                 et ListNonDel pour ceux qui ne varient pas)` 
    562  * `[ParametersFiles]          >>>> liste des fichiers de paramètres pour le modèle (stockés dans EXP00/PARAM/) ` 
    563  * `[RestartFiles]             >>>> liste des fichiers de restart pour le redémarrage du modèle : cette liste ne doit pas être modifiée` 
    564  * `[OutputText]               >>>> liste des fichiers texte en sortie du modèle` 
    565  * `[OutputFiles]              >>>> liste des fichiers netcdf en sortie du modèle avec le post-traitement éventuel` 
    566  * `[Post_...]                 >>>> description des différentes post-traitements. ` 
    567   
    568 A chaque fois la syntaxe utilisée est la suivante :  
    569  
    570 ''(path_fichier, fichier)'' [[BR]] 
    571 Elle est équivalente à : [[BR]] 
    572 ''cp path_fichier fichier'' [[BR]] 
    573  
    574 {{{ 
    575 exemple : 
    576 ListNonDel= (${R_BC}/ATM/${config_UserChoices_TagName}/${RESOL_ATM}/HISTORIQUE/so4.run1850.cdf, .),\ 
    577  
    578 c'est équivalent à  
    579  
    580 cp ${R_BC}/ATM/${config_UserChoices_TagName}/${RESOL_ATM}/HISTORIQUE/so4.run1850.cdf . 
    581 }}} 
    582  
    583 '''ATTENTION''' : il ne faut pas laisser d'espace après le "\". Si jamais vous laissez un espace la ligne qui suit n'est pas prise en compte. [[BR]] 
    584 '''NOTE''' : dans les cartes fournies avec les modèles nous utilisons régulièrement les variables ${R_BC} et ${R_INIT}. Par défaut elles sont définies ainsi : 
    585 {{{ 
    586   R_BC = /dmnfs/cont003/p86ipsl/IGCM/BC 
    587   R_INIT = /dmnfs/cont003/p86ipsl/IGCM/INIT 
    588 }}} 
    589 Toute fois si vous le souhaitez vous pouvez écraser ces définitions en redéfinissant R_BC et R_INIT dans le fichier config.card. [[BR]] 
    590 Le répertoire /dmnfs/cont003/p86ipsl/IGCM regroupe tous les fichiers d'input pour les différentes configurations. [[BR]] 
    591 [[BR]] 
    592 [[BR]] 
    593 __Nouvelles options dans lmdz.card__ [[BR]] 
    594 Dans certaines configurations (entre autre IPSLCM5A) vous avez des options en plus dans lmdz.card :  
    595 {{{ 
    596 LMDZ_NbPeriod_adjust=3 
    597 }}} 
    598  * LMDZ_NbPeriod_adjust permet de définir combien de !PeriodLenght on veut utiliser au début d'une simulation pour créer le fichier Bands qui permet d'ajuster au mieux la parallélisation du code. Si jamais on souhaite utiliser un fichier pré-existant il faut indiquer LMDZ_NbPeriod_adjust=0 et préciser le nom du fichier Bands à utiliser. Attention au nombre de proc et à la grille précisés dans ce nom. 
    599 [[BR]] 
    600  
    601 __'''répertoire PARAM'''__[[BR]] 
    602 Ce répertoire contient les fichiers de paramètres des différents modèles. Reportez vous aux documentations scientifiques de chacun de ces modèles 
    603 pour en connaître les différentes utilisations.  
    604 [[BR]] 
    605  
    606 ===== Création du job ===== 
    607  
    608 '''Avant''' : vérifier le fichier config.card.  
    609  
    610 {{{ 
    611 cd modipsl/util 
    612 ./ins_job  
    613 }}} 
    614 Cette commande recherche tous les fichiers config.card existant dans des sous-répertoires de modipsl et crée  
    615 les job associés (en reprenant la rubrique !JobName du fichier config.card).  
    616 Si jamais un fichier du même nom (Job_nom_simul) existe déjà alors  
    617 un message d'avertissement apparait et le job n'est pas écrasé.  
    618 Vous devez l'effacer au préalable pour pouvoir le recréer. [[BR]] 
    619  
    620 Cette commande crée également run.card.init, squelette du fichier run.card qui contiendra l'état d'avancement de la simulation. 
    621  
    622 Il crée également les jobs de post-traitement, spécifiques à la machine de post-traitement dans le répertoire : modipsl/libIGCM . Ils s'appellent xxxx.job. 
    623  
    624 '''Après''' : vérifier le fichier Job_nom_simul 
    625  
    626  
    627 N'oubliez pas de modifier les variables '''elapstim_req''' et '''memsz_job''' en entête de job si nécessaire (voir documentation 
    628 sur les machines de calculs du CCRT ou les variables '''cputim_job''' et '''memsz_job''' sur les machines NEC de l'IDRIS). 
    629 {{{ 
    630 #PBS -l memsz_job=15.0gb       # limite memoire 
    631 #PBS -l elapstim_req=02:00:00 # limite en temps elapsed 
    632 }}} 
    633 Remarque : Pour connaître les temps autorisés sur les différentes queues de la machine vous pouvez utiliser la commande 
    634 '''class''' au CCRT ou '''news class''' à l'IDRIS. 
    635 [[BR]] 
    636 Par défaut la simulation tournera sur le disque tmpdir de la machine.  
    637 Si vous voulez qu'elle ait lieu sur le scratchir ou workdir, vous devez 
    638 modifier la variable RUN_DIR_PATH dans le fichier Job_nom_simul  
    639 {{{ 
    640 RUN_DIR_PATH=$SCRATCHDIR 
    641 }}} 
    642 Avant de lancer votre simulation il vous reste une dernière étape : vous devez définir la variable '''!PeriodNb''' dans  
    643 votre Job. '''!PeriodNb''' peut être définie comme le nombre maximal de '''!PeriodLength''' (dans config.card) pouvant être 
    644 simulée sur le '''elapstim_req''' demandé ! [[BR]] 
    645 exemple :  
    646 {{{ 
    647 PeriodLength=1M 
    648 elapstim_req=20:00:00 
    649 PeriodNb=12             >>>> cela signifie que vous pouvez faire passer 12 mois de simulations durant 20h de temps CPU 
    650 }}} 
    651 [[BR]] 
    652 [[BR]] 
    653  
    654 ===== Temps d'execution du couplé IPSLCM5A ===== 
    655  
    656 '''ORCA2xLMD9695-L39''' 
    657  
    658 || machine || cpus || (1 mois)  temps CPU || (1 mois)  temps réel ||  10 ans temps réel || 
    659 || mercure SX8R || 4 || 3300 s || '''1000 s''' || 2 jours|| 
    660 || mercure SX9 || 4 || 2000 s || '''680 s''' || 1 jour || 
    661 || brodie SX8 || 4 || '''3600 s''' || 1200 s || 2 jours || 
    662 || vargas IBM || 32 || || '''1100 s''' || 1,5 jours || 
    663  
    664 En gras, ce qu'il faut utiliser pour l'entête du job. 
    665  
    666 ===== Exécution de la simulation ===== 
    667  
    668 '''Avant''' : Vérifier les dates et les options de démarrage du fichier config.card. 
    669  
    670 __Au CCRT__ 
    671 {{{ 
    672 cd modipsl/config/IPSLCM5A/EXP00/ 
    673 ccc_msub Job_nom_simul 
    674 }}} 
    675 __A l'IDRIS__ 
    676 {{{ 
    677 cd modipsl/config/IPSLCM5A/EXP00/ 
    678 qsub Job_nom_simul 
    679 }}} 
    680 [[BR]] 
    681  
    682 '''ATTENTION''': par défaut des job d'atlas seront lancés à la fin de votre simulation. Ces jobs s'intitulent REBUILDA, TS et SE. Pour en savoir plus voir [wiki:ModipslBeginner#Lespost-traitementsaveclibIGCM] 
    683  
    684 ==== Le parallelisme et les fichiers Bands ==== 
    685 Les fichiers Bands sont des fichiers nécesaires à la parallélisation. Ils permettent d'optimiser la répartition des points de grilles sur les différents processeurs en fonction du code de calcul.  
    686  
    687 ===== A retenir ===== 
    688  
    689 Par défaut, le couplé IPSLCM5A, peut tourner sur un nombre quelconque de processeurs. Il crée lui-même le fichier Bands lors des 3 premiers mois de la simulation puis utilise celui du dernier mois. Il est possible d'utiliser le fichier Bands d'une autre simulation, voir paramétrage dans COMP/lmdz.card. 
    690  
    691 '''ATTENTION''' : Pour être certain d'obtenir les même résultats entre deux simulations il faut annuler l'ajustement et la création des fichiers Bands. Il faut utiliser pour les deux simulations le MÊME fichier Bands.  
    692  
    693 ==== Cas particuliers LMDZ-ORCHIDEE et LMDZ-INCA ==== 
    694 Plus d'information sur la configuration avec LMDZ-ORCHIDEE, voir ici : [wiki:LMDZOR_v4][[BR]] 
    695   
    696 Plus d'information sur les configurations avec le modèle INCA, voir ici : [http://forge.ipsl.jussieu.fr/inca/wiki INCA][[BR]] 
    697  
    698 ===== Répertoires d'expérience ===== 
    699  * Pour LMDZOR_v4 le répertoire d'expérience se nomme LMDZOR 
    700  * Pour LMDZINCA_v2 il y a un répertoire d'expérience par configuration de INCA : EXP_AER, EXP_CH4, EXP_NMHC ....  
    701  
    702 ===== Création de l'état initial pour LMDZOR =====  
    703 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  
    704 cas pour les configurations LMDZOR_v4 et LMDZINCA_v2. Dans ces deux cas vous trouverez un répertoire CREATE/ en plus de votre  
    705 répertoire d'expérience. Nous allons prendre pour exemple la config LMDZOR_v4. [[BR]] 
    706 Le répertoire '''CREATE/''' est composé de :  
    707  * un fichier config.card 
    708  * un fichier config.card_Interannuel 
    709  * un sous répertoire COMP/ 
    710   
    711 L'utilisateur peut décider soit de créer un état initial et conditions aux limites pour un '''run climatologique''' c'est à dire qu'il utilisera pour chaque  
    712 année de simulation le même fichier de conditions aux limites. Soit de créer un état initial et conditions aux limites pour un '''run inter-annuel''' ou '''run nudgé''' c'est à dire 
    713 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 
    714 glaces de mer (sic). Nous allons voir maintenant comment procéder dans ces deux cas.  
    715 [[BR]][[BR]] 
    716  
    717  * __RUN CLIMATOLOGIQUE__  
    718 Pour un run climatologique, utilisez les config.card et lmdz.card avec le suffix ''_Climat''. 
    719 {{{ 
    720 cd modipsl/config/LMDZOR_v4/CREATE 
    721 ln -s config.card_Climat config.card             >>>> choix du config.card et lmdz.card avec un lien ou copie 
    722 cd COMP; ln -s lmdz.card_Climat lmdz.card; cd ..  
    723 ../../../util/ins_job                            >>>> creation du job Job_ELC-$RESOL ($RESOL = la resolution selon la compilation, ex 96x95x39) dans le répertoire CREATE/ 
    724 ccc_msub Job_ELC-$RESOL                          >>>> soumission du job tel quel  
    725 }}} 
    726 L'état initial(start.nc et startphy.nc) est le fichier de condition aux limites(limit.nc) ainsi créés seraient sur le serveur de stockage (gaya ou DMFDIR) dans le répertoire '''IGCM_OUT/LMDZOR/ELC-$RESOL'''. L'état initial se trouve ensuite dans ATM/Outout/Restart et le fichier de conditions aux limites dans le répertoire ATM/Output/Boundary. 
    727  
    728 Ensuite avant de lancer votre simulation vous devez vérifier que le fichier modipsl/config/LMDZOR_v4/LMDZOR/COMP/lmdz.card 
    729 renvoie bien vers ces fichiers  
    730 {{{ 
    731 [InitialStateFiles] 
    732 List=   (${R_OUT}/${config_UserChoices_TagName}/${CREATE}/ATM/Output/Restart/${CREATE}_clim_start.nc, start.nc) \ 
    733         (${R_OUT}/${config_UserChoices_TagName}/${CREATE}/ATM/Output/Restart/${CREATE}_clim_startphy.nc, startphy.nc) 
    734 [...] 
    735 [BoundaryFiles] 
    736 ListNonDel= (${R_OUT}/${config_UserChoices_TagName}/${CREATE}/ATM/Output/Boundary/${CREATE}_clim_limit.nc, limit.nc) \ 
    737 [...] 
    738 }}} 
    739 [[BR]] 
    740  
    741  * __ RUN INTER-ANNUEL OU NUDGE__  
    742 Dans ce cas là vous devez utiliser les fichiers suffixés ''_Interannuel''. Ils permettent de créer les fichiers de conditions aux limites pour une série d'années spécifié en avance, en utilisant les données AMIP. Certains paramètres dans config.card_Interannuel doivent être considère et éventuellement modifié : !CalendarType, !DateBegin, !DateEnd. 
    743 Le paramètre !CalendarType decide combien de jours le fichier limit.nc va contenir. Pour 360jours, mets !CalendarType=360D, pour 365jours mets !CalendarType=noleap et pour 365 ou 366 selon les années bissextille, mets !CalendarType=leap. 
    744 Par contre, pour cette expérience CREATE, il ne faut pas modifier le paramètre !PeriodLength=1Y car create_etat0_limit créer toujours des fichiers d'un an.   
    745 {{{ 
    746 cd modipsl/config/LMDZOR_v4/CREATE 
    747 ln -s config.card_Interannuel config.card        >>>> choix du config.card et lmdz.card avec un lien ou copie 
    748 cd COMP; ln -s lmdz.card_Interannuel lmdz.card; cd ..  
    749 vi config.card_Interannuel                       >>>> modifier DateBegin, DateEnd et le CalendarType 
    750 ../../../util/ins_job                            >>>> creation du job Job_ELI-$RESOL ($RESOL = la resolution selon la compilation, ex 96x95x39) dans le répertoire CREATE/ 
    751 ccc_msub Job_ELI-$RESOL                          >>>> soumission du job tel quel  
    752 }}} 
    753  
    754 Les fichiers créés seraient stocké dans le répertoire '''IGCM_OUT/LMDZOR/ELI-$RESOL'''. 
    755 Contrairement au cas climatologique vous obtenez un trios "start.nc, startphy.nc et limit.nc par an de simulation." 
    756  
    757 Pour votre simulation vous devrez comme précédemment vérifier les chemins de start et startphy dans le fichier lmdz.card. Mais 
    758 attention cette fois ci pour le fichier de conditions aux limites il faudra l'indiquer dans la section '''List''' et non pas 
    759 '''!ListNonDel''' de !BoundaryFiles.  
    760 {{{ 
    761 [InitialStateFiles] 
    762 List=  (${R_OUT}/${config_UserChoices_TagName}/${CREATE}/ATM/Output/Restart/${CREATE}_${year}1230_start.nc, start.nc) \ 
    763        (${R_OUT}/${config_UserChoices_TagName}/${CREATE}/ATM/Output/Restart/${CREATE}_${year}1230_startphy.nc, startphy.nc) 
    764 [...] 
    765 [BoundaryFiles] 
    766 List=(${R_OUT}/${config_UserChoices_TagName}/${CREATE}/ATM/Output/Boundary/${CREATE}_${year}1230_limit.nc, limit.nc)  
    767 }}} 
    768   
    769 [[BR]] 
    770 __Remarque :__ Si vous souhaitez utiliser d'autres jeux de données que les données AMIP vous devez modifier 
    771 le fichier modipsl/config/LMDZOR_v4/CREATE/lmdz.card et peut-etre aussi le modèle LMDZ. 
    772  
    773 ==== Passage d'une simulation couplée IPSLCM5A à une simulation forcée LMDZOR_v4 ==== 
    774  
    775 Vous avez fait tourner une simulation couplée IPSLCM5A et vous voulez faire tourner la simulation forcée LMDZOR_v4 équivalente. 
    776 Voici les différentes étapes : 
    777  
    778 1) Extraire la configuration forcée LMDZOR_v4 dans le répertoire modipsl/config ou se trouve le repertoire IPSLCM5A : 
    779 {{{ 
    780 >cd modipsl/config 
    781 >svn co http://forge.ipsl.jussieu.fr/igcmg/svn/CONFIG/LMDZOR/branches/LMDZOR_v4 LMDZOR_v4 
    782 >ls 
    783 IPSLCM5A  LMDZOR_v4 
    784 }}} 
    785  
    786 2) Modifier le fichier LMDZOR_v4/LMDZOR/config.card en fonction de la simulation à lancer (Nom, Dates,...) 
    787  
    788 3) Créer les jobs de la nouvelle configuration LMDZOR_v4 
    789 {{{ 
    790 >cd modipsl/util 
    791 >./ins_job 
    792 }}} 
    793  
    794 4) Si vous ne l'avez jamais fait, créer le fichier de conditions aux limites (voir [wiki:ModipslBeginner#CréationdelétatinitialpourLMDZOR là]). 
    795 Attention, pour avoir le même trait de côtes que dans la simulation couplée, il est necessaire d'utiliser pour la création des conditions aux limites le fichier o2a.nc utilisé par la simulation couplée. 
    796 Pour cela, ajouter le chemin du fichier o2a.nc dans CREATE/COMP/lmdz.card en lieu et place du commentaire. Par exemple : 
    797 {{{ 
    798 (/dmnfs/cont003/p86ipsl/IGCM/INIT/ATM/IPSLCM5A/ORCA2.3xLMD9695/o2a.nc, o2a.nc) 
    799 }}} 
    800  
    801 5) Indiquer la résolution de la composante LMDZOR (qui correspond à la résolution de la simulation couplée).  
    802 {{{ 
    803 >cd modipsl/config/LMDZOR_v4 
    804 >cat ../IPSLCM5A/.resol 
    805 ORCA2xLMD9695-L39 
    806 RESOL_ATM_3D=96x95x39 
    807 >echo "LMD9695-L39" > .resol 
    808 >echo "RESOL_ATM_3D=96x95x39" >> .resol 
    809 }}} 
    810  
    811 6) Lancer la simulation 
    812 {{{ 
    813 >cd modipsl/config/LMDZOR_v4/LMDZOR 
    814 puis soumission du Job 
    815 }}} 
    816  
    817 [[BR]] 
    818 [[BR]] 
    819  
    820 ==== Comment désactiver STOMATE dans le couplé IPSLCM5A ou forcé LMDZOR_v4 ? ==== 
    821 Attention! Il n'y a pas eu validation scientifique des résultats. Pour désactiver stomate dans le couplé IPSLCM5A, il faut : 
    822  * supprimer la composante SBG dans le fichier config.card : 
    823  {{{ 
    824 -SBG= (stomate, ORCHIDEE_1_9_4_AR5) 
    825 -SBG= ("", "") 
    826 }}} 
    827  * dans COMP/orchidee.card ajouter la recherche du fichier lai2D.nc : 
    828 {{{ 
    829 +ListNonDel= (${R_BC}/SRF/${config_UserChoices_TagName}/lai2D.nc, .) 
    830 }}} 
    831  * dans PARAM/orchidee.def, ajouter le paramètre pour demander la lecture du fichier LAI_MAP : 
    832  {{{ 
    833 +# Read a LAI map (12 monthly values) 
    834 +LAI_MAP = y 
    835 +# default = n 
    836 }}} 
    837  
    838 === Etat de la simulation en cours === 
    839 La variable !PeriodState du fichier run.card peut vous aider à connaître l'état de votre simulation :  
    840 {{{ 
    841 Start ou OnQueue : run en attente 
    842 Running : run en cours d'exécution 
    843 Completed : run fini correctement 
    844 Fatal : run fini avec un plantage 
    845 }}} 
    846  
    847 [[BR]] 
    848 [[BR]] 
    849 === Fin de simulation === 
    850 Lorsque votre simulation est finie deux fichiers sont créés dans votre répertoire d'expérience:  
    851  - run.card 
    852  - Script_Output_JobName 
    853 Si la simulation s'est mal déroulée vous aurez un troisième fichier :  
    854  - !JobName_date_out_run_file_error qui contient le journal de sortie de votre simulation 
    855 Dans la dernière version de libIGCM ce fichier est contenu dans un répertoire Debug/ créé dans votre répertoire d'expérience.  
    856 Le fichier run.card indique l'état de votre run à la fin de la simulation. Il contient une variable !PeriodState  
    857 qui vous renseigne  
    858 {{{ 
    859 PeriodState= Completed ( = simulation bien finie)  
    860 PeriodState= Fatal (= problème durant la simulation)  
    861 }}} 
    862 Lorsque votre simulation est bien finie les fichiers de sorties sont stockés au path suivant :  
    863 {{{ 
    864 $DMFDIR/IGCM_OUT/IPSLCM5A/DEVT/pdControl/_nom_simul_  
    865 Avec les sous répertoires suivant :  
    866 ATM CPL ICE OCE SRF SBG Out Exe  
    867 MOD = Restart et Output de la composante (ATM, ICE...)  
    868 Out = journaux de sorties du run  
    869 Exe = exécutables utilisés pour le run 
    870 }}} 
    871 Lorsque votre simulation est bien finie, les post-traitements sont lancés et exécutés sur les frontales. En savoir plus sur les post-traitements : [wiki:PostTraitementLibIGCM] 
    872 [[BR]] 
    873 [[BR]] 
    874   
    875 ==== Comment lire le fichier !ScriptOutput ==== 
    876 A la fin de chaque période de simulation un fichier Script_Output correspondant est créé. Ces fichiers comportent trois parties :  
    877  * copies des fichiers d'input 
    878  * exécution  
    879  * copies des fichiers d'output 
    880 Ces trois parties sont délimités ainsi :  
    881 {{{ 
    882 ####################################### 
    883 #       ANOTHER GREAT SIMULATION      # 
    884 ####################################### 
    885  
    886  1ère partie 
    887  
    888 ####################################### 
    889 #      DIR BEFORE RUN EXECUTION       # 
    890 ####################################### 
    891  
    892  2ème partie 
    893  
    894 ####################################### 
    895 #       DIR AFTER RUN EXECUTION       # 
    896 ####################################### 
    897  
    898  3ème partie 
    899  
    900 }}} 
    901 Si à la fin de votre simulation le fichier [wiki:ModipslBeginner#Findesimulation run.card] indique qu'il y a eu un problème vous devez lire votre fichier Script_Output.  
    902 Il y a plusieurs solutions :  
    903  * si le fichier s'arrête avant le début de la deuxième partie c'est que soit vous n'avez pas effacé un fichier run.card existant, soit l'un des fichiers d'input que vous demandez n'existe pas.  
    904  * si le fichier s'arrête durant la deuxième partie c'est certainement que vous n'avez pas demandé assez de mémoire ou de temps CPU 
    905  * si le fichier est entier c'est soit qu'il y a une erreur lors de l'exécution, soit qu'il y a un problème lors de la copie des outputs.  
    906 Si le message suivant apparaît dans la deuxième partie du fichier, c'est qu'il y a un problème lors de l'exécution. 
    907 {{{ 
    908 ======================================================================== 
    909 EXECUTION of : mpirun -f ./run_file > out_run_file 2>&1 
    910 Return code of executable : 1 
    911 IGCM_debug_Exit :  EXECUTABLE 
    912  
    913 !!!!!!!!!!!!!!!!!!!!!!!!!! 
    914 !! IGCM_debug_CallStack !! 
    915 !------------------------! 
    916  
    917 !------------------------! 
    918 IGCM_sys_Cp : out_run_file xxxxxxxxxxxx_out_run_file_error 
    919 ======================================================================== 
    920 }}} 
    921 Si au contraire vous avez le message suivant 
    922 {{{ 
    923 ======================================================================== 
    924 EXECUTION of : mpirun -f ./run_file > out_run_file 2>&1 
    925 ======================================================================== 
    926 }}} 
    927 Il y a alors deux solutions : 
    928  * dans 90% des cas  c'est que le problème s'est produit lors de la copie des outputs.  
    929  * dans les 10% restant c'est que vous êtes passé par un garde fou du modèle et que celui-ci s'est fini proprement mais avant  
    930 la fin de la simulation. Dans ce cas là si votre modèle propose un journal de sortie autre que celui de la simulation il faut le consulter.  
    931 Par exemple, le fichier de sortie de l'océan est stocké sur le serveur de fichiers sous ce nom là : 
    932 {{{ 
    933 IGCM_sys_Put_Out : ocean.output xxxxxxxx/OCE/Debug/xxxxxxxx_ocean.output 
    934 }}} 
    935 Sinon (par exemple pour LMDZ ou INCA) votre journal de sortie est confondu avec celui de la simulation et celui-ci n'a pas eu le temps d'être 
    936 copié sur l'espace de stockage (explication [wiki:ModipslBeginner#Commentsontstockéslesfichiersdesortiesdumodèle ICI]). Si votre simulation a tourné  
    937 sur le $SCRATCHDIR vous pouvez le récupérer là, sinon vous devez relancer votre simulation sur le $SCRATCHDIR  
    938 (par défaut elle est sur le $TMPDIR). Pour cette opération il faut modifier la variable RUN_DIR_PATH voir [wiki:ModipslBeginner#Créationdujob ICI].  
    939 [[BR]] 
    940 [[BR]] 
    941 ==== Comment sont stockés les fichiers de sorties du modèle ==== 
    942 Les sorties de la simulation sont stockées sur le disque de stockage de la machine. Le DMFDIR pour le CCRT, et GAYA pour l'IDRIS. [[BR]] 
    943 libIGCM permet de créer une architecture de stockage commune à toutes les configurations de modèles : IGCM_OUT. Cette architecture est ordonnancée 
    944 de la manière suivante :  
    945 {{{ 
    946 IGCM_OUT/nom_config/nom_experience/repertoires_composantes/ 
    947  
    948 Exemple pour le modèle couplé IPSLCM5A : 
    949 IGCM_OUT/IPSLCM5A/DEVT/pdControl/MonExp/ 
    950        - ATM/ 
    951        - SRF/ 
    952        - ICE/ 
    953        - OCE/ 
    954        - SBG/ 
    955        - CPL/ 
    956 }}}  
    957 Chaque répertoire de composante contient lui-même deux sous-répertoires : Restart/ et Output/ qui comme leurs noms l'indiquent contiennent pour l'un les fichiers 
    958 de restart et pour l'autre les fichiers d'output de la simulation. En plus de ces deux répertoires il y en a un troisième Debug/ qui contient éventuellement les  
    959 fichiers textes liés à la simulations (*.def, fichier Bands ...) [[BR]] 
    960 A noter : le répertoire Analyse contient les fichiers issus des post-traitements (Time Series : TS_MO ou TS_DA, moyennes saisonnières SE).[[BR]] 
    961 En plus de ces répertoires propres aux composantes il y a deux répertoires Exe/ et Out/ contenant pour le premier les copies des exécutables de la simulation, et pour  
    962 le second une copie des journaux de sorties de la simulation.  
    963  
    964 [[BR]] 
    965 [[BR]] 
    966  
    967 ==== Quels fichiers de sorties sont produits? ==== 
    968  
    969 Dans config.card, vous pouvez gérer la fréquence de sorties de vos fichiers. 
    970 Par défaut vous avez : 
    971  * pour l'atmosphère : 
    972 {{{  
    973 [ATM] 
    974 WriteFrequency="1M 1D HF" 
    975 }}} 
    976 c'est à dire des fichiers mensuels (1 valeur par mois) rangés dans ATM/Ouput/MO, des fichiers journaliers rangés par mois (28,30 ou 31 valeurs) dans ATM/Output/DA et des fichiers haute fréquence (4 valeurs par jour) rangés dans ATM/Ouput/HF. 
    977  * pour l'océan et le coupleur :  
    978 {{{  
    979 [OCE] 
    980 WriteFrequency="1M 1D" 
    981 }}} 
    982 c'est à dire des fichiers mensuels (1 valeur par mois) rangés dans OCE/Ouput/MO (CPL/Output/MO) et des fichiers journaliers rangés par mois (28, 30 ou 31 valeurs) dans OCE/Output/DA (CPL/Output/DA) 
    983  * pour la glace de mer, les surfaces continentales et la biogéochimie continentale : 
    984 {{{ 
    985 WriteFrequency="1M" 
    986 }}} 
    987 c'est à dire des fichiers mensuels rangés dans ICE/Ouput/MO, SRF/Output/MO et SBG/Output/MO 
    988  
    989 Que peut-on demander ? 
    990  * Vous pouvez enlever une fréquence que vous ne souhaitez pas : HF pour ATM par exemple. 
    991  * Pour ajouter une fréquence, il faut rajouter le fichier généré dans le fichier COMP.card, rajouter le traitement des paramètres de gestion de cette fréquence dans COMP.driver. 
    992  * Pour modifier le niveau de sorties de LMDZ, les paramètres lev_histf sont à modifier dans le fichier PARAM/physiq.def_L39 (ou _L19 si vous êtes avec 19 niveaux). Par défaut :  
    993    * lev_histhf=2 
    994    * lev_histday=2 
    995    * lev_histmth=2 
    996  * Pour modifier les sorties de NEMO, vous pouvez ajouter ou supprimer des variables dans le fichier PARAM/iodef.xml. 
    997    * A faire dans la partie 2 : output files definition pour supprimer des variables.  
    998    * A faire dans la partie 2 pour ajouter des variables  
    999     * suffisant pour des variables déjà décrites dans la partie 1 : definition of all existing variables 
    1000     * en modifiant  le code NEMO sinon. 
    1001  * Pour modifier le niveau de sortie d'Orchidee, les paramètres SECHIBA_HISTLEVEL et STOMATE_HISTLEVEL sont à modifier dans PARAM/orchidee.def. Par défaut : 
    1002   * SECHIBA_HISTLEVEL = 5 
    1003   * STOMATE_HISTLEVEL=10 
    1004  
    1005 ==== Comment regarder les fichiers sur dods ==== 
    1006  * A l'IDRIS, il faut aller sur le web à l'adresse : http://dodsp.idris.fr/ et choisir son login, sa configuration, sa simulation puis enfin la composante (Output ou Analyse) ou les atlas ou encore le monitoring. 
    1007  * Au CCRT, il faut aller sur le web à l'adresse : http://dods.extra.cea.fr/data/ et choisir son login, da configuration, sa simulation... 
    1008  * Une fois trouvé un fichier netcdf (suffixe .nc), on peut le récupérer en clickant dessus ou l'analyser avec les fonctionalités DODS. Pour cela il faut à son adresse ajouter cgi-bin/nph-dods juste avant son login. Plus d'informations là : http://dods.ipsl.jussieu.fr/ 
    1009  
    1010  
    1011 === Execution === 
    1012 ==== Comment lancer un run guidé (nudge) ? ==== 
    1013 Ce paragraphe s'applique aux configurations contenant LMDZ 
    1014  1. Il faut ajouter un fichier guide.def dans le rpertoire PARAM/ de votre rpertoire d'expriences 
    1015  
    1016 {{{ 
    1017 Type de fichier guide.def : 
    1018 guide_u= y 
    1019 guide_v= y 
    1020 guide_T= n 
    1021 guide_P= n 
    1022 guide_Q= n 
    1023  
    1024 tau_min_u=0.0208333 
    1025 tau_max_u=0.1 
    1026 tau_min_v=0.0208333 
    1027 tau_max_v=0.1 
    1028 tau_min_T=0.0208333 
    1029 tau_max_T=10 
    1030 }}} 
    1031  2. Il faut modifier le fichier PARAM/run.def pour lui indiquer de prendre en compte guide.def 
    1032  
    1033 {{{ 
    1034 Ajoutez la ligne : 
    1035 INCLUDEDEF=guide.def 
    1036 }}} 
    1037  3. Il faut modifier la variable ok_guide dans le fichier PARAM/gcm.def 
    1038  4. Dans COMP/lmdz.card : 
    1039   a. Vous devez indiquer les path des fichiers de vents avec lesquels vous souhaitez guider votre modle 
    1040 {{{ 
    1041 [BoundaryFiles] 
    1042 List= ....\ 
    1043       (/dmnfs/p24data/ECMWF96x72/AN${year}/u_ecmwf_${year}${month}.nc, u.nc)\ 
    1044       (/dmnfs/p24data/ECMWF96x72/AN${year}/v_ecmwf_${year}${month}.nc, v.nc)\ 
    1045 }}} 
    1046   b. indiquer dans la liste [!ParametersFiles] le fichier guide.def 
    1047  
    1048 {{{ 
    1049 [ParametersFiles] 
    1050 List= ....\ 
    1051       (${SUBMIT_DIR}/PARAM/guide.def,.) 
    1052 }}} 
    1053  5. Vous devez indiquer dans config.card le bon calendrier (leap pour prendre en compte les annes bisextiles ou noleap pour ne pas en tenir compte) 
    1054  
    1055 ==== Relancer une simulation ==== 
    1056  1. Pour repartir du début, vous devez effacer dans votre répertoire d'expérience les fichiers stack_error (si existant) et run.card.  
    1057  2. Vous devez effacer le répertoire $DMFDIR/IGCM_OUT/IPSLCM5A/DEVT/pdControl/_nom_simul_ 
    1058  3. Si vous aviez changé la variable RUN_DIR_PATH vous devez également effacer le répertoire correspondant à votre simulation sur votre scratchdir.  
    1059  4. Relancer le job 
    1060 [[BR]] 
    1061 [[BR]] 
    1062  
    1063 ==== Poursuivre une simulation ====  
    1064 Dans le fichier config.card modifiez la date de fin de simulation 
    1065 Dans le fichier run.card vous devez :  
    1066  * vérifier que les variables !PeriodDateBegin et !PeriodDateEnd correspondent bien à votre prochaine période de simulation (ex: si vous venez de finir le mois de mai 2000 vous devez avoir !PeriodDateBegin= 20000601 et !PeriodDateEnd= 2000630)  
    1067  * indiquer !PeriodState = !OnQueue 
    1068  * Dans le Job vous devez modifier le numéro du fichier de sortie pour qu'il ne se plante pas en cherchant à remplacer un fichier Script_Output existant. Par défaut c'est Script_Output_NomJob.0001, vous pouvez le changer par Script_Output_NomJob.!CumulPeriod (vous trouverez !CumulPeriod dans run.card)  
    1069  * si jamais vous êtes dans le cas ou votre simulation s'est arrêtée au milieu d'un mois et vous la relancez, il faut effacer les fichiers créés pour ce mois là dans vos archives ($DMFDIR/IGCM_OUT/etc...). Vous pouvez utiliser le script modipsl/libIGCM/clean_month.job pour cela. Mode d'emploi : 
    1070  {{{ 
    1071  cd $SUBMIT_DIR (ie modipsl/config/IPSLCM5A/EXP00) 
    1072  cp ../../../libIGCM/clean_month.job . ; chmod 755 clean_month.job  # une seule fois pour toute 
    1073  ./clean_month.job   #   Repondre aux questions.  
    1074 qsub Job_EXP00 
    1075 }}} 
    1076  
    1077 ==== Comment préparer une autre expérience ? ==== 
    1078 Pour cela il suffit de recopier le répertoire EXP00, dans son ensemble, dans un autre répertoire.[[BR]] 
    1079 Par commodité on appellera ce répertoire du même nom que l'expérience (!JobName dans config.card). 
    1080  
    1081 {{{ 
    1082 cd modipsl/config/IPSLCM5A 
    1083 cp -pr EXP00 MONEXP 
    1084 cd MONEXP 
    1085 rm -f run.card Sc* Jo* # nécessaire si une simu a déjà tourné dans le répertoire EXP00 
    1086 vi config.card # Changer ce qu'on veut et en particulier JobName 
    1087 ../../util/ins_job # installera un nouveau Job_MONEXP et dira qu'il ne peut pas réinstaller les jobs de post-traitements qui existent déjà. Pas grave. 
    1088 }}} 
    1089  
    1090 ATTENTION : si vous modifiez vos codes et recompilez durant une simulation c'est ce nouvel exécutable qui sera pris en compte pour la fin de la simulation  
    1091  
    1092 ==== Démarrer depuis une autre simulation  ====  
    1093  
    1094 Dans le fichier config.card vous devez préciser en plus les différents paramètres de la section Restarts : 
    1095 {{{ 
    1096 #======================================================================== 
    1097 #D-- Restarts - 
    1098 [Restarts] 
    1099 #D- If you want a GENERAL RULE FOR ALL COMPONENTS RESTARTS, put this flag to 'y' 
    1100 OverRule=y 
    1101 #D- Last day of the experience used as restart 
    1102 RestartDate=1869-12-30 
    1103 #D- Define restart simulation name 
    1104 RestartJobName=CD1 
    1105 #D- Path Server Group Login 
    1106 RestartPath=${ARCHIVE}/IGCM_OUT/IPSLCM5A/DEVT/pdControl 
    1107 }}} 
    1108 [[BR]] 
    1109 Si la simulation a été faite par une autre personne, vous devez bien préciser le répertoire : 
    1110 {{{ 
    1111 RestartPath=/u/rech/lab/plabxxx/IGCM_OUT/IPSLCM5A/DEVT/pdControl # ou /dmnfs/contxxx/login/IGCM_OUT/IPSLCM5A/DEVT/pdControl 
    1112 }}} 
    1113 [[BR]] 
    1114 Pour avoir exactement les mêmes résultats, il faut prendre le même fichier Bands. Cela se précise dans COMP/lmdz.card avec les paramètres LMDZ_NbPeriod_adjust et LMDZ_Bands_file_name ainsi : 
    1115 {{{ 
    1116 LMDZ_NbPeriod_adjust=0 
    1117 # To force usage of this Bands file, put LMDZ_NbPeriod_adjust=0 and replace XXXXXXX by Restart Job Name 
    1118 LMDZ_Bands_file_name=${ARCHIVE}/IGCM_OUT/IPSLCM5/CEPRO0/ATM/Debug/CEPRO0_Bands_96x95x39_3prc.dat_3 
    1119 }}} 
    1120 '''A noter''' : vous pouvez séparer les paramètres de redémarrage par composantes. Laisser !OverRule=n et utiliser alors les différents paramètres Restart, !RestartDate, !RestartJobName et !RestartPath pour chaque composante (section). Par exemple pour l'atmosphère : 
    1121 {{{ 
    1122 #D-- ATM - 
    1123 [ATM] 
    1124 # 
    1125 WriteFrequency="1M 1D HF" 
    1126 # If config_Restarts_OverRule == 'n' all params are read 
    1127 Restart= y 
    1128 # Last day of the experience used as restart for this component 
    1129 RestartDate=1999-12-30 
    1130 # Define restart simulation name 
    1131 RestartJobName=2L18 
    1132 RestartPath=${ARCHIVE}/IGCM_OUT/IPSLCM5A/DEVT/pdControl 
    1133 }}} 
    1134 [[BR]] 
    1135  
    1136 ==== Comment repérer qu'il manque un fichier dans les sorties, comment repérer que les tailles de fichiers ne sont pas identiques pour tous les mois des différentes années ? ==== 
    1137  
    1138 Depuis le 19 janvier 2011, le script check_expe_files_size.sh disponible dans le répertoire libIGCM/libIGCM_post ou là : [http://forge.ipsl.jussieu.fr/libigcm/browser/trunk/libIGCM/libIGCM_post/check_expe_files_size.sh  check_expe_files_size.sh] permet de repérer les trous dans des séries de fichiers rangés selon la nomenclature IPSL. 
    1139  
    1140  Options :  
    1141  * L'option -Z permet d'étudier les tailles des fichiers et de repérer si les tailles des mois de janvier (février, ...) sont différentes entre les années. Fonctionne aussi avec les années bissextiles. Attention au temps d'execution qui dépasse largement 10 mn dans ce cas. 
    1142  * L'option -I xxxx, permet d'arrêter la vérification des noms à cette année là. Utile dans le cas d'une simulation en route avec des rebuild non faits. 
    1143  * L'option -R permet de parcourir l'arborescence. 
    1144  
    1145  Machines testées : CCRT (répertoire $DMFDIR) et IDRIS (gaya directement) 
    1146  
    1147 Exemples d'utilisation : 
    1148 {{{ 
    1149 check_expe_files_size.sh SRF/Output/MO # verification des noms du repertoire SRF/Output/MO 
    1150 check_expe_files_size.sh -Z SRF/Output/MO # verification des noms et des tailles des fichiers du repertoire 
    1151 check_expe_files_size.sh -R -S "*/Output" # verification des noms des fichiers pour toute une simulation IPSL 
    1152 check_expe_files_size.sh -Z -R -S "*/Output" # verification des noms et des tailles des fichiers pour toute une simulation IPSL 
    1153 check_expe_files_size.sh -I 1949 -R -S "*/Output" # verification jusuque a l annee 1949 incluse des noms des fichiers pour une simulation IPSL 
    1154 }}} 
    1155  
    1156 Exemple avec erreur. A noter le code retour non nul : 
    1157  {{{ 
    1158 Example (with errors) : 
    1159 > pwd 
    1160 IGCM_OUT/IPSLCM5A/DEVT/pdControl/SX81210  
    1161 > check_expe_files_size.sh  -Z -R ATM/Output 
    1162 quiet : 0 recursion : 1 - examsize : 1 - dir - ATM/Output -- subdir -- maxyearp1 : 9999 
    1163 48 files proceeded. 
    1164 Years occurring : 2000 
    1165 Years tested : 2000 
    1166 File name patterns and holes (if any) : 
    1167                                        ./DA/SX81210_YYmmdd_YYmmdd_1D_histday.nc :  
    1168                                         ./HF/SX81210_YYmmdd_YYmmdd_HF_histhf.nc :  
    1169                                        ./MO/SX81210_YYmmdd_YYmmdd_1M_histmth.nc : 200011 
    1170                                     ./MO/SX81210_YYmmdd_YYmmdd_1M_histmthNMC.nc :  
    1171  
    1172 Size verification per month (if different) : 
    1173                                        ./DA/SX81210_YYmmdd_YYmmdd_1D_histday.nc :  
    1174                                         ./HF/SX81210_YYmmdd_YYmmdd_HF_histhf.nc :  
    1175                                        ./MO/SX81210_YYmmdd_YYmmdd_1M_histmth.nc : [11] 
    1176                                     ./MO/SX81210_YYmmdd_YYmmdd_1M_histmthNMC.nc :  
    1177 > echo $? 
    1178 1 
    1179 }}} 
    1180  
    1181  
    1182 ==== Comment boucher un trou cad relancer une simulation pour refaire les fichiers d'un mois complet? ==== 
    1183  
    1184 Saperlipopette, j'ai perdu un fichier! Il s'agit du mois d'octobre 1932 de la simulation ARGENT. Que dois-je faire pour le recréer? 
    1185  
    1186 Pour boucher un trou, il faut refaire exactement la même simulation, c'est à dire : 
    1187  * sur le serveur de fichiers :  
    1188    * supprimer (ou mettre de côté) les autres fichiers du même mois. Utiliser le suffixe 19321031 (ou bien 19321030 si vous êtes en calendrier 360d) pour avoir aussi les fichiers de type Restart. 
    1189 {{{ 
    1190 cd IGCM_OUT/IPSLCM5A/DEVT/pdControl/ARGENT 
    1191 find . -name '*19321031*' -exec rm -f {} \; 
    1192 }}} 
    1193  * sur la machine de calcul : 
    1194    * créer un repertoire dédié spécial : {{{ cp -pr ARGENT ARGENTREDO }}} 
    1195    * dans ce nouveau répertoire, modifier le fichier run.card pour avoir les bonnes valeurs des paramètres suivants : 
    1196 {{{ 
    1197 OldPrefix= ARGENT_19320930 
    1198 PeriodDateBegin= 1932-10-01 
    1199 PeriodDateEnd= 1932-10-31 
    1200 CumulPeriod= xxx # Attention mettre la bonne valeur cad la valeur associé au même mois dans le fichier run.card témoin (ARGENT) 
    1201 PeriodState= OnQueue 
    1202 }}} 
    1203    * modifier le fichier config.card pour ne faire qu'un seul mois ie qu'une seule Period : 
    1204 {{{ 
    1205 DateEnd= 1932-10-31 
    1206 }}} 
    1207    * vérifier que l'on prendra exactement le même fichier Bands.  
    1208       * Si c'est au delà de la 3ème itération pas de problème, c'est fait automatiquement. 
    1209       * Sinon, dans le fichier COMP/lmdz.card, modifier les paramètres LMDZ_NbPeriod_adjust et LMDZ_Bands_file_name ainsi : 
    1210 {{{ 
    1211 LMDZ_NbPeriod_adjust=0 
    1212 # To force usage of this Bands file, put LMDZ_NbPeriod_adjust=0 and replace XXXXXXX by Restart Job Name 
    1213 LMDZ_Bands_file_name=${ARCHIVE}/IGCM_OUT/IPSLCM5/CEPRO0/ATM/Debug/CEPRO0_Bands_96x95x39_3prc.dat_3 
    1214 }}} 
    1215    * relancer la simulation : 
    1216 {{{ 
    1217 vi run.card # vérifier encore une fois 
    1218 vi Job_ARGENT # vérifier les parametres de temps et les noms des Scripts de sortie 
    1219 qsub Job_ARGENT  
    1220 }}} 
    1221  
    1222 ==== Comment relancer une simulation à l'identique pour récupérer quelques fichiers de sortie disparus ?  ==== 
    1223  
    1224 Ceci est une variante de la question précédente. Elle permet de faire une autre simulation à l'identique mais à côté. Pas besoin de détruire les fichiers sur le serveur de fichiers, on recrée tous les fichiers du mois en question. 
    1225  
    1226 Exemple : refaire tourner v3.historicalAnt1 car 3 fichiers ont disparu pour 19640930. 
    1227  
    1228 Actions : 
    1229  * Sur le serveur de fichiers : créer les fichiers Restart, mesh_mask et Bands. 
    1230 {{{ 
    1231 ## Directory 
    1232 mkdir ....IGCM_OUT/IPSLCM5A/REDO/historicalAnt/v3.historicalAnt1REDO 
    1233 cd ....IGCM_OUT/IPSLCM5A/REDO/historicalAnt/v3.historicalAnt1REDO 
    1234 mkdir -p ATM/Restart CPL/Restart ICE/Restart MBG/Restart OCE/Restart SBG/Restart SRF/Restart 
    1235 # Restart 
    1236 ln -s ../../../../../PROD/historicalAnt/v3.historicalAnt1/ATM/Restart/v3.historicalAnt1_19640831_restart.nc ATM/Restart/v3.historicalAnt1REDO_19640831_restart.nc 
    1237 ln -s ../../../../../PROD/historicalAnt/v3.historicalAnt1/ATM/Restart/v3.historicalAnt1_19640831_restartphy.nc      ATM/Restart/v3.historicalAnt1REDO_19640831_restartphy.nc 
    1238 ln -s ../../../../../PROD/historicalAnt/v3.historicalAnt1/CPL/Restart/v3.historicalAnt1_19640831_flxat.nc   CPL/Restart/v3.historicalAnt1REDO_19640831_flxat.nc 
    1239 ln -s ../../../../../PROD/historicalAnt/v3.historicalAnt1/CPL/Restart/v3.historicalAnt1_19640831_sstoc.nc   CPL/Restart/v3.historicalAnt1REDO_19640831_sstoc.nc 
    1240 ln -s ../../../../../PROD/historicalAnt/v3.historicalAnt1/ICE/Restart/v3.historicalAnt1_19640831_restart_icemod.nc ICE/Restart/v3.historicalAnt1REDO_19640831_restart_icemod.nc 
    1241 ln -s ../../../../../PROD/historicalAnt/v3.historicalAnt1/MBG/Restart/v3.historicalAnt1_19640831_restart_trc.nc     MBG/Restart/v3.historicalAnt1REDO_19640831_restart_trc.nc 
    1242 ln -s ../../../../../PROD/historicalAnt/v3.historicalAnt1/OCE/Restart/v3.historicalAnt1_19640831_restart.nc OCE/Restart/v3.historicalAnt1REDO_19640831_restart.nc 
    1243 ln -s ../../../../../PROD/historicalAnt/v3.historicalAnt1/SBG/Restart/v3.historicalAnt1_19640831_stomate_rest.nc    SBG/Restart/v3.historicalAnt1REDO_19640831_stomate_rest.nc 
    1244 ln -s ../../../../../PROD/historicalAnt/v3.historicalAnt1/SRF/Restart/v3.historicalAnt1_19640831_sechiba_rest.nc    SRF/Restart/v3.historicalAnt1REDO_19640831_sechiba_rest.nc 
    1245 # mesh_mask 
    1246 mkdir -p OCE/Output 
    1247 cd OCE/Output 
    1248 ln -s ../../../../../PROD/historicalAnt/v3.historicalAnt1/OCE/Output/v3.historicalAnt1_mesh_mask.nc v3.historicalAnt1REDO_mesh_mask.nc 
    1249 cd ../.. 
    1250 # Bands 
    1251 mkdir -p ATM/Debug 
    1252 cd ATM/Debug 
    1253 ln -s ../../../../../PROD/historicalAnt/v3.historicalAnt1/ATM/Debug/v3.historicalAnt1_Bands_96x95x39_3prc.dat_3 v3.historicalAnt1REDO_Bands_96x95x39_3prc.dat_3 
    1254 cd ../.. 
    1255 }}} 
    1256  * Sur la machine de calcul: 
    1257    * créer un repertoire dédié spécial : 
    1258 {{{ 
    1259 cp -pr  v3.historicalAnt1 v3.historicalAnt1REDO 
    1260 }}} 
    1261    * dans ce nouveau répertoire, modifier le fichier run.card pour avoir les bonnes valeurs des paramètres suivants : 
    1262 {{{ 
    1263 OldPrefix= v3.historicalAnt1REDO_19640831 
    1264 PeriodDateBegin= 1964-09-01 
    1265 PeriodDateEnd= 1964-09-30 
    1266 CumulPeriod= xxx # Attention mettre la bonne valeur cad la valeur associé au même mois dans le fichier run.card témoin (ARGENT) 
    1267 PeriodState= OnQueue 
    1268 }}} 
    1269    * modifier le fichier config.card pour ne faire qu'un seul mois (ie qu'une seule Period), ne pas faire les Post-traitements et lancer rebuild à la fin du mois refait. 
    1270 {{{ 
    1271 JobName=v3.historicalAnt1REDO 
    1272 ... 
    1273 SpaceName=REDO 
    1274 ... 
    1275 DateEnd= 1964-09-30 
    1276 ... 
    1277 RebuildFrequency=1M 
    1278 ... 
    1279 TimeSeriesFrequency=NONE 
    1280 ... 
    1281 SeasonalFrequency=NONE 
    1282 }}} 
    1283    * relancer la simulation : 
    1284 {{{ 
    1285 vi run.card # vérifier encore une fois 
    1286 mv Job_v3.historicalAnt1 Job_v3.historicalAnt1REDO 
    1287 vi Job_v3.historicalAnt1REDO # vérifier les parametres de temps et les noms des Scripts de sortie 
    1288 qsub Job_v3.historicalAnt1REDO  
    1289 }}} 
    1290   * une fois le job fini, vérifier que les solver.stat sont bien identiques : 
    1291  {{{ 
    1292 sdiff  OCE/Debug/v3.historicalAnt1REDO_19640901_19640930_solver.stat /dmnfs11/cont003/p86maf/IGCM_OUT/IPSLCM5A/PROD/historicalAnt/v3.historicalAnt1/OCE/Debug/v3.historicalAnt1_19640901_19640930_solver.stat 
    1293 }}} 
    1294  
    1295 ==== Avant de lancer un job sur Titane ==== 
    1296 Par défaut les entêtes de Job créés par modipsl sont positionnées pour utiliser les heures genci du groupe gen2211.  
    1297 [[BR]] 
    1298 La première chose que vous devez faire c'est de vous demander sur quel compte vous avez des heures de calcul (genci ou dsm ?). Pour cela 
    1299 vous devez vous reporter à la demande d'heures de calcul faite en début d'année.  
    1300  
    1301  * Si vous appartenez au groupe gen2211 et que vous avez des heures sur ce projet vous n'avez rien à changer.  
    1302  * Si vos heures sont sur un autre projet genci vous devez modifier le numéro de projet dans le fichier libIGCM/AA_job ainsi que dans libIGCM/AA_rebuild_fromWorkdir.  
    1303  * Si vos heures sont sur les projets dsm (p24, p86, etc...) vous devez enlever les lignes '''#MSUB -p gen2211''' des fichiers libIGCM/AA_job et libIGCM/AA_rebuild_fromWordir. Et dans ce  
    1304 dernier remplacer la queue '''mono''' par '''monoext''' 
    1305  
    1306 ''Note 1: '' si vous aviez déjà lancé la commande '''./ins_job''' vous devez également modifier les jobs créés (libIGCM/rebuild_fromWorkdir.job et config/.../EXP.../Job...) [[BR]] 
    1307 ''Note 2: '' pour connaître les groupes auxquels vous appartenez vous pouvez utiliser la commande ''' groups'''  
    1308  
    1309 ==== Lancer IPSLCM5A sur la machine Titane (machine Xeon du CCRT) ==== 
    1310  
    1311  * Etape préalable : assurez-vous que votre login est autorisé à tourner sur la machine titane à l'aide de la commande groups : 
    1312 {{{ 
    1313 mercure - /home/cont003/p86caub : groups 
    1314 }}} 
    1315 Si ce n'est pas le cas, demandez l'autorisation au CCRT en passant par votre responsable de projet. 
    1316  
    1317 Les étapes à faire sont les mêmes que pour tourner le modèle IPSLCM5A sur mercure, a ceci près : 
    1318  
    1319  * Avant la compilation ET l'exécution, il faut charger les modules nécessaires : 
    1320 {{{ 
    1321 module load netcdf/3.6.3 
    1322 }}} 
    1323  
    1324  * N'oubliez pas de verifier que votre PATH contient bien le path pour l'outil FCM. Plus d'infos [wiki:ModipslBeginner#FCM là]. 
    1325  
    1326  
    1327  * Avant la génération du Job de soumission via la commande ./ins_job, il faut préciser le nombre de CPUs demandés dans le config.card en mettant la variable !JobNumProcTot à 32. Par défaut, cela signifie que la composante atmosphérique tournera sur 30 CPUs alors que la composante océanique et le coupleur utiliseront chacun 1 CPU. 
    1328  
    1329 {{{ 
    1330 JobNumProcTot=32 
    1331 }}} 
    1332  
    1333  * La soumission du job se fait à l'aide de la commande ccc_msub 
    1334  
    1335 {{{ 
    1336 ccc_msub Job 
    1337 }}} 
    1338  
    1339  * A noter, que les post-traitements s'effectueront sur la machine cesium. 
    1340 Rappel : Pour que cela marche il faut avoir créé des clés avec une '''passphrase vide''' pour ssh et s'être connecté sur cesium au moins une fois. 
    1341 (Attention, si vous vous servez pour vos connexions de clés ssh déjà générées avec des passphrases non vides de ne pas les écraser.) 
    1342 [[BR]] 
    1343 Mémo : 
    1344 {{{ 
    1345  
    1346 mercure : cd ~/.ssh 
    1347 mercure : ssh-keygen -t rsa 
    1348 Generating public/private rsa key pair. 
    1349 Enter file in which to save the key (/home/cont003/xxxxxx/.ssh/id_rsa):  
    1350 Enter passphrase (empty for no passphrase): (RETURN) 
    1351 Enter same passphrase again: (RETURN) 
    1352 Your identification has been saved in ...../.ssh/id_rsa. 
    1353 Your public key has been saved in ...../.ssh/id_rsa.pub. 
    1354 The key fingerprint is: 
    1355 af:.... 
    1356 mercure : cat id_rsa.pub >>authorized_keys 
    1357 mercure : ssh cesium 
    1358 }}} 
    1359  
    1360  * Pour améliorer légerement les performances : 
    1361  
    1362 La configuration par défaut du modèle couplé à la résolution 96x95x39 est quasiment équilibrée, cad que le modèle d'atmosphère sur 30 CPUs est très légerement plus rapide que le modèle d'ocean sur 1 CPU. 
    1363 [[BR]] 
    1364 1 jour simulé par LMDZ sur 30 CPUs : 25s 
    1365 [[BR]] 
    1366 1 jour simulé par NEMO sur 1 CPU : 27s 
    1367 [[BR]] 
    1368 ce qui donne 1 mois simulé en 900s (par comparaison on a 1 mois simulé en 600s sur 4 CPUs SX9). 
    1369  
    1370  
    1371 On voit donc que c'est le modèle d'océan qui va "guider" le temps de restitution du modèle couplé complet. En utilisant 2 process MPI pour l'océan on obtient : 
    1372 [[BR]] 
    1373 1 jour simulé par LMDZ sur 29 CPUs : 25s 
    1374 [[BR]] 
    1375 1 jour simulé par NEMO sur 2 CPU : 15s 
    1376 [[BR]] 
    1377 ce qui va donner 1 mois simulé en 840s. 
    1378  
    1379 On voit donc que désormais, c'est le modèle d'atmosphère qui va "guider" le temps de restitution du modèle couplé complet. Mais à cette résolution là, il n'est pas possible d'utiliser plus de process pour LMDZ en parallélisation MPI seule (limite à 3 bandes de latitudes par process MPI). 
    1380  
    1381 La configuration idéale est donc : 29 CPUs ATM, 2 CPUs OCE et 1 CPU pour Oasis (lorsque PISCES n'est pas activé). 
    1382 Si PISCES est activé (c'est le cas avec IPSLCM5A CMIP5) la configuration ideale est : 26 CPUs ATM, 5 CPUs OCE et 1 CPU pour Oasis 
    1383 Pour activer cette configuration-là, deux étapes sont nécessaires : 
    1384  
    1385     * Compilation :  
    1386      * Pour des raison de qualité (restartabilité NEMO), enlever les cles cpp suivantes pour la compilation : key_vectopt_loop key_vectopt_memory. Pour faire cela : 
    1387 {{{ 
    1388 vi modipsl/config/IPSLCM5A/AA_make  
    1389 supprimer les cles cpp "key_vectopt_loop key_vectopt_memory" de la varibale P_P à la ligne : 
    1390  
    1391 orca2: ../../modeles/NEMO/WORK 
    1392        (cd ../../modeles/NEMO/WORK; P_P='key_trabbl_dif key_vectopt_loop key_vectopt_memory ... 
    1393  
    1394 cd modipsl/util ; ./ins_make 
    1395 }}} 
    1396      * Compiler NEMO pour qu'il tourne sur 5 process MPI en modifiant directement le code : 
    1397 {{{ 
    1398 vi modipsl/modeles/NEMO/WORK/par_oce.F90 (lignes 29-31) 
    1399       jpni   = 1,                   &  !: number of processors following i 
    1400       jpnj   = 5,                   &  !: number of processors following j 
    1401       jpnij  = 5                       !: nb of local domain = nb of processors 
    1402  
    1403 cd modipsl/config/IPSLCM5A ; gmake 
    1404 }}} 
    1405  
    1406     * Execution 
    1407      * Cas particulier : si vous souhaitez faire utiliser à votre NEMO parallèle un restart généré par un NEMO mono-processeur, alors il faut forcer une resoumission (ccc_msub) apres le 1er run de la simulation. Pour cela : 
    1408       * mettre !PeriodNb=1 dans votre Job ; ccc_msub Job 
    1409       * une fois le 1er run en machine, remettre !PeriodNb=48 
    1410  
    1411  
    1412 ==== Lancer IPSLCM5A sur la machine Vargas (machine IBM de l'IDRIS) ==== 
    1413  
    1414  * Accès au modèle :  
    1415   * Il faut avoir accès à subversion : {{{ module load svn }}} et à fcm : {{{ export PATH=/homegpfs/rech/psl/rpsl035/FCM/bin:$PATH }}} 
    1416  * Compilation : 
    1417   * N'oubliez pas de verifier que votre PATH contient bien le path pour l'outil FCM : /homegpfs/rech/psl/rpsl035/FCM/bin . Plus d'infos [wiki:ModipslBeginner#FCM là]. 
    1418   * il faut supprimer les 2 clés : "key_vectopt_loop key_vectopt_memory"  dans config/IPSLCM5A/AA_make. Dans IPSLCM5A/AA_make.gdef (à faire avant ins_make) 
    1419   * il faut explicitement demander l'utilisation de 5 processeurs pour NEMO. Fait pour l'execution mais à faire dans les sources de NEMO. 
    1420  {{{ 
    1421 vi modipsl/modeles/NEMO/WORK/par_oce.F90 (lignes 29-31) 
    1422       jpni   = 1,                   &  !: number of processors following i 
    1423       jpnj   = 5,                   &  !: number of processors following j 
    1424       jpnij  = 5                       !: nb of local domain = nb of processors 
    1425 }}} 
    1426  * Exécution : 
    1427     * Repérer un état initial à utiliser. 
    1428   * Modifications dans config.card :  
    1429     * Avant la génération du Job de soumission via la commande ./ins_job, il faut préciser le nombre de CPUs demandés dans le config.card en mettant la variable !JobNumProcTot à 32.  
    1430  {{{ 
    1431 JobNumProcTot=32 
    1432 }}} 
    1433     * Attention! create_etat0_limit ne fonctionne pas actuellement sur vargas. Il est compilé en parallèle (pour gagner du temps) et l'executable tourne sur le nombre de procs demandé par le job : 32 (ou 16). Comme ce n'est pas prévu dans ce0l, il s'arrête. Il faut donc partir d'un état initial créé autrement : autre simulation, ce0l executé ailleurs, par exemple sur brodie. 
    1434    * Il faut également utiliser la commande adéquate de lancement. Décommenter la ligne suivante et supprimer l'ancienne valeur de !JobRunOptions dans config.card : 
    1435  {{{ 
    1436 JobRunOptions='"-pgmmodel MPMD -cmdfile"' 
    1437 }}} 
    1438   * Attention! Préciser dans PARAM/run.def {{{ use_filtre_fft=n }}} 
    1439  * La soumission du job se fait à l'aide de la commande {{{llsubmit}}} et la suppression par {{{llcancel}}} 
    1440  {{{ 
    1441 llsubmit Job_EXP00 
    1442 }}} 
    1443  * A noter, que les post-traitements s'effectueront sur la machine ulam. 
    1444  
    1445 === Les post-traitements avec libIGCM === 
    1446  
    1447 Cette page donne quelques informations sur les post-traitements du couplé IPSLCM5A. 
    1448  
    1449 Les post-traitements sont des opérations systématiquement lancées en fin de simulation sur les frontales. Il s'agit des rebuild ou assemblage des fichiers créés par sous-domaines par les applications parallèles (LMDZ et ORCHIDEE dans le cas du couplé IPSLCM5A). Ils concernent également les fichiers concernés par des Patchs ou modifications systématiques avant stockage (axe des temps, masque terre/océan, ...). Il s'agit des séries temporelles (qui lancent les monitoring) et des moyennes saisonnières (qui lancent les atlas). 
    1450  
    1451 ==== Quels sont les paramètres de lancement des post-traitement? ==== 
    1452  
    1453 Dans le fichier [http://forge.ipsl.jussieu.fr/igcmg/browser/CONFIG/IPSLCM/IPSLCM5A/EXP00/config.card config.card], les variables qui gèrent les post-traitements sont dans la section Post :: 
    1454 {{{ 
    1455 82      #D-- Post - 
    1456 83      [Post] 
    1457 84      #D- Do we rebuild parallel output, this flag determines 
    1458 85      #D- frequency of rebuild submission (use NONE for DRYRUN=3) 
    1459 86      RebuildFrequency=1Y 
    1460 87      #D- Do we rebuild parallel output from archive 
    1461 88      RebuildFromArchive=true 
    1462 89      #D- If you want to produce time series, this flag determines 
    1463 90      #D- frequency of post-processing submission 
    1464 91      TimeSeriesFrequency=10Y 
    1465 92      #D- If you want to produce seasonal average, this flag determines 
    1466 93      #D- the period of this average 
    1467 94      SeasonalFrequency=10Y 
    1468 95      #D- Offset for seasonal average first start dates ; same unit as SeasonalFrequency 
    1469 96      #D- Usefull if you do not want to consider the first X simulation's years 
    1470 97      SeasonalFrequencyOffset=0 
    1471 }}} 
    1472  
    1473  * !RebuildFrequency=1Y indique la fréquence de lancement des travaux REBUILDA. A noter: si !JobType=DEV, le paramètre est forcé la valeur de !PeriodLength. '''Attention''' : !RebuildFrequency n'accepte pas comme valeur des multiples de month (6M par exemple)  
    1474  * !RebuildFromArchive=true indique que les fichiers seront stockés dans leur état initial (par sous-domaine), sur la machine de stockage. Le job REBUILDA commencera par aller les chercher sur le serveur de fichiers, avant de les assembler (rebuild), de leur appliquer les Patchs demandés puis de les stocker dans le répertoire usuel COMP/Output/MO ou COMP/Output/DA pour les fichiers mensuels ou journaliers de la composante COMP (OCE, ICE, ATM, SRF, ...). A noter c'est lui qui enchaine les autres post-traitements lancés par les jobs create_ts.job et create_se.job 
    1475  * !TimeSeriesFrequency=10Y Les séries temporelles seront lancées tous les 10 ans. 
    1476  * !SeasonalFrequency=10Y Les moyennes saisonnières (des mois de janvier, février,...) seront lancées tous les 10 ans. 
    1477  * !SeasonalFrequencyOffset=0 Les premières années seront sautées avant de commencer à calculer les moyennes saisonnières. 
    1478  
    1479 ==== Où tournent les post-traitements? ==== 
    1480 Les post-traitements tournent généralement sur les frontales des calculateurs. Il s'agit de travaux systématiques de traitement de fichiers qui n'ont pas leur place sur les calculateurs. Peu d'optimisation, peu de parallélisation massive, ... 
    1481 Sur chaque centre, les machines de calcul ont leur frontale privilégiée. 
    1482 || Centre || Calculateur || Frontale || 
    1483 ||  CCRT || mercure SX8 || frontale TX7 mercure || 
    1484 || CCRT || mercure SX9 || cesium || 
    1485 || CCRT || platine || cesium || 
    1486 || IDRIS || brodie || ulam || 
    1487 || IDRIS || vargas || ulam || 
    1488  
    1489  
    1490 '''Attention''' pour le passage de mercureSX9 (ou mercureSX8) à Cesium il faut faire au préalable au moins une fois une connection ssh entre les deux machines.  
    1491 {{{ 
    1492 ssh login@cesium.ccc.cea.fr 
    1493 }}} 
    1494  
    1495 ==== Comment vérifier que les post-traitements sont bien passés? ==== 
    1496  
    1497  * sur ulam, les sorties des post-traitements sont là : $WORKDIR/IGCM_OUT/IPSLCM5A/Ma_simulation 
    1498  * sur la frontale TX7, ils sont là : $SCRATCHDIR/IGCM_OUT/IPSLCM5A/Ma_simulation 
    1499  * sur cesium, ils sont là : $SCRATCHDIR/IGCM_OUT/IPSLCM5A/Ma_simulation 
    1500  * sur la frontale de platine, ils sont là : $SCRATCHDIR/IGCM_OUT/IPSLCM5A/Ma_simulation 
    1501  
    1502 On trouvera dans ces répertoires les fichiers de sorties des jobs : rebuild, ts, se, atlas. Sur cesium 2 fichiers standard error (.e)  et standard output (.o) par job. 
    1503   
    1504 A noter :  Les commandes de mise sur dods sont faites à la fin du job de monitoring ou à la fin de chaque atlas. 
    1505  
    1506 ==== Qu'est-ce que rebuild? ==== 
    1507  
    1508  * rebuild est un utilitaire qui permet de recombiner plusieurs fichiers créés par un programme parallèle (sous-domaines) en un seul.  
    1509  * rebuild est disponible avec IOIPSL. Voir http://forge.ipsl.jussieu.fr/igcmg/browser/IOIPSL/trunk/tools (il est donc distribué avec les différentes configuration via modipsl)  
    1510  * rebuild est installé sur les frontales de l'IDRIS et du CCRT dans les comptes communs. Il est appelé automatiquement à la fréquence  !RebuildFrequency et représente la toute première étape des post-traitements. 
    1511  
    1512 ==== Comment relancer les rebuild? ==== 
    1513  
    1514 Pour relancer à partir des rebuild, il faut aller sur la frontale, dans le répertoire modipsl/libIGCM (l'original ou celui synchronisé dans ~MIRROR/xxxxxx/modipsl/libIGCM), modifier le job : rebuild_fromArchive.job en précisant les paramètres, le lancer sur la frontale. llsubmit sur ulam, ccc_msub sur cesium. Paramètres à modifier :  
    1515  
    1516 {{{ 
    1517 libIGCM=${libIGCM:=/path/to/your/libIGCM} 
    1518 REBUILD_DIR=${REBUILD_DIR:=/path/to/your/TMP/REBUILD/FILES} 
    1519 NbRebuildDir=${NbRebuildDir:=12} 
    1520 PeriodDateBegin=${PeriodDateBegin:=18901201} 
    1521 config_UserChoices_JobName=${config_UserChoices_JobName:=name_of_the_job} 
    1522 R_SAVE=${R_SAVE:=/path/to/your/ARCHIVE/FILES} 
    1523 }}} 
    1524  
    1525 '''Attention : ''' avant de lancer le job vérifiez que son entête correspond bien à la frontale sur laquelle vous travaillez (en particulier si vous le lancer sur une autre frontale que celle de votre machine de calcul). Pour cela comparez l'entête de votre job et celle qui est indiquée dans libIGM/AA_rebuild_fromWorkdir (ou autre).  
    1526  
    1527 ==== Qu'est-ce qu'une Time Series? ==== 
    1528  
    1529 Une Time Serie est un nouveau fichier, qui contient une seule variable sur toute la longueur d'une simulation (!ChunckJob2D = NONE) ou sur une période plus courte pour les variables 3D (!ChunckJob3D = 50Y) . Elles sont décrites dans les fichiers COMP/*.card derrière les paramètres !TimeSeriesVars2D et !TimeSeriesVars3D.  
    1530  
    1531 Exemple pour lmdz : 
    1532  
    1533 {{{ 
    1534 45      [OutputFiles] 
    1535 46      List=   (histmth.nc,      ${R_OUT_ATM_O_M}/${PREFIX}_1M_histmth.nc,      Post_1M_histmth), \ 
    1536 ... 
    1537 53      [Post_1M_histmth] 
    1538 54      Patches= (Patch_20091030_histcom_time_axis) 
    1539 55      GatherWithInternal = (lon, lat, presnivs, time_counter, aire) 
    1540 56      TimeSeriesVars2D = (bils, cldh, ... ) 
    1541 57      ChunckJob2D = NONE 
    1542 58      TimeSeriesVars3D = () 
    1543 59      ChunckJob3D = NONE 
    1544 }}} 
    1545  
    1546  * Chaque fichier de sortie (section [!OutputFiles]) est associé à un post-traitement : Post_1M_histmth dans l'exemple.  
    1547  * post_1M_histmth est une section (débutant par "[Post_1M_histmth]") 
    1548  * Cette section contient les variables : Patches= , !GatherWithInternal = , !TimeSeriesVars2D = , !ChunckJob2D , !TimeSeriesVars3D et !ChunckJob3D 
    1549  * Patches= (Patch_20091030_histcom_time_axis) Il s'agit du Patch qui sera appliqué sur le fichier avant son stockage sur le serveur de fichiers. Ils sont visibles au niveau de : [http://forge.ipsl.jussieu.fr/libigcm/browser/trunk/libIGCM/libIGCM_post libIGCM_post] On peut avoir plusieurs Patch appliqués l'un après l'autre.  
    1550  * !GatherWithInternal = (lon, lat, presnivs, time_counter, aire) Il s'agit des variables qui sont extraites du fichier initial et rangées avec la variable de la Time Serie. 
    1551  
    1552 Les Time Series sont rangées sur le serveur de fichiers dans les répertoires IGCM_OUT/IPSLCM5A/DEVT/pdControl/MyExp/ATM/Analyse/TS_MO pour celles qui sont issues des fichiers mensuelles. TS_DA pour celles qui sont issues des fichiers journaliers. 
    1553  
    1554 A noter : Il y a un job de Time Series 2D et un job par Time Series 3D sur les frontales. Pour le couplé IPSLCM5A , il y en donc 5 actuellement. 
    1555  
    1556 ==== Comment ajouter une variable dans les Time Series? ==== 
    1557  
    1558 Pour ajouter une nouvelle Time Serie il suffit d'ajouter son nom à la série de variables existantes, en prenant soin de la mettre avec les variables similaires : 2D ou 3D. 
    1559  
    1560 ==== Qu'est-ce qu'un monitoring? ==== 
    1561  
    1562 Voici un exemple de Monitoring du couplé IPSLCM5A : [http://dods.idris.fr/rpsl003/IPSLCM5A/DEVT/pdControl/BAL1210/MONITORING/ 10 ans] 
    1563  
    1564 On peut les voir directement sur les serveurs de fichiers dans le répertoire : IGCM_OUT/IPSLCM5A/DEVT/pdControl/MyExp/MONITORING. 
    1565  
    1566 Le monitoring d'une simulation est composé de plusieurs courbes produites à partir de variables des Time Series. Il contient également une première page détaillant les dates de passage en machine de la simulation. Cette page permet de suivre la progression d'une simulation en machine.  
    1567  
    1568 Le monitoring est lancé automatiquement à la fin des Time Series. 
    1569  
    1570 ==== Comment superposer des courbes de monitoring de simus stockées à l'IDRIS et/ou au CCRT? ==== 
    1571 Mémo : 
    1572 {{{ 
    1573 Aller sur : 
    1574 http://webservices.ipsl.jussieu.fr/monitoring/ 
    1575  
    1576 Rentrer dans l'onglet 1 : 
    1577 http://dods.extra.cea.fr/cgi-bin/nph-dods/data/p86cadul/OL2 
    1578 Pousser "List directories". 
    1579 Pour ajouter des simulations à l'IDRIS, retourner sur l'onglet 1 
    1580 Rentrer : http://dods.idris.fr/cgi-bin/nph-dods/rpsl003/IPSLCM5A/DEVT/pdControl 
    1581 Puis Pousser "Append dircetories" pour avoir sur l'onglet suivant les simulations CCRT et IDRIS. 
    1582 Dans l'onglet 2, sélectionner les simus : 27, 29, 30 et 33 (shift click ou control click pour en choisir plusieurs) 
    1583 Puis Pousser "search files". 
    1584 Dans l'onglet 3, choisir une variable (SBG_BIOMASS) puis pousser sur "Validate"  
    1585 puis "Validate" dans l'onglet 4 et "Prepare and Run the ferret script". 
    1586 Ensuite , apparait une page appelée 
    1587 "http://webservices.ipsl.jussieu.fr/monitoring/script.php" avec un joli 
    1588 multi-monitoring sur la biomasse 
    1589 cliquer sur "Run script on server" pour lancer toutes les figures. 
    1590 Dans l'aide 'Help' est décrite la manip pour enregistrer le script ferret et 
    1591 le faire tourner en local (ça fonctionne bien). 
    1592  
    1593 Amusez-vous bien ! 
    1594 }}} 
    1595  
    1596 Pour sélectionner des simus sur les 2 centres, il faut revenir à l'étape 1 et appuyer sur append directories pour les ajouter. 
    1597  
    1598 ==== Comment ajouter une figure dans les monitoring? ==== 
    1599  
    1600 Les monitoring sont paramétrés là: ~compte_commun/atlas/ Par exemple pour LMDZ : monitoring01_lmdz_LMD9695.cfg 
    1601  
    1602 Il est possible de modifier un monitoring en créant un répertoire POST locale à la configuration, en recopiant un fichier .cfg et en le modifant à sa convenance. Il y a 2 exemples dans le couplé. Voir [http://forge.ipsl.jussieu.fr/igcmg/browser/CONFIG/IPSLCM/IPSLCM5A/EXP00/POST post-traitements spécifiques] 
    1603  
    1604 '''Attention''' : pour faire une opération entre deux variables il faut impérativement la délimiter avec des parenthèses :  
    1605 {{{ 
    1606 #----------------------------------------------------------------------------------------------------------------- 
    1607 #  field | files patterns | files additionnal | operations | title | units | calcul of area 
    1608 #----------------------------------------------------------------------------------------------------------------- 
    1609  nettop_global | "tops topl"                  | LMDZ4.0_9695_grid.nc | "(tops[d=1]-topl[d=2])" | "TOA. total heat flux (GLOBAL)"         | "W/m^2"     | "aire[d=3]"  
    1610  
    1611 }}} 
    1612  
    1613 ==== Qu'est-ce qu'une moyenne saisonnière? ==== 
    1614  
    1615 Les fichiers SE ou moyennes saisonnières sont lancées automatiquement à la fréquence !SeasonalFrequency=10Y (en faisant attention à !SeasonalFrequencyOffset=0) lorsqu'il y a autre choses que NONE dans le dernier paramètre du fichier dans la section '[!OutputFiles]'. 
    1616 Tous les fichiers avec un Post demandé sont alors moyennés avec la commande ncra avant d'être stockés dans le répertoire : IGCM_OUT/IPSLCM5A/DEVT/pdControl/MyExp/ATM/Analyse/SE 1 fichier par !SeasonalFrequency=10Y 
    1617  
    1618 ==== Où voir les atlas? ==== 
    1619  
    1620 Voici un exemple d'atlas du couplé IPSLCM5A disponible sur dods : [http://dods.idris.fr/rpsl003/IPSLCM5A/DEVT/pdControl/BAL1210/ATLAS/SE_2000_2009/ATM/ATM.html ATM] 
    1621  
    1622 Il y a au moins 8 répertoires avec les atlas pour le couplé. On peut les voir directement sur les serveurs de fichiers dans le répertoire : IGCM_OUT/IPSLCM5A/DEVT/pdControl/MyExp/ATLAS. 
    1623  
    1624 Les atlas sont des outils mis à disposition sous les comptes communs. Voir ~compte_commun/atlas/ Ils sont basés sur des fichiers atlas_composante.cfg. utilisant les outils fast/atlas. Voir : http://dods.ipsl.jussieu.fr/fast/ 
    1625  
    1626 ==== Comment relancer les post-traitements depuis la machine de post-traitement? ==== 
    1627  
    1628 Les différentes étapes sur un exemple (la simulation couplée ST11 de la configuration IPSLCM5A a tourné sur la machine SX9 mercure du CCRT et ses post-traitements sont effectués sur la machine cesium du CCRT). 
    1629  
    1630  * On prépare le terrain depuis la machine sur laquelle la simulation a tourné : 
    1631 {{{ 
    1632 cd  $HOME; mkdir -p POST/ST11 ; cd POST/ST11 
    1633 }}} 
    1634  
    1635  * On recopie les cartes caractérisant les composantes (depuis le répertoire ou la simulation a été lancée) 
    1636 {{{ 
    1637 cp -r $PATH_MODIPSL/ST11/config/IPSLCM5A/ST11/COMP . 
    1638 }}} 
    1639  
    1640  * On recopie les post-traitements spécifiques à la configuration (depuis le répertoire ou la simulation a été lancée) 
    1641  
    1642 {{{ 
    1643 cp -r $PATH_MODIPSL/ST11/config/IPSLCM5A/ST11/POST . 
    1644 }}} 
    1645  
    1646  * On recopie les cartes spécifiques (config.card et run.card) à la simulation (depuis le répertoire où la simulation a été lancée) 
    1647  
    1648 {{{ 
    1649 cp -r $PATH_MODIPSL/ST11/config/IPSLCM5A/ST11/config.card . 
    1650 cp -r $PATH_MODIPSL/ST11/config/IPSLCM5A/ST11/run.card . 
    1651 }}} 
    1652  
    1653  * On recopie les jobs de post-traitement à soumettre : 
    1654 {{{ 
    1655 cp $PATH_MODIPSL/ST11/libIGCM/rebuild_fromArchive.job . 
    1656 cp $PATH_MODIPSL/ST11/libIGCM/create_ts.job . 
    1657 cp $PATH_MODIPSL/ST11/libIGCM/create_se.job . 
    1658 }}} 
    1659 ou bien si on est dans le cas !RebuildFromArchive=NONE 
    1660 {{{ 
    1661 cp $PATH_MODIPSL/ST11/libIGCM/rebuild_fromWorkdir.job . 
    1662 cp $PATH_MODIPSL/ST11/libIGCM/create_ts.job . 
    1663 cp $PATH_MODIPSL/ST11/libIGCM/create_se.job . 
    1664 }}} 
    1665  
    1666  * Maintenant on peut se connecter à la machine de post-traitement Cesium. Comme les $HOME sont communs à toutes les machines, les copies que l'on vient de faire y sont visibles.  
    1667  
    1668  * On adapte les jobs à soumettre en modifiant certaines variables : 
    1669  
    1670 Dans tous les jobs à lancer (rebuild_fromArchive.job, create_ts.job et create_se.job), il faut modifier : 
    1671  
    1672 {{{ 
    1673 StandAlone=true 
    1674 libIGCM=${HOME}/MIRROR/ST11/libIGCM # Pointe vers le répertoire libIGCM de l'expérience 
    1675 }}} 
    1676  
    1677 Dans rebuild_fromArchive.job, il faut modifier : 
    1678  
    1679 {{{ 
    1680 PeriodDateBegin=20191201 # Date de fin de la série à rebuilder 
    1681 NbRebuildDir=12 # Nombre de repertoires de la série à rebuilder jusqu'à la  PeriodDateBegin  
    1682 config_UserChoices_JobName=ST11 
    1683 R_SAVE=${DMFDIR}/IGCM_OUT/IPSLCM5A/DEVT/pdControl/${config_UserChoices_JobName} 
    1684 REBUILD_DIR=${R_SAVE}/TMP 
    1685 }}} 
    1686  
    1687 ou bien si on est dans le cas !RebuildFromArchive=NONE il faut modifier le rebuild_fromWorkdir.job : 
    1688  
    1689 {{{ 
    1690 PeriodDateBegin=20191201 # Date de fin de la série à rebuilder 
    1691 NbRebuildDir=12 # Nombre de repertoires de la série à rebuilder jusqu'à la  PeriodDateBegin  
    1692 config_UserChoices_JobName=ST11 
    1693 R_SAVE=${DMFDIR}/IGCM_OUT/IPSLCM5A/DEVT/pdControl/${config_UserChoices_JobName} 
    1694 REBUILD_DIR=${R_SAVE}/TMP 
    1695 MASTER=mercure # ou bien titane 
    1696 libIGCM=${HOME}/MIRROR/ST11/libIGCM # Pointe vers le répertoire libIGCM de l'expérience 
    1697 libIGCM_SX = # POinte vers le répertoire libIGCM utilisé sur la machine MASTER 
    1698 }}} 
    1699  
    1700 Dans create_ts.job, il faut modifier : 
    1701  
    1702 {{{ 
    1703 PeriodDateEnd=20191230 # date de fin des time-series a créer 
    1704 CompletedFlag=20091230 # date de fin des times-series déjà existantes (si tel est le cas) 
    1705 TsTask=2D  # 2D or 3D 
    1706 RebuildFrequency=true 
    1707 }}} 
    1708  
    1709 Dans create_se.job, il faut modifier : 
    1710  
    1711 {{{ 
    1712 PeriodDateEnd=20191230 # date de fin de la décennie a traiter 
    1713 }}} 
    1714  
    1715  * Lancement des jobs de post-traitement : 
    1716  
    1717 {{{ 
    1718 ccc_msub rebuild_fromArchive.job 
    1719 ccc_msub create_ts.job 
    1720 ccc_msub create_se.job 
    1721  
    1722 }}} 
    1723 ou bien si on est dans le cas !RebuildFromArchive=NONE  
    1724 {{{ 
    1725 ccc_msub rebuild_fromWorkdir.job 
    1726 ccc_msub create_ts.job 
    1727 ccc_msub create_se.job 
    1728 }}} 
    1729  
    1730 '''Attention : ''' avant de lancer le job vérifiez que son entête correspond bien à la frontale sur laquelle vous travaillez (en particulier si vous le lancer sur une autre frontale que celle de votre machine de calcul). Pour cela comparez l'entête de votre job et celle qui est indiquée dans libIGM/AA_rebuild_fromWorkdir (ou autre).  
    1731  
    1732 ==== Comment utiliser !TimeSeries_Checker.job? ==== 
    1733  
    1734 !TimeSeries_Checker.job est un script (qui se lance en interactif) qui vérifie les Séries temporelles (TS) existantes et relance les jobs create_TS nécessaires pour reconstruire les TS manquantes. C'est donc un utilitaire de post-traitement qui se lance depuis la machine de post-traitement. Voir question précédente. 
    1735  
    1736 Les différentes étapes sur un exemple (la simulation couplée MYEXP de la configuration IPSLCM5A a tourné sur la machine SX9 mercure du CCRT et ses post-traitements sont effectués sur la machine cesium du CCRT). 
    1737  
    1738  * On se met sur la machine cesium et on prépare le terrain (voir question précédente) : 
    1739 {{{ 
    1740 Cesium > cd $WORKDIR; mkdir -p POST/MYEXP ; cd POST/MYEXP 
    1741 }}} 
    1742  
    1743  * On recopie les cartes caractérisant les composantes (depuis le répertoire ou la simulation a été lancée). Voir aussi question précédente. 
    1744 {{{ 
    1745 Cesium> scp -pr mercure:... MYEXP/COMP . 
    1746 Cesium> scp -pr mercure:... MYEXP/POST . 
    1747 Cesium> scp -r mercure:... MYEXP/config.card . 
    1748 }}} 
    1749  
    1750  * On recopie les jobs de post-traitement à soumettre : 
    1751 {{{ 
    1752 Cesium> scp mercure:.../libIGCM/create_ts.job . 
    1753 Cesium> scp mercure:.../libIGCM/TimeSeries_Checker.job . 
    1754 }}} 
    1755  
    1756  * On adapte !TimeSeries_Checker.job en modifiant certaines variables : 
    1757 {{{ 
    1758 libIGCM=${libIGCM:=...MYEXP/modipsl/libIGCM} ==> libIGCM sur cesium!!!! 
    1759 SpaceName=${SpaceName:=DEVT} 
    1760 ExperimentName=${ExperimentName:=pdControl} 
    1761 JobName=${JobName:=MYEXP} 
    1762 CARD_DIR=${CARD_DIR:=${CURRENT_DIR}} 
    1763 }}} 
    1764  
    1765  * Lancement de !TimeSeries_Checker.job : 
    1766  
    1767 {{{ 
    1768 cesium> ./TimeSeries_Checker.job 
    1769 }}} 
    1770 ou mieux encore , en ksh : 
    1771 {{{ 
    1772 cesium> ./TimeSeries_Checker.job 2>&1 | tee TSC_OUT   =====> en ksh pour garder la trace dans un fichier 
    1773 cesium> grep Batch TSC_OUT   =====> pour repérer l'ensemble des jobs lancés 
    1774 }}} 
    1775  
    1776  
    1777 ==== Comment faire une moyenne saisonnière sur 100 ans? ==== 
    1778  
    1779 Ceci est possible depuis libIGCM_v1_10 cad depuis le 13/12/2010. 
    1780  
    1781 Comment faire une moyenne saisonnière sur 100 ans? Le job create_multi_se est là pour ça. Il faut le lancer sur le serveur de post-traitement après avoir vérifié que les différentes décennies étaient présentes sur le serveur de fichiers (SE_checker). 
    1782  
    1783 Notez que l'atlas de ces 100 ans sera également créé. Voir exemple de l'atlas de 100 ans de piControl2 là : [http://dods.extra.cea.fr/data/p86caub/IPSLCM5A/PROD/piControl/piControl2/ATLAS/SE_2000_2099/ SE 2000 2099] 
    1784  
    1785  1. si ce n'est déjà fait, installer un répertoire spécial post-traitement. Voir [wiki:ModipslBeginner#Commentrelancerlespost-traitementsdepuislamachinedepost-traitement] 
    1786  1. recopier create_se.job, SE_checker.job et create_multi_se.job 
    1787  1. vérifier/modifier dans create_se.job  les variables : 
    1788  {{{ 
    1789 libIGCM=${libIGCM:=.../POST_CMIP5/libIGCM_v1_10/modipsl/libIGCM} 
    1790 }}} 
    1791  1. vérifier que les décennies sont toutes présentes.  
    1792  1. vérifier/modifier les variables dans SE_checker.job: 
    1793  {{{ 
    1794 libIGCM=${libIGCM:=.../POST_CMIP5/libIGCM_v1_10/modipsl/libIGCM}  
    1795 SpaceName=${SpaceName:=PROD} 
    1796 ExperimentName=${ExperimentName:=piControl} 
    1797 JobName=${JobName:=piControlMR1} 
    1798 CARD_DIR=${CARD_DIR:=${CURRENT_DIR}} 
    1799 }}} 
    1800  1. lancer en interactif : {{{ ./SE_checker.job }}} la vérification. Les jobs create_se.job nécessaires seront lancés. Exemple : 
    1801  {{{ 
    1802  ./SE_Checker.job 
    1803  
    1804 ==================================================== 
    1805 Where do we run ? cesium21 
    1806 Linux cesium21 2.6.18-194.11.4.el5 #1 SMP Tue Sep 21 05:04:09 EDT 2010 x86_64 
    1807 ==================================================== 
    1808  
    1809 sys source cesium Intel X-64 lib. 
    1810  
    1811 --Debug1--> DefineVariableFromOption : config_UserChoices 
    1812 --------------Debug3--> config_UserChoices_JobName=piControlMR1 
    1813 --------------Debug3--> config_UserChoices_CalendarType=noleap 
    1814 --------------Debug3--> config_UserChoices_DateBegin=1800-01-01 
    1815 --------------Debug3--> config_UserChoices_DateEnd=2099-12-31 
    1816  
    1817 --Debug1--> DateBegin/End for SE : 1800_1809 
    1818 --Debug1--> ATM 
    1819 --Debug1--> SRF 
    1820 --Debug1--> SBG 
    1821 --Debug1--> OCE 
    1822 --Debug1--> ICE 
    1823 --Debug1--> MBG 
    1824 --Debug1--> CPL 
    1825 ... 
    1826 --Debug1--> DateBegin/End for SE : 2030_2039 
    1827 --Debug1--> ATM 
    1828 --Debug1--> 2 file(s) missing for ATM : 
    1829 --Debug1--> piControlMR1_SE_2030_2039_1M_histmth.nc 
    1830 --Debug1--> piControlMR1_SE_2030_2039_1M_histmthNMC.nc 
    1831 --Debug1--> SRF 
    1832 --Debug1--> 1 file(s) missing for SRF : 
    1833 --Debug1--> piControlMR1_SE_2030_2039_1M_sechiba_history.nc 
    1834 --Debug1--> SBG 
    1835 --Debug1--> 2 file(s) missing for SBG : 
    1836 --Debug1--> piControlMR1_SE_2030_2039_1M_stomate_history.nc 
    1837 --Debug1--> piControlMR1_SE_2030_2039_1M_stomate_ipcc_history.nc 
    1838 --Debug1--> OCE 
    1839 --Debug1--> 4 file(s) missing for OCE : 
    1840 --Debug1--> piControlMR1_SE_2030_2039_1M_grid_T.nc 
    1841 --Debug1--> piControlMR1_SE_2030_2039_1M_grid_U.nc 
    1842 --Debug1--> piControlMR1_SE_2030_2039_1M_grid_V.nc 
    1843 --Debug1--> piControlMR1_SE_2030_2039_1M_grid_W.nc 
    1844 --Debug1--> ICE 
    1845 --Debug1--> 1 file(s) missing for ICE : 
    1846 --Debug1--> piControlMR1_SE_2030_2039_1M_icemod.nc 
    1847 --Debug1--> MBG 
    1848 --Debug1--> 3 file(s) missing for MBG : 
    1849 --Debug1--> piControlMR1_SE_2030_2039_1M_ptrc_T.nc 
    1850 --Debug1--> piControlMR1_SE_2030_2039_1M_diad_T.nc 
    1851 --Debug1--> piControlMR1_SE_2030_2039_1M_dbio_T.nc 
    1852 --Debug1--> CPL 
    1853 --Debug1--> 2 file(s) missing for CPL : 
    1854 --Debug1--> piControlMR1_SE_2030_2039_1M_cpl_atm.nc 
    1855 --Debug1--> piControlMR1_SE_2030_2039_1M_cpl_oce.nc 
    1856 --------Debug2--> Submit create_se  for period 2030-2039 
    1857 IGCM_sys_MkdirWork : .../POST_CMIP5/piControl/piControlMR1/OutScript 
    1858 IGCM_sys_QsubPost : create_se 
    1859 Submitted Batch Session 179472 
    1860 ... 
    1861 }}} 
    1862  1. attendre la fin des jobs create_se 
    1863  1. recopier create_multi_se.job 
    1864  1. Vérifier/Modifier les variables : 
    1865  {{{  
    1866 libIGCM=${libIGCM:=.../POST_CMIP5/libIGCM_v1_10/modipsl/libIGCM} 
    1867 }}} 
    1868  1. si besoin, paramétrer le nombre de décennies dans config.card. 50Y ou 50 ans par défaut. Ajouter cette ligne dans la section POST cad à la fin après le mot-clé [POST] 
    1869  {{{ 
    1870 MultiSeasonalFrequency=100Y 
    1871 }}} 
    1872  1. lancer le job create_multi_se.job : ccc_msub create_multi_se.job 
    1873  1. Les années prises en compte seront les dernières cad celles entre !DateEnd (pris dans config.card du répertoire local) et !DateEnd - !MultiSaesonalFrequency. 
    1874  
    1875 Les moyennes sont stockées dans les répertoires Analyse des différentes composantes dans les sous-répertoires SE_100Y. Par exemple : ATM/Analyse/SE_100Y/ 
    1876  
    1877 === Scripts utiles === 
    1878  
    1879 ==== comment repérer les simus à refaire éventuellement lorsque le CCRT prévient qu'une bande est irrécupérable et listent les fichiers perdus? ==== 
    1880  
    1881 Si vous avez reçu un message du CCRT donnant une liste de fichiers perdus à cause d'un accident de bande, vous aurez envie d'avoir une synthèse des périodes impactées et des éventuels relance de simus à faire. 
    1882  
    1883 Le script : check_ccrt_files.sh disponible là : [browser:TOOLS/CHECKscripts]  permet de faire cela. 
    1884  
    1885 Il suffit de lui passer en paramètre le nom d'un fichier contenant la liste des fichiers perdus. 
    1886  
    1887 Il répond en donnant l'intervalle complet et en détaillant les fichiers perdus par famille. 
    1888  
    1889 Exemple : 
    1890 {{{ 
    1891 check_ccrt_files.sh liste 
    1892 }}} 
    1893  
    1894 Exemple d'affichage  : 
    1895 {{{ 
    1896 check_ccrt_files.sh liste 
    1897  
    1898 HOL03 
    1899 5 files proceeded. 
    1900 ===> Année à refaire? ==> Years occurring : 1787 
    1901 File name patterns and holes (if any) : 
    1902 /dmnfs11/cont003/login/SORTIES_CPL_IPSL/HOL03/Atm/Output/HF/HOL03_1m_YYmmdd_YYmmdd_histhf.nc : 178709 
    1903 /dmnfs11/cont003/login/SORTIES_CPL_IPSL/HOL03/Atm/Output/MO/HOL03_1m_YYmmdd_YYmmdd_dyn_hist_ave.nc : 178709 
    1904 /dmnfs11/cont003/login/SORTIES_CPL_IPSL/HOL03/Atm/Output/MO/HOL03_1m_YYmmdd_YYmmdd_dynzon.nc : 178711-178712 
    1905 /dmnfs11/cont003/login/SORTIES_CPL_IPSL/HOL03/Atm/Output/MO/HOL03_1m_YYmmdd_YYmmdd_histmth.nc : 178712 
    1906 HOL04 
    1907 5 files proceeded. 
    1908 ===> Année à refaire? ==> Years occurring : 2252 
    1909 File name patterns and holes (if any) : 
    1910 /dmnfs11/cont003/login/SORTIES_CPL_IPSL/HOL04/Oce/Output/MO/HOL04_1m_YYmmdd_YYmmdd_grid_T.nc : 225209-225210 
    1911 /dmnfs11/cont003/login/SORTIES_CPL_IPSL/HOL04/Oce/Output/MO/HOL04_1m_YYmmdd_YYmmdd_grid_U.nc : 225210 
    1912 /dmnfs11/cont003/login/SORTIES_CPL_IPSL/HOL04/Oce/Output/MO/HOL04_1m_YYmmdd_YYmmdd_grid_V.nc : 225210 
    1913 /dmnfs11/cont003/login/SORTIES_CPL_IPSL/HOL04/Oce/Output/MO/HOL04_1m_YYmmdd_YYmmdd_grid_W.nc : 225210 
    1914 ... 
    1915 }}} 
    1916  
    1917 == !Questions/Réponses des autres documentations == 
    1918   * [http://forge.ipsl.jussieu.fr/libigcm/wiki/DocUtilisateur/InstallationIPSLCM4v2#RedémarragedepuisdesrésultatsIPSLCM4_v1_OASIS3anciensscripts Redémarrage depuis des fichiers créés par un couplé IPSLCM4_v1] 
    1919   * [http://forge.ipsl.jussieu.fr/libigcm/wiki/DocUtilisateur/InstallationIPSLCM4v2#RedémarragedepuisdesrésultatsIPSLCM4_v1Oasis2.4 Redémarrage depuis des fichiers créés par un couplé IPSLCM4_v1_OASIS3] 
    1920   * [wiki:IPSLCM4_v2_PAR#CompilationFcm Comment remettre en route une compilation de LMDZ après recopie d'un répertoire complet sur un autre] 
    1921   * [wiki:IPSLCM4_v2_PAR#CommentavoirautantdesortiestexteLMDZquedetaches Comment avoir autant de fichiers de sorties texte LMDZ que de taches lancées en parallèle] 
    1922   * [wiki:IPSLCM4_v2_PAR#Commentdebogueravectotalview Comment déboguer le couplé avec totalview sur mercure] 
    1923   * [http://forge.ipsl.jussieu.fr/libigcm/wiki/libIGCM/DocUtilisateur/FAQ FAQ libIGCM ]  
    1924   * [http://forge.ipsl.jussieu.fr/libigcm/wiki/libIGCM/DocUtilisateur/FAQ#Messagesderreur Messages erreurs dans Script_output]  
    1925   * [http://forge.ipsl.jussieu.fr/inca/wiki/FAQ_LMDZINCA FAQ LMDZINCA] 
    1926  
    1927