Version 18 (modified by acosce, 13 years ago) (diff) |
---|
FAQ Exécution
-
FAQ Exécution
- Le parallelisme et les fichiers Bands
- Comment décrypter le fichier Script_Output
- Écraser une simulation
- Prolonger ou relancer une simulation
- Comment préparer une nouvelle expérience ?
- Démarrer depuis une autre simulation
- Comment vérifier que les sorties sont complètes ?
- Comment boucher un trou cad relancer une simulation pour refaire les …
- Comment relancer une simulation à l'identique pour récupérer quelques …
- Comment repérer les simus à refaire éventuellement lorsque le CCRT …
- Création de l'état initial pour LMDZOR
- Passage d'une simulation couplée à une simulation forcée
- Comment désactiver STOMATE dans IPSLCM5 ou LMDZOR ?
- Comment lancer un run guidé (nudge) ?
- Comment regarder/récupérer/utiliser les fichiers sur dods
Le parallelisme et les fichiers Bands
Dans LMDZ si le nombre de points par tâche MPI est distribué de façon uniforme, l'équilibrage de charge n'est pas optimum. Il existe une option adjust (dans lmdz.card) qui permet d'indiquer au code que l'on veut qu'il "ajuste" sa répartition des points. Pour cela lors d'un run on mesure le temps passé dans chaque partie du code et on définit la répartition optimum. Cette nouvelle répartition est stockée alors dans le fichier Bands_res_nbProc.dat (dépend de la configuration – de la machine – de la résolution – du nombre de proc).
Idéalement il faut faire une pré-simulation permettant de créer ce fichier (~ 3 mois de simulation). Puis ensuite utiliser ce fichier pour la simulation "maître". Le fichier est stocké dans le répertoire $DMFDIR/IGCM_OUT/nom_config/.../nom_simul/ATM/Debug/
Voir ici pour l'utilisation de adjust et du fichier Bands.
A retenir pour IPSLCM5A : Par défaut, le couplé IPSLCM5A, peut tourner sur un nombre quelconque de processeurs. Il crée lui-même le fichier Bands lors des 3 premiers mois de la simulation puis utilise celui du dernier mois. Il est possible d'utiliser le fichier Bands d'une autre simulation, voir paramétrage dans COMP/lmdz.card.
ATTENTION : Pour être certain d'obtenir les même résultats entre deux simulations il faut annuler l'ajustement et la création des fichiers Bands. Il faut utiliser pour les deux simulations le MÊME fichier Bands.
Comment décrypter le fichier Script_Output
A la fin de chaque période de simulation un fichier Script_Output correspondant est créé. Ces fichiers comportent trois parties :
- copies des fichiers d'input
- exécution
- copies des fichiers d'output
Ces trois parties sont délimités ainsi :
####################################### # ANOTHER GREAT SIMULATION # ####################################### 1ère partie ####################################### # DIR BEFORE RUN EXECUTION # ####################################### 2ème partie ####################################### # DIR AFTER RUN EXECUTION # ####################################### 3ème partie
Si à la fin de votre simulation le fichier run.card indique qu'il y a eu un problème vous devez analyser votre fichier Script_Output. Il y a plusieurs solutions :
- si le fichier s'arrête avant le début de la deuxième partie c'est que soit vous n'avez pas effacé un fichier run.card existant, soit l'un des fichiers d'input que vous demandez n'existe pas.
- si le fichier s'arrête durant la deuxième partie c'est certainement que vous n'avez pas demandé assez de mémoire ou de temps CPU
- si le fichier est entier c'est soit qu'il y a une erreur lors de l'exécution, soit qu'il y a un problème lors de la copie des outputs.
Si le message suivant apparaît dans la deuxième partie du fichier, c'est qu'il y a un problème lors de l'exécution.
======================================================================== EXECUTION of : mpirun -f ./run_file > out_run_file 2>&1 Return code of executable : 1 IGCM_debug_Exit : EXECUTABLE !!!!!!!!!!!!!!!!!!!!!!!!!! !! IGCM_debug_CallStack !! !------------------------! !------------------------! IGCM_sys_Cp : out_run_file xxxxxxxxxxxx_out_run_file_error ========================================================================
Si au contraire vous avez le message suivant
======================================================================== EXECUTION of : mpirun -f ./run_file > out_run_file 2>&1 ========================================================================
Il y a alors deux solutions :
- dans 90% des cas c'est que le problème s'est produit lors de la copie des outputs.
- dans les 10% restant c'est que vous êtes passé par un garde fou du modèle et que celui-ci s'est fini proprement mais avant
la fin de la simulation. Dans ce cas là si votre modèle propose un journal de sortie autre que celui de la simulation il faut le consulter. Par exemple, le fichier de sortie de l'océan est stocké sur le serveur de fichiers sous ce nom là :
IGCM_sys_Put_Out : ocean.output xxxxxxxx/OCE/Debug/xxxxxxxx_ocean.output
Sinon (par exemple pour LMDZ ou INCA) votre journal de sortie est confondu avec celui de la simulation et celui-ci n'a pas eu le temps d'être copié sur l'espace de stockage. Si votre simulation a tourné sur le $SCRATCHDIR vous pouvez le récupérer là, sinon vous devez relancer votre simulation sur le $SCRATCHDIR Sur mercure par défaut elle est sur le $TMPDIR. Pour cette opération il faut modifier la variable RUN_DIR_PATH voir ICI.
Écraser une simulation
- Vous devez effacer dans votre répertoire d'expérience les fichiers stack_error (si existant) et run.card.
- Vous devez effacer les répertoires $CCCSTOREDIR/IGCM_OUT/_config_/(...)/_nom_simul_ et $CCCWORKDIR/IGCM_OUT/_config_/(...)/_nom_simul_ au CCRT ou $HOMEGAYA/IGCM_OUT/_config_/(...)/_nom_simul_ à l'IDRIS.
- Si il existe, vous devez effacer le répertoire REBUILD/_config_/_nom_simul_ contenant les fichiers à reconstruire, dans le scratchdir ou workdir.
- Effacer le répertoire $SCRATCHDIR/IGCM_OUT/_config_/(...)/_nom_simul_ au CCRT
- Si vous aviez changé la variable RUN_DIR_PATH vous devez également effacer le répertoire correspondant à votre simulation sur votre scratchdir.
- Relancer le job
Prolonger ou relancer une simulation
- Dans le fichier config.card modifiez la date de fin de simulation, pour le cas où vous voulez prolonger une simulation.
- Dans le fichier run.card vous devez :
- vérifier que les variables PeriodDateBegin et PeriodDateEnd correspondent bien à votre prochaine période de simulation (ex: si vous venez de finir le mois de mai 2000 vous devez avoir PeriodDateBegin= 20000601 et PeriodDateEnd= 2000630)
- indiquer PeriodState = OnQueue ou Running
- Dans le Job vous devez modifier le numéro du fichier de sortie pour qu'il ne se plante pas en cherchant à remplacer un fichier Script_Output existant. Par défaut c'est Script_Output_NomJob.0001, vous pouvez le changer par Script_Output_NomJob.CumulPeriod (vous trouverez CumulPeriod dans run.card)
- Si vous êtes dans le cas où votre simulation s'est arrêtée au milieu d'un mois et vous voulez la relancez, il faut effacer les fichiers créés pour ce mois là dans vos archives ($CCCSTOREDIR/IGCM_OUT/etc...). Vous pouvez utiliser le script modipsl/libIGCM/clean_month.job pour cela. Mode d'emploi :
cd $SUBMIT_DIR (ie modipsl/config/IPSLCM5A/EXP00) cp ../../../libIGCM/clean_month.job . ; chmod 755 clean_month.job # une seule fois pour toute ./clean_month.job # Repondre aux questions. qsub Job_EXP00
Comment préparer une nouvelle expérience ?
Pour cela il suffit de recopier le répertoire EXP00, dans son ensemble, dans un autre répertoire.
Par commodité on appellera ce répertoire du même nom que l'expérience (JobName dans config.card).
cd modipsl/config/IPSLCM5A cp -pr EXP00 MONEXP cd MONEXP rm -f run.card Sc* Jo* # nécessaire si une simu a déjà tourné dans le répertoire EXP00 vi config.card # Changer ce qu'on veut et en particulier JobName ../../util/ins_job # installera un nouveau Job_MONEXP et dira qu'il ne peut pas réinstaller les jobs de post-traitements qui existent déjà. Pas grave.
ATTENTION : si vous modifiez vos codes et recompilez durant une simulation c'est ce nouvel exécutable qui sera pris en compte pour la fin de la simulation
Démarrer depuis une autre simulation
Dans le fichier config.card vous devez préciser les différents paramètres de la section Restarts :
#======================================================================== #D-- Restarts - [Restarts] #D- If you want a GENERAL RULE FOR ALL COMPONENTS RESTARTS, put this flag to 'y' OverRule=y #D- Last day of the experience used as restart RestartDate=1869-12-30 #D- Define restart simulation name RestartJobName=CD1 #D- Path Server Group Login RestartPath=${ARCHIVE}/IGCM_OUT/IPSLCM5A/DEVT/pdControl
Si la simulation a été faite par une autre personne, vous devez bien préciser le répertoire :
RestartPath=/u/rech/lab/plabxxx/IGCM_OUT/IPSLCM5A/DEVT/pdControl # ou /dmnfs/contxxx/login/IGCM_OUT/IPSLCM5A/DEVT/pdControl
Pour avoir exactement les mêmes résultats, il faut prendre le même fichier Bands. Cela se précise dans COMP/lmdz.card avec les paramètres LMDZ_NbPeriod_adjust et LMDZ_Bands_file_name ainsi :
LMDZ_NbPeriod_adjust=0 # To force usage of this Bands file, put LMDZ_NbPeriod_adjust=0 and replace XXXXXXX by Restart Job Name LMDZ_Bands_file_name=${ARCHIVE}/IGCM_OUT/IPSLCM5/CEPRO0/ATM/Debug/CEPRO0_Bands_96x95x39_3prc.dat_3
A noter : vous pouvez séparer les paramètres de redémarrage par composantes. Laisser OverRule=n et utiliser alors les différents paramètres Restart, RestartDate, RestartJobName et RestartPath pour chaque composante (section). Par exemple pour l'atmosphère :
#D-- ATM - [ATM] # WriteFrequency="1M 1D HF" # If config_Restarts_OverRule == 'n' all params are read Restart= y # Last day of the experience used as restart for this component RestartDate=1999-12-30 # Define restart simulation name RestartJobName=2L18 RestartPath=${ARCHIVE}/IGCM_OUT/IPSLCM5A/DEVT/pdControl
Comment vérifier que les sorties sont complètes ?
Depuis le 19 janvier 2011, le script check_expe_files_size.sh disponible dans le répertoire libIGCM/libIGCM_post ou là : check_expe_files_size.sh permet de repérer les trous dans des séries de fichiers rangés selon la nomenclature IPSL.
Options :
- L'option -Z permet d'étudier les tailles des fichiers et de repérer si les tailles des mois de janvier (février, ...) sont différentes entre les années. Fonctionne aussi avec les années bissextiles. Attention au temps d'execution qui dépasse largement 10 mn dans ce cas.
- L'option -I xxxx, permet d'arrêter la vérification des noms à cette année là. Utile dans le cas d'une simulation en route avec des rebuild non faits.
- L'option -R permet de parcourir l'arborescence.
Machines testées : CCRT (répertoire $DMFDIR) et IDRIS (gaya directement)
Exemples d'utilisation :
check_expe_files_size.sh SRF/Output/MO # verification des noms du repertoire SRF/Output/MO check_expe_files_size.sh -Z SRF/Output/MO # verification des noms et des tailles des fichiers du repertoire check_expe_files_size.sh -R -S "*/Output" # verification des noms des fichiers pour toute une simulation IPSL check_expe_files_size.sh -Z -R -S "*/Output" # verification des noms et des tailles des fichiers pour toute une simulation IPSL check_expe_files_size.sh -I 1949 -R -S "*/Output" # verification jusuque a l annee 1949 incluse des noms des fichiers pour une simulation IPSL
Exemple avec erreur. A noter le code retour non nul :
Example (with errors) : > pwd IGCM_OUT/IPSLCM5A/DEVT/pdControl/SX81210 > check_expe_files_size.sh -Z -R ATM/Output quiet : 0 recursion : 1 - examsize : 1 - dir - ATM/Output -- subdir -- maxyearp1 : 9999 48 files proceeded. Years occurring : 2000 Years tested : 2000 File name patterns and holes (if any) : ./DA/SX81210_YYmmdd_YYmmdd_1D_histday.nc : ./HF/SX81210_YYmmdd_YYmmdd_HF_histhf.nc : ./MO/SX81210_YYmmdd_YYmmdd_1M_histmth.nc : 200011 ./MO/SX81210_YYmmdd_YYmmdd_1M_histmthNMC.nc : Size verification per month (if different) : ./DA/SX81210_YYmmdd_YYmmdd_1D_histday.nc : ./HF/SX81210_YYmmdd_YYmmdd_HF_histhf.nc : ./MO/SX81210_YYmmdd_YYmmdd_1M_histmth.nc : [11] ./MO/SX81210_YYmmdd_YYmmdd_1M_histmthNMC.nc : > echo $? 1
Comment boucher un trou cad relancer une simulation pour refaire les fichiers d'un mois complet?
Saperlipopette, j'ai perdu un fichier! Il s'agit du mois d'octobre 1932 de la simulation ARGENT. Que dois-je faire pour le recréer?
Pour boucher un trou, il faut refaire exactement la même simulation, c'est à dire :
- sur le serveur de fichiers :
- supprimer (ou mettre de côté) les autres fichiers du même mois. Utiliser le suffixe 19321031 (ou bien 19321030 si vous êtes en calendrier 360d) pour avoir aussi les fichiers de type Restart.
cd IGCM_OUT/IPSLCM5A/DEVT/pdControl/ARGENT find . -name '*19321031*' -exec rm -f {} \;
- supprimer (ou mettre de côté) les autres fichiers du même mois. Utiliser le suffixe 19321031 (ou bien 19321030 si vous êtes en calendrier 360d) pour avoir aussi les fichiers de type Restart.
- sur la machine de calcul :
- créer un repertoire dédié spécial : cp -pr ARGENT ARGENTREDO
- dans ce nouveau répertoire, modifier le fichier run.card pour avoir les bonnes valeurs des paramètres suivants :
OldPrefix= ARGENT_19320930 PeriodDateBegin= 1932-10-01 PeriodDateEnd= 1932-10-31 CumulPeriod= xxx # Attention mettre la bonne valeur cad la valeur associé au même mois dans le fichier run.card témoin (ARGENT) PeriodState= OnQueue
- modifier le fichier config.card pour ne faire qu'un seul mois ie qu'une seule Period :
DateEnd= 1932-10-31
- modifier le fichier config.card pour ne pas faire de post-traitement de type TS ou SE :
... TimeSeriesFrequency=NONE ... SeasonalFrequency=NONE
- vérifier que l'on prendra exactement le même fichier Bands.
- Si c'est au delà de la 3ème itération pas de problème, c'est fait automatiquement.
- Sinon, dans le fichier COMP/lmdz.card, modifier les paramètres LMDZ_NbPeriod_adjust et LMDZ_Bands_file_name ainsi :
LMDZ_NbPeriod_adjust=0 # To force usage of this Bands file, put LMDZ_NbPeriod_adjust=0 and replace XXXXXXX by Restart Job Name LMDZ_Bands_file_name=${ARCHIVE}/IGCM_OUT/IPSLCM5/CEPRO0/ATM/Debug/CEPRO0_Bands_96x95x39_3prc.dat_3
- relancer la simulation :
vi run.card # vérifier encore une fois vi Job_ARGENT # vérifier les parametres de temps et les noms des Scripts de sortie qsub Job_ARGENT
Comment relancer une simulation à l'identique pour récupérer quelques fichiers de sortie disparus ?
Ceci est une variante de la question précédente. Elle permet de faire une autre simulation à l'identique mais à côté. Pas besoin de détruire les fichiers sur le serveur de fichiers, on recrée tous les fichiers du mois en question.
Exemple : refaire tourner v3.historicalAnt1 car 3 fichiers ont disparu pour 19640930.
Actions :
- Sur le serveur de fichiers : créer les fichiers Restart, mesh_mask et Bands.
## Directory mkdir ....IGCM_OUT/IPSLCM5A/REDO/historicalAnt/v3.historicalAnt1REDO cd ....IGCM_OUT/IPSLCM5A/REDO/historicalAnt/v3.historicalAnt1REDO mkdir -p ATM/Restart CPL/Restart ICE/Restart MBG/Restart OCE/Restart SBG/Restart SRF/Restart # Restart ln -s ../../../../../PROD/historicalAnt/v3.historicalAnt1/ATM/Restart/v3.historicalAnt1_19640831_restart.nc ATM/Restart/v3.historicalAnt1REDO_19640831_restart.nc ln -s ../../../../../PROD/historicalAnt/v3.historicalAnt1/ATM/Restart/v3.historicalAnt1_19640831_restartphy.nc ATM/Restart/v3.historicalAnt1REDO_19640831_restartphy.nc ln -s ../../../../../PROD/historicalAnt/v3.historicalAnt1/CPL/Restart/v3.historicalAnt1_19640831_flxat.nc CPL/Restart/v3.historicalAnt1REDO_19640831_flxat.nc ln -s ../../../../../PROD/historicalAnt/v3.historicalAnt1/CPL/Restart/v3.historicalAnt1_19640831_sstoc.nc CPL/Restart/v3.historicalAnt1REDO_19640831_sstoc.nc ln -s ../../../../../PROD/historicalAnt/v3.historicalAnt1/ICE/Restart/v3.historicalAnt1_19640831_restart_icemod.nc ICE/Restart/v3.historicalAnt1REDO_19640831_restart_icemod.nc ln -s ../../../../../PROD/historicalAnt/v3.historicalAnt1/MBG/Restart/v3.historicalAnt1_19640831_restart_trc.nc MBG/Restart/v3.historicalAnt1REDO_19640831_restart_trc.nc ln -s ../../../../../PROD/historicalAnt/v3.historicalAnt1/OCE/Restart/v3.historicalAnt1_19640831_restart.nc OCE/Restart/v3.historicalAnt1REDO_19640831_restart.nc ln -s ../../../../../PROD/historicalAnt/v3.historicalAnt1/SBG/Restart/v3.historicalAnt1_19640831_stomate_rest.nc SBG/Restart/v3.historicalAnt1REDO_19640831_stomate_rest.nc ln -s ../../../../../PROD/historicalAnt/v3.historicalAnt1/SRF/Restart/v3.historicalAnt1_19640831_sechiba_rest.nc SRF/Restart/v3.historicalAnt1REDO_19640831_sechiba_rest.nc # mesh_mask mkdir -p OCE/Output cd OCE/Output ln -s ../../../../../PROD/historicalAnt/v3.historicalAnt1/OCE/Output/v3.historicalAnt1_mesh_mask.nc v3.historicalAnt1REDO_mesh_mask.nc cd ../.. # Bands mkdir -p ATM/Debug cd ATM/Debug ln -s ../../../../../PROD/historicalAnt/v3.historicalAnt1/ATM/Debug/v3.historicalAnt1_Bands_96x95x39_3prc.dat_3 v3.historicalAnt1REDO_Bands_96x95x39_3prc.dat_3 cd ../..
- Sur la machine de calcul:
- créer un repertoire dédié spécial :
cp -pr v3.historicalAnt1 v3.historicalAnt1REDO
- dans ce nouveau répertoire, modifier le fichier run.card pour avoir les bonnes valeurs des paramètres suivants :
OldPrefix= v3.historicalAnt1REDO_19640831 PeriodDateBegin= 1964-09-01 PeriodDateEnd= 1964-09-30 CumulPeriod= xxx # Attention mettre la bonne valeur cad la valeur associé au même mois dans le fichier run.card témoin (ARGENT) PeriodState= OnQueue
- modifier le fichier config.card pour ne faire qu'un seul mois (ie qu'une seule Period), ne pas faire les Post-traitements et lancer rebuild à la fin du mois refait.
JobName=v3.historicalAnt1REDO ... SpaceName=REDO ... DateEnd= 1964-09-30 ... RebuildFrequency=1M ... TimeSeriesFrequency=NONE ... SeasonalFrequency=NONE
- relancer la simulation :
vi run.card # vérifier encore une fois mv Job_v3.historicalAnt1 Job_v3.historicalAnt1REDO vi Job_v3.historicalAnt1REDO # vérifier les parametres de temps et les noms des Scripts de sortie qsub Job_v3.historicalAnt1REDO
- créer un repertoire dédié spécial :
- une fois le job fini, vérifier que les solver.stat sont bien identiques :
sdiff OCE/Debug/v3.historicalAnt1REDO_19640901_19640930_solver.stat /dmnfs11/cont003/p86maf/IGCM_OUT/IPSLCM5A/PROD/historicalAnt/v3.historicalAnt1/OCE/Debug/v3.historicalAnt1_19640901_19640930_solver.stat
Comment repérer les simus à refaire éventuellement lorsque le CCRT prévient qu'une bande est irrécupérable et listent les fichiers perdus?
Si vous avez reçu un message du CCRT donnant une liste de fichiers perdus à cause d'un accident de bande, vous aurez envie d'avoir une synthèse des périodes impactées et des éventuels relance de simus à faire. Le script : check_ccrt_files.sh disponible là : TOOLS/CHECKscripts permet de faire cela.
- Il suffit de lui passer en paramètre le nom d'un fichier contenant la liste des fichiers perdus.
- Il répond en donnant l'intervalle complet et en détaillant les fichiers perdus par famille.
Exemple :
check_ccrt_files.sh liste
Exemple d'affichage :
check_ccrt_files.sh liste HOL03 5 files proceeded. ===> Année à refaire? ==> Years occurring : 1787 File name patterns and holes (if any) : /dmnfs11/cont003/login/SORTIES_CPL_IPSL/HOL03/Atm/Output/HF/HOL03_1m_YYmmdd_YYmmdd_histhf.nc : 178709 /dmnfs11/cont003/login/SORTIES_CPL_IPSL/HOL03/Atm/Output/MO/HOL03_1m_YYmmdd_YYmmdd_dyn_hist_ave.nc : 178709 /dmnfs11/cont003/login/SORTIES_CPL_IPSL/HOL03/Atm/Output/MO/HOL03_1m_YYmmdd_YYmmdd_dynzon.nc : 178711-178712 /dmnfs11/cont003/login/SORTIES_CPL_IPSL/HOL03/Atm/Output/MO/HOL03_1m_YYmmdd_YYmmdd_histmth.nc : 178712 HOL04 5 files proceeded. ===> Année à refaire? ==> Years occurring : 2252 File name patterns and holes (if any) : /dmnfs11/cont003/login/SORTIES_CPL_IPSL/HOL04/Oce/Output/MO/HOL04_1m_YYmmdd_YYmmdd_grid_T.nc : 225209-225210 /dmnfs11/cont003/login/SORTIES_CPL_IPSL/HOL04/Oce/Output/MO/HOL04_1m_YYmmdd_YYmmdd_grid_U.nc : 225210 /dmnfs11/cont003/login/SORTIES_CPL_IPSL/HOL04/Oce/Output/MO/HOL04_1m_YYmmdd_YYmmdd_grid_V.nc : 225210 /dmnfs11/cont003/login/SORTIES_CPL_IPSL/HOL04/Oce/Output/MO/HOL04_1m_YYmmdd_YYmmdd_grid_W.nc : 225210 ...
Création de l'état initial pour LMDZOR
Pour plus d'information, voir LMDZOR_v4.
Si vous n'avez pas de fichier d'états initiaux pour le modèle couplé celui-ci les crée automatiquement. Ce qui n'est pas le
cas pour les configurations forcées contenant LMDZ (LMDZOR, LMDZORINCA, LMDZEPROBUS). Dans ces cas vous trouverez un répertoire CREATE/ en plus de votre
répertoire d'expérience. Nous allons prendre pour exemple la config LMDZOR_v4.
Le répertoire CREATE/ est composé de :
- un fichier config.card
- un fichier config.card_Interannuel
- un sous répertoire COMP/
L'utilisateur peut décider soit de créer un état initial et conditions aux limites pour un run climatologique c'est à dire qu'il utilisera pour chaque
année de simulation le même fichier de conditions aux limites. Soit de créer un état initial et conditions aux limites pour un run inter-annuel ou run nudgé c'est à dire
qu'à chaque année de simulation correspondra un fichier de conditions aux limites différents prenant en compte les données de sst et de
glaces de mer (sic). Nous allons voir maintenant comment procéder dans ces deux cas.
- RUN CLIMATOLOGIQUE
Pour un run climatologique, utilisez les config.card et lmdz.card avec le suffix _Climat.
cd modipsl/config/LMDZOR_v4/CREATE ln -s config.card_Climat config.card >>>> choix du config.card et lmdz.card avec un lien ou copie cd COMP; ln -s lmdz.card_Climat lmdz.card; cd .. ../../../util/ins_job >>>> creation du job Job_ELC-$RESOL ($RESOL = la resolution selon la compilation, ex 96x95x39) dans le répertoire CREATE/ ccc_msub Job_ELC-$RESOL >>>> soumission du job tel quel
L'état initial(start.nc et startphy.nc) est le fichier de condition aux limites(limit.nc) ainsi créés seraient sur le serveur de stockage (gaya ou DMFDIR) dans le répertoire IGCM_OUT/LMDZOR/ELC-$RESOL. L'état initial se trouve ensuite dans ATM/Outout/Restart et le fichier de conditions aux limites dans le répertoire ATM/Output/Boundary.
Ensuite avant de lancer votre simulation vous devez vérifier que le fichier modipsl/config/LMDZOR_v4/LMDZOR/COMP/lmdz.card renvoie bien vers ces fichiers
[InitialStateFiles] List= (${R_OUT}/${config_UserChoices_TagName}/${CREATE}/ATM/Output/Restart/${CREATE}_clim_start.nc, start.nc) \ (${R_OUT}/${config_UserChoices_TagName}/${CREATE}/ATM/Output/Restart/${CREATE}_clim_startphy.nc, startphy.nc) [...] [BoundaryFiles] ListNonDel= (${R_OUT}/${config_UserChoices_TagName}/${CREATE}/ATM/Output/Boundary/${CREATE}_clim_limit.nc, limit.nc) \ [...]
- RUN INTER-ANNUEL OU NUDGE
Dans ce cas là vous devez utiliser les fichiers suffixés _Interannuel. Ils permettent de créer les fichiers de conditions aux limites pour une série d'années spécifié en avance, en utilisant les données AMIP. Certains paramètres dans config.card_Interannuel doivent être considère et éventuellement modifié : CalendarType, DateBegin, DateEnd. Le paramètre CalendarType decide combien de jours le fichier limit.nc va contenir. Pour 360jours, mets CalendarType=360D, pour 365jours mets CalendarType=noleap et pour 365 ou 366 selon les années bissextille, mets CalendarType=leap. Par contre, pour cette expérience CREATE, il ne faut pas modifier le paramètre PeriodLength=1Y car create_etat0_limit créer toujours des fichiers d'un an.
cd modipsl/config/LMDZOR_v4/CREATE ln -s config.card_Interannuel config.card >>>> choix du config.card et lmdz.card avec un lien ou copie cd COMP; ln -s lmdz.card_Interannuel lmdz.card; cd .. vi config.card_Interannuel >>>> modifier DateBegin, DateEnd et le CalendarType ../../../util/ins_job >>>> creation du job Job_ELI-$RESOL ($RESOL = la resolution selon la compilation, ex 96x95x39) dans le répertoire CREATE/ ccc_msub Job_ELI-$RESOL >>>> soumission du job tel quel
Les fichiers créés seraient stocké dans le répertoire IGCM_OUT/LMDZOR/ELI-$RESOL. Contrairement au cas climatologique vous obtenez un trios "start.nc, startphy.nc et limit.nc par an de simulation."
Pour votre simulation vous devrez comme précédemment vérifier les chemins de start et startphy dans le fichier lmdz.card. Mais attention cette fois ci pour le fichier de conditions aux limites il faudra l'indiquer dans la section List et non pas ListNonDel de BoundaryFiles.
[InitialStateFiles] List= (${R_OUT}/${config_UserChoices_TagName}/${CREATE}/ATM/Output/Restart/${CREATE}_${year}1230_start.nc, start.nc) \ (${R_OUT}/${config_UserChoices_TagName}/${CREATE}/ATM/Output/Restart/${CREATE}_${year}1230_startphy.nc, startphy.nc) [...] [BoundaryFiles] List=(${R_OUT}/${config_UserChoices_TagName}/${CREATE}/ATM/Output/Boundary/${CREATE}_${year}1230_limit.nc, limit.nc)
Remarque : Si vous souhaitez utiliser d'autres jeux de données que les données AMIP vous devez modifier
le fichier modipsl/config/LMDZOR_v4/CREATE/lmdz.card et peut-etre aussi le modèle LMDZ.
Passage d'une simulation couplée à une simulation forcée
Vous avez fait tourner une simulation couplée IPSLCM5A et vous voulez faire tourner la simulation forcée LMDZOR_v4 équivalente. Voici les différentes étapes :
1) Extraire la configuration forcée LMDZOR_v4 dans le répertoire modipsl/config ou se trouve le repertoire IPSLCM5A :
>cd modipsl/config >svn co http://forge.ipsl.jussieu.fr/igcmg/svn/CONFIG/LMDZOR/branches/LMDZOR_v4 LMDZOR_v4 >ls IPSLCM5A LMDZOR_v4
2) Modifier le fichier LMDZOR_v4/LMDZOR/config.card en fonction de la simulation à lancer (Nom, Dates,...)
3) Créer les jobs de la nouvelle configuration LMDZOR_v4
>cd modipsl/util >./ins_job
4) Créer le fichier de condition aux limites en utilisant les SST du modèle couplé(voir là). Attention, pour avoir le même trait de côtes que dans la simulation couplée, il est necessaire d'utiliser pour la création des conditions aux limites le fichier o2a.nc utilisé par la simulation couplée. Pour cela, ajouter le chemin du fichier o2a.nc dans CREATE/COMP/lmdz.card en lieu et place du commentaire. Par exemple :
(/dmnfs/cont003/p86ipsl/IGCM/INIT/ATM/IPSLCM5A/ORCA2.3xLMD9695/o2a.nc, o2a.nc)
5) Indiquer la résolution de la composante LMDZOR (qui correspond à la résolution de la simulation couplée).
>cd modipsl/config/LMDZOR_v4 >cat ../IPSLCM5A/.resol ORCA2xLMD9695-L39 RESOL_ATM_3D=96x95x39 >echo "LMD9695-L39" > .resol >echo "RESOL_ATM_3D=96x95x39" >> .resol
6) Lancer la simulation
>cd modipsl/config/LMDZOR_v4/LMDZOR puis soumission du Job
Comment désactiver STOMATE dans IPSLCM5 ou LMDZOR ?
Attention! Il n'y a pas eu validation scientifique des résultats. Pour désactiver stomate dans le couplé IPSLCM5A, il faut :
- supprimer la composante SBG dans le fichier config.card :
-SBG= (stomate, ORCHIDEE_1_9_4_AR5) -SBG= ("", "")
- dans COMP/orchidee.card ajouter la recherche du fichier lai2D.nc :
+ListNonDel= (${R_BC}/SRF/${config_UserChoices_TagName}/lai2D.nc, .)
- dans PARAM/orchidee.def, ajouter le paramètre pour demander la lecture du fichier LAI_MAP :
+# Read a LAI map (12 monthly values) +LAI_MAP = y +# default = n
Comment lancer un run guidé (nudge) ?
Ce paragraphe s'applique aux configurations contenant LMDZ
- Il faut ajouter un fichier guide.def dans le répertoire PARAM/ de votre répertoire d'expériences
Type de fichier guide.def : guide_u= y guide_v= y guide_T= n guide_P= n guide_Q= n tau_min_u=0.0208333 tau_max_u=0.1 tau_min_v=0.0208333 tau_max_v=0.1 tau_min_T=0.0208333 tau_max_T=10
- Il faut modifier le fichier PARAM/run.def pour lui indiquer de prendre en compte guide.def
Ajoutez la ligne : INCLUDEDEF=guide.def
- Il faut modifier la variable ok_guide dans le fichier PARAM/gcm.def
- Dans COMP/lmdz.card :
- Vous devez indiquer les path des fichiers de vents avec lesquels vous souhaitez guider votre modle
[BoundaryFiles] List= ....\ (/dmnfs/p24data/ECMWF96x72/AN${year}/u_ecmwf_${year}${month}.nc, u.nc)\ (/dmnfs/p24data/ECMWF96x72/AN${year}/v_ecmwf_${year}${month}.nc, v.nc)\
- indiquer dans la liste [ParametersFiles] le fichier guide.def
- Vous devez indiquer les path des fichiers de vents avec lesquels vous souhaitez guider votre modle
[ParametersFiles] List= ....\ (${SUBMIT_DIR}/PARAM/guide.def,.)
- Vous devez indiquer dans config.card le bon calendrier (leap pour prendre en compte les annes bisextiles ou noleap pour ne pas en tenir compte)
Comment regarder/récupérer/utiliser les fichiers sur dods
- A l'IDRIS, il faut aller sur le web à l'adresse : http://dodsp.idris.fr/ et choisir son login, sa configuration, sa simulation puis enfin la composante ATM (puis le sous répertoire Output ou Analyse) ou encore ATLAS ou MONITORING.
- Au CCRT, il faut aller sur le web à l'adresse :
- http://dods.extra.cea.fr/data/ (ancien dods DMNFS) et choisir son login, sa configuration, sa simulation...
- http://dods.extra.cea.fr/work/ (nouveau dods CCCWORK) et choisir son login, sa configuration, sa simulation...
- Une fois trouvé un fichier netcdf (suffixe .nc), on peut le récupérer en cliquant dessus ou l'analyser avec les fonctionalités DODS. Pour cela il faut à son adresse ajouter cgi-bin/nph-dods juste après l'adresse www. Exemples :
ciclad : ferret ... > use "http://dods.extra.cea.fr/cgi-bin/nph-dods/data/mon_login/..." > use "http://dodsp.idris.fr/cgi-bin/nph-dods/mon_login/..."
Plus d'informations là : http://dods.ipsl.jussieu.fr/