Version 28 (modified by acosce, 13 years ago) (diff) |
---|
Foire Aux Questions
Dernière mise à jour : 27/05/2009
Rappel : Beaucoup de questions sont traitées dans la documentation en ligne de Modipsl
-
Foire Aux Questions
- Documentation sur la machine vectorielle du CCRT (Mercure)
- Comment prolonger une simulation ?
- Comment relancer une simulation plantée ?
- Comment utiliser l'exécutable d'une ancienne simulation ?
- Comment utiliser les vents à 10m calculés par le gcm pour une simulation …
- Comment utiliser le mode guidé du modèle ?
- Comment changer de schéma de convection ?
- Comment lire le fichier Script_output ?
- Où sont stockés les fichiers pré-processés par le compilateur ?
- Quelles sont les différentes versions du modèle ?
- Quelles sont les performances (mémoire et cputime) du code LMDZINCA pour …
- Comment utiliser le couplage online/offline des aérosols ?
- Où sont stockés les fichiers de conditions aux limites avec les SST/années …
- Quelles sont les options de compilations des modèles LMDZ et INCA
- A qui demander les mots de passes pour extraire les modèles Orchidee ou …
- Comment soumettre un job sur un compte genci ?
- Je ne comprends pas : je modifie le code et la compilation se passe bien …
- Que faut-il modifier pour avoir des sorties horaires dans inca_avgr ?
- Comment forcer la recompilation des modèles LMDZ et INCA ?
- Qu'est-ce que l'option adjust et comment l'utiliser ?
- Passage sur titane
- Changement dans les sources pour passer sur titane ou platine
- Comment choisir son nombre de processeurs sur titane ?
- Comment déconnecter Orchidee dans LMDZORINCA
Documentation sur la machine vectorielle du CCRT (Mercure)
Cette documentation est en accès restreint ICI (avec une authentification à l'aide de votre login et de votre mot de passe CCRT)
Comment prolonger une simulation ?
Cette question est traitée ICI
Comment relancer une simulation plantée ?
Cette question est traitée ICI
Comment utiliser l'exécutable d'une ancienne simulation ?
A la fin de chaque période de simulation l'exécutable correspondant est enregistré dans le répertoire $DMFDIR/IGCM_OUT/LMDZINCA/../Nom_Simul/Exe/. Il vous est donc possible par la suite de le ré-utiliser pour une autre simulation. Pour cela il vous suffit de copier cet exécutable dans le répertoire modipsl/bin/ en l'appelant gcm.e
Comment utiliser les vents à 10m calculés par le gcm pour une simulation avec des aérosols ?
Par défaut le modèle LMDZINCA s'attend à lire des fichiers netcdf contenant les valeurs des vents à 10m. Cependant vous pouvez choisir d'utiliser ceux calculés par le gcm. Pour cela vous devez :
- modifier la variable climatological (il faut la mettre à .TRUE.) dans le fichier INCA3/src/INCA_SRC/aerosol_meteo_calc.F90
- recompiler le modèle
Comment utiliser le mode guidé du modèle ?
Cette question est traitée ICI
Comment changer de schéma de convection ?
Il faut vous reportez à la documentation LMDZ ICI
ATTENTION : par défaut le schéma de convection est celui de Kerry Emmanuel. Si vous voulez utiliser celui de Tiedtke (qui n'est pas
maintenu par le LMD) il faut modifier le calcul des éclairs dans la routine mknoprod
Pour Tiedke : flash(:) = 4.67 * calibration * flash(:) Pour Kerry Emmanuel : flash(:) = 2. * calibration * flash(:)
Comment lire le fichier Script_output ?
Cette question est traitée ICI Les messages d'erreurs potentiels sont décryptés ICI
Où sont stockés les fichiers pré-processés par le compilateur ?
Si votre simulation n'a pas bien fonctionnée certainement que le fichier x_error vous indique un nom de routine et un numéro de ligne où le plantage c'est produit. Ces numéros de lignes ne correspondent pas aux lignes dans les sources du code, mais dans les sources pré-processées par le compilateur. Ces routines sont stockées :
- Pour LMDZ : LDMZ4/tmp_src/i.nom_fichier.f (ou .f90)
- Pour INCA : INCA3/config/tmp/i.nom_fichier.f (ou .f90)
Quelles sont les différentes versions du modèle ?
La liste des différentes configurations utilisant le modèle INCA est ICI
Quelles sont les performances (mémoire et cputime) du code LMDZINCA pour les difféentes configurations ?
Vous trouverez les informations ICI
Comment utiliser le couplage online/offline des aérosols ?
Cette question est traitée ICI. Elle est valable à la fois pour la configuration LMDZINCA_v3 et pour la configuration IPSL_ESM_v2.
Où sont stockés les fichiers de conditions aux limites avec les SST/années ?
Ces fichiers limit.nc sont stockés sur mercure à l'adresse suivante : /dmnfs/cont003/p24data/LIMIT_LMDZ4_96x72
Quelles sont les options de compilations des modèles LMDZ et INCA
- Pour LMDZ
makelmdz_fcm [options] -m arch exec [-h] : manuel abrégé [-d [[IMx]JMx]LM] : IM, JM, LM sont les dims en x, y, z (def: $dim) [-p PHYS] : compilation avec la physique libf/phyPHYS, (def: lmd) [-prod / -dev / -debug] : compilation en mode production (default) / developpement / debug . [-c false/MPI1/MPI2] : couplé océan : MPI1/MPI2/false (def: false) [-v false/true] : avec ou sans végétation (def: false) [-chimie INCA/false] : avec ou sans model de chimie INCA (def: false) [-parallel none/mpi/omp/mpi_omp] : parallelisation (default: none) : mpi, openmp ou mixte mpi_openmp [-g GRI] : conf. grille dans dyn3d/GRI_xy.h (def: reg inclue un zoom) [-io IO] : choix d'une librairie I/O, experts (def: ioipsl) [-include INCLUDES] : variables supplementaires pour include [-cpp CPP_KEY] : cle cpp supplementaires [-adjnt] : adjoint, a remettre en route ... [-filtre NOMFILTRE] : prend le filtre dans libf/NOMFILTRE (def: filtrez) [-link LINKS] : liens optionels avec d'autres librairies [-fcm_path path] : chemin pour fcm (def: le chemin est suppose deja exister dans le PATH) -arch nom_arch : nom de l'architecture cible exec : exécutable généré
- Pour INCA
makeinca_fcm [options] -arch arch [-h] : manuel abrege [-chimie NMHC/NMHC_AER/CH4/CH4_AER/GES/AER] : configuration choisie (def: AER) [-parallel none/mpi/mpi_omp] : parallelisation (def: none) [-io IO] : choix d'une librairie I/O, experts (def: ioipsl) [-resol IMxJM] : IM, JM sont les dims en x et y (def: 96x72) [-prod / -dev / -debug] : compilation en mode production (default) / developpement / debug . -arch arch : nom de l'architecture cible (def: MERCURE)
Ces options peuvent être changées dans le fichier modipsl/config/LMDZINCA_v3/Makefile. Par exemple (pour une compilation en mpi_omp et en mode de développement) :
(cd ../../modeles/INCA3; ./makeinca_fcm -chimie AER -parallel mpi_omp -dev -arch $(FCM_ARCH); cp SIMULATIONS/AER/inca.dat ../../bin/inca.dat ; ) (cd ../../modeles/LMDZ4; ./makelmdz_fcm -d 96x72x19 -v false -chimie INCA -parallel mpi_omp -dev -arch $(FCM_ARCH) -g reg gcm ; cp bin/gcm_96x72x19_phylmd_para_inca.e ../../bin/gcm.e ; )
A qui demander les mots de passes pour extraire les modèles Orchidee ou Nemo ?
- Orchidee : adressez-vous à M. Mancip
- Nemo : adressez-vous à A. Caubel
Comment soumettre un job sur un compte genci ?
- sur mercure vous rajoutez en entête de votre job la commande PBS suivante
#PBS -A gen---
Avec gen--- le numéro de votre projet genci. }}}
Je ne comprends pas : je modifie le code et la compilation se passe bien pourtant ça n'apparait pas à l'exécution
Vérifier dans votre job que la variable MODIPSL est bien positionnée sur le répertoire avec lequel vous travaillez. Cette erreur
se produit si vous copiez votre répertoire de travail et que vous ne recréez pas le job avec l'outil ins_job de util/ Dans ce cas lÃ
cette variable reste positionnée sur son ancienne valeur et donc la simulation n'utilise pas le bon exécutable.
Que faut-il modifier pour avoir des sorties horaires dans inca_avgr ?
Il suffit de modifier la variable ecritchim dans outfld_init.f90
ecritchim = 1. /86400 ! sorties journalières ecritchim = 24./86400 ! sorties horaires
Comment forcer la recompilation des modèles LMDZ et INCA ?
Pour forcer LMDZ à recompiler totalement il faut modifier le fichier LMDZ4/build_gcm
fcm build devient fcm build -f
Pour forcer INCA à recompiler totalement il faut modifier le fichier INCA3/makeinca_fcm
fcm build devient fcm build -f
Attention : il faut bien penser à enlever ces modifications après la compilation, sinon les modèles seront de nouveau recompilés entièrement la prochaine fois.
Qu'est-ce que l'option adjust et comment l'utiliser ?
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
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
des points. Le paramètre adjust dans run.def permet d'activer l'ajustement des domaines.
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
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.
1- pour la pré-simulation
Lancer la simulation avec dans COMP/lmdz.card : LMDZ_NbPeriod_adjust=3
A la fin de la simulation un fichier BandsResol est créé dans IGCM_OUT/NomConfig/NomChimie/ATM/Debug/
2- pour la simulation
Lancer la simulation avec dans COMP/lmdz.card : LMDZ_NbPeriod_adjust=0 MDZ_Bands_file_name=path_du_fichier_BandsResol_de_la_pré_simulation
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 une pré-simulation pour chaque simulation.
Passage sur titane
- 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.
- Vous devez mettre à jour votre environnement en différenciant les machines dans vos fichiers .bashrc ou .cshrc ou .login
.login et .cshrc
switch (`hostname`) case mercure0*: (...) true breaksw case platine*: (...) true breaksw default: true breaksw endsw
.bashrc
case $HOSTNAME in mercure0[123]) (...);; titane*) (...) ;; esac
Dans tous les cas il faut pointer vers la librairie "~p86ipsl/atlas_env_titane_csh (ou_ksh)" et ajouter les modules suivants
module unload intel/10.1.022 mkl/10.1.1.019 ; module load intel/11.1.056 ; module load netcdf/3.6.3
- C'est une machine scalaire massivement parallèle : 4 procs Mercure ~ 32 procs Titane voir la page des performances de INCA sur les machines du CCRT
- les commandes de gestions de runs sont
ccc_msub Job >> soumet le script Job ccc_mstat -u login >> donne la liste des Jobs soumis appartenant à login ccc_mdel id_Job >> détruit le Job n°id_Job
- 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)
depuis titane : ssh -X cesium
Cela implique que les jobs de rebuild, de création de TS et SE se font sur cesium.
- 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)
Changement dans les sources pour passer sur titane ou platine
Pour les anciennes versions de INCA il y a deux modifications à faire pour que le code compile sur titane ou sur platine
Dans chem_time.f90 remplacer minutes=mod(sec/60,60) par minutes=mod(int(sec/60),60)
Dans obs_pos_mod.f90 remplacer xat(1)= float(itau) par xat(1)=itau
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 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.
Comment choisir son nombre de processeurs sur titane ?
La méthode de parallélisation de LMDZ impose la règle suivante : il faut au moins 3 bandes de latitude par processeurs
Si vous avez choisi un trop grand nombre de processeurs la simulation s'arrête avec le message suivant :
Arret : le nombre de bande de lattitude par process est trop faible (<2). ---> diminuez le nombre de CPU ou augmentez la taille en lattitude
Comment déconnecter Orchidee dans LMDZORINCA
Il faut indiquer VEGET=n dans physiq.def
il faut commenter les lignes suivantes dans config.card
#SRF= (orchidee, ORCHIDEE_1_9_5) #SRF= ("", "")
Ainsi que le paragraphe de restart SRF dans config.card.