wiki:IPSLCM4_v2_PAR

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

--

IPSLCM4_v2 configuration

Table des matières

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 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.
    • 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=2
      
  • 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?
  • Atlas
    • IDRIS :
      • Problème récurrent sur rhodes : Exceeds the processor limit value of 2 processors, using 3(ou 4) processors.
      • 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 : analyse en cours.
      • Manque les sorties sechiba. Corrigé depuis mais absent de cette simu.
      • 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).
  • 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, .), \
      ...
      
  • 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
  • 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)
        
      • physiq : LMDZ4/libf/phylmd/physiq.F décommenter ligne 49, c#define histhf pour avoir les sorties HF
        #define histhf
        
    • 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 :
      • PARAM/physiq.def pour les GES
              > co2_ppm = 348.
              > CH4_ppb = 1650.
              > N2O_ppb = 306.
              > CFC11_ppt = 280.
              > CFC12_ppt = 484.
        
      • PARAM/physiq.def pour le paramêtre correctif de la convection :
        cvl_corr=1.02
        
    • 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 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)
2 procs (LMDZ en mono) HH202M 10 ans en 5 jours 3.8 gb 3 400 s/mois 56 mn/mois 0
  • 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

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 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
  • 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 :
    • 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=24, nfilus=23, nfilvn=24, nfilvs=24)
      
    • 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
      • 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 :
        • les GES
           > co2_ppm = 348.
           > CH4_ppb = 1650.
           > N2O_ppb = 306.
           > CFC11_ppt = 280.
           > CFC12_ppt = 484.
          
        • et le paramêtre correctif de la convection :
          cvl_corr = 1.019
          
  • 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
      
  • Sur mercure :
    • Idem VV20_2
    • Erreur
      • 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"
        

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

# end of compilation
gmake (or gmake ORCA2xLMD144142 ) # pour vérification ultime en particulier la dernière commande liste les executables : ls ../../bin
... create_etat0_limit.e gcm.e  oasis  opa  # vérifier existence 4 executables. 

# 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

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

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!