Version 57 (modified by aclsce, 10 months ago) (diff) |
---|
Configuration ICOLMDZOR-LAM (TGCC, IDRIS)
-
Configuration ICOLMDZOR-LAM (TGCC, IDRIS)
- Extraction de la configuration
- Compilation de la configuration
- Exécution
- Vue d'ensemble
- Parametres importants du run_dynamico.def pour configurer le LAM (zone et …
- Format du fichier de forçage de type ERA5
- Definition d'une nouvelle zone : exemple sur la zone Antarctique
- Utilisation outil graphique VTK_Mapper pour visualiser les champs sur la …
- Partage d'information : howto,…
Extraction de la configuration
svn co https://forge.ipsl.jussieu.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.jussieu.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
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 : <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
- # 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 <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 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 : <none> pas de physique (default), <phys_external> physique externe (nécessite un driver), <held_suarez>, ...
- 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 : <start_file> démarre du fichier de restart start.nc, <start_interp> démarre d'un fichier de restart à une résolution différente, <database> démarre à partir de fichier de forçage
- etat0_database_type = ERA5_forcing ==> pour etat0=etat0_database, type de forçage. Valeurs possibles : <legacy> forçage standard type LMDZ, <ERA5_forcing> 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 : 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
<file id="nudging_in" name="nudging_forcing" enabled="false" output_freq="6h" mode="read" record_offset="1" time_counter_name="time" cyclic="true">
<field_group operation="instant" freq_offset="1ts" >
<field id="ps_nudged_read" name="sp" domain_ref="domain_nudged" />
<field id="p_nudged_read" name="pressure" domain_ref="domain_nudged" axis_ref="axis_nudged" enabled="false" />
<field id="ulon_nudged_read" name="u" domain_ref="domain_nudged" axis_ref="axis_nudged" />
<field id="ulat_nudged_read" name="v" domain_ref="domain_nudged" axis_ref="axis_nudged" />
<field id="temp_nudged_read" name="t" domain_ref="domain_nudged" axis_ref="axis_nudged" />
<field id="H2O-g_nudged_read" name="q" domain_ref="domain_nudged" axis_ref="axis_nudged" />
<field id="H2O-l_nudged_read" name="clwc" domain_ref="domain_nudged" axis_ref="axis_nudged" />
<field id="H2O-s_nudged_read" name="ciwc" domain_ref="domain_nudged" axis_ref="axis_nudged" />
<field id="q_nudged_read" name="q" grid_ref="grid_q_nudged" enabled="false"/>
</field_group>
</file>
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)
<domain id="dom_regular" ni_glo="300" nj_glo="232" type="rectilinear" >
<generate_rectilinear_domain lat_start="38" lat_end="55" lon_start="-9" lon_end="13"/>
<interpolate_domain order="1" renormalize="true" detect_missing_value="true"/>
</domain>
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) : 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" : Rapport_de_stage_P_Conesa.pdf
Attachments (4)
- ICOLMDZ-LAM.png (31.5 KB) - added by aclsce 2 years ago.
- dump_forcage_ERA5.txt (7.0 KB) - added by aclsce 2 years ago.
- LAM-ERA5.pdf (267.9 KB) - added by aclsce 11 months ago.
- Rapport_de_stage_P_Conesa.pdf (5.6 MB) - added by aclsce 10 months ago.