Changes between Version 18 and Version 19 of Modipsl_postFAQ


Ignore:
Timestamp:
07/17/12 14:41:42 (12 years ago)
Author:
acosce
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Modipsl_postFAQ

    v18 v19  
    3333 * sur cesium, ils sont là : $SCRATCHDIR/IGCM_OUT/IPSLCM5A/Ma_simulation 
    3434}}} 
    35  * sur titane, ils sont là : $SCRATCHDIR/IGCM_OUT/IPSLCM5A/Ma_simulation 
     35 * sur titane, ils sont là : $SCRATCHDIR/IGCM_OUT/IPSLCM5A/Ma_simulation/Out/ 
    3636 
    3737On trouvera dans ces répertoires les fichiers de sorties des jobs : rebuild, pack*, ts, se, atlas.  
     
    4646[[BR]][[BR]] 
    4747== Méthode complète pour relancer tous les post-traitements IDRIS et CCRT == 
    48 Au CCRT ou à l'IDRIS, méthode complète permettant de prévoir de refaire aussi tous les post-traitements : [[BR]] 
    49  * Sur la frontale, une fois pour toutes les simulations :  
    50    * Installer un répertoire dédié 
    51    * Récupérer libIGCM et faire ins_job 
    52  * Sur la frontale, pour chaque simulation : 
    53    * Installer un répertoire pour la simulation concernée. 
    54  * '''Pour refaire des rebuild ''': 
    55    * Aller chercher le fichier libIGCM/rebuild_fromArchive.job (IDRIS) ou rebuild_fromWorkdir.job (CCRT) 
    56    * Modifier le fichier rebuild_from*.job : Mêmes paramètres que la méthode simple. 
    57    * Soumettre rebuild_from*.job. ''' Note''' il soumet automatiquement pack_output.job 
    58  * '''Pour refaire les pack_restart et pack_debug ''' :  
    59    * Aller chercher les fichiers libIGCM/pack_debug.job et libIGCM/pack_restart.job 
    60    * Modifier les fichiers pack_*job : Même paramètres que la méthode simple 
     48Au CCRT ou à l'IDRIS, méthode complète permettant de refaire tous les post-traitements : [[BR]] 
     49 
     50On prépare le terrain sur la machine de post-traitement (voir la [wiki:Modipsl_postFAQ#Oùtournentlespost-traitements? liste]). Deux cas sont possibles:  
     51    * la machine de post-traitement est la machine de calcul : on travaillera dans le répertoire d'expérience (ex: PATH_MODIPSL/config/IPSLCM5A/ST11/)  
     52    * la machine de post-traitement n'est pas la machine de calcul : il faut importer (scp pour l'IDRIS ou passage par le CSCRATCH ou le HOME pour le CCRT) le répertoire d'expérience et libIGCM 
     53        * Installer un répertoire dédié (une fois pour toutes les simulations)  
     54        * Récupérer libIGCM et faire ins_job  (une fois pour toutes les simulations)  
     55        * Installer un répertoire pour la simulation concernée.  (pour chaque simulation)  
     56{{{ 
     57mkdir -p POST 
     58cd POST/ 
     59copie de $PATH_MODIPSL/config/IPSLCM5A/ST11 .  
     60}}} 
     61 
     62 * '''Attention sur Ulam''' : le répertoire POST doit être sur le WORKDIR et non pas sur le HOME (problèmes de quota)  
     63 * '''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).  
     64 * '''Attention au CCRT : ''' avant de soumettre votre job vous devez ajouter le groupe de soumission dans l'entête du job. (genci ou dsm)  
     65 
     66=== REBUILD ===  
     67 * Copier dans POST/ (ou dans le répertoire d'expérience)  
     68   * à l'IDRIS ou si !RebuildFromArchive=yes dans config.card : le fichier libIGCM/rebuild_fromArchive.job   
     69   * au CCRT/TGCC  !RebuildFromArchive=NONE dans config.card : le fichier rebuild_fromWorkdir.job  
     70 * Modifier le fichier rebuild_from*.job  
     71{{{ 
     72StandAlone=true 
     73 
     74libIGCM=                --> Pointe vers le répertoire libIGCM de l'expérience.  
     75 
     76PeriodDateBegin=        --> Date de fin de la série à rebuilder 
     77 
     78NbRebuildDir=           --> Nombre de repertoires de la série à rebuilder jusqu'à la  PeriodDateBegin  
     79 
     80config_UserChoices_JobName=       --> JobName de la simulation dont sont issus les fichiers à reconstruire 
     81 
     82R_SAVE=                           --> Path de sauvegarde des sorties de la simulation (de type $CCCSTOREDIR/IGCM_OUT/TagName/SpaceName/ExperimentName/JobName/)  
     83 
     84REBUILD_DIR=                      --> Path de sauvegarde des fichiers en attente de reconstruction (de type $SCRATCHDIR/REBUILD/TagName/JobName/ si RebuildFromArchive=NONE)  
     85 
     86MASTER=${MASTER:=mercure|titane|brodie|vargas}   --> selectionner la machine de calcul : MASTER=titane par exemple 
     87}}} 
     88 
     89 * Soumettre rebuild_from*.job. ''' Note''' il soumet automatiquement pack_output.job 
     90{{{ 
     91ccc_msub rebuild_from*.job (CCRT)  
     92llsubmit rebuild_from*job (IDRIS)  
     93}}} 
     94 
     95 
     96=== Pack_restart et Pack_debug ===  
     97   * Copier dans POST (ou dans le répertoire d'expérience) les fichiers libIGCM/pack_debug.job et libIGCM/pack_restart.job 
     98   * Modifier les fichiers pack_*job :  
     99{{{ 
     100libIGCM=${libIGCM:=::modipsl::/libIGCM}         --> path de la librairie libIGCM 
     101 
     102MASTER=${MASTER:=mercure|titane|brodie|vargas}  --> machine sur laquelle on travaille 
     103 
     104DateBegin=${DateBegin:=20000101}                --> date de début de la période à packer 
     105         
     106DateEnd=${DateEnd:=20691231}                    --> date de fin de la période à packer 
     107         
     108PeriodPack=${PeriodPack:=10Y}                   --> Fréquence de pack 
     109}}} 
    61110   * Soumettre les deux jobs de pack.  
    62  * '''Pour refaire des TS''' : 
    63    * Rapatrier config.card, COMP et POST depuis la machine de calcul 
    64    * Rapatrier éventuellement run.card si on veut faire des post-traitements sur une partie de la simulation seulement 
    65    * Aller chercher le fichier  libIGCM/!TimeSeries_Checker.job 
     111 
     112 
     113 
     114=== Pour refaire des TS ===  
     115   * Si ce n'est pas déjà fait : rapatrier dans le répertoire POST/ :  
     116      * les fichiers et répertoires config.card, COMP et POST depuis la machine de calcul  
     117      * éventuellement run.card si on veut faire des post-traitements sur une partie de la simulation seulement 
     118   * Copier dans le répertoire POST/ (ou le répertoire d'expérience) les fichiers  libIGCM/create_ts.job et libIGCM/!TimeSeries_Checker.job 
    66119   * Modifier le fichier !TimeSeries_Checker.job 
    67    * Le lancer en interactif, c'est lui qui lancera tout seul les jobs create_ts manquants. 
    68    * Astuce : garder la sortie de cela : 
    69  {{{ 
    70 ./TimesSeries_Checker.job 2>&1 | tee TSC_OUT_POUR_VERIF 
    71 }}} 
    72  * ''' Pour refaire des SE ''': 
    73    * Si ce n'est déjà fait, rapatrier config.card, COMP et POST depuis la machine de calcul 
    74    * Aller chercher le fichier  libIGCM/SE_Checker.job 
     120{{{ 
     121libIGCM=${libIGCM:=...MYEXP/modipsl/libIGCM} --> Path de la librairie libIGCM 
     122 
     123SpaceName=${SpaceName:=DEVT}                  
     124 
     125ExperimentName=${ExperimentName:=pdControl} 
     126 
     127JobName=${JobName:=MYEXP} 
     128 
     129CARD_DIR=${CARD_DIR:=${CURRENT_DIR}}        --> Path du répertoire d'expérience (donc CURRENT_DIR si l'on a bien copié TimeSeries_Checker.job  
     130}}} 
     131   * Modifier le fichier create_ts.job :  
     132{{{ 
     133StandAlone=true 
     134 
     135libIGCM=           --> Patch de la librairie libIGCM utilisée 
     136 
     137PeriodDateEnd      --> date de fin des time-series a créer 
     138 
     139CompletedFlag      --> date de fin des times-series déjà existantes (si tel est le cas) 
     140 
     141TsTask=2D          --> choix entre 2D ou 3D 
     142 
     143RebuildFrequency=true 
     144}}} 
     145   * Lancement de !TimeSeries_Checker.job en interactif, c'est lui qui lancera tout seul les jobs create_ts manquants.  : 
     146{{{ 
     147./TimeSeries_Checker.job 
     148}}} 
     149ou mieux encore , en ksh : 
     150{{{ 
     151./TimeSeries_Checker.job 2>&1 | tee TSC_OUT   =====> en ksh pour garder la trace dans un fichier 
     152grep Batch TSC_OUT   =====> pour repérer l'ensemble des jobs lancés 
     153}}} 
     154 
     155* '''Note : ''' si vous avez des TS 2D et 3D il faut relancer deux fois les jobs create_ts en modifiant la variable TsTask entre les deux 
     156 
     157=== Pour refaire des SE === 
     158   * Si ce n'est pas déjà fait : rapatrier dans le répertoire POST/ :  
     159      * les fichiers et répertoires config.card, COMP et POST depuis la machine de calcul  
     160   * Copier dans le répertoire POST/ (ou le répertoire d'expérience) les fichiers  libIGCM/create_se.job et libIGCM/SE_Checker.job 
    75161   * Modifier le fichier SE_Checker.job 
    76    * Le lancer en interactif, c'est lui qui lancera tout seul les jobs create_se manquants. 
    77    * Astuce : garder la sortie de cela : 
     162   * Modifier le fichier create_se.job  
     163{{{ 
     164StandAlone=true 
     165 
     166libIGCM=          --> path de la librairie libIGCM utilisée 
     167 
     168PeriodDateEnd=    --> date de fin de la décennie a traiter 
     169}}} 
     170   * lancer SE_checker.job en interactif, c'est lui qui lancera tout seul les jobs create_se manquants. 
     171   * Astuce : garder la sortie ainsi : 
    78172 {{{ 
    79173./SE_Checker.job 2>&1 | tee SE_OUT_POUR_VERIF 
     
    86180 [[Image(Prod.png, 360px)]] 
    87181Les outils à utiliser sont en général accessibles dans le répertoire modipsl/libIGCM, sauf check_expe_files_size.sh qui est dans libIGCM/libIGCM_post 
    88  
    89  
    90 [[BR]][[BR]] 
    91 == En détail : Comment relancer les différents post-traitements ? == 
    92 '''Note : ''' Si tous vos rebuilds sont complets et qu'il ne vous manque que des !TimeSeries nous vous conseillons fortement d'utiliser le script [wiki:Modipsl_postFAQ#CommentutiliserTimeSeries_Checker.job TimeSeries_Checker][[BR]] 
    93  
    94 Voici en détail les différentes étapes pour relancer les post-traitements d'une simulation 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). 
    95  
    96  
    97  * On prépare le terrain sur la machine de post-traitement (voir la [wiki:Modipsl_postFAQ#Oùtournentlespost-traitements? liste]). Deux cas sont possibles:  
    98     * la machine de post-traitement est la machine de calcul : on travaillera dans le répertoire d'expérience (ex: PATH_MODIPSL/config/IPSLCM5A/ST11/)  
    99     * la machine de post-traitement n'est pas la machine de calcul : il faut importer (scp pour l'IDRIS ou passage par le CSCRATCH ou le HOME pour le CCRT) le répertoire d'expérience 
    100  
    101 {{{ 
    102 mkdir -p POST 
    103 cd POST/ 
    104 copie de $PATH_MODIPSL/config/IPSLCM5A/ST11 .  
    105 }}} 
    106  
    107 '''Attention : ''' sur Ulam le répertoire POST doit être sur le WORKDIR et non pas sur le HOME (problèmes de quota)  
    108  
    109  * On recopie les jobs de post-traitement à soumettre : 
    110 {{{ 
    111 cp $PATH_MODIPSL/libIGCM/rebuild_fromArchive.job . 
    112 cp $PATH_MODIPSL/libIGCM/pack_output.job .  
    113 cp $PATH_MODIPSL/libIGCM/pack_debug.job .  
    114 cp $PATH_MODIPSL/libIGCM/pack_restart.job .  
    115 cp $PATH_MODIPSL/libIGCM/create_ts.job . 
    116 cp $PATH_MODIPSL/libIGCM/create_se.job . 
    117 }}} 
    118 ou bien si on est dans le cas !RebuildFromArchive=NONE 
    119 {{{ 
    120 cp $PATH_MODIPSL/libIGCM/rebuild_fromWorkdir.job . 
    121 cp $PATH_MODIPSL/libIGCM/pack_output.job .  
    122 cp $PATH_MODIPSL/libIGCM/pack_debug.job .  
    123 cp $PATH_MODIPSL/libIGCM/pack_restart.job .  
    124 cp $PATH_MODIPSL/libIGCM/create_ts.job . 
    125 cp $PATH_MODIPSL/ibIGCM/create_se.job . 
    126 }}} 
    127  
    128  
    129  * On adapte les jobs à soumettre en modifiant certaines variables : 
    130  
    131  
    132 Dans '''rebuild_fromArchive.job''' (ou '''rebuild_fromWorkdir.job'''), il faut modifier : 
    133   
    134 {{{ 
    135 StandAlone=true 
    136 libIGCM=${HOME}/MIRROR/ST11/libIGCM # Pointe vers le répertoire libIGCM de l'expérience.  
    137  
    138 PeriodDateBegin=20191201 # Date de fin de la série à rebuilder 
    139 NbRebuildDir=12 # Nombre de repertoires de la série à rebuilder jusqu'à la  PeriodDateBegin  
    140 config_UserChoices_JobName=ST11 
    141 R_SAVE=${DMFDIR}/IGCM_OUT/IPSLCM5A/DEVT/pdControl/${config_UserChoices_JobName} 
    142 REBUILD_DIR=${R_SAVE}/TMP 
    143 MASTER=${MASTER:=mercure|titane|brodie|vargas} # selectionner la machine de calcul : MASTER=titane par exemple 
    144 }}} 
    145  
    146 Dans '''pack_*.job ''', il faut modifier et renseigner les champs suivants  :  
    147  
    148 {{{ 
    149 libIGCM=${libIGCM:=::modipsl::/libIGCM}      --> path de la librairie libIGCM 
    150  
    151 MASTER=${MASTER:=mercure|titane|brodie|vargas}  --> machine sur laquelle on travaille 
    152  
    153 DateBegin=${DateBegin:=20000101}  --> date de début de la période à packer 
    154          
    155 DateEnd=${DateEnd:=20691231}  --> date de fin de la période à packer 
    156          
    157 PeriodPack=${PeriodPack:=10Y}   --> Fréquence de pack 
    158          
    159 }}} 
    160  
    161  
    162 Dans '''create_ts.job''', il faut modifier : 
    163  
    164 {{{ 
    165 StandAlone=true 
    166 libIGCM=${HOME}/MIRROR/ST11/libIGCM # Pointe vers le répertoire libIGCM de l'expérience.  
    167  
    168 PeriodDateEnd=20191230 # date de fin des time-series a créer 
    169 CompletedFlag=20091230 # date de fin des times-series déjà existantes (si tel est le cas) 
    170 TsTask=2D  # 2D or 3D 
    171 RebuildFrequency=true 
    172 }}} 
    173  
    174 Dans '''create_se.job''', il faut modifier : 
    175  
    176 {{{ 
    177 StandAlone=true 
    178 libIGCM=${HOME}/MIRROR/ST11/libIGCM # Pointe vers le répertoire libIGCM de l'expérience.  
    179  
    180 PeriodDateEnd=20191230 # date de fin de la décennie a traiter 
    181 }}} 
    182  
    183  * Lancement des jobs de post-traitement : 
    184  
    185 {{{ 
    186 ccc_msub rebuild_fromArchive.job (ou llsubmit rebuild_fromArchive.job à l'IDRIS)  
    187 ccc_msub create_ts.job (ou llsubmit create_ts.job à l'IDRIS)  
    188 ccc_msub create_se.job (ou llsubmit create_se.job à l'IDRIS)   
    189 }}} 
    190 ou bien si on est dans le cas !RebuildFromArchive=NONE  
    191 {{{ 
    192 ccc_msub rebuild_fromWorkdir.job 
    193 ccc_msub create_ts.job 
    194 ccc_msub create_se.job 
    195 }}} 
    196  
    197  * '''Note : ''' si vous avez des TS 2D et 3D il faut relancer deux fois les jobs create_ts en modifiant la variable TsTask entre les deux 
    198  * '''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).  
    199  * '''Attention au CCRT : ''' avant de soumettre votre job vous devez ajouter le groupe de soumission dans l'entête du job. (genci ou dsm)  
    200  
    201  
    202 [[BR]][[BR]] 
    203 == Méthode simple pour relancer le rebuild depuis la machine de calcul CCRT == 
    204  
    205 Pour relancer les 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 et titane. Paramètres à modifier :  
    206  
    207 {{{ 
    208 libIGCM=${libIGCM:=/path/to/your/libIGCM} 
    209 MASTER=${MASTER:=mercure|titane|brodie|vargas} # selectionner la machine de calcul : MASTER=titane par exemple 
    210 REBUILD_DIR=${REBUILD_DIR:=/path/to/your/TMP/REBUILD/FILES} 
    211 NbRebuildDir=${NbRebuildDir:=12} 
    212 PeriodDateBegin=${PeriodDateBegin:=18901201} 
    213 config_UserChoices_JobName=${config_UserChoices_JobName:=name_of_the_job} 
    214 R_SAVE=${R_SAVE:=/path/to/your/ARCHIVE/FILES} 
    215 }}} 
    216  
    217  * '''Attention : ''' vérifier également que vous appartenez bien au groupe de soumission au CCRT (par défaut gen2211) sinon modifier la ligne correspondante (en la commentant pour utiliser des heures dsm ou en changeant le groupe genci)  
    218  
    219  
    220  
    221 [[BR]][[BR]] 
    222 == Comment utiliser !TimeSeries_Checker.job? == 
    223 !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. Les "Rebuilds" doivent être fait pour créer les séries temporelles.  
    224  
    225 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). 
    226  
    227  * On se met sur la machine cesium et on prépare le terrain (voir question précédente) : 
    228 {{{ 
    229 Cesium > cd $WORKDIR; mkdir -p POST/MYEXP ; cd POST/MYEXP 
    230 }}} 
    231  
    232  * 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. 
    233 {{{ 
    234 Cesium> scp -pr mercure:... MYEXP/COMP . 
    235 Cesium> scp -pr mercure:... MYEXP/POST . 
    236 Cesium> scp -r mercure:... MYEXP/config.card . 
    237 }}} 
    238  
    239  * On recopie les jobs de post-traitement à soumettre : 
    240 {{{ 
    241 Cesium> scp mercure:.../libIGCM/create_ts.job . 
    242 Cesium> scp mercure:.../libIGCM/TimeSeries_Checker.job . 
    243 }}} 
    244  
    245  * On adapte !TimeSeries_Checker.job en modifiant certaines variables : 
    246 {{{ 
    247 libIGCM=${libIGCM:=...MYEXP/modipsl/libIGCM} ==> libIGCM sur cesium!!!! 
    248 SpaceName=${SpaceName:=DEVT} 
    249 ExperimentName=${ExperimentName:=pdControl} 
    250 JobName=${JobName:=MYEXP} 
    251 CARD_DIR=${CARD_DIR:=${CURRENT_DIR}} 
    252 }}} 
    253  
    254  * Lancement de !TimeSeries_Checker.job : 
    255  
    256 {{{ 
    257 cesium> ./TimeSeries_Checker.job 
    258 }}} 
    259 ou mieux encore , en ksh : 
    260 {{{ 
    261 cesium> ./TimeSeries_Checker.job 2>&1 | tee TSC_OUT   =====> en ksh pour garder la trace dans un fichier 
    262 cesium> grep Batch TSC_OUT   =====> pour repérer l'ensemble des jobs lancés 
    263 }}} 
    264182 
    265183