wiki:IPSLCM4_v2_PAR

Version 41 (modified by mafoipsl, 17 years ago) (diff)

--

IPSLCM4_v2 configuration

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

Résolution 96x71

  • La configuration IPSLCM4_v2 est en cours de validation/vérification :
    • 10 ans sur mercure et brodie sur 2 et 4 processeurs, depuis états initiaux (sans restart).
    • Exemple inclus dans la documentation libIGCM
    • Cours revu 2007 (pdf)
    • Exécution OK
    • Fichiers résultats :
      • Faut-il sauvegarder les fichiers histrac?
    • Atlas En cours
      • Problème récurrent sur rhodes : Exceeds the processor limit value of 2 processors, using 3 processors.
      • Mercure : analyse en cours
    • Performances rebuild (correctes).
  • Les tests de Sébastien Denvil avec IPSLCM4_v2 sont sur mercure (PDCTLV1, PDCTLV2) en parallèle.
  • Equilibrage de charge :
    • 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=y
    • Ajouter dans COMP/lmdz.card :
      List=   ...
              (${SUBMIT_DIR}/PARAM/Bands_96x71x19_3prc.dat, .), \
      ...
      

Résolution 144x96

HH202

  • Test de IPSLCM4_v2
  • Brodie : /workdir/rech/psl/rpsl003/HH20_v2
  • Résolution 144x96
  • Modifications :
    • LMDZ4 :
      • readsulfate : LMDZ4/libf/phylmd/readsulfate.F ligne 106-107 pour faire un contrôle actuel
         IF (iyr .lt. 4850) THEN
             cyear='1980'
        
      • 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
  • 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 fichiers d'entrée :
      • physiq.def
              > co2_ppm = 348.
              > CH4_ppb = 1650.
              > N2O_ppb = 306.
              > CFC11_ppt = 280.
              > CFC12_ppt = 484.
        
    • 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
      • Augmenter la mémoire dans le Job : 9 gb
    • Test sur 6 processeurs en tout (5 pour LMDZ/ORCHIDEE)
      • -q multi et PBS_NUM_PROC_TOT=6

Résolution 144x142

VV20_2

  • brodie : /workdir/rech/psl/rpsl003/VV20_v2/
  • démarrage en machine 1er août 2007
    • 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
  • Job :
    • Tests avec PBS_NUM_PROC_TOT=6
    • Mémoire : 10gb
  • Expérience :
    • VV20_2
    • 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)
    • Changer le nombre de voisins. Voir PARAM/namecouple_ORCA2xLMD144142_v4. 30 devient 32 et 7 devient 513.
    • La mémoire augmente aussi. (0.5 GB environ)
  • OPA :
    • modifier OPA/SRC_ORCA/flxrnf.F
  • LMDZ :
    • modifier parafilt.h (24 23 24 24)
    • supprimer le fichier iceberg de COMP/lmdz.card
    • ajouter sauvegarde fichier histrac dans COMP/lmdz.card
    • ajouter sauvegarde fichier Bands_144x142x19_5prc.dat pour équilibrage charge processeurs
    • nécessitera adjust=y dans gcm.def quand le fichier existera
    • modifier physiq.def :
       > co2_ppm = 348.
       > CH4_ppb = 1650.
       > N2O_ppb = 306.
       > CFC11_ppt = 280.
       > CFC12_ppt = 484.
      

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
    • configuration gérée par SVN OK
    • accès par modipsl (SVN) OK
    • tests mercure et brodie En cours
    • recommandations sur le nombre de processeurs et performances En cours
  • 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.
  • Il y a 2 problèmes pour le 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 comme décrit dans le paragraphe en-dessus.
    • 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. Le problème peut eventuellement être résolu en traduisant makegcm_fcm en ksh (actuellement en csh). Problème résolu en mettant /bin/pwd partout au lieu de $PWD ou pwd. OK
    • Workaround temporaire pour la résolution ORCA2xLMD9671 :
      cd modipsl/config/IPSLCM4_v2
      gmake libioipsl oasis3 liborchidee orca2 # compilation en interactif
      qsub -qtx7 -lmemsz_prc=2gb -jo   # compilation lmdz en batch
      cd $PBS_O_WORKDIR
      gmake lmdz9671 
      ^D
      # attendre la fin du job
      # verification
      ls ../../bin
      ... create_etat0_limit.e gcm.e  oasis  opa  # 4 executables existent bien
      gmake ORCA2xLMD9671 # indispensable pour créer le fichier .resol
      

Commands to access, compile and run 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/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      # ins_make -t sx6nec  on mercure
cd ../config/IPSLCM4_v2
gmake (or gmake ORCA2xLMD144142 ) 
# 
# sur brodie attendre la fin du job 
#
gmake ORCA2xLMD9671

# si un message erreur eventuelle contient " Voulez-vous vraiment continuer?" il faut effacer le fichier .lock 
rm ../../modeles/LMDZ4/.lock  # et reprendre le lancement en batch

# end of compilation
gmake (or gmake ORCA2xLMD144142 ) # pour vérification ultime

# verification
ls ../../bin
... create_etat0_limit.e gcm.e  oasis  opa  # vérifier existence 4 executables. Affichage automatique.

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

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

# job verification
# check config.card, (DateBegin, DateEnd and restart option) 
# check Job_VV20CP (PBS options)
qsub Job_VV20CP

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.

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'

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

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
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

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. ???