| 1139 | ==== Lancer IPSLCM5_v2 sur la machine Vargas (machine IBM de l'IDRIS) ==== |
| 1140 | |
| 1141 | * Accès au modèle : |
| 1142 | * Il faut avoir accès à subversion : {{{ module load svn }}} |
| 1143 | * Compilation : |
| 1144 | * Avant toute compilation, il faut changer de compilateur, car la version courante fait planter le modèle entre 4 mois et 15 mois d'exécution : |
| 1145 | {{{ |
| 1146 | module switch fortran/12.1.0.4 fortran/12.1.0.3 ; module switch c++/10.1.0.3 c++/10.1.0.2 |
| 1147 | }}} |
| 1148 | * 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à]. |
| 1149 | * Exécution : |
| 1150 | * 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. |
| 1151 | {{{ |
| 1152 | JobNumProcTot=32 |
| 1153 | }}} |
| 1154 | * 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 : |
| 1155 | {{{ |
| 1156 | JobRunOptions='"-pgmmodel MPMD -cmdfile"' |
| 1157 | }}} |
| 1158 | * La soumission du job se fait à l'aide de la commande {{{llsubmit}}} et la suppression par {{{llcancel}}} |
| 1159 | {{{ |
| 1160 | llsubmit Job_EXP00 |
| 1161 | }}} |
| 1162 | * A noter, que les post-traitements s'effectueront sur la machine ulam. |
| 1163 | * Pour améliorer les performances : |
| 1164 | * La configuration idéale est : 29 CPUs ATM, 2 CPUs OCE et 1 CPU pour Oasis. |
| 1165 | * Pour activer cette configuration-là, deux étapes sont nécessaires : |
| 1166 | * Compilation : recompiler NEMO pour qu'il tourne sur 2 process MPI en modifiant directement le code dans modipsl/modeles/NEMO/WORK/par_oce.F90 (lignes 29-31): |
| 1167 | {{{ |
| 1168 | jpni = 1, & !: number of processors following i |
| 1169 | jpnj = 2, & !: number of processors following j |
| 1170 | jpnij = 2 !: nb of local domain = nb of processors |
| 1171 | |
| 1172 | cd modipsl/config/IPSLCM5 ; gmake |
| 1173 | }}} |
| 1174 | * Execution : modifier la répartition du nombre de process à lancer dans modipsl/libIGCM/libIGCM_sys/libIGCM_sys_vargas.ksh |
| 1175 | * Mettre -3 pour l'atmosphère (au lieu de -2) ligne 1092 |
| 1176 | * Mettre 2 pour l'océan (au lieu de 1) ligne 1094 |
| 1177 | * Dupliquer la ligne de lancement de opa.xx ligne 1113 et 1114 |
| 1178 | {{{ |
| 1179 | +1092 (( NUM_PROC_ATM = BATCH_NUM_PROC_TOT - 3 )) |
| 1180 | ... |
| 1181 | +1094 NUM_PROC_OCE=2 |
| 1182 | ... |
| 1183 | +1113 ./opa.xx |
| 1184 | +1114 ./opa.xx |
| 1185 | ... |
| 1186 | }}} |
| 1187 | |