Version 28 (modified by aclsce, 21 months ago) (diff) |
---|
Configuration ICOLMDZ-LAM (TGCC, IDRIS)
Extraction de la configuration
svn co https://forge.ipsl.jussieu.fr/igcmg/svn/modipsl/trunk modipsl ; cd modipsl/util ; ./model ICOLMDZOR_v7_LAM_work
Les composants suivants composent la configuration:
- DYNAMICO : trunk2master, b18ad822
- ICOSA_LMDZ : aquaplanet/ICOSA_LMDZ, rev 455
- LMDZ : LMDZ6/branches/IPSL-CM6A-MR, rev 3855
- ORCHIDEE : branches/ORCHIDEE_Quest/ORCHIDEE, rev 7086
Compilation de la configuration
cd config/ICOLMDZOR_v7 ; ./compile_icolmdzor.sh
Note : sur Jean-Zay, pensez à vous mettre sur la frontale pp pour compiler via ssh login@jean-zay-pp1.idris.fr
Exécution
Les 6 expériences disponibles avec 2 types de forçages possibles
- sorties générées par une simulation de type amip
- données ERA5 : plus d'informations là: https://gitlab.in2p3.fr/ipsl/projets/dynamico/dynamico/-/tree/trunk2master/TEST_CASE/LAM_ERA5
Les expériences tournent par défaut sur la zone France :
- ICOLMDZ/CREATE_amip
- Génération de l'état initial et fichier limit global
- Utilisation du run_dynamico.def : PARAM/run_dynamico_global_France.def
- Transformée de Schmidt : schmidt_lon=3, schmidt_lat=47, schmidt_factor=4
- cd config/ICOLMDZOR_v7 ; cp EXPERIMENTS/ICOLMDZ/CREATE_amip/config.card .
- A modifier si besoin dans config.card : JobName=...
- puis ../../libIGCM/ins_job ; cd JobName ; ccc_msub Job_JobName
- ICOLMDZ/amip
- Génération du fichier de forcage nudging_forcing.nc nécéssaire pour tourner la simulation LAM.
- Utilisation du run_dynamico.def : PARAM/run_dynamico_global_France.def
- Transformée de Schmidt : schmidt_lon=3, schmidt_lat=47, schmidt_factor=4
- Utilisation des fichier start.nc, startphy.nc et limit.nc générés par l'expérience CREATE_amip.
- cd config/ICOLMDZOR_v7 ; cp EXPERIMENTS/ICOLMDZ/amip/config.card .
- A modifier config.card : JobName=..., CreateName=le nom donné à la simulation CREATE_amip
- ../../libIGCM/ins_job ; cd JobName ; ccc_msub Job_JobName}}}
- ICOLMDZ/CREATE_amip_LAM
- Génération de l'état initial et fichier limit sur l'aire.
- Utilisation du run_dynamico.def : PARAM/run_dynamico_lam_forcing_France.def
- Utilisation du fichier start généré par l'expérience CREATE_amip globale (start = start_file_interp).
- Utilisation du fichier nudging_forcing.nc généré par l'expérience amip globale.
- cd config/ICOLMDZOR_v7 ; cp EXPERIMENTS/ICOLMDZ/CREATE_amip_LAM/config.card .
- A modifier dans config.card :
- JobName= nom de la simulation
- CreateName=le nom donné à la simulation CREATE_amip
- ForcingName= le nom donné à la simulation amip globale
- ForcingDate= date contenue dans le nom du fichier nudging_forcing.nc généré par la simulation amip globale.
- ../../libIGCM/ins_job ; cd JobName ; ccc_msub Job_JobName
- Sur Irene, pensez à augmenter la mémoire disponible par process : #MSUB -c 4 dans l'entête du Job.
- ICOLMDZ/amip_LAM : les forçages utilisés sont issus d'une simulation amip globale.
- Simulation LAM qui utilise le fichier de forçage nudging_forcing.nc, issu d'une simulation amip globale.
- Utilisation du run_dynamico.def : PARAM/run_dynamico_lam_forcing_France.def
- Utilisation des fichier start.nc, startphy.nc et limit.nc générés par l'expérience CREATE_amip_LAM.
- cd config/ICOLMDZOR_v7 ; cp EXPERIMENTS/ICOLMDZ/amip_LAM/config.card .
- A modifier dans config.card :
- JobName= nom de la simulation
- CreateName=le nom donné à la simulation CREATE_amip_LAM
- ForcingName= le nom donné à la simulation amip globale
- ForcingDate= date contenue dans le nom du fichier nudging_forcing.nc généré par la simulation amip globale.
- ../../libIGCM/ins_job ; cd JobName ; ccc_msub Job_JobName}}}
- Sur Irene, pensez à augmenter la mémoire disponible par process : #MSUB -c 4 dans l'entête du Job.
- ICOLMDZ/CREATE_amip_ERA5_LAM
- Génération de l'état initial et fichier limit sur l'aire.
- Utilisation du run_dynamico.def : PARAM/run_dynamico_lam_ERA5_France.def
- Utilisation du fichier ERA5 comme fichier nudging_forcing.nc. Le fichier ERA5_062000.nc utilisé par défaut est stocké sur les comptes communs.
- cd config/ICOLMDZOR_v7 ; cp EXPERIMENTS/ICOLMDZ/CREATE_amip_ERA5_LAM/config.card .
- A modifier dans config.card :
- JobName= nom de la simulation
- ../../libIGCM/ins_job ; cd JobName ; ccc_msub Job_JobName
- Sur Irene, pensez à augmenter la mémoire disponible par process : #MSUB -c 4 dans l'entête du Job.
- ICOLMDZ/amip_ERA5_LAM : les forçages utilisés proviennent des données ERA5.
- Simulation LAM qui utilise le fichier de forçage ERA5.
- Utilisation du run_dynamico.def : PARAM/run_dynamico_lam_ERA5_France.def
- Utilisation des fichier start.nc, startphy.nc et limit.nc générés par l'expérience CREATE_amip_ERA5_LAM.
- cd config/ICOLMDZOR_v7 ; cp EXPERIMENTS/ICOLMDZ/amip_ERA5_LAM/config.card .
- A modifier dans config.card :
- JobName= nom de la simulation
- ForcingName= le nom donné au fichier de foçage (defaut : ERA5).
- ForcingDate= date contenue dans le nom du fichier ERA utilisé (defaut 062000).
- ../../libIGCM/ins_job ; cd JobName ; ccc_msub Job_JobName}}}
- Sur Irene, pensez à augmenter la mémoire disponible par process : #MSUB -c 4 dans l'entête du Job.
Vue d'ensemble
Parametres importants du run_dynamico.def pour configurer le LAM (zone et resolution)
- metric_type = icosa_area ==> definition de la métrique du maillage ; choix possible : icosa_global (default) pour le global / icosa_area pour le LAM
- area_center_lon = 3 ==> pour le LAM : longitude (degrés) du centre du LAM (centre hexagone)
- area_center_lat = 47 ==> pour le LAM : latitude (degrés) du centre du LAM (centre hexagone)
- area_radius=800 ==> pour le LAM : rayon du lam en Km (centre -> sommet hexagone)
#---------------- guided ----------------
- guided_type = nudging ==> type de guidage ; choix possible : <none> pas de guidage (default), <nudging> guidage, <nudging_forcing> création des fichiers de forçage pour une zone spécifique
- itau_nudging = 120 => fréquence de guidage en pas de temps correspondant à la fréquence de lecture des données dans les fichiers de forçage
- nudging_zone = area => zone sur laquelle on guide : choix possible : <global> guidage sur le global, <lonlat> zone de guidage type longitude/latitude, <circular> zone de guidage circulaire (centre et rayon), <area> zone définie par le bord du LAM
- nudging_stiffness=8 => taille de la zone de transition (en nombre de maille) entre la partie non-guidé et la zone guidée
- # guide_PS = y ==> guidage de la pression ; choix possible <yes> or <no>, config LAM default <yes>, other default <no>
- # guide_T = y ==> guidage de la temperature ; choix possible <yes> or <no>, config LAM default <yes>, other default <no>
- # guide_U = y ==> guidage des vents ; choix possible <yes> or <no>, config LAM default <yes>, other default <no>
- # guide_Q =y ==> guidage des traceurs ; choix possible <yes> or <no>, config LAM default <yes>, other default <no>
- PS_relax_out=3600 ==> temps de relaxation (seconds) de la zone extérieure (frontière pour le LAM) pour la pression ; default == 1 pas de temps dynamique
- T_relax_out=3600 ==> temps de relaxation (seconds) de la zone extérieure (frontière pour le LAM) pour la température ; default == 1 pas de temps dynamique
- U_relax_out=3600 ==> temps de relaxation (seconds) de la zone extérieure (frontière pour le LAM) pour les vents ; default == 1 pas de temps dynamique
- Q_relax_out=3600 ==> temps de relaxation (seconds) de la zone extérieure (frontière pour le LAM) pour les traceurs ; default == 1 pas de temps dynamique
- #PS_relax_in=3600 ==> temps de relaxation (seconds) de la zone intérieure pour la pression ; valeur possible : valeur > 0 ou -1 => temps de relaxtion infini (default)
- #T_relax_in=3600 ==> temps de relaxation (seconds) de la zone intérieure pour la température ; valeur possible : valeur > 0 ou -1 => temps de relaxtion infini (default)
- #U_relax_in=3600 ==> temps de relaxation (seconds) de la zone intérieure pour les vents ; valeur possible : valeur > 0 ou -1 => temps de relaxtion infini (default)
- #Q_relax_in=3600 ==> temps de relaxation (seconds) de la zone intérieure pour les traceurs ; valeur possible : valeur > 0 ou -1 => temps de relaxtion infini (default)
- nudging_vertical_levels = pressure ==> guidage des champs 3D ; valeurs possibles : <pressure> (default) les champs de guidage sont en niveau de pression, <model> les champs de guidage sont en niveau modèle et nécessitent un champ de pression pour interpoler verticalement
- nbp=40 ==> résolution horizontale, taille d'une tuile-losange de nbp*nbp mailles (default=40). 10 tuiles pour le globale, 3 tuiles pour le LAM
# nbp pour le global # nbp 20 40 80 160 # T-edge length (km) 500 250 120 60
nsplit_i=4 ==> découpage en sous-losange pour le parallélisme (direction i) : nb total de sous-losange == 10*nsplit_i*nsplit_j pour le global, 3*nsplit_i*nsplit_j pour le LAMà distribuer pour les tâches MPI nsplit_j=4 ==> découpage en sous-losange pour le parallélisme (direction j) : nb total de sous-losange == nsplit_i*nsplit_j à distribuer pour les tâches MPI omp_level_size=1 ==> nombre de tâches openmp sur la verticale
read_metric = n
# optim_it : mesh optimisation : number of iteration : integer (default=0) optim_it= 0
# ---------------------------------- Time---------------------------------
# timestep : real (default=480s) dt = 30.
# advection called every itau_adv time steps : integer (default 2) # standard : umax=100m/s vs c=340m/s (ratio 1:3) # in JW06 umax=35m/s vs c=340m/s (ratio 1:10) itau_adv=1
# run length : real (default=dt*itaumax) run_length=_AUTOBLOCKER_
# etat0_start_iteration_reset : set y to reset iteration from start.nc etat0_start_iteration_reset=_AUTOBLOCKER_
# output field period : integer (default none) write_period=10800
itau_check_conserv=100
# ---------------------------------- Misc -------------------------------- # number of tracer (nqtot) : integer (default 1) nqtot=4
# pression value where output is interpolated : real (default=0, no output) out_pression_level=85000
start_file_name=start restart_file_name=restart
# Use of oasis or not (needed to initialize and finalize coupling mode) using_oasis=_AUTOBLOCKER_
# ---------------------------------- Dissipation ---------------------------------
# dissipation time graddiv : real (default=5000) tau_graddiv = 3600
# number of iteration for graddiv : integer (default=1) nitergdiv = 1
# dissipation time nxgradrot (default=5000) tau_gradrot = 21600
# number of iteration for nxgradrot : integer (default=1) nitergrot=2
# dissipation time divgrad (theta) (default=5000) tau_divgrad=10800
# number of iteration for divgrad : integer (default=1) niterdivgrad=2
# -------------------------------- Physics -------------------------------------
# kind of physics : string : none, dcmip (default=none) physics=phys_external # itau_physics: dt_phys=itau_physics*dt here dt=450s => dt_phys=900s itau_physics=30
# Following parameters are changed by options set in dynamico.card create_etat0_limit=_AUTO_ etat0=_AUTO_ iflag_phys=_AUTO_
# heldsz_p0 is only read if etat0=held_suarez (aquaplanet simulation) heldsz_p0=101080
Attachments (4)
- ICOLMDZ-LAM.png (31.5 KB) - added by aclsce 2 years ago.
- dump_forcage_ERA5.txt (7.0 KB) - added by aclsce 21 months ago.
- LAM-ERA5.pdf (267.9 KB) - added by aclsce 7 months ago.
- Rapport_de_stage_P_Conesa.pdf (5.6 MB) - added by aclsce 6 months ago.