76 | | == En détail : Comment relancer les rebuild? == |
77 | | |
78 | | === Au CCRT, méthode simple === |
| 76 | == En détail : Comment relancer les différents post-traitements (Rebuild, TS et SE) ? == |
| 77 | '''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]] |
| 78 | |
| 79 | 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). |
| 80 | |
| 81 | |
| 82 | * On prépare le terrain sur la machine de post-traitement (voir la [wiki:Modipsl_postFAQ#Oùtournentlespost-traitements? liste]). Deux cas sont possibles: |
| 83 | * 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/) |
| 84 | * 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 |
| 85 | |
| 86 | {{{ |
| 87 | mkdir -p POST |
| 88 | cd POST/ |
| 89 | copie de $PATH_MODIPSL/config/IPSLCM5A/ST11 . |
| 90 | }}} |
| 91 | |
| 92 | '''Attention : ''' sur Ulam le répertoire POST doit être sur le WORKDIR et non pas sur le HOME (problèmes de quota) |
| 93 | |
| 94 | * On recopie les jobs de post-traitement à soumettre : |
| 95 | {{{ |
| 96 | cp $PATH_MODIPSL/libIGCM/rebuild_fromArchive.job . |
| 97 | cp $PATH_MODIPSL/libIGCM/create_ts.job . |
| 98 | cp $PATH_MODIPSL/libIGCM/create_se.job . |
| 99 | }}} |
| 100 | ou bien si on est dans le cas !RebuildFromArchive=NONE |
| 101 | {{{ |
| 102 | cp $PATH_MODIPSL/libIGCM/rebuild_fromWorkdir.job . |
| 103 | cp $PATH_MODIPSL/libIGCM/create_ts.job . |
| 104 | cp $PATH_MODIPSL/ibIGCM/create_se.job . |
| 105 | }}} |
| 106 | |
| 107 | |
| 108 | * On adapte les jobs à soumettre en modifiant certaines variables : |
| 109 | |
| 110 | Dans '''rebuild_fromArchive.job''' (ou '''rebuild_fromWorkdir.job'''), il faut modifier : |
| 111 | |
| 112 | {{{ |
| 113 | StandAlone=true |
| 114 | libIGCM=${HOME}/MIRROR/ST11/libIGCM # Pointe vers le répertoire libIGCM de l'expérience. |
| 115 | |
| 116 | PeriodDateBegin=20191201 # Date de fin de la série à rebuilder |
| 117 | NbRebuildDir=12 # Nombre de repertoires de la série à rebuilder jusqu'à la PeriodDateBegin |
| 118 | config_UserChoices_JobName=ST11 |
| 119 | R_SAVE=${DMFDIR}/IGCM_OUT/IPSLCM5A/DEVT/pdControl/${config_UserChoices_JobName} |
| 120 | REBUILD_DIR=${R_SAVE}/TMP |
| 121 | MASTER=${MASTER:=mercure|titane|brodie|vargas} # selectionner la machine de calcul : MASTER=titane par exemple |
| 122 | }}} |
| 123 | |
| 124 | Dans '''create_ts.job''', il faut modifier : |
| 125 | |
| 126 | {{{ |
| 127 | StandAlone=true |
| 128 | libIGCM=${HOME}/MIRROR/ST11/libIGCM # Pointe vers le répertoire libIGCM de l'expérience. |
| 129 | |
| 130 | PeriodDateEnd=20191230 # date de fin des time-series a créer |
| 131 | CompletedFlag=20091230 # date de fin des times-series déjà existantes (si tel est le cas) |
| 132 | TsTask=2D # 2D or 3D |
| 133 | RebuildFrequency=true |
| 134 | }}} |
| 135 | |
| 136 | Dans '''create_se.job''', il faut modifier : |
| 137 | |
| 138 | {{{ |
| 139 | StandAlone=true |
| 140 | libIGCM=${HOME}/MIRROR/ST11/libIGCM # Pointe vers le répertoire libIGCM de l'expérience. |
| 141 | |
| 142 | PeriodDateEnd=20191230 # date de fin de la décennie a traiter |
| 143 | }}} |
| 144 | |
| 145 | * Lancement des jobs de post-traitement : |
| 146 | |
| 147 | {{{ |
| 148 | ccc_msub rebuild_fromArchive.job (ou llsubmit rebuild_fromArchive.job à l'IDRIS) |
| 149 | ccc_msub create_ts.job (ou llsubmit create_ts.job à l'IDRIS) |
| 150 | ccc_msub create_se.job (ou llsubmit create_se.job à l'IDRIS) |
| 151 | }}} |
| 152 | ou bien si on est dans le cas !RebuildFromArchive=NONE |
| 153 | {{{ |
| 154 | ccc_msub rebuild_fromWorkdir.job |
| 155 | ccc_msub create_ts.job |
| 156 | ccc_msub create_se.job |
| 157 | }}} |
| 158 | |
| 159 | * '''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 |
| 160 | * '''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). |
| 161 | |
| 162 | |
| 163 | [[BR]][[BR]] |
| 164 | == Méthode simple pour relancer le rebuild depuis la machine de calcul (CCRT) == |
| 165 | |
91 | | * '''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). |
92 | | * '''Attention 2 : ''' 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) |
93 | | |
| 178 | * '''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) |
| 179 | |
| 180 | |
| 181 | |
| 182 | [[BR]][[BR]] |
| 183 | == Comment utiliser !TimeSeries_Checker.job? == |
| 184 | !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. |
| 185 | |
| 186 | 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). |
| 187 | |
| 188 | * On se met sur la machine cesium et on prépare le terrain (voir question précédente) : |
| 189 | {{{ |
| 190 | Cesium > cd $WORKDIR; mkdir -p POST/MYEXP ; cd POST/MYEXP |
| 191 | }}} |
| 192 | |
| 193 | * 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. |
| 194 | {{{ |
| 195 | Cesium> scp -pr mercure:... MYEXP/COMP . |
| 196 | Cesium> scp -pr mercure:... MYEXP/POST . |
| 197 | Cesium> scp -r mercure:... MYEXP/config.card . |
| 198 | }}} |
| 199 | |
| 200 | * On recopie les jobs de post-traitement à soumettre : |
| 201 | {{{ |
| 202 | Cesium> scp mercure:.../libIGCM/create_ts.job . |
| 203 | Cesium> scp mercure:.../libIGCM/TimeSeries_Checker.job . |
| 204 | }}} |
| 205 | |
| 206 | * On adapte !TimeSeries_Checker.job en modifiant certaines variables : |
| 207 | {{{ |
| 208 | libIGCM=${libIGCM:=...MYEXP/modipsl/libIGCM} ==> libIGCM sur cesium!!!! |
| 209 | SpaceName=${SpaceName:=DEVT} |
| 210 | ExperimentName=${ExperimentName:=pdControl} |
| 211 | JobName=${JobName:=MYEXP} |
| 212 | CARD_DIR=${CARD_DIR:=${CURRENT_DIR}} |
| 213 | }}} |
| 214 | |
| 215 | * Lancement de !TimeSeries_Checker.job : |
| 216 | |
| 217 | {{{ |
| 218 | cesium> ./TimeSeries_Checker.job |
| 219 | }}} |
| 220 | ou mieux encore , en ksh : |
| 221 | {{{ |
| 222 | cesium> ./TimeSeries_Checker.job 2>&1 | tee TSC_OUT =====> en ksh pour garder la trace dans un fichier |
| 223 | cesium> grep Batch TSC_OUT =====> pour repérer l'ensemble des jobs lancés |
| 224 | }}} |
143 | | }}} |
144 | | |
145 | | |
146 | | [[BR]][[BR]] |
147 | | == En détail : Comment relancer les post-traitements ? == |
148 | | 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). |
149 | | |
150 | | * On prépare le terrain depuis la machine sur laquelle la simulation a tourné : |
151 | | {{{ |
152 | | cd $HOME; mkdir -p POST/ST11 ; cd POST/ST11 |
153 | | }}} |
154 | | |
155 | | * On recopie les cartes caractérisant les composantes (depuis le répertoire ou la simulation a été lancée) |
156 | | {{{ |
157 | | cp -r $PATH_MODIPSL/ST11/config/IPSLCM5A/ST11/COMP . |
158 | | }}} |
159 | | |
160 | | * On recopie les post-traitements spécifiques à la configuration (depuis le répertoire ou la simulation a été lancée) |
161 | | |
162 | | {{{ |
163 | | cp -r $PATH_MODIPSL/ST11/config/IPSLCM5A/ST11/POST . |
164 | | }}} |
165 | | |
166 | | * On recopie les cartes spécifiques (config.card et run.card) à la simulation (depuis le répertoire où la simulation a été lancée) |
167 | | |
168 | | {{{ |
169 | | cp -r $PATH_MODIPSL/ST11/config/IPSLCM5A/ST11/config.card . |
170 | | cp -r $PATH_MODIPSL/ST11/config/IPSLCM5A/ST11/run.card . |
171 | | }}} |
172 | | |
173 | | * On recopie les jobs de post-traitement à soumettre : |
174 | | {{{ |
175 | | cp $PATH_MODIPSL/ST11/libIGCM/rebuild_fromArchive.job . |
176 | | cp $PATH_MODIPSL/ST11/libIGCM/create_ts.job . |
177 | | cp $PATH_MODIPSL/ST11/libIGCM/create_se.job . |
178 | | }}} |
179 | | ou bien si on est dans le cas !RebuildFromArchive=NONE |
180 | | {{{ |
181 | | cp $PATH_MODIPSL/ST11/libIGCM/rebuild_fromWorkdir.job . |
182 | | cp $PATH_MODIPSL/ST11/libIGCM/create_ts.job . |
183 | | cp $PATH_MODIPSL/ST11/libIGCM/create_se.job . |
184 | | }}} |
185 | | |
186 | | * 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. |
187 | | |
188 | | * On adapte les jobs à soumettre en modifiant certaines variables : |
189 | | |
190 | | Dans tous les jobs à lancer (rebuild_fromArchive.job, create_ts.job et create_se.job), il faut modifier : |
191 | | |
192 | | {{{ |
193 | | StandAlone=true |
194 | | libIGCM=${HOME}/MIRROR/ST11/libIGCM # Pointe vers le répertoire libIGCM de l'expérience |
195 | | }}} |
196 | | |
197 | | Dans rebuild_fromArchive.job, il faut modifier : |
198 | | |
199 | | {{{ |
200 | | PeriodDateBegin=20191201 # Date de fin de la série à rebuilder |
201 | | NbRebuildDir=12 # Nombre de repertoires de la série à rebuilder jusqu'à la PeriodDateBegin |
202 | | config_UserChoices_JobName=ST11 |
203 | | R_SAVE=${DMFDIR}/IGCM_OUT/IPSLCM5A/DEVT/pdControl/${config_UserChoices_JobName} |
204 | | REBUILD_DIR=${R_SAVE}/TMP |
205 | | }}} |
206 | | |
207 | | ou bien si on est dans le cas !RebuildFromArchive=NONE il faut modifier le rebuild_fromWorkdir.job : |
208 | | |
209 | | {{{ |
210 | | PeriodDateBegin=20191201 # Date de fin de la série à rebuilder |
211 | | NbRebuildDir=12 # Nombre de repertoires de la série à rebuilder jusqu'à la PeriodDateBegin |
212 | | config_UserChoices_JobName=ST11 |
213 | | R_SAVE=${DMFDIR}/IGCM_OUT/IPSLCM5A/DEVT/pdControl/${config_UserChoices_JobName} |
214 | | REBUILD_DIR=${R_SAVE}/TMP |
215 | | MASTER=mercure # ou bien titane |
216 | | libIGCM=${HOME}/MIRROR/ST11/libIGCM # Pointe vers le répertoire libIGCM de l'expérience |
217 | | libIGCM_SX = # POinte vers le répertoire libIGCM utilisé sur la machine MASTER |
218 | | }}} |
219 | | |
220 | | Dans create_ts.job, il faut modifier : |
221 | | |
222 | | {{{ |
223 | | PeriodDateEnd=20191230 # date de fin des time-series a créer |
224 | | CompletedFlag=20091230 # date de fin des times-series déjà existantes (si tel est le cas) |
225 | | TsTask=2D # 2D or 3D |
226 | | RebuildFrequency=true |
227 | | }}} |
228 | | |
229 | | Dans create_se.job, il faut modifier : |
230 | | |
231 | | {{{ |
232 | | PeriodDateEnd=20191230 # date de fin de la décennie a traiter |
233 | | }}} |
234 | | |
235 | | * Lancement des jobs de post-traitement : |
236 | | |
237 | | {{{ |
238 | | ccc_msub rebuild_fromArchive.job |
239 | | ccc_msub create_ts.job |
240 | | ccc_msub create_se.job |
241 | | |
242 | | }}} |
243 | | ou bien si on est dans le cas !RebuildFromArchive=NONE |
244 | | {{{ |
245 | | ccc_msub rebuild_fromWorkdir.job |
246 | | ccc_msub create_ts.job |
247 | | ccc_msub create_se.job |
248 | | }}} |
249 | | |
250 | | '''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). |
251 | | |
252 | | |
253 | | [[BR]][[BR]] |
254 | | == Comment utiliser !TimeSeries_Checker.job? == |
255 | | !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. |
256 | | |
257 | | 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). |
258 | | |
259 | | * On se met sur la machine cesium et on prépare le terrain (voir question précédente) : |
260 | | {{{ |
261 | | Cesium > cd $WORKDIR; mkdir -p POST/MYEXP ; cd POST/MYEXP |
262 | | }}} |
263 | | |
264 | | * 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. |
265 | | {{{ |
266 | | Cesium> scp -pr mercure:... MYEXP/COMP . |
267 | | Cesium> scp -pr mercure:... MYEXP/POST . |
268 | | Cesium> scp -r mercure:... MYEXP/config.card . |
269 | | }}} |
270 | | |
271 | | * On recopie les jobs de post-traitement à soumettre : |
272 | | {{{ |
273 | | Cesium> scp mercure:.../libIGCM/create_ts.job . |
274 | | Cesium> scp mercure:.../libIGCM/TimeSeries_Checker.job . |
275 | | }}} |
276 | | |
277 | | * On adapte !TimeSeries_Checker.job en modifiant certaines variables : |
278 | | {{{ |
279 | | libIGCM=${libIGCM:=...MYEXP/modipsl/libIGCM} ==> libIGCM sur cesium!!!! |
280 | | SpaceName=${SpaceName:=DEVT} |
281 | | ExperimentName=${ExperimentName:=pdControl} |
282 | | JobName=${JobName:=MYEXP} |
283 | | CARD_DIR=${CARD_DIR:=${CURRENT_DIR}} |
284 | | }}} |
285 | | |
286 | | * Lancement de !TimeSeries_Checker.job : |
287 | | |
288 | | {{{ |
289 | | cesium> ./TimeSeries_Checker.job |
290 | | }}} |
291 | | ou mieux encore , en ksh : |
292 | | {{{ |
293 | | cesium> ./TimeSeries_Checker.job 2>&1 | tee TSC_OUT =====> en ksh pour garder la trace dans un fichier |
294 | | cesium> grep Batch TSC_OUT =====> pour repérer l'ensemble des jobs lancés |