Aller au contenu. | Aller à la navigation

Outils personnels

Navigation

2022/03/21

Compte rendu du poihl du 21/03/2022

Liens utiles:

 

Poihl "Architecture et développement"


Informations Générales:

  • Il faut réfléchir au prochain Conseil Scientifique du code communautaire LMDZ. Propositions de thèmes à aborder?
  • Une fiche Exascale décrivant nos besoins est en cours de rédaction pour les instances

 

"Infrastructure et architecture":

Ehouarn et Laurent toujours sur l'approche "force brute" du portage. Des soucis avec la compilation de IOIPSL avec le compilateur NVIDIA, en passe d'être résolu.

Côté "ré-écriture", Frédéric expose son nouveau script qui outille automatiquement les paramétrisations pour les rejouer ( script bash de ~250 lignes). Ca marche en 1D, doit faire les vérifications pour le 3D. Cela apporte quelques contraintes sur le code:

  • déclarer toutes les variables non-locales en IN/OUT/INOUT
  • les seules variables d'interfaces sont:
    • les paramètres d'appel à la routine (a priori les dimensions de la grille du modèle sont passées en paramètres d'appel)
    • les variables d'un module unique qui est initialisé par un module d'initialisation de la paramétrisation
  • il faut définir et partager les fonctions thermodynamiques qui parsèment le code

Frédéric propose le schéma suivant pour la ré-écriture de la physique

le monde du modèle LMDZ le monde de la paramétrisation
physiq_mod.F90 PARAM

une suite d'appels à

call_param(....)

  + forçages de PARAM
  + sorties spécifiques à PARAM

l'aiguillage vers les différentes paramétrisations des différents processus se ferait dans call_param(), par exemple:
call_convection() contiendrait l'aiguillage vers Tiedtke ou Kerry-Emmanuel

MODULE call_convection()
....
forçages convection
....
IF (first) THEN
  IF (tiedtke) THEN
      CALL ini_tietdke_mod(...)
  ELSE IF (ke) THEN
      CALL ini_ke_mod(...)
  ENDIF
ENDIF
...
IF (tiedtke) THEN
    CALL calcul_tietdke_mod(...)
ELSE IF (ke) THEN
    CALL calcul_ke_mod(...)
ENDIF
....
sorties convection
END MODULE

 

2 modules:

ini_param_mod(...)

     initialisation des variables de module utilisées par PARAM,
    
appelé une seule fois au premier appel de la physique

calcul_param_mod(...)

      routine de calcul de PARAM,
     
appelée à tous les pas de temps

 ce schéma faciliterait le partage de paramétrisations entre modèles

 

Tour de table:

Le pad colibri a de sérieux problème. On fait donc un tour de table en direct:

  • Laurent: sur le contrôle qualité et le portage GPU
  • Ehouarn: tout va bien avec les tests hebdomadaires
  • Ionela: sur la 3ème vage du tuning, en train de faire les diagnostics et travaille sur les rendre plus automatique
  • Adriana: sur de "grosses" simulations de production + démarrage de simulations sur le Maroc (beaucoup de vérifications en cours), des choses à faire sur les scripts d'interpolation et de préparation des simulations pour les rendre cohérents. Sujet possible pour le prochain PEDALONS (suggéré par Frédéric):  "Comment s'assurer que deux simulations représentent un même climat quand il n'y a pas convergence numérique entre les simulations"
  • Sébastien: souhaite savoir si la trunk est stabilisé pour son travail. On lui répond que oui, il peut repartir sur la HEAD de la trunk
  • Jean-Baptiste: fait de la météo avec LMDZ avec les L3 sur le mésocentre (avec les poussières sahariennes de ces temps-ci, les situations météo sont 'jolies' à étudier). Il propose une restitution de ces travaux avec Florent devant l'équipe.

 

Ajouter un commentaire

Vous pouvez ajouter un commentaire en complétant le formulaire ci-dessous. Le format doit être plain text. Les commentaires sont modérés.

Enter the word