9 | | == Documentation sur les machines de calcul du CCRT et TGCC == |
10 | | * Titane : Cette documentation est en accès restreint [https://www-ccrt.ccc.cea.fr ICI] (avec une authentification à l'aide de votre login et de votre mot de passe CCRT) |
11 | | * Curie : https://www-tgcc.ccc.cea.fr (onglet TGCC) |
12 | | |
13 | | [[BR]] |
14 | | [[BR]] |
15 | | == Comment prolonger une simulation ? == |
16 | | Cette question est traitée [https://forge.ipsl.jussieu.fr/igcmg/wiki/ModipslBeginner#Poursuivreunesimulation ICI] |
17 | | |
18 | | [[BR]] |
19 | | [[BR]] |
20 | | == Comment relancer une simulation plantée ? == |
21 | | Cette question est traitée [https://forge.ipsl.jussieu.fr/igcmg/wiki/ModipslBeginner#Relancerunesimulation ICI] |
22 | | |
23 | | [[BR]] |
24 | | [[BR]] |
25 | | == Comment utiliser l'exécutable d'une ancienne simulation ? == |
26 | | A la fin de chaque période de simulation l'exécutable correspondant est enregistré dans le répertoire |
27 | | $DMFDIR/IGCM_OUT/LMDZINCA/../Nom_Simul/Exe/. Il vous est donc possible par la suite de le ré-utiliser pour |
28 | | une autre simulation. Pour cela il vous suffit de copier cet exécutable dans le répertoire modipsl/bin/ en l'appelant |
29 | | gcm.e |
| 8 | == Documentation sur les machines de calcul du TGCC == |
| 9 | * Curie : https://www-tgcc.ccc.cea.fr (onglet TGCC) (avec une authentification à l'aide de votre login et de votre mot de passe TGCC) |
168 | | == Comment forcer la recompilation des modèles LMDZ et INCA ? == |
169 | | Pour forcer LMDZ à recompiler totalement il faut modifier le fichier LMDZ4/build_gcm |
170 | | {{{ |
171 | | fcm build |
172 | | devient |
173 | | fcm build -f |
174 | | }}} |
175 | | Pour forcer INCA à recompiler totalement il faut modifier le fichier INCA3/makeinca_fcm |
176 | | {{{ |
177 | | fcm build |
178 | | devient |
179 | | fcm build -f |
180 | | }}} |
181 | | ''' Attention : ''' il faut bien penser à enlever ces modifications après la compilation, sinon les modèles seront de nouveau recompilés |
182 | | entièrement la prochaine fois. |
183 | | |
184 | | [[BR]] |
185 | | [[BR]] |
186 | | == Qu'est-ce que l'option adjust et comment l'utiliser ? == |
187 | | Pour optimiser la parallélisation du code il faut ajuster les domaines de parallélisation en fonction des calculs réalisés sur chacun. Par exemple |
188 | | il y a plus de points de calcul à l'équateur qu'aux pôles et une division de la carte par le nombre de processeurs ne tiendrait pas compte des répartitions |
189 | | des points. Le paramètre '''adjust''' dans run.def permet d'activer l'ajustement des domaines. [[BR]] |
190 | | Cependant cette option est intrusive et modifie les résultats du modèle. Elle n'est pas compatible avec la parallélisation OpenMP ni avec l'utilisation de fichiers |
191 | | climatiques de forçages. C'est pour cela qu'il faut l'utiliser sur une pré-simulation puis récupérer le fichier d'ajustement créé par celle-ci pour sa simulation. [[BR]] |
192 | | 1- pour la pré-simulation |
193 | | {{{ |
194 | | Lancer la simulation avec dans COMP/lmdz.card : |
195 | | LMDZ_NbPeriod_adjust=3 |
196 | | }}} |
197 | | A la fin de la simulation un fichier !BandsResol est créé dans IGCM_OUT/NomConfig/NomChimie/ATM/Debug/ [[BR]] |
198 | | 2- pour la simulation |
199 | | {{{ |
200 | | Lancer la simulation avec dans COMP/lmdz.card : |
201 | | LMDZ_NbPeriod_adjust=0 |
202 | | MDZ_Bands_file_name=path_du_fichier_BandsResol_de_la_pré_simulation |
203 | | |
204 | | }}} |
205 | | '''Remarque : ''' Si vous n'ajoutez pas de calculs et que vous ne changez pas de résolution et de nombre de processeurs utilisés, vous pouvez utiliser un ancien fichier !BandsResol et n'êtes pas obligé de faire |
206 | | une pré-simulation pour chaque simulation. |
207 | | |
208 | | [[BR]] |
209 | | [[BR]] |
210 | | == Passage sur titane == |
211 | | * Titane partage le HOME, le CSCRATCHDIR et le DMFDIR avec les autres machines de calcul du ccrt, par contre le WORKDIR et le SCRATCHDIR lui sont propres. [[BR]] |
212 | | * Vous devez mettre à jour votre environnement en différenciant les machines dans vos fichiers .bashrc ou .cshrc ou .login [[BR]] |
213 | | .login et .cshrc |
214 | | {{{ |
215 | | switch (`hostname`) |
216 | | case mercure0*: |
217 | | (...) |
218 | | true |
219 | | breaksw |
220 | | case platine*: |
221 | | (...) |
222 | | true |
223 | | breaksw |
224 | | default: |
225 | | true |
226 | | breaksw |
227 | | endsw |
228 | | }}} |
229 | | |
230 | | .bashrc |
231 | | {{{ |
232 | | case $HOSTNAME in |
233 | | |
234 | | mercure0[123]) |
235 | | (...);; |
236 | | |
237 | | titane*) |
238 | | (...) ;; |
239 | | esac |
240 | | }}} |
241 | | Dans tous les cas il faut pointer vers la librairie "~p86ipsl/atlas_env_titane_csh (ou_ksh)" et ajouter les modules suivants |
242 | | {{{ |
243 | | module unload intel/10.1.022 mkl/10.1.1.019 ; module load intel/11.1.056 ; module load netcdf/3.6.3 |
244 | | }}} |
245 | | |
246 | | * C'est une machine scalaire massivement parallèle : 4 procs Mercure ~ 32 procs Titane voir la page des [wiki:INCAperformances performances de INCA sur les machines du CCRT] |
247 | | * les commandes de gestions de runs sont |
248 | | {{{ |
249 | | ccc_msub Job >> soumet le script Job |
250 | | ccc_mstat -u login >> donne la liste des Jobs soumis appartenant à login |
251 | | ccc_mdel id_Job >> détruit le Job n°id_Job |
252 | | }}} |
253 | | |
254 | | * il n'y a pas de queue scalaire sur titane, la machine de post-traitement est cesium (il faut faire la connection à la main au moins une fois avant de lancer son premier job) |
255 | | {{{ |
256 | | depuis titane : |
257 | | ssh -X cesium |
258 | | }}} |
259 | | Cela implique que les jobs de rebuild, de création de TS et SE se font sur cesium. |
260 | | |
261 | | * Pour plus de renseignements vous référer à la page du CCRT : https://www-ccrt.ccc.cea.fr (authentification à l'aide de votre login et de votre mot de passe CCRT) |
262 | | |
263 | | == Changement dans les sources pour passer sur titane ou platine == |
264 | | Pour les anciennes versions de INCA il y a deux modifications à faire pour que le code compile sur titane ou sur platine |
265 | | {{{ |
266 | | Dans chem_time.f90 |
267 | | remplacer |
268 | | minutes=mod(sec/60,60) |
269 | | par |
270 | | minutes=mod(int(sec/60),60) |
271 | | }}} |
272 | | {{{ |
273 | | Dans obs_pos_mod.f90 |
274 | | remplacer |
275 | | xat(1)= float(itau) |
276 | | par |
277 | | xat(1)=itau |
278 | | }}} |
279 | | |
280 | | ATTENTION : si vous voulez porter une ancienne version de LMDZINCA ou LMDZORINCA sur titane ou platine, il est fortement recommandé de récupérer le modipsl le plus récent et |
281 | | d'y incorporer vos sources. Il faut surtout bien conserver les nouveaux fichiers LMDZ4/arch/* et INCA3/arch/* ainsi que les fichiers makeinca_fcm et makelmdz_fcm. |
282 | | |
283 | | == Comment choisir son nombre de processeurs sur titane ? == |
284 | | La méthode de parallélisation de LMDZ impose la règle suivante : il faut au moins 3 bandes de latitude par processeurs [[BR]] |
285 | | Si vous avez choisi un trop grand nombre de processeurs la simulation s'arrête avec le message suivant : |
286 | | {{{ |
287 | | Arret : le nombre de bande de lattitude par process est trop faible (<2). |
288 | | ---> diminuez le nombre de CPU ou augmentez la taille en lattitude |
289 | | |
290 | | }}} |