wiki:ICOLMDZ-LAM

Version 32 (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

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_lon_start =-9 ==> 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
  • 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

  • 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> forçage à partir de fichier ERA5 (cohérence pour le LAM condition initiale - forçage aux frontières)

Attachments (4)