}}}
----
[[PageOutline]]
News : 05/04/2024 : Les expériences LAM sont désormais disponibles sous la configuration IPSLCM7.
= Nouvelle méthode avec IPSLCM7 =
== Extraction de la nouvelle configuration IPSLCM7 ==
{{{svn co https://forge.ipsl.fr/igcmg/svn/modipsl/trunk modipsl ; cd modipsl/util ; ./model IPSLCM7_work }}} ou {{{ ./model IPSLCM7_work ICOLMDZOR }}}
Les composants suivants composent la configuration:
* DYNAMICO : master, 374a3c66
* ICOSA_LMDZ : LMDZ6/trunk, rev 4558
* LMDZ : LMDZ6/branches/IPSL-CM6A-MR, rev 4876
* ORCHIDEE : branches/ORCHIDEE_2_2/ORCHIDEE, rev 8468
== Compilation de la configuration ==
{{{cd config/IPSLCM7 ; ./compile_ipslcm7.sh}}} ou {{{./compile_ipslcm7.sh -subconfig ICOLMDZOR -regular_latlon no }}}
Note : sur Jean-Zay, pensez à vous mettre sur la frontale pp pour compiler via {{{ssh login@jean-zay-pp1.idris.fr}}}.[[BR]]
Note 2 : sur Jean-Zay, il est possible que vous ayez un plantage à la compilation de XIOS en raison d'un manque de ressources. Dans ce cas là, relancez la compilation.
Note 3 : les compilations peuvent être très lentes depuis les frontales TGCC ou IDRIS. La compilation en utilisant un noeud de calcul en interactif est plus rapide. Pour faire cela :
* IDRIS : {{{srun --pty --ntasks=1 --cpus-per-task=20 --hint=nomultithread -t 00:30:00 --account=votre_projet_de_calcul@cpu --qos=qos_cpu-dev bash }}}. Il faut préciser le arch de compilation et donc, par ex, utiliser la commande {{{./compile_ipslcm7.sh -arch X64_JEANZAY -subconfig ICOLMDZOR -regular_latlon no }}}
* TGCC : {{{ ccc_mprun -s -T 1800 -x -p skylake -Q test -A votre_projet_de_calcul}}} . Il faut préciser le arch de compilation et donc par ex, sur irene SKL, utiliser la commande {{{./compile_ipslcm7.sh -arch X64_IRENE -subconfig ICOLMDZOR -regular_latlon no }}}
=== cas particulier du LAM avec la configuration chimie atmosphérique ===
Pour compiler il faut ajouter l'option indiquant que l'on utilise la chimie (actuellement uniquement dispo pour la configuration chimique "AER" (aérosols atmo + peu de chimie)
{{{./compile_ipslcm7.sh -subconfig ICOLMDZORINCA -chimie AER -regular_latlon no }}}
== 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
Ces 6 expériences sont disponibles avec les configurations ICOLMDZ et ICOLMDZOR (avec ORCHIDEE).
Les expériences tournent par défaut sur la zone France :
* '''ICOLMDZ/CREATE_amip''' (ou ICOLMDZOR/CREATE_amip)
* Génération de l'état initial et fichier limit global
* Utilisation du run_dynamico.def : PARAM/DYNAMICO/LAM/run_dynamico_global_France.def
* Transformée de Schmidt : schmidt_lon=3, schmidt_lat=47, schmidt_factor=4
* {{{cd config/IPSLCM7 ; cp EXPERIMENTS/ICOLMDZ/LAM/CREATE_amip/config.card . }}}
* ou si avec ORCHIDEE : {{{cd config/ICOLMDZOR_v7 ; cp EXPERIMENTS/ICOLMDZOR/LAM/CREATE_amip/config.card . }}}
* A modifier si besoin dans config.card : !JobName=...
* puis {{{../../libIGCM/ins_job ; cd JobName ; ccc_msub (ou sbatch) Job_JobName}}}
* '''ICOLMDZ/amip''' (ou ICOLMDZOR/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/DYNAMICO/LAM/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/IPSLCM7 ; cp EXPERIMENTS/ICOLMDZ/LAM/amip/config.card . }}}
* ou si avec ORCHIDEE : {{{cd config/ICOLMDZOR_v7 ; cp EXPERIMENTS/ICOLMDZOR/LAM/amip/config.card . }}}
* A modifier config.card : !JobName=..., !CreateName=le nom donné à la simulation CREATE_amip
* {{{../../libIGCM/ins_job ; cd JobName ; ccc_msub (ou sbatch) Job_JobName}}}}}}
* '''ICOLMDZ/CREATE_amip_LAM''' (ou ICOLMDZOR/CREATE_amip_LAM)
* Génération de l'état initial et fichier limit sur l'aire.
* Utilisation du run_dynamico.def : PARAM/DYNAMICO/LAM/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/IPSLCM7 ; cp EXPERIMENTS/ICOLMDZ/LAM/CREATE_amip_LAM/config.card . }}}
* ou si avec ORCHIDEE : {{{cd config/ICOLMDZOR_v7 ; cp EXPERIMENTS/ICOLMDZOR/LAM/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 (ou sbatch) Job_JobName}}}
* Sur Irene, si besoin, pensez à augmenter la mémoire disponible par process : {{{#MSUB -c 2}}} dans l'entête du Job.
* '''ICOLMDZ/amip_LAM''' (ou ICOLMDZOR/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/DYNAMICO/LAM/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/IPSLCM7 ; cp EXPERIMENTS/ICOLMDZ/LAM/amip_LAM/config.card . }}}
* ou si avec ORCHIDEE : {{{cd config/ICOLMDZOR_v7 ; cp EXPERIMENTS/ICOLMDZOR/LAM/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 (ou sbatch) Job_JobName}}}}}}
* Sur Irene, si besoin, vous pouvez augmenter la mémoire disponible par process : {{{#MSUB -c 2}}} dans l'entête du Job.
* '''ICOLMDZ/CREATE_amip_ERA5_LAM''' (ou ICOLMDZOR/CREATE_amip_ERA5_LAM)
* Génération de l'état initial et fichier limit sur l'aire.
* Utilisation du run_dynamico.def : PARAM/DYNAMICO/LAM/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/IPSLCM7 ; cp EXPERIMENTS/ICOLMDZ/LAM/CREATE_amip_ERA5_LAM/config.card . }}}
* ou si avec ORCHIDEE : {{{cd config/ICOLMDZOR_v7 ; cp EXPERIMENTS/ICOLMDZOR/LAM/CREATE_amip_ERA5_LAM/config.card . }}}
* A modifier dans config.card :
* !JobName= nom de la simulation
* {{{../../libIGCM/ins_job ; cd JobName ; ccc_msub (ou sbatch) Job_JobName}}}
* Sur Irene, si besoin, pensez à augmenter la mémoire disponible par process : {{{#MSUB -c 2}}} dans l'entête du Job.
* '''ICOLMDZ/amip_ERA5_LAM''' (ou ICOLMDZOR/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/DYNAMICO/LAM/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/IPSLCM7 ; cp EXPERIMENTS/ICOLMDZ/LAM/amip_ERA5_LAM/config.card . }}}
* ou si avec ORCHIDEE : {{{cd config/ICOLMDZOR_v7 ; cp EXPERIMENTS/ICOLMDZOR/LAM/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 (ou sbatch) Job_JobName}}}}}}
* Sur Irene, si besoin, pensez à augmenter la mémoire disponible par process : {{{#MSUB -c 2}}} dans l'entête du Job.
=== cas particulier de la chimie atmosphérique ===
Un seul jeu d'expériences est proposé (création de l'état initial + simu de 5 jours sur la zone France). Elles ont été créées à partir des expériences `ICOLMDZOR/CREATE_amip_ERA5_LAM` et `ICOLMDZOR/amip_ERA5_LAM` décrites ci-dessus.
* EXPERIMENTS/ICOLMDZORINCA/LAM/CREATE_amip_ERA5_AER_LAM
* Génération de l'état initial et fichier limit sur l'aire.
* Utilisation du run_dynamico.def : PARAM/DYNAMICO/LAM/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.
* Utilisation du fichier ${R_IN}/CHM/CE0L_ICO/AER_mmr_ce0l_ico.nc pour définir les concentrations des espèces chimiques et aérosols dans l'atmosphère. Ce fichier peut être remplacé par n'importe quel fichier mmr_ce0l_ico.nc issu d'une simulation en grille régulière avec le modèle INCA.
* EXPERIMENTS/ICOLMDZORINCA/LAM/amip_ERA5_AER_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/DYNAMICO/LAM/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_AER_LAM.
* Utilisation des fichiers d'émissions CMIP6 pour les espèces chimiques et aérosols (voir fichier inca.card)
Liste des espèces calculées dans cette version de Inca
{{{
rn222, pb210, no2, no3, hno3, n2o5, so2, h2s, dms, dmso, nh3, dustci, no3ci, ci, bcai, oaai,
ai, sscs, so4cs, nh4cs, msacs, no3cs, cs, ssas, bcas, oaas, so4as, nh4as, msaas, no3as, as, ssss, ss
}}}
La chimie des espèces suivante est fixée :
{{{
M, N2, O2, H2O, CO2, OH, NO3 (force de rappel), O3, H2O2, O1D, HNO3 (force de rappel), NO2 (force de rappel)
}}}
= Ancienne méthode avec ICOLMDZOR =
== Extraction de l'ancienne configuration ==
{{{svn co https://forge.ipsl.fr/igcmg/svn/modipsl/trunk modipsl ; cd modipsl/util ; ./model ICOLMDZOR_v7_LAM.1}}}
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
Il est possible d'utiliser une configuration avec des révisions des composantes plus à jour :
{{{svn co https://forge.ipsl.fr/igcmg/svn/modipsl/trunk modipsl ; cd modipsl/util ; ./model ICOLMDZOR_v7_LAM_work}}}
Les composants suivants composent cette configuration:
* DYNAMICO master, 34d2c048
* ICOSA_LMDZ, aquaplanet/ICOSA_LMDZ , rev 457
* LMDZ6, trunk, rev 4305
* ORCHIDEE, branches/ORCHIDEE_2_2, rev 7820
== 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
Ces 6 expériences sont disponibles avec les configurations ICOLMDZ et ICOLMDZOR (avec ORCHIDEE).
Les expériences tournent par défaut sur la zone France :
* '''ICOLMDZ/CREATE_amip''' (ou ICOLMDZOR/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 . }}}
* ou si avec ORCHIDEE : {{{cd config/ICOLMDZOR_v7 ; cp EXPERIMENTS/ICOLMDZOR/CREATE_amip/config.card . }}}
* A modifier si besoin dans config.card : !JobName=...
* puis {{{../../libIGCM/ins_job ; cd JobName ; ccc_msub (ou sbatch) Job_JobName}}}
* '''ICOLMDZ/amip''' (ou ICOLMDZOR/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 . }}}
* ou si avec ORCHIDEE : {{{cd config/ICOLMDZOR_v7 ; cp EXPERIMENTS/ICOLMDZOR/amip/config.card . }}}
* A modifier config.card : !JobName=..., !CreateName=le nom donné à la simulation CREATE_amip
* {{{../../libIGCM/ins_job ; cd JobName ; ccc_msub (ou sbatch) Job_JobName}}}}}}
* '''ICOLMDZ/CREATE_amip_LAM''' (ou ICOLMDZOR/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 . }}}
* ou si avec ORCHIDEE : {{{cd config/ICOLMDZOR_v7 ; cp EXPERIMENTS/ICOLMDZOR/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 (ou sbatch) Job_JobName}}}
* Sur Irene, pensez à augmenter la mémoire disponible par process : {{{#MSUB -c 4}}} dans l'entête du Job.
* '''ICOLMDZ/amip_LAM''' (ou ICOLMDZOR/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 . }}}
* ou si avec ORCHIDEE : {{{cd config/ICOLMDZOR_v7 ; cp EXPERIMENTS/ICOLMDZOR/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 (ou sbatch) 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''' (ou ICOLMDZOR/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 . }}}
* ou si avec ORCHIDEE : {{{cd config/ICOLMDZOR_v7 ; cp EXPERIMENTS/ICOLMDZOR/CREATE_amip_ERA5_LAM/config.card . }}}
* A modifier dans config.card :
* !JobName= nom de la simulation
* {{{../../libIGCM/ins_job ; cd JobName ; ccc_msub (ou sbatch) 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''' (ou ICOLMDZOR/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 . }}}
* ou si avec ORCHIDEE : {{{cd config/ICOLMDZOR_v7 ; cp EXPERIMENTS/ICOLMDZOR/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 (ou sbatch) Job_JobName}}}}}}
* Sur Irene, pensez à augmenter la mémoire disponible par process : {{{#MSUB -c 4}}} dans l'entête du Job.
== Vue d'ensemble ==
[[Image(wiki:ICOLMDZ-LAM:ICOLMDZ-LAM.png, 720px)]]
== 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)
# ------------------------------- Transformee de Schmidt---------------------------------
* ''#schmidt_lon=3 ==> transformée de schmidt : longitude du centre d'origine''
* ''#schmidt_lat=47 ==> transformée de schmidt : latitude du centre d'origine''
* ''#schmidt_factor=4 ==> transformée de schmidt : facteur d'échelle de la transformée''
#---------------- Guidage ----------------
* '''guided_type''' = nudging ==> type de guidage ; choix possible : pas de guidage (default), guidage, 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 : guidage sur le global, zone de guidage type longitude/latitude, zone de guidage circulaire (centre et rayon), 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
* ''# nudging_lon_start ==> pour nudging_zone=lonlat ou guided_type=nudging_forcing : définition de la zone longitude-latitude : longitude du bord ouest''
* ''# nudging_lat_start ==> pour nudging_zone=lonlat ou guided_type=nudging_forcing : définition de la zone longitude-latitude : latitude du bord sud''
* ''# nudging_lon_end ==> pour nudging_zone=lonlat ou guided_type=nudging_forcing : définition de la zone longitude-latitude : longitude du bord est''
* ''# nudging_lat_end ==> pour nudging_zone=lonlat ou guided_type=nudging_forcing : définition de la zone longitude-latitude : latitude du bord nord''
* ''# nudging_freq=3600 ==> pour guided_type=nudging_forcing : fréquence en seconde du fichier de forçage généré''
* ''# nudging_lon_delta=0.25 ==> pour guided_type=nudging_forcing : résolution en longitude du fichier de forçage généré''
* ''# nudging_lat_delta=0.25 ==> pour guided_type=nudging_forcing : résolution en latitude du fichier de forçage généré''
* ''# nudging_lon_center = 3 ==> pour nudging_zone=circular : définition de la zone circulaire à guider : longitude du centre''
* ''# nudging_lat_center = 47 ==> pour nudging_zone=circular : définition de la zone circulaire à guider : latitude du centre''
* ''# nudging_radius = 800 ==> pour nudging_zone=circular : définition de la zone circulaire à guider : rayon en Km''
* ''# guide_PS = y ==> guidage de la pression ; choix possible or , config LAM default , other default ''
* ''# guide_T = y ==> guidage de la temperature ; choix possible or , config LAM default , other default ''
* ''# guide_U = y ==> guidage des vents ; choix possible or , config LAM default , other default ''
* ''# guide_Q =y ==> guidage des traceurs ; choix possible or , config LAM default , other default ''
* '''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 : (default) les champs de guidage sont en niveau de pression, 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 global, 3 tuiles pour le LAM
{{{
# nbp pour le global
# nbp 20 40 80 160
# T-edge length (km) 500 250 120 60
}}}
* '''llm''' = 79 ==> nombre de niveaux verticaux
* '''nqtot'''=4 ==> nombre de traceus
* '''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 == 10*nsplit_i*nsplit_j pour le global, 3*nsplit_i*nsplit_j pour le LAMà distribuer pour les tâches MPI
* '''omp_level_size'''=1 ==> nombre de tâches openmp sur la verticale
* '''read_metric''' = n ==> lecture de la métrique du maillage dans le start.nc (default=n)
* '''optim_it'''= 0 ==> optimisation du maillage en nombre d'itérations
* '''dt''' = 30. ==> pas de temps de la dynamique en secondes, adapter en fonction de la résolution horizontale pour satisfaire les critères CFL
* '''run_length''' = 86400 ==> durée de la simulation en secondes
# ---------------------------------- Dissipation ---------------------------------
# à adapter en fonction de la résolution
* '''tau_graddiv''' = 3600
* '''nitergdiv''' = 1
* '''tau_gradrot''' = 21600
* '''nitergrot'''=2
* '''tau_divgrad'''=10800
* '''niterdivgrad'''=2
# -------------------------------- Physics -------------------------------------
* '''physics'''=phys_external ==> type de physique : valeurs possibles : pas de physique (default), physique externe (nécessite un driver), , ...
* '''itau_physics'''=30 ==> fréquence d'appel à la physique en pas de temps
# Following parameters are changed by options set in dynamico.card
* '''create_etat0_limit''' = no ; creation de l'état initial et des condition limites pour LMDZ non structuré (indépendant de dynamico)
* '''etat0''' = start_file => type de démarage : valeurs possibles : démarre du fichier de restart start.nc, démarre d'un fichier de restart à une résolution différente, démarre à partir de fichier de forçage
* '''etat0_database_type''' = ERA5_forcing ==> pour etat0=etat0_database, type de forçage. Valeurs possibles : forçage standard type LMDZ, forçage à partir de fichier ERA5 (cohérence pour le LAM condition initiale - forçage aux frontières)
== Format du fichier de forçage de type ERA5 ==
* Lien vers le dump du fichier : [attachment:dump_forcage_ERA5.txt]
== Definition d'une nouvelle zone : exemple sur la zone Antarctique ==
* Résolution sur la zone (1°).
* Fréquence de forçage 6h
* Domaine centré sur le point (longitude 0°, latitude -90°)
* Rayon du domaine Rlam = 4000km
* 30 jours de simulation
=== Paramètres du run_dynamico.def pour la génération des forçages (run global zoomée 1° sur l'antarctique ) ===
{{{
* metric_type = icosa_global
* schmidt_lon=0
* schmidt_lat=-90
* schmidt_factor=2
* nbp=40
* guided_type = nudging_forcing
* nudging_lon_start =-180
* nudging_lat_start = -90
* nudging_lon_end = 180
* nudging_lat_end = -60
* nudging_freq = 21600
* nudging_lon_delta=0.25
* nudging_lat_delta=0.25
* nudging_radius = 4000
* dt = 225
* run_length = 2592000 # (30j)
* tau_graddiv = 1800
* nitergdiv = 1
* tau_gradrot = 10800
* nitergrot=2
* tau_divgrad=5400
* niterdivgrad=2
* itau_physiq = 4
# création état initial (géré par modipsl)
etat0 = database
create_etat0_limit=y
# exécution du run (géré par modipsl)
etat0=database
create_etat0_limit=n
}}}
=== Paramètres du run_dynamico.def pour l'éxécution du LAM (run LAM 1° sur l'antarctique ==> nbp=40) ===
{{{
* metric_type = icosa_area
* area_center_lon = 0
* area_center_lat = -90
* area_radius = 4000
* nbp=40
* dt = 225
* run_length = 2592000 # (30j)
* tau_graddiv = 1800
* nitergdiv = 1
* tau_gradrot = 10800
* nitergrot=2
* tau_divgrad=5400
* niterdivgrad=2
* itau_physiq = 4
* guided_type = nudging
* itau_nudging = 96 # 6h
* nudging_zone = area
* nudging_stiffness=8
* PS_relax_out = 21600
* T_relax_out = 21600
* U_relax_out = 21600
* Q_relax_out = 21600
* nudging_vertical_levels = model
* itau_physics = 4
# création état initial (géré par modipsl)
etat0 = database
create_etat0_limit=y
# exécution du run (géré par modipsl)
etat0=database
create_etat0_limit=n
}}}
=== Adaptation du fichier XML nudging_dynamico.xml (modeles/DYNAMICO/xml/nudging_dynamico.xml) ===
* Ajustement de la fréquence de lecture en rapport avec la fréquence du fichier de forçage
[[BR]]
[[BR]]
[[BR]]
[[BR]]
[[BR]]
[[BR]]
[[BR]]
[[BR]]
[[BR]]
[[BR]]
[[BR]]
[[BR]]
[[BR]]
=== Adaptation du fichier XML PARAM/context_lmdz.xml (et PARAM/context_orchidee.xml )===
* Zone à interpoler de la grille ico vers la grille régulière (sorties hist*.nc)
[[BR]]
''''''[[BR]]
[[BR]]
== Utilisation outil graphique VTK_Mapper pour visualiser les champs sur la grille icosaédrique
* Information disponible là: https://github.com/PBrockmann/VTK_Mapper
== Partage d'information : howto,... ==
* Faire une simulation LAM forcée par ERA5 (Léa) : [attachment:LAM-ERA5.pdf]
* Mise en place de la configuration LAM transect AWACA (Valentin) : https://docs.google.com/document/d/1CMl5ZJ5t19WsLiZkcHjqblNLlZXRz2Kisk0VD0kWnXA/edit
* Rapport de stage P Conesa : "Simulations du climat avec le modèle à aire limitée DYNAMICO-LMDZ" : [attachment:Rapport_de_stage_P_Conesa.pdf]
* Documentation sur l'utilisation du nudging en configuration globale ICOLMDZOR : https://forge.ipsl.jussieu.fr/igcmg_doc/wiki/Doc/Models/DYNAMICO#UsenudgingwithDYNAMICO