wiki:IPSLCM4_v2_PAR

IPSLCM4_v2 configuration


Tue Mar 19 06:25:56 2024

Depuis 2009, la version de production du couplé IPSL est IPSLCM5A. Voir la documentation là : wiki:IPSLCM5A

  1. IPSLCM4_v2 configuration
    1. Le modèle couplé IPSLCM4_v2 pour les nouveaux utilisateurs
    2. Historique des évolutions
      1. Modifications IPSLCM4_v2 13 août 2009
      2. Modifications IPSLCM4_v2 6 juillet 2009
      3. Modifications IPSLCM4_v2 15 janvier 2009
      4. Modifications IPSLCM4_v2 15 décembre 2008
      5. Modifications IPSLCM4_v2 14 Octobre 2008
      6. Modifications IPSLCM4_v2 19 Septembre 2008
      7. Modifications IPSLCM4_v2 25 Juillet 2008
      8. Modifications IPSLCM4_v2 11 Juillet 2008
      9. Modifications IPSLCM4_v2 30 Juin 2008
      10. Souci MPI IDRIS depuis le 12 mars 2008 (réglé le 23 septembre 2008)
      11. Modifications IPSLCM4_v2 18 Avril 2008
      12. Modifications IPSLCM4_v2 7 Février 2008
      13. Modifications sur brodie depuis le 15 novembre 2007
    3. Différences IPSLCM4_v1 et IPSLCM4_v2
      1. Modèles
      2. Outils et environnement
      3. Documentation
      4. Calculateurs
      5. Validation
      6. Qualité
      7. Tag Posé le 17 octobre 2007
    4. Tests réalisés depuis juillet 2007 avec la version IPSLCM4_v2
      1. Résolution 96x71
      2. Résolution 144x96
        1. HH202
      3. Résolution 144x142
        1. VV202B (ex VV20_2)
        2. VV202
        3. VV202M
      4. Résolution 192x142
        1. WW202
        2. WW202K
    5. Commands to access, compile and run IPSLCM4_v2
    6. Bands
    7. Mise en place de la configuration IPSLCM4_v2
      1. IPSLCM4_v2_PAR (CVS)
      2. IPSLCM4_v2 (SVN)
    8. Administration SVN de la configuration IPSLCM4_v2
      1. Commands to access, modify and commit IPSLCM4_v2 CONFIG files (CARD, …
      2. Comment poser un tag sur la configuration IPSLCM4_v2
      3. How to be informed when IPSLCM4_v2 files are commited
    9. Erreurs/Remèdes?
      1. Messages liés à la compilation
      2. Messages lors de l'exécution
      3. Messages lors des post-traitements
    10. Questions
      1. Restart IPSLCM4_v1
      2. Restart IPSLCM4_v1_OASIS3
      3. Compilation Fcm
      4. Comment avoir autant de sorties texte LMDZ que de taches
        1. Comment deboguer avec totalview
    11. Contrôle Qualité
      1. Comparaison Mono Multi
      2. Comparaison Portage
      3. Comparaison Redémarrage

Le modèle couplé IPSLCM4_v2 pour les nouveaux utilisateurs

  • Accès à la documentation :
    • Le cours (novembre 2008) est disponible en pdf etppt
    • Description de l'accès au couplé IPSLCM4_v2 dans (login : ipsl, passwd : vivaipsl) la documentation libIGCM
    • Les commandes à lancer pour accéder, compiler et exécuter une première simulation avec le couplé IPSLCM4_v2 sont décrites
    • Exposé de Yann Meurdesoif : le parallélisme dans LMDZ (MPI et OpenMP) pdf

Historique des évolutions

Modifications IPSLCM4_v2 13 août 2009

  • rebuild offline par défaut. Voir : [701], [703] inclus pour tag IPSLCM4_v2_6

Modifications IPSLCM4_v2 6 juillet 2009

  • libIGCM_v1_3 (pour ulam, sx9 et évolutions libIGCM entre v1_2 et v1_3) et IPSLCM4_v2_5 (MPISUSPEND=ON ajouté à oasis.driver). Voir [679], [680], [681] et [682].
  • Pour éviter de perdre du temps sur le NEC lors des rebuild (recombinaison des fichiers produits en parallèle) en reportant sur la frontale cette étape, mettre systématiquement dans config.card :
    RebuildFrequency=1Y # pour le faire tous les 12 mois (si plantage voir répertoires
                        # TMP/REBUILD_XXXX sur serveur de fichiers) 
                        # ou 1M pour le faire à chaque mois
    RebuildFromArchive=true
    

Modifications IPSLCM4_v2 15 janvier 2009

  • Version Head d'Oasis3 taggée "ipslcm4_v2" et utilisée maintenant par le modèle IPSLCM4_v2. Voir [520].

Modifications IPSLCM4_v2 15 décembre 2008

  • Configuration IPSLCM4_v2 :
    • Tag IPSLCM4_v2_4 pour les fichiers CONFIG.
    • Suppression des aerosols 1990 et 2000 sujets à modifications fréquentes. Voir projet Ensembles.
    • Ajout de la résolution 96x95x19 pour LMDZ :
      • compilation : gmake ORCA2xLMD9695
      • Avec les mêmes tetaxxx que la résolution 96x71x19: plantage à 5 ans
      • teta retenus : {{{ tetagdiv=5400. ; tetagrot=7200. ; tetatemp=7200. }
    • Tests réalisés en 96x95 :

Modifications IPSLCM4_v2 14 Octobre 2008

  • Configuration IPSLCM4_v2 : Validation tag IPSLCM4_v2_3 (Ajout de l'option big_endian pour la compilation d'opa sur Platine). Voir [423].

Modifications IPSLCM4_v2 19 Septembre 2008

Modifications IPSLCM4_v2 25 Juillet 2008

  • Prise en compte de libIGCM_v1 uptodate (avec rsync entre brodie et rhodes et sleep 60 sur rhodes pour éviter NFS stale). Voir [364].

Modifications IPSLCM4_v2 11 Juillet 2008

  • Voir [355] [356] [357]
  • Essentiellement ajout de fonctionnalités, préparation du land use pour l'avenir et pour faciliter la vie de celui qui voudra s'en servir, aussi la liste histNMC de post-traitement n'était pas à jour.
  • Va de pair avec une update des comptes communs, ajout des cartes de land use, dans INIT pour PFTmap.1850.nc et PFTmap.1980.nc et dans BC pour les VRAIS cartes de landuse avec pour le moment le scénatio appellé A1B.baseline dérivé du scénario A1B SRES mais revu et corrigé par le modèle IMAGE.
  • 2 options de bypass de problème (hgardfou ou de vitesse vertical sup à 10m/s dans opa) dans la section [UserChoices] de lmdz.card. A choisir préféré matsuno.
    • !ByPass_hgardfou_teta = n
    • !ByPass_hgardfou_mats= n
    • pour les teta, on les divise par deux pendant UNE intégration tout est géré par le driver
    • pour le mats on utilisera un schéma matsuno pur, pas de leapfrog pendant UNE integration, tout est géré par le driver
  • Dans lmdz.card corrige la liste des variables à post-traiter pour histNMC
  • Ménage d'une section inutile MonitoringVars in .card
  • Prepare orchidee.card and orchidee.def pour le switch futur vers la nouvelle carte de veget

Modifications IPSLCM4_v2 30 Juin 2008

  • libIGCM est recherché sur son serveur svn:
    • Voir modification dans mod.def : [353]
    • Plus d'informations sur libIGCM : http://forge.ipsl.jussieu.fr/libigcm
    • es versions libIGCM_v1 sur cvs et svn sont identiques.
    • Effets attendus :
      • aucun si on recharge le couplé.
      • si on veut bénéficier des nouveautés gérés sous svn par libIGCM, il faut rechercher libIGCM sur son serveur svn et le mettre à la place de l'ancien
      cd .../modipsl ; mv libIGCM libIGCM_old ; svn co http://forge.ipsl.jussieu.fr/libigcm/svn/tags/libIGCM_v1 libIGCM ;

Souci MPI IDRIS depuis le 12 mars 2008 (réglé le 23 septembre 2008)

Cela se traduit par des erreurs d'exécution (genre * 253 Invalid operation) ou des problèmes de lancement du couplé qui ne démarre pas (deadlock). Cela arrive si vous avez recompilé depuis cette date. Les exécutables générés avant le 12 mars passent sans souci. L'assistance est au courant et nous ne sommes pas les seuls à rencontrer des soucis. A suivre...

Version 7.2.4 par défaut depuis le 23 septembre 2008. Recompiler pour l'utiliser.

sxmpi (ssos999) Tue Sep 23 09:41:21 2008

  ***********************************************************************

  Changement de la bibliotheque MPI                     23 septembre 2008

  ***********************************************************************

  Le mardi 23 septembre une nouvelle version de la bibliotheque MPI a ete
  mise en exploitation par defaut (7.2.4). Pour en bénéficier il faudra
  recompiler entierement votre code.

  Nous vous invitons a nous prevenir si ce changement vous pose des
  problemes.

  Remarques :
  1) la commande module permet de retrouver l'ancienne version ou
  d'experimenter une nouvelle version du compilateur.
  http://www.idris.fr/su/Vectoriel/brodie/doc_module.html

  2) l'historique des changements de version ainsi les documents NEC
  detaillant les modifications sont consultables sur notre site Web.
  http://www.idris.fr/su/Vectoriel/brodie/versions/index.html
  http://www.idris.fr/users/doc-nec-sx8/index.html

6 août 2008 - version 7.2.4 : Test 10 ans fait par MAF - OK 7.2.4 bonne pour le service :

Concernant le problème de Deadlock avec la version mpi 7.2.1 + 
MPISUSPEND=ON, nous venons d'installer sur TX7 et sur SX-8 la version 
7.2.4 qui corrige le problème.

TX7 : module load sxmpi/7.2.4
SX-8 : module load sxmpi/7.2.4

version command : 7.2.1
version demon : 7.2.1
version library : 7.2.4

On devrait passer cette version en version courante début septembre.
Donc n'hésitez pas à la tester et à nous donner vos retours 
d'expérience.

D'avance merci.

Jean-Michel Dupays

Pour contourner cela,

  • il faut utiliser l'ancienne version MPI dès la compilation et lors de l'exécution aussi
  • Il vaut mieux tout recompiler.
  • Pour cela :
    • taper cette commande avant la toute première compilation:
      module load sxmpi/7.2.0     # module list # (pour vérifier)
      
    • Trace de la session :
      brodie : module load sxmpi/7.2.0
      (load) MPI/SX Version 7.2.0
      brodie : module list
      Currently Loaded Modulefiles:
       1) idris                          4) sxc++/077(def:new:default)    
       2) compilerwrappers/yes(default)  5) sxf90/360(def:new:default)    
       3) fortraninteger/4(default)      6) sxmpi/7.2.0 
      
    • ajouter la même commande dans le Job juste avant le lancement de l'exécution par mpirun :
          echo
          echo "#######################################"
          echo "#      DIR BEFORE RUN EXECUTION       #"
          echo "#######################################"
          echo
          module load sxmpi/7.2.0
      

Modifications IPSLCM4_v2 18 Avril 2008

  • Climatologie non validée à toute résolution. En rodage
  • tag IPSLCM4_v2_2 pour les fichiers CONFIG. Voir [302] et [301].
    • pmagic=0.02 dans gcm.def_LMD144142 pour la résolution 144x142. Voir : [283].
    • cvl_corr=1.002 pour la résolution 144x142. Voir : [283].
    • cvl_corr=1.0 pour la résolution 144x96. Voir : [279].
    • ok_dynzon=n Voir : [288].
    • Ajout de dynzon dans les fichiers manipulés par create_SE. Voir : [297].
    • Paramétrage des sorties :
      • au niveau d'information inférieur à celui d'Ensembles. Voir : [255].
      • à 1 mois pour dynzon. Voir [281].
    • Résolutions ajoutées : 44x43 et 72x45. Compilation OK, fichiers d'entrée (aerosols) non vérifiés et fichiers Bands non existants. Voir [210].
  • tag LMDZ4_V3_4 pour LMDZ. Voir [298] et détails plus loin.
  • tag OPA repoussé (plus de messages à la compilation indiquant des différences de taille de common). Voir #37 et #38.
  • ORCHIDEE :
  • libIGCM : version 1.0. Voir [300].
    • Voir la version 1.0 de libIGCM
    • Compte commun utilisé à l'IDRIS et au CCRT :
      • fichiers d'entrée, utilitaire rebuild, ...
      • Attention, fichier LAI2D.nc différent (maillage et interpolation)
  • rebuild : version performante sur le NEC SX-8 à l'IDRIS et au CCCRT. Voir #41.
  • IOIPSL tag v2_1_2 (3 avril 2008) - Différences avec IOIPSL tag v2_1_1 (23 octobre 2007) :
    • modifications sur les axes (ajout de l'attribut pour les axes et suppression dans les variables),
    • suppression des associate_file dans les attributs globaux,
    • attribut convention "CF-1.1" au lieu de "GDT 1.3",
    • simplification de la gestion des buffer dans histcom et restcom (résultats identiques, vérifié sur brodie)
    • remise en route des zooms dans histcom,
    • impression d'un message de warning si mauvaise utilisation de calendar (utilisation d'une information non renseignée),
    • overwrite_time opérationnel dans restcom
    • large utilisation de fonctionnalités Fortran 90 dans stringop et getin.
    • Accès aux sources par SVN . Voir IOIPSL

Modifications LMDZ entre les tags LMDZ4_V3_3 et LMDZ4_V3_4

Tag LMDZ4_V3_4 sur la branche LMDZ4_V3_patches (la référence du couplé). Les différences par rapport au tag précédent sont:

Modifications LMDZ entre les tags LMDZ4_V3_2 et LMDZ4_V3_3

Tag LMDZ4_V3_3 sur la branche LMDZ4_V3_patches (la référence du couplé). Les différences par rapport au tag précédent sont:

  • sorties ISCCP validées. Sorties mensuelles, échantillonnage 3 heures.
  • petite inversion de boucle dans isccp_cloud_types.F pour aller + vite
  • "CFisation" d'un certain nombre d'unités pour les hist*
  • le travail de Yann sur dynzon :
    • création du fichier dynzon dans la version parallèle de LMDZ
    • "débranchement" de dyn_hist, dyn_histv, dyn_hist_ave
  • dynzon désactivé par défaut. Coût CPU ~7% en plus. Pour l'activer utilisez (depuis le 26 Mars 2008) le parametre ok_dynzon.
  • rugoro :
    • le rugoro est forcé à zéro dans physiq.F. Voir différences physiq.F
    • les suggestions de Jean-Louis pour rugoro. Mise à la valeur 1.E-5 au minimum avant calcul diagnostics, seuillage de z0 sur glace de terre :
  • un parafilt.h qui colle pour 144x142 (la résolution Ensembles). Voir différences parafilt.h

Simulations tests

Modifications IPSLCM4_v2 7 Février 2008

Modification IPSLCM4_v2 le 6 février 2008

  • cvl_corr=1.0 pour la résolution 144x142. Voir : [241]
  • tag LMDZ4_V3_2 pour LMDZ. Voir [244]

Modifications LMDZ entre les tags LMDZ4_V3_1 et LMDZ4_V3_2

Tag LMDZ4_V3_2 sur la branche LMDZ4_V3_patches (la référence du couplé). Les différences par rapport au tag précédent sont:

  • la compatibilité des sorties avec ENSEMBLES. (quelques unes encore à rajouter) voir #39
  • quelques inconsistences entre niveaux de sorties et type de run amenant au pire à un plantage. Voir #34 et #35
  • la possibilité de faire tourner le même executable en forcé et en couplé. Voir #29
  • une meilleure prise en compte des dépendances des modules pour la compilation. Voir modif create_make_gcm
  • une "verrue" pour contourner le plantage dans coefcdrag dû à une division par 0. Voir #26
  • la prise en compte du facteur pmagic dans le calcul de l'albédo. Voir #36
  • la reprise en compte des sorties aérosols. Voir modifs ini_histmth.h et write_histmth.h

Modifications sur brodie depuis le 15 novembre 2007

  • svn cassé entre le 15 et le 20 novembre 2007
  • compilation sur brodie à faire en interactif (comme sur mercure)
  • clé RSA changée
    1) La commande svn a été en panne entre le 15 et le 20 novembre. Celle qui marche est dans le répertoire : 
    /local/bin/svn
    répertoire par défaut dans le PATH de chacun.
    
    2) Pour compiler le couplé, la compilation en batch plante mais ... Surprise, il n'est plus nécessaire 
    de compiler LMDZ en batch, donc il faut maintenant compiler le couplé en interactif. Cela prend 30 mn comme d'hab.
    
    Pour cela il faut faire :
    gmake 
    
    Pour compiler une autre résolution que ORCA2xLMD9671, il faut faire :
    gmake ORCA2xLMD144142
    comme sur mercure.
    
    3) clé RSA
    Avec toutes ses modifs, la clé RSA de brodie a changé.
    
    

Différences IPSLCM4_v1 et IPSLCM4_v2

Résumé des différences entre IPSLCM4_v1 (IPCC) et IPSLCM4_v2

  • La climatologie n'est pas encore totalement au point. Il faut s'attendre à des modifications prochaines. Voir aussi réunions wiki:CplIpsl

Modèles

  • LMDZ4 V3 1
  • ORCHIDEE 1.9.1
  • LMDZ et ORCHIDEE en parallèle par défaut
  • Seule différence pour OPA : flxrnf, version de novembre 2007, tag ipslcm4_v2
  • Des nouveaux poids ont été générés pour fermer le bilan d'eau

Outils et environnement

  • OASIS3 (Attention! changement de format des fichiers)
  • Compilation de LMDZ par FCM. Voir le site officiel de FCM
  • Nouveaux scripts (libIGCM v 0.9). Voir Documentation libIGCM
    • Lancement de l'exécution par MPI-1 (par défaut maintenant) ou MPI-2 (ancienne technique peu portable)
    • Possibilité de faire les simulations par bloc d'une année :
      • Mettre PeriodLength=1Y dans le fichier EXP00/config.card
      • Attention les résultats sont différents en lançant 1 an à la fois ou 12 fois un mois (soucis de restart). Voir plus d'informations
    • Lorsque les post-traitements sont lancés (paramètre SeasonalFrequency=10Y de config.card) les fichiers sont mis sur les serveurs http://dodsp.idris.fr/ et/ou http://dods.extra.cea.fr/data/ tous les 10 ans.
  • Gestion des sources par SVN sur la machine forge.ipsl.jussieu.fr :
    • IOIPSL v2_1_1 géré par SVN
    • Gestion de modipsl par SVN. Attention! accès différent.
    • Gestion de la configuration IPSLCM4_v2 par SVN (fichiers d'entrée : AA_make, PARAM, COMP, ...

Documentation

  • Le cours (version 2007) est accessible en ppt et en pdf
  • L' accès à la configuration IPSLCM4_v2 est décrit dans la documentation libIGCM
  • Le mémo des commandes à passer pour accéder, compiler et lancer une simulation IPSLCM4_v2 est aussi

Calculateurs

  • Tests sur brodie (IDRIS), mercure (CCRT vectoriel) et platine (CCRT scalaire: 8, 16 et 24 cpus, conseil : 20 procs en 96x71 et 40 procs en 144x142)
  • Validations sur 10 ans au moins sur brodie et mercure
  • Nombre conseillé de processeurs :
    • Par défaut 4.
      • Conseillé pour la résolution par défaut ORCA2xLMD9671, soit 3 pour LMDZ/ORCHIDEE et 1 pour alternativement OPA et OASIS.
      • Le fichier d'équilibrage de charge existe : Bands_96x71x19_3prc.dat
    • A changer par 6 (config.card JobNumProcTot) pour les résolutions ORCA2xLMD14496 et ORCA2xLMD144142, soit 5 pour LMDZ/ORCHIDEE.
      • Les fichiers d'équilibrage de charge existent : Bands_144x96x19_5prc.dat et Bands_144x142x19_5prc.dat
    • Voir aussi les informations sur le fichier Bands

Validation

  • 4 résolutions différentes sont proposées :
    • ORCA2xLMD7245
    • ORCA2xLMD9671 (par défaut)
    • ORCA2xLMD14496
    • ORCA2xLMD144142
    • D'autres résolutions sont en cours de mise en oeuvre :
      • ORCA2xLMD4443
      • ORCA2xLMD444315
      • ORCA2xLMD444311
    • Deux résolutions pour le dernier glaciaire sont également en cours de mise en oeuvre :
      • ORCA2lgmxLMD7245
      • ORCA2lgmxLMD9671
  • Validation de la résolution ORCA2xLMD9671 :
    • Les paramètres physiques par défaut sont ceux de la simulation : PDCTLV2 (site MC2)
    • Travail de réglage de la physique encore en cours. Voir réunions wiki:CplIpsl.
  • Validation de la résolution ORCA2xLMD144142 :
    • Le stream2 d'Ensembles (réalisé par S Denvil) se fait à cette résolution. Décision de décembre 2007.
    • Les simulations en résolutions 144142 sont disponibles là : Climatology
  • Les autres résolutions sont disponibles pour information et des essais sont en cours.
  • Conservation de l'eau vérifiée pour les résolutions 96x71, 144x96 et 144x142

Qualité

Tag Posé le 17 octobre 2007

Tag IPSLCM4_v2_1 posé sur la configuration IPSLCM4_v2

  • Le Tag IPSLCM4_v2_1 a été poussé ce 12 novembre 2007 pour prendre en compte les bons pas de temps pour LMDZ à la résolution 144x96x19 (day_step=720 et pas 960), puis pour prendre en compte dans physiq.def le nouveau paramètre aer_type (actuel). Voir [200] et [203].
  • Le Tag IPSLCM4_v2_1 a été posé ce 17 octobre 2007. Voir détail des commandes passées dans le ticket:20
  • Les tests ont été systématiquement faits sur mercure et brodie sur 4 processeurs. Les tests ont démarré sur platine (CCRT, Bull) sur 8, 16 et 24 processeurs.
  • Le modèle récupéré permet une simulation type 2L20 ou PDCTLV2. Voir le site MC2 pour PDCTLV2
  • Depuis [195], un paramètre de physiq.def permet de préciser le type d'aérosols : actuel ou preind ou scenario. Il est a actuel par défaut pour le couplé IPSLCM4_v2.

Tests réalisés depuis juillet 2007 avec la version IPSLCM4_v2

Attention! Ces tests n'ont pas été faits avec la bonne version de flxrnf dans OPA. flxrnf est à jour depuis le 13 novembre 2007.

Légende

On a mis en italiques ce qui a été fait à la main et n'est plus utile maintenant car intégré par défaut dans la configuration IPSLCM4_v2.

Résolution 96x71

  • La configuration IPSLCM4_v2 est en cours de validation/vérification :
    • Vérification dite de l'été 2007
      • 10 ans sur mercure et brodie sur 4 (3 pour LMDZ/ORCHIDEE + 1 pour OASIS/OPA) et 6 (5+1) processeurs, depuis états initiaux (sans restart), avec atlas et post-traitements.
      • Simulation à comparer à 2L24 ?
      • Anciens poids
      • Exemple inclus dans la documentation libIGCM
      • Cours revu 2007 (pdf)
      • Nouveauté (23 août 2007) : Il y a 4 processeurs par défaut. Pour modifier le nombre de processeurs, changer dans config.card le paramètre JobNumProcTot, juste avant de lancer la commande ins_job.
      • Plus nécessaire depuis le 23 août 2007 mais utile pour vérification. Pour avoir 4 processeurs en tout (3 pour LMDZ/ORCHIDEE et 1 pour OASIS/OPA successivement), il faut mettre à 4 le paramêtre PBS_NUM_PROC_TOT dans le Job :
        #PBS -v PBS_NUM_PROC_TOT=4
        
    • Vérification octobre 2007
      • tag LMDZ4_V3_1 et orchidee_1_9_1
      • poids v4 pris sur compte commun IDRIS
      • 10 ans sur brodie
      • Voir atlas 1ère décennie là
      • Reste à vérifier les fichiers de sortie de LMDZ
  • Les tests de Sébastien Denvil avec IPSLCM4_v2 en parallèle sont sur mercure et brodie (PDCTLV1, PDCTLV2, PDCTLV3, PDCTLV4).
    • Ces tests sont la continuité des runs FH décrits dans la page wiki climatology et ont vocation à permettre l'équilibrage du modèle avec le nouvel Orchidée en incluant les améliorations liés à la conservation de l'eau.
    • Tests réalisés avec IPSLCM4_v2. PDCTLV3 et PDCTLV4 ont des sources modifiées pour fmagic (libf/phylmd/albedo.F).
    • On utilise les nouveaux poids, le correctif cvl_corr et les dernières modifications de Olivier dans OPA/SRC_ORCA/flxrnf.F (--> idem HH20D).
    • Tests avec les *.def de FH13 et ceux de 2L20, avec et sans l'utilisation du fmagic. Le fmagic est issu de tests réalisés en mode forcé LMDZ4OR par Josefine Ghattas.
Experience Machine *.def fmagic Accès aux résultats
PDCTLV1 Mercure FH13 1.0 PDCTLV1
PDCTLV2 Mercure 2L20 1.0 PDCTLV2 Réglage retenu pour tag IPSLCM4_v2
PDCTLV3 Brodie FH13 1.17 PDCTLV3
PDCTLV4 Brodie 2L20 1.17 PDCTLV4
  • Tests comparables à HH202 et VV202, nouveaux poids v4, même IPSLCM4_v2, aérosols constants 1980 :
    • 2L202 avec cvl_corr=1.02
    • 2L202B avec cvl_corr=1.00 Garder cette valeur pour la résolution 96x71
      • version 22 septembre 2007
      • 100 ans fait (1860-1959)
    • 2L20C - couplé IPSLCM4_v2 en 96x71, démarrage depuis Levitus pour l'océan
      • etat au 17 décembre 2007 :
    • 2L202D - couplé IPSLCM4_v2 en 96x71, démarrage depuis 2090 pour l'océan, 2094 (2L24) pour coupleur
      • etat au 17 décembre 2007 :
        • tourne sur mercure
        • /work/cont003/p86maf/2L20C/modipsl/config/IPSLCM4_v2/EXP202D
        • 3 décennies faites (1860,1889)
        • recopié sur mc2
        • Voir les ATLAS disponibles
  • Tableau des vérifications :
Machine nb procs Execution 10 ans Mémoire Temps CPU Temps réel Temps rebuild Post-traitements Accès atlas 10 ans
Mercure 3 procs 2 ans 1 an en 2h20mn, estimation pour 10 ans : 24h 3.5 gb 1 300 s/mois 10 mn/mois <1 mn
Mercure 4 procs OK (manque fichiers sechiba) 10 ans en 16 h 4.1 gb 1 500 s/mois 8 mn/mois 1 mn OK (sauf SRF) 1860_1869
Mercure 6 procs OK 10 ans en 22 h 4.7 gb 1 900 s/mois 6 mn/mois 1 mn OK 1860_1869
Brodie 4 procs OK 10 ans en 23 h 4.1 gb 1 600 s/mois 9 mn/mois 2 mn 4ème relance ... 1860_1869
Brodie 6 procs OK 10 ans en 26 h 4.7 gb 2 000 s/mois 8 mn/mois 4 mn OK 1860_1869

  • Fichiers résultats :
    • Faut-il sauvegarder les fichiers histrac? Non
  • Atlas
    • IDRIS :
      • Problème récurrent sur rhodes : Exceeds the processor limit value of 2 processors, using 3(ou 4) processors. Réglé le 23 août 2007. Voir par exemple : la modif dans MO2SE
      • Réglé en octobre 2007. Pour ouvrir les accès dods. Il faut actuellement passer les commandes suivantes :
         rhodes : cd $HOMEGAYA/IGCM_OUT/IPSLCM4_v2/JobName
         rhodes : chmod -R ugo+rX *
         rhodes : rlogin gaya
         gaya : cd IGCM_OUT/IPSLCM4_v2/JobName/ATLAS
         gaya : dods_cp SE* DODS/pub/monlogin/JobName/ATLAS
        
    • Mercure :
      • Manque les sorties sechiba. Corrigé depuis mais absent de cette simu.
      • Réglé en octobre 2007. Pour ouvrir les accès dods, il faut actuellement passer les commandes suivantes :
         mercure : cd $DMFDIR/IGCM_OUT/IPSLCM4_v2/JobName/ATLAS
         mercure : dods_cp SE* public/monlongin/JobName/ATLAS/
        
  • Performances rebuild (correctes).
  • Equilibrage de charge (par défaut dans IPSLCM4_v2):
    • Pour optimiser l'équilibrage entre les processeurs, on peut utiliser le fichier : Bands_96x71x19_3prc.dat.
    • On passe de 520 s de temps elapsed par mois de simulation à 480 s.
    • Dans run.def, ajouter : adjust=n
    • Ajouter dans COMP/lmdz.card :
      List=   ...
              (${SUBMIT_DIR}/PARAM/Bands_96x71x19_3prc.dat, .), \
      ...
      
  • Détail des performances sur brodie :
    • 4 processeurs en tout (#PBS -v PBS_NUM_PROC_TOT=4)
      $ jar 
      DATE  QUEED START    END      USER    NQSID REQNAME  QUEUE  SYS-CPU  USER-CPU ELAPS MAXMEM   MFLOPS 
      Jul27 14:16 27/14:16 27/14:32 rpsl003 79746 V5PAR4A  p4t1     58.30   1959.00   969   4115  2422.69 (1 mois)
      Jul27 14:32 27/14:33 27/14:45 rpsl003 79774 V5PAR4A. p4t1     67.29   1650.55   747   3731  2808.20 
      Jul27 14:45 27/14:46 27/14:58 rpsl003 79796 V5PAR4A. p4t1     53.55   1740.28   755   3731  2693.33 
      Jul27 15:45 27/15:45 27/17:31 rpsl003 79884 V5PAR4A  p4t2    346.50  15661.05  6367   3732  2725.76 (12 mois)
      Jul31 12:11 31/12:12 31/14:38 rpsl003 85421 V5PAR4A  p4t2    444.43  20192.57  8768   4115  2818.98 
      Jul31 14:38 31/14:39 31/16:51 rpsl003 85610 V5PAR4A. p4t2    437.25  19813.50  7958   3732  2860.91 
      Jul31 16:51 31/16:52 31/19:15 rpsl003 85840 V5PAR4A. p4t2    447.04  20095.13  8584   3732  2810.98 
      Jul31 19:15 31/19:15 31/21:34 rpsl003 86018 V5PAR4A. p4t2    458.18  20249.79  8323   3732  2788.00 
      Jul31 21:34 31/21:34 31/23:52 rpsl003 86201 V5PAR4A. p4t2    437.25  19806.21  8249   3732  2850.05 
      Aug01 02:07 01/02:07 01/04:19 rpsl003 86513 V5PAR4A. p4t2    429.75  19431.98  7905   3732  2906.21 
      Aug01 04:19 01/04:20 01/06:40 rpsl003 86648 V5PAR4A. p4t2    421.27  19532.56  8367   3732  2886.10 
      Aug01 08:57 01/08:59 01/11:12 rpsl003 86908 V5PAR4A. p4t2    443.13  19773.71  7967   3732  2856.36 
      
    • 6 processeurs en tout (#PBS -v PBS_NUM_PROC_TOT=6)
      $ jar 
      DATE  QUEED START    END      USER    NQSID REQNAME  QUEUE  SYS-CPU  USER-CPU ELAPS MAXMEM   MFLOPS 
      Jul27 12:50 27/12:50 27/13:07 rpsl003 79636 V5PAR6   p6t1     64.21   2363.78  1014   4691  2012.56 (1 mois) 
      Jul27 13:07 27/13:07 27/13:27 rpsl003 79662 V5PAR6.2 p6t1     57.73   1871.88  1162   4292  2504.26 
      Jul27 13:27 27/13:27 27/13:39 rpsl003 79683 V5PAR6.3 p6t1     62.05   1959.52   723   4292  2395.86 
      Jul27 13:39 27/13:39 27/13:56 rpsl003 79701 V5PAR6.4 p6t1     59.98   1858.24  1007   4292  2523.05 
      Jul27 14:17 27/14:18 27/14:30 rpsl003 79748 V5PAR6.6 p6t1     60.39   1858.15   729   4292  2532.87 
      Jul27 14:30 27/14:31 27/14:43 rpsl003 79770 V5PAR6.7 p6t1     60.08   1855.22   708   4292  2522.69 
      Jul27 15:05 27/15:05 27/15:26 rpsl003 79822 V5PAR6.9 p6t1     62.51   2013.15  1273   4292  2330.72 
      Jul27 19:50 27/19:50 27/22:12 rpsl003 80248 V5PAR6.2 p6t2    489.94  24106.43  8500   4292  2356.16 (12 mois)
      Jul28 02:50 28/02:51 28/05:06 rpsl003 80731 V5PAR6.5 p6t2    475.42  23233.19  8153   4292  2439.10 
      Jul28 07:20 28/07:20 28/09:30 rpsl003 81014 V5PAR6.8 p6t2    469.04  22176.01  7824   4292  2555.10 
      Jul28 14:12 28/14:12 28/14:34 rpsl003 81414 V5PAR6.1 p6t2     98.51   3746.33  1329   4292  2493.26 (1 mois)
      

Résolution 144x96

HH202

  • Test de IPSLCM4_v2
  • Brodie : /workdir/rech/psl/rpsl003/HH20_v2
  • Stoppé à 51 ans (07/1910). Voir STOP in hydrolc_waterbal" dans le fichier $HOMEGAYA/IGCM_OUT/IPSLCM4_v2/HH202/CPL/Debug/HH202_19100701_19100730_out_oasis. 12/09/2007 : Poursuivi avec : check_waterbal ligne 39 de hydrolc placé à .FALSE. Idem sur VV202.
  • Résolution 144x96
  • Attention! day_step=960 dans cette simulation (comme HH20 réalisée en 2005).
    • Or, depuis les tests de mise en route faits par Ionela en forcé en 144x142 avant VV20, on s'est aperçu que on tenait en 144x142 avec day_step=720. On garde donc day_step=720 pour 144x96 et 144x142. Mis par défaut pour IPSLCM4_v2 le 12 novembre 2007.
    • Les temps d'exécution ici affichés sont donc trop importants.
  • Modifications pour cette résolution :
    • LMDZ4 :
      • filtrez : LMDZ4/libf/filtrez/parafilt.h
         c 144 96 19 non-zoom:
               PARAMETER (nfilun=16, nfilus=16, nfilvn=16, nfilvs=16)
        
    • Compilation :
      • job.comp : gmake lmdz14496. Inutile maintenant de modifier le job.comp.
      • Pour cette résolution, on fait :
        mercure ou brodie : gmake ORCA2xLMD14496
        
  • Simulation : idem HH20D : Climatology
    • Redémarrage depuis HHSTART, date = 20901230, ancien script, fichiers stockés là : /u/rech/ces/rces452/SORTIES_CPL_IPSL. Utilisation de Config.card.OldName.
    • modifications dans les sources :
      • readsulfate : LMDZ4/libf/phylmd/readsulfate.F ligne 106-107 pour faire un contrôle actuel
         IF (iyr .lt. 4850) THEN
             cyear='1980'
        
        • Inutile maintenant que le parametre type_aer existe dans physiq.def
      • physiq : LMDZ4/libf/phylmd/physiq.F décommenter ligne 49, c#define histhf pour avoir les sorties HF
        #define histhf
        
    • modifications dans les fichiers d'entrée :
      • PARAM/physiq.def pour les GES
              > co2_ppm = 348.
              > CH4_ppb = 1650.
              > N2O_ppb = 306.
              > CFC11_ppt = 280.
              > CFC12_ppt = 484.
        
        • Inutile maintenant que ce sont les paramètres par défaut
      • PARAM/physiq.def pour le paramêtre correctif de la convection :
        cvl_corr=1.02
        
        • Inutile maintenant car inclus dans gcm.def_LMD14496
    • Nouveaux poids (v4) :
      • _v4 dans COMP/oasis.card pour tous les fichiers BoundaryFiles
      • dans namcouple_ORCA2xLMD14496, changer le nombre de voisins pour les interpolations Mozaic. Passer de 15, 27, 6, 47 à 15, 27, 333, 48. Fait dans IPSLCM4_v2
      • Augmenter la mémoire dans le Job : 9 gb
    • Test sur 6 processeurs en tout dont 5 pour LMDZ/ORCHIDEE (#PBS -v PBS_NUM_PROC_TOT=6). Nouveauté : dans config.card, mettre JobNumProcTot=6
      • -q multi et PBS_NUM_PROC_TOT=6
  • Tableau des performancess :
Machine nb procs Nom Execution Mémoire Temps CPU Temps réel Temps rebuild Post-traitements Accès atlas 10 ans
Brodie 6 procs (5 pour LMDZ) HH202_SANS_HF 1 an sans histhf 7.5 gb 4 400 s/mois 17 mn/mois 5-6 mn/mois (TMPDIR)
HH202_SANS_HF 2ème année sans histhf 4 700 s/mois 19 mn/mois 8 mn (WORKDIR)
HH202 1 an avec histhf reconstruit 7.5 gb 4 400 s/mois 17 mn/mois 45 mn/mois (TMPDIR)
HH202 10 ans (avec histhf stocké mais non reconstruit) en 2 jours 7.5 gb 4 400 s/mois 17 mn/mois 7 mn/mois (TMPDIR) OK après modif -l mpp_p A partir de la 4ème décennie : ATLAS
2 procs (LMDZ en mono) HH202M 10 ans en 5 jours 3.8 gb 3 400 s/mois 56 mn/mois 0 OK ATLAS
  • Détail des performances sur brodie :
    • 6 processeurs en tout (#PBS_NUM_PROC_TOT=6) :
      $ jar 
      DATE  QUEED START    END      USER    NQSID REQNAME  QUEUE  SYS-CPU  USER-CPU ELAPS MAXMEM   MFLOPS 
      Aug08 10:33 08/10:35 08/11:15 rpsl003 97129 HH202    p6t2     88.21   5739.94  2412   7412  2489.40 (1er mois TMPDIR)
      Aug08 11:15 08/11:15 08/11:43 rpsl003 97173 HH202.2  p6t2     93.22   5029.62  1676   7092  2810.14 (1 mois TMPDIR)
      Aug08 12:39 08/12:39 08/14:57 rpsl003 97272 HH202    p6t2    341.89  27649.29  8299   6916  3164.37 (6 mois WORKDIR) 
      Aug08 15:26 08/15:26 08/15:53 rpsl003 97462 HH202    p6t2    364.23   4636.17  1567   6916  2952.63 (1 mois)
      Aug08 17:31 08/18:26 08/21:14 rpsl003 97602 HH202    p6t2   2225.39  29311.92 10078   6916  2801.75 (6 mois)
      

Résolution 144x142

VV202B (ex VV20_2)

  • brodie : /workdir/rech/psl/rpsl003/VV20_v2/
  • renommé VV202B, le _ dans les noms de simulations empêche les outils MC2 de fonctionner.
  • 30 ans réalisés sur brodie
    • Performances :
      • entre 45 et 66 mn de temps elapsed par mois simulés
      • rebuild : environ 90 mn de temps elapsed (intenables). Voir informations précises là : RebuildPerformances
    • 10 ans pour voir l'équilibre
      • Plantage sur point océan à salinité négative (83,98) en 1860/09 louche car au premier pas de temps océan.
      • Resoumis au delà de 1860/09. Passé. 25 ans au 20 août 2008.
  • Job :
    • Tests avec (#PBS -v PBS_NUM_PROC_TOT=6). Nouveauté : dans config.card, mettre JobNumProcTot=6
    • Mémoire : 10gb
  • Modifications pour cette résolution :
    • LMDZ4 :
      • filtrez : LMDZ4/libf/filtrez/parafilt.h
        PARAMETER (nfilun=24, nfilus=23, nfilvn=24, nfilvs=24)
        
    • Compilation :
      • job.comp : gmake lmdz144142. Inutile maintenant de modifier le job.comp.
      • Pour cette résolution, on fait :
        mercure ou brodie : gmake ORCA2xLMD144142
        
  • Expérience :
    • VV20_2 renommée VV202B par SD (caractère _ interdit des synchronisation mc2/centres de calcul)
    • Arrêtée à 30 ans compte tenu des performances de rebuild.
    • A comparer directement à VV20 : Climatology
    • Etats initiaux :
      • Atmosphère : create_etat0_limit
      • Orchidée : rien
      • Océan : V0START, 30/12/2090
  • nouveaux poids (_v4)
    • Voir infos détaillées sur les nouveaux poids là : NouveauxPoids
    • Job (R_BC_TEST=/u/rech/ces/rces452/IGCM/BC)
    • COMP/oasis.card (${R_BC_TEST} et _v4)
    • La mémoire augmente aussi. (0.5 GB environ)
    • Changer le nombre de voisins. Voir PARAM/namecouple_ORCA2xLMD144142_v4. 30 devient 32 et 7 devient 513. Fait dans IPSLCM4_v2
  • OPA :
    • modifier OPA/SRC_ORCA/flxrnf.F. Fait dans IPSLCM4_v2
  • LMDZ :
    • readsulfate : LMDZ4/libf/phylmd/readsulfate.F ligne 106-107 pour faire un contrôle actuel
       IF (iyr .lt. 4850) THEN
           cyear='1980'
      
      • Inutile maintenant que le parametre type_aer existe dans physiq.def
    • physiq : LMDZ4/libf/phylmd/physiq.F décommenter ligne 49, c#define histhf pour avoir les sorties HF
      #define histhf
      
    • COMP/lmdz.card :
      • ajouter sauvegarde fichier histrac dans COMP/lmdz.card (Inutile)
      • ajouter sauvegarde fichier Bands_144x142x19_5prc.dat pour équilibrage charge processeurs
        • nécessitera adjust=y dans gcm.def quand le fichier existera. Fait pour IPSLCM4_v2
      • modifier physiq.def :
        • les GES
           > co2_ppm = 348.
           > CH4_ppb = 1650.
           > N2O_ppb = 306.
           > CFC11_ppt = 280.
           > CFC12_ppt = 484.
          
          • Inutile maintenant que ce sont les paramètres par défaut dans physiq.def
        • et le paramêtre correctif de la convection :
          cvl_corr = 1.019
          
          • Inutile maintenant car inclus dans gcm.def_LMD14496
      • Modifier (à l'IDRIS) la liste des fichiers de sorties pour ne pas recombiner histHF (trop lent) /
        [OutputFiles]
        List=   ...
                (histhf_0000.nc,       ${R_OUT_ATM_O_H}/${PREFIX}_HF_histhf_0000.nc,       NONE), \
                (histhf_0001.nc,       ${R_OUT_ATM_O_H}/${PREFIX}_HF_histhf_0001.nc,       NONE), \
                (histhf_0002.nc,       ${R_OUT_ATM_O_H}/${PREFIX}_HF_histhf_0002.nc,       NONE), \
                (histhf_0003.nc,       ${R_OUT_ATM_O_H}/${PREFIX}_HF_histhf_0003.nc,       NONE), \
                (histhf_0004.nc,       ${R_OUT_ATM_O_H}/${PREFIX}_HF_histhf_0004.nc,       NONE), \
        ...
        
        
  • performances sur brodie
    • 6 processeurs en tout (#PBS -v PBS_NUM_PROC_TOT=6). Nouveauté : dans config.card, mettre JobNumProcTot=6 :
      $ jar 
      DATE  QUEED START    END      USER    NQSID REQNAME  QUEUE  SYS-CPU  USER-CPU ELAPS MAXMEM   MFLOPS 
      Jul05 18:46 05/18:46 05/20:02 rpsl003 44143 VV20DP6. p6t2    105.40   7037.79  4552   9220  2677.88
      

VV202

  • Sur mercure :
    • VV202
    • Idem VV20_2, bascule sur mercure pour avoir histHF recombiné dans le flot de l'exécution.
    • Stoppé à 41 ans (08/1901). Voir STOP in hydrolc_waterbal" dans le fichier $DMFDIR/IGCM_OUT/IPSLCM4_v2/HH202/CPL/Debug/VV202_19010801_19010830_out_oasis. 12/09/2007 : Poursuivi avec : check_waterbal ligne 39 de hydrolc placé à .FALSE. Idem HH202.
    • Stoppé en 1908/03 : STOP in hgardfou avec 25 points imprimés.
      • Manip de /2 des tetaxx sur le mois et c'est reparti.
      • Tests sur un mois de rugoros à 0 et prints des mêmes points. Suivi avec F Hourdin.
    • Stoppé en 1914/02. STOP dans integrd + Print du point avec psol négatif : Au point ij = 844 , pression sol neg. -62590.88734727436
    • Reparti avec teta/2 dès le mois de janvier 1914, (fait le 14 novembre 2007). 1940 le 22 novembre 2007.
    • Etat au 17 décembre 2007 :
      • tourne sur mercure
      • 8 décennies faites depuis 1914 (1914-1920,1999)
      • recopié sur mc2
      • Voir les ATLAS disponibles
    • Erreurs rencontrées :
      • Message à l'exécution :
        ****  96 Loop count is greater than that assumed by the compiler : loop-count=5946 eln=3709 PROG=routing.routing_fetch ELN=3711(400af3ca0) 
        
      • Augmenter loopcnt pour la compilation d'Orchidee et le vérifier en regardant le listing dans le fichier i.routing.L. Dans modeles/ORCHIDEE/src_sechiba/Makefile :
         F_O = .... -R5 -Wf"-pvctl fullmsg noassume loopcnt=40000 -L summary"
        

Machine nb procs Nom Execution Mémoire Temps CPU Temps réel Temps rebuild Post-traitements Accès atlas 10 ans
Brodie 6 procs (5 pour LMDZ) VV20_2 30 ans 10 gb 5 500 s/mois 22 mn/mois 10 mn/mois (sans histHF) OK ATLAS
Mercure 6 procs (5 pour LMDZ) VV202 10 ans en 4 jours 12 gb 5 700 s/mois 22 mn/mois (sans adjust=y dans run.def) 2 mn/mois (avec histHF) OK ATLAS

VV202M

  • Sur mercure :
    • VV202M
    • IPSLCM4_v2 tagguée
    • Répertoire : /work/cont003/p86maf/VV202M/modipsl/config/IPSLCM4_v2/EXP00
    • Modifications dans les sources :
      • physiq.F rugoro=0.
      • albedo.F pmagic=0.02
        < c pmagic -> a mettre dans les .def, avec fmagic
        <       REAL pmagic ! un facteur pour regler l'albedo: on ajoute pmagic a l'abledo
        < C      PARAMETER (pmagic=0.0)   ! si =0, ne change rien
        <       PARAMETER (pmagic=0.02)
        < c
        <          albedo(i) = fmagic*( .03 + .630/( 1. + fauxo*fauxo))+pmagic
        
        <          albedo(i) = fmagic * 0.058/(rmu0(i) + 0.30)+pmagic
        
    • Etat au 17 décembre 2007 :

Résolution 192x142

WW202

  • mercure : /work/cont003/p86maf/WW202/modipsl/config/IPSLCM4_v2/EXP00
  • run en forcé : WF1
    • 4 mois fait
    • Problème d'écrasement des executables gcm.e entre couplé et forcé
    • A faire : corriger LMDZ pour tourner en forcé avec executable créé pour le couplé. Voir #29
  • préparation poids interpolation Mozaic dans Oasis. Fait. (O Marti)
  • préparation fichiers aerosols. Fait. (S Denvil)
  • Modifications pour cette résolution :
    • LMDZ4 :
      • filtrez : LMDZ4/libf/filtrez/parafilt.h
        PARAMETER (nfilun=24, nfilus=23, nfilvn=24, nfilvs=24)
        
    • Compilation :
      • Ajout des cibles ORCA2xLMD192142 et lmdz192142 dans IPSLCM4_v2/AA_make avant de lancer la commande ins_make.
        ORCA2xLMD192142 : libioipsl oasis3 liborchidee orca2 lmdz192142 verif
                echo "ORCA2xLMD192142" >.resol
                echo "$(LIB_MPI)" >.libmpi
        ...
        lmdz192142:
                (cd ../../modeles/LMDZ4; ./makegcm_fcm -d 192x142x19 -m $(FCM_ARCH) create_etat0_limit ; cp bin/create_etat0_limit_192x142x19_t4_phylmd_seq.e ../../bin/create_etat0_limit.e ; )
                (cd ../../modeles/LMDZ4; ./makegcm_fcm -d 192x142x19 -psmile true -v true -parallel true -c $(LIB_MPI) -m $(FCM_ARCH) gcm ; cp bin/gcm_192x142x19_t4_phylmd_para_orch_couple.e ../../bin/gcm.e ; )
        
      • compiler en lancant : sxgmake ORCA2xLMD192142
  • cvl_cor=1.0
  • Modifications dans les sources :
    • rugoro = 0. (physiq.F)
    • pmagic = 0.02 (albedo.F)
  • En machine le 11 janvier 2008. Plantage à 9 mois avec day_step=720.
  • Essai :
    • day_step = 960
    • iphysiq = 20
    • Plantage à 3 jours (voir aussi #30) avec ce message d'erreur :
        * 274 DPWR -> D1<0 in D1**D2 PROG=hbtm ELN=737(4004c5f1c)
      ****  99 Execution suspended PROG=hbtm ELN=737(4004c5f1c)
                     Called from pbl_surface_mod.pbl_surface ELN=986(4003f00c8)
                     Called from physiq ELN=5785(4001831d0)
                     Called from calfis_p ELN=833(4000c30d0)
                     Called from leapfrog_p ELN=1077(400055790)
                     Called from gcm ELN=704(400001d80)
      
  • C'est la modification rugoro=0. dans physiq.F qui aboutit à ce plantage.

WW202K

  • mercure : /work/cont003/p86maf/WW202K/modipsl/config/IPSLCM4_v2/EXP00
    • En machine le 30 janvier 2008. 20 ans fait sans rugoro=0.
    • Arrêt en 20300101. Plantage dans lwu, D1D2 avec D1<0. 170 ans faits.

Commands to access, compile and run IPSLCM4_v2

Accès, compilation, exécution de la configuration IPSLCM4_v2

Par défaut, la compilation de LMDZ et ORCHIDEE active le mode parallèle.

PATH=$PATH:/TXlocal/pub/svn/svn-1.3.1/bin:/home/rech/psl/rpsl035/fcm/bin  # IDRIS only
PATH=$PATH:/home/cont003/p86ipsl/fcm/bin  # MERCURE only
mkdir MY_EXPER 
cd MY_EXPER
svn co http://forge.ipsl.jussieu.fr/igcmg/svn/modipsl/trunk modipsl
cd modipsl/util
./model IPSLCM4_v2
./ins_make
cd ../config/IPSLCM4_v2
gmake (or gmake ORCA2xLMD14496 pour cette autre résolution) 

# job customization
vi EXP00/config.card  # definir le nom de l'experience à lancer dans le fichier config.card (par defaut JobName=L01).
                      # Si besoin changer le nombre de processeurs (par defaut JobNumProcTot=4).
../../util/ins_job

cd EXP00
pwd # .../modipsl/config/IPSLCM4_v2/EXP00

# job verification
# check config.card, (DateBegin, DateEnd and restart option) 
# check Job_JobName (PBS options : time and memory, DRYRUN, NbPeriod)
qsub Job_JobName

Bands

Equilibrage de charge : fichier Bands

  • Avec le couplé IPSLCM4_v2, 4 fichiers Bands arrivent : Bands_96x71x19_3prc.dat, Bands_144x96x19_5prc.dat, Bands_144x142x19_5prc.dat et Bands_144x142x19_7prc.dat
  • Ces fichiers ont été créés sur les NEC (mercure et brodie) pour 3 résolutions, pendant une simulation d'une année consécutive, avec un nombre de processeurs recommandé par résolution.
Résolution Nombre de processeurs Nom du fichier
96x71 4 en tout dont 3 pour LMDZ/ORCHIDEE Bands_96x71x19_3prc.dat
144x96 6 en tout dont 5 pour LMDZ/ORCHIDEE Bands_144x96x19_5prc.dat
144x142 6 en tout dont 5 pour LMDZ/ORCHIDEE Bands_144x142x19_5prc.dat
144x142 8 en tout dont 7 pour LMDZ/ORCHIDEE Bands_144x142x19_7prc.dat
  • Ils contiennent le nombre de points/lignes à traiter par chacun des processeurs pour que les temps de calcul soient le plus équilibrés possibles.
  • Sur une autre machine ou pour un nombre de processeurs différent ou pour une autre résolution il est nécessaire de créer un autre fichier Bands.
  • Pour créer un fichier Bands de manière plutôt automatique depuis le 17 mars 2008 :
    • mv EXP00 BANDS
    • configurer un run de un an par période de un an : PeriodLength=1Y dans config.card
    • dans lmdz.card retirer le fichier Bands de la liste des ParameterFiles
    • dans lmdz.card mettre LMDZ_adjust = y
    • après le run vous aurez un fichier de Bands dans le répertoire PARAM.
  • Pour créer un fichier Bands de manière plutôt manuel :
    • Mettre adjust=y dans run.def
    • Faire tourner LMDZ un an (afin d'avoir une moyenne sur toutes les saisons). Il créera le fichier détaillant le nombre de points/lignes optimums pour chaque tâche LMDZ.
    • Récupérer le fichier Bands_resol_nbprc.dat
    • Mettre adjust=n dans run.def
    • LMDZ lit alors le fichier Bands

Mise en place de la configuration IPSLCM4_v2

IPSLCM4_v2_PAR (CVS)

Cette configuration a été mise en place pour faire des tests. Elle n'est pas entretenue.

  • Mise en place de la compilation de LMDZ et ORCHIDEE en parallèle :
    • configuration de test, mise en place sous cvs, pas entretenue.
    • ORCHIDEE :
      • activer le préprocesseur (option -eP)
      • activer la clé CPP CPP_PARA
      • Question : doit-on garder les listings de compilation
    • LMDZ :
      • makegcm_fcm .... -parallel false ... pour create_etat0_limit.e
      • makegcm_fcm ... - parallel true ... pour gcm.e
      • Cette méthode entraine la compilation en double de LMDZ. Comment l'éviter? Nécessaire pour create_etat0
    • OASIS et OPA : pas de changement
  • Exécution :
    • Le script est basé sur le script de première génération
    • La commande rebuild est lancée sur les machines de calcul
    • L'exécution demande 6 processeurs : 4 pour LMDZ-ORCHIDEE, 1 pour OASIS, 1 pour OPA. Ceci sera réglé ultérieurement

  • FAQ :
    • Comment changer le nombre de processeurs pour LMDZ et ORCHIDEE? Variable PBS (PBS_NUM_PROC_TOT utilisé dans le job. Voir libIGCM/AA_job)
    • error psol<0. Se rencontre lors d'un redémarrage depuis un restart produit par LMDZ (IPCC). Du à une différence double/float NetCDF dans les fichiers Restart, changé depuis IPCC.

IPSLCM4_v2 (SVN)

  • Mise en place de la configuration IPSLCM4_v2 dans modipsl (géré par svn). Voir la version en cours de vérification [ IPSLCM4_v2 enregistrée sous SVN.
  • Modifications/Etapes? :
    • libIGCM chez l'utilisateur OK
    • nouveaux scripts - Voir la doc utilisateur OK
    • gestion des post-traitements OK
    • configuration gérée par SVN OK
    • accès par modipsl (SVN) OK
    • tests mercure et brodie OK
    • recommandations sur le nombre de processeurs et performances OK
    • réglages paramètres d'entrée : PDCTLV2 + 2L20. Attention aux aérosols. OK
    • sources OPA : flxrnf. OK
  • Voir détail des commandes à passer plus loin
  • Attention : Par défaut, la version de LMDZ4 recupérée est la version HEAD qui n'est donc pas tagguée. Les commits réalisés apres le 19/07/2007/17h40 n'ont pas été testés dans cette configuration IPSLCM4_v2. tag LMDZ4_V3_1 mis en place le 5/10/2007. OK
  • Ces problèmes sont réglés au 15 novembre 2007. La compilation sur brodie se fait comme sur mercure.
    • Il y a 2 problèmes pour la compilation sur BRODIE/IDRIS :
      • Il n'y a pas assez de mémoire pour compiler physiq.F dans LMDZ4. Pour cela il faut compiler LMDZ4 en batch. C'est inclus dans la procédure AA_make de brodie. OK
      • Sur l'espace WORKDIR il y en plus un problème qui se produit quand on alterne la compilation en batch et en interactif. On n'a pas ce problème sur le HOME. Problème résolu en mettant /bin/pwd partout au lieu de $PWD ou pwd. OK
      • OASIS n'était pas compilable en batch. Il fallait enchainer compilation en interactif d'OASIS et en batch de LMDZ. Résolu le 24 Septembre 2007. OK
      • Compilation sur brodie :
        ins_make
        cd .../modipsl/config/IPSLCM4_v2
        gmake 
        
      • Compilation sur brodie pour une autre résolution à choisir parmi : ORCA2xLMD7245, ORCA2xLMD9671 (Defaut) , ORCA2xLMD14496, ORCA2xLMD144142:
        ins_make
        cd .../modipsl/config/IPSLCM4_v2
        gmake RESOL=ORCA2xLMD14496
        

Administration SVN de la configuration IPSLCM4_v2

Commands to access, modify and commit IPSLCM4_v2 CONFIG files (CARD, PARAM) on SVN

Il faut avoir les droits en écriture cad avoir un compte ouvert (USER) sur le serveur forge.ipsl.jussieu.fr et qu'il soit enregistré dans le projet igcmg. Voir : Jacques Bellier, Marie-Alice Foujols ou Martial Mancip.

Tous les commit se font sur les fichiers trunk. Les tags correspondent à des copies à un jour donné selon une convention donnée des fichiers du trunk.

mkdir REPERTOIRE_TEMPORAIRE
cd REPERTOIRE_TEMPORAIRE
svn co svn+ssh://USER@forge.ipsl.jussieu.fr/ipsl/forge/projets/igcmg/svn/CONFIG/trunk/IPSLCM4_v2 IPSLCM4_v2
...
... modifs
...
svn ci -m 'MESSAGE EXPLICATIF'

Comment poser un tag sur la configuration IPSLCM4_v2

Voir détail des commandes à passer dans le ticket:20

How to be informed when IPSLCM4_v2 files are commited

Il suffit de s'enregistrer sur la liste de messagerie: igcm-dev@…

Voir : http://forge.ipsl.jussieu.fr/mailman/listinfo/igcmg-dev

Erreurs/Remèdes?

Messages liés à la compilation

Message d'erreur Remède
fcm: Command not found. Modifier la variable PATH pour avoir accès à la commande fcm (Voir 2.1.1)
./i.physiq.f: f90 fatal: Limitation : memory could not allocate. Sur brodie : soumettre la compilation en batch
" Voulez-vous vraiment continuer?" apparait dans le listing de compilation batch de LMDZ sur brodie Effacer le fichier .lock de LMDZ : rm ../../modeles/LMDZ4/.lock puis reprendre la compilation

Messages lors de l'exécution

Message d'erreur Remède
ALLOCATE failed Augmenter la mémoire demandée par le job. #PBS -l memsz_job=6.0gb
IGCM_sys_Cp : error. cp /workdir2/rech/psl/rpsl003/V7/modipsl/config/IPSLCM4_v2/EXP00/PARAM/gcm.def_ gcm.def cp: ERROR: Cannot access /workdir2/rech/psl/rpsl003/V7/modipsl/config/IPSLCM4_v2/EXP00/PARAM/gcm.def_: No such file or directory Le fichier .resol n'existe pas. Sur brodie ne pas oublier de conclure la compilation avec gmake ORCA2xLMD9671 pour le créer
FATAL ERROR FROM ROUTINE restget / --> The time step requested for variable day_counter / --> is not available in the current file Mettre SECHIBA_reset_time=y dans orchidee.def
96 Loop count is greater than that assumed by the compiler : loop-count=5946 eln=3709 PROG=routing.routing_fetch ELN=3711(400af3ca0) Augmenter le parametre loopcnt lors de la compilation d'ORCHIDEE. modeles/ORCHIDEE/src_sechiba/Makefile F_O = .... -R5 -Wf"-pvctl fullmsg noassume loopcnt=40000 -L summary"
EXECUTION of : mpirun -np 1 -max_np 5 ./oasis > out_oasis 2>&1 %NQSII(INFO): Batch job received signal SIGXCPU. (Exceeded cpu limit) Ce message arrive sur brodie quand on a dépassé le temps CPU. Vérifier qu'aucun fichier pour le mois courant (PeriodDateEnd= 1861-11-30) n'existe sur le serveur de fichiers, augmenter le temps limite dans le Job (#PBS -l cputim_job=20:00:00 sur brodie), mettre PeriodState=OnQueue dans run.card et resoumettre le job
le parametre nfilun utilise pour la matrice matriceun est trop petit ! Le changer dans parafilt.h et le mettre a 16. Pour information, nfilun,nfilus,nfilvn,nfilvs doivent etre egaux successivement a 16 16 16 16 arrive à la résolution 144x96 si on n'a pas adapté le fichier LMDZ4/libf/filtrez/parafilt.h

Messages lors des post-traitements

Message d'erreur Remède
--Debug1--> Time Series Job already running exit Soit c'est vraiment le cas, soit changer le paramêtre TimeSeriesRunning=n dans run.card (le passer de y à n) et resoumettre avec DRYRUN=3 pour n'avoir que les post-traitements. Voir aussi la doc utilisateur libIGCM paragraphe 2.3.5
Exceeds the processor limit value of 2 processors, using 3 processors. resoumettre les post-traitements. Parfois jusqu'à 4 fois!

Questions

Questions/Réponses?

Restart IPSLCM4_v1

Redémarrage depuis des fichiers créés par un couplé IPSLCM4_v1

  • Ce type de redémarrage est prévu. Voir complément d'information :
    • Modification des noms des répertoires et des noms de fichiers sur les serveurs de fichiers
    • Modification du format des fichiers Oasis : passage Oasis 2.4 à Oasis 3

Restart IPSLCM4_v1_OASIS3

Redémarrage depuis des fichiers créés par un couplé IPSLCM4_v1_OASIS3

  • Ce type de redémarrage est prévu. Voir complément d'information :
    • Modification des noms des répertoires et des noms de fichiers sur les serveurs de fichiers

Compilation Fcm

Comment remettre en route une compilation de LMDZ après recopie d'un répertoire complet sur un autre?

Il faut supprimer le répertoire libo et refaire l'ensemble de la compilation de LMDZ. C'est plus simple.

pwd #  ..../EXP1
cd ..
cp -pr EXP1 EXP2
cd EXP2/modipsl/config/IPSLCM4_v2
vi ../../modeles/IOIPSL/src/Makefile # mettre le bon répertoire. On peut aussi faire ins_make pour cela.
rm -rf ../../modeles/LMDZ4/libo
sxgmake # compilera la résolution décrite dans le fichier .resol
...

Comment avoir autant de sorties texte LMDZ que de taches

Memo pour avoir autant de sorties texte de l'executable LMDZ que de nombre de taches lancées

Testé sur mercure le 87 février 2008.

1) modifier le fichier lancé comme executable dans libIGCM/libIGCM_sys/libIGCM_sys_mercure.ksh
Mettre :
-p $NUM_PROC_ATM -e /usr/lib/mpi/mpisep.sh ./lmdz.x
au lieu de :
-p $NUM_PROC_ATM ./lmdz.x

2) ajouter l'option du script au Job (voir details dans /usr/lib/mpi/mpisep.sh) :
   export MPISEPSELECT=4

3) ajouter std aux fichiers à sauver par LMDZ dans COMP/lmdz.card :
Mettre :
List=   (lmdz.x.prt, ftrace.out.1.0, std)
au lieu de
List=   (lmdz.x.prt, ftrace.out.1.0)

Vous récupérerez alors dans le répertoire IGCM_OUT autant de fichiers que de taches (ca peut faire beaucoup...):
ATM/Debug/WW202Q_18600101_18600130_std.0:1
...
ATM/Debug/WW202Q_18600101_18600130_std.0:7

Comment deboguer avec totalview

sur mercure

  • recompiler avec les options -gv -C vsafe
    • Pour LMDZ, cela se fait dans le fichier : LMDZ4/machine/arch-SX8_MERCURE.fcm
  • modifier le job de soumission :
    • modifier le nombre de processeurs
    • mettre MPISUSPEND=OFF
    • ajouter le display : export DISPLAY=mercure:X.0 Pour l'obtenir echo $DISPLAY dans une fenêtre interactive.
    • ajouter -tv aux options de mpirun
  • soumettre le job et attendre l'ouverture de la fenetre totalview

Contrôle Qualité

Contrôle Qualité du couplé IPSLCM4_v2

Comparaison Mono Multi

Comparaison des résultats en mono et en parallèle

  • Résultats identiques 1, 3 et 4 CPUs atmosphère :
    • 2x5 jours de simulation ORCA2xLMD9671
    • mercure, brodie
    • Fichiers solver.stat d'OPA strictement identiques

Comparaison Portage

Comparaison des résultats sur différentes machines

  • Résultats identiques mercure-brodie :
    • tests réalisés le 23/10/2007. Compilateurs FORTRAN90/SX Rev.360 sur mercure et brodie
    • 2x5 jours de simulation ORCA2xLMD9671
    • Fichiers solver.stat d'OPA strictement identiques
  • Octobre 2007 - test avec tags orchidee_1_9_1 et LMDZ4_V3_1
Machine nb procs Execution 10 ans Mémoire Temps CPU Temps réel Temps rebuild Post-traitements Accès atlas 10 ans
Brodie 4 procs OK 10 ans en 23 h 4.1 gb 1 600 s/mois 9 mn/mois 11 mn OK 1860_1869

Comparaison Redémarrage

Comparaison des résultats avec et sans redémarrage

  • Point au 7 février 2008 :
    • Coupleur OK
    • OPA8-LIM et LMDZ-ORCHIDEE non
      La vérification d'une simulation lancée pour 1 an d'un coup, à la même simulation lancée 
      pour 12 mois successifs : TEST1Y et TEST1M pour le côté coupleur est OK : 
      Le redemarrage est ok de ce cote la cad qu'au 1er fevrier les memes variables sont passees 
      au coupleur qu'elles viennent de l'atm (ou de l'ocean) dans le cas TEST1Y ou bien du restart 
      dans le cas TEST1M. Elles sont aussi interpolees de la meme facon.
      J'ai verifie aussi que ces memes variables etaient bien transmises a l'ocean grace au fichier 
      cpl_oce*.nc. Je n'ai pas pu faire cette verif cote atm car les fichiers cpl_atm* n'y sont plus.
      Par contre, ces variables de couplages different bien au 2eme jour de fevrier.
      
      En conclusion, ca veut donc dire 2 choses :
      - en configuration couplée, la restartabilite n'est pas assurée dans l'executable OPA8-LIM
      - en configuration couplée, la restartabilite n'est pas assurée dans l'executable LMDZ-ORCHIDEE
      
      Arnaud Caubel  
      
  • Voir aussi quelques informations sur la validation des redémarrages
Last modified 12 years ago Last modified on 01/03/12 11:54:44