wiki:COPIL

Comptes-rendus du COPIL

Le COPIL DYNAMICO comprend les membres suivants :

  • Julien Bigot (maison de la simulation)
  • Thomas Dubos (LMD)
  • Patryk Kiepas (LMD)
  • Laurent Fairhead (LMD)
  • Sylvain Mailler (LMD)
  • Ehouarn Millour (LMD)
  • Romain Pennel (LMD)
  • Sebastien Fromang (LSCE)
  • Yann Meurdesoif (LSCE)
  • Arnaud Caubel (LSCE)
  • Anne Cozic (LSCE)

Le COPIL se reunit deux fois par mois. Il discute de questions d'actualite et de strategie concernant le developpement de DYNAMICO. Il suit les travaux engages. N'hesitez pas a contacter un membre du COPIL pour soulever une question et participer aux discussions.

Futurs points d'ordre du jour =

  • discussion 2è phase de convergence devel/trunk : futur DySL + plugin => septembre
  • parallélisme traceurs
  • isotopes / gestion des traceurs + INCA
  • point dissipation
  • point couplé
  • convergence devel/trunk
  • LAM
  • tutoriel

Prochains COPILs

  • 03/05/24 13:30
  • 19/04/24 13:30 (TD, PK excusé)
  • 05/04/24 13:30 (TD, EM excusé)

vendredi 05/04/24 ZOOM =

Sylvain, Laurent, Julien, Romain, Yann, Patryk

Nous avons parlé des changements dans les fichiers XML/XIOS (Yann), de quelques problèmes avec les grilles non structurées (Sylvain), du plugin physique dans DYNAMICO (Yann & Romain).

vendredi 22/03/24 ZOOM =

EM excusé

  • limites de ressources des runners Gitlab IN2P3 pas encore limitant pour le CI DYNAMICO. Rediscuter avec Karim R. de mettre en place des runners ESPRI.
  • plugin 'etat0': fait par Yann (+Patryk)
    • permet de déplacer la création de l'état initial dans le driver ICOLMDZOR (fait)
    • rend obsolète etat0_database
    • suppression de etat0_database dans le futur, une fois que tout marche et si les planéto n'en ont pas besoin
  • relief sous-maille SSO vs LMDZ
    • calcul lon-lat de LMDZ réimplémenté par Yann via XIOS. Comparaisons montrent un bon accord entre calcul LMDZ et nouveau calcul.
    • En revanche différences sensibles avec SSO.
    • LMDZ:
      • ne fait pas de séparation résolu-sous-maille
      • utilise un fichier dont la résolution n'est pas uniforme (résolution zonale élevée près des pôles
    • SSO:
      • orographie résolue utilisée pour le calcul de Zthe et Zgam au lieu de l'orographie sous-maille.
      • Filtres à coefficients tunables.
      • Interpolation de grandeurs non-smooth. Mieux vaudrait stocker+interpoler le tenseur, en composantes x,y,z
    • on a maintenant un switch pour ICOLMDZ (param_gw_method)
  • XIOS gestion plus souple des XML. Permet une structure plus modulaire lorsque plusieurs modèles sont couplés. => nouvelle image avec XIOS à jour pour le CI (fait par Patryk)
  • dernières versions de XIOS, DYNAMICO, LMDZ, ICOLMDZ fonctionnent ensemble
    • testé via modipsl mais pas encore de nouvelle config modipsl
    • en lien avec mise à jour (en cours) des configs modipsl WORK

vendredi 08/03/2024, ZOOM

Julien, Romain, Ehouarn, Patryk, Thomas, Yann, Laurent

  • Plusieurs commits de convergence faits par Patryk. Ce sont des réorganisation sans changement de sémantique. Il reste des actions plus "compliquées" à faire lorsque devel/ et trunk/ ont de vraies

différences d'implémentation. Patryk verra avec TD pour la suite.

  • Sylvain: intégration en cours dans dynamico-tools du calcul des poids nécessaires au transport non-structuré
  • Travail en cours de YM sur issue #43 : plugin pour état0. La fonctionnalité est dvp dans DYNAMICO et utilisée en parallèle dans le drive ICOLMDZ. Pas trop de conflits à anticiper.
  • Sujet: tests régulier en mode debug (initialisation à NaN) de ICOLMDZ pour détecter des bugs introduits dans la partie ICO de LMDZ, pas testés lors des tests lon-lat.

vendredi 23/02/2024, ZOOM

Julien, Sylvain, Ehouarn, Patryk

vendredi 26/01/2024, présentiel au LSCE

papier DYNAMICO-LMDZ en préparation d'ici à l'été

  • features incluses dans le papier
    • LAM
    • nudging
    • interface avec phyLMDZ
    • sponge layer ?
    • couplé ?
    • orographie (TD)
    • Schmidt (dissipation ?)
    • transport isotopes => cas-test ?
    • thermo générique (papier à part)
  • feature pas à court terme
    • NH
    • atmosphère profonde
    • projection polaire pour LAM
    • ellipticité
    • dynamico-tools: julia => python ?
  • action biblio DYNAMICO ?
    • planéto LMD
    • Pascal Tremblin
    • Fred Chevallier
  • documentation
    • git devient le point d'entrée qui renvoie vers:
      • une/des pages DYNAMICO+XIOS "seul" (dans doc/user)
      • une/des pages "developpeur" (docs/dev)
      • renvoie vers LMDzPedia / PlanetsPedia?
  • dvp en cours / demandés / envisagés
    • domaine LAM rectangulaire
    • non-structuré
      • implémentation en Julia presque finie
      • extension de dynamico-tools pour nouveaux poids
    • convergence
    • request : etat0_plugin (initialisation des traceurs pour DYNAMICO-CHIMERE)
    • request : driver sans boucle temporelle pour créer un etat0 sur mesure
  • issues en cours
    • unstructured + MPI (Thomas)
  • quelles verions utilisées par LMDZ/modipsl/planéto
    • modipsl compatible avec dernière trunk mais LMDZ ancien
    • LMDZ testé quotidiennement avec dernier DYNAMICO ?

2023

vendredi 15/12

Thomas, Laurent, Yann, Ehouarn, Romain, Sylvain, Patryk

  • dernières fusions (devel/trunk big merge)
  • visualisation de la grille non-structuré
  • modipsl/lam/dynamico reproductibilité
  • simulations DYNAMICO avec la grille non-structuré

vendredi 01/12

Thomas, Laurent, Romain, Sylvain, Patryk

vendredi 22/09

Laurent, Ehouarn, Patryk

vendredi 08/09

Patryk, Ehouarn, Thomas

  • thèses en cours
    • Léa Raillard : LAM/Arctique
    • Sébastien/ : zoom Schmidt =>

vendredi 30/06

Yann, Thomas excusés

vendredi 16/06

Présentiel Jussieu 14h Salle LMD 3è étage Ehouarn excusé Yann, Julien, Patryk ?

  • ordre du jour :
    • convergence : vers quoi : architecture, contenu ...

vendredi 02/06

  • zoom/dissipation
    • thèse démarrant sept 2023 Sébastien + Gwendal Rivière avec DYNAMICO-LMDZ zoomé (Schmidt) sur l'Arctique => ajouter résolution variable ?
    • nécessitera d'adopter une procédure d'adaptation de la dissipation à la taille de maille / scaling factor
  • interrogations sur redémarrage de DYNAMICO-Venus (à confirmer)
  • restarts : fonctionnent-ils en devel (Held & Suarez) ?? => Ehouarn met une issue => TODO : tester restartabilité devel+trunk dans le CI
  • on a maintenant un run non-structuré en CI (devel) => ajouter validation / run de ref

vendredi 19/05

vendredi 04/05

TD excusé

vendredi 21/04

vendredi 07/04

vendredi 24/03

Ehouarn excusé

  • benchmark performance (Patryk)
    • but final : pouvoir déclencher manuellement des tests prédéfinis via le CI
    • statut :
      • un benchmark OK sur CI basé sur gprof
  • merge feature/isotopes
    • non-régression du schéma de transport est maintenant testée => correction de bug
    • reste à vérifier compatibilité avec configs modipsl
  • TODO : avoir un run non-structuré en CI
  • suite : nettoyage transport
  • gitlab-runner sur JeanZay?
    • un runner est personnel => chaque runner doit s'enregistrer et apparaît de façon distincte
    • déclarer tag 'jeanzay' (p.ex.) pour filtrer les jobs
  • gitlab-runner sur HAL
    • possibilité d'un runner persistent ?
    • "preview" d'un runner IPSL ?
    • rediscuter avec Karim Ramage ?

vendredi 10/03

  • annonce : workshop NUMPEX 3/4 avril packaging/déploiement/dvp continu
    • présentation de Patryk autour du dvp continu pour DYNAMICO ?
  • TODO : benchmark CPU (trunk)
  • nettoyage trunk: par Patryk
    • élimination des kernels là où une version manuelle GPU existe => tester la non-régression de performance sur CPU ?
    • reste à nettoyer le code de transport => conflit avec branche feature/isotopes
      • tester feature/isotopes avec DYNAMICO_LMDZ ? version de tracer_parser ?
    • suite :
      • passer tous les schémas temporels dans le chemin caldyn_hevi ?
      • non-régression de performance ?
  • statut de l'interface DYNAMICO-LMDZ
    • tests faits par Ehouarn en vue d'intégration de ICOSA_LMDZ dans LMDZ ; ont rencontré petits pépins
    • ICOSA_LMDZ ou ICOSA_LMDZ_LAM ?
    • comment font les configs IPSL ? patches ?

vendredi 24/02

JB excusé

  • statut du couplage DYNAMICO-LMDZ avec traceurs ?
  • portage sur Ad Astra : la hotline a proposé à Ehouarn de lui fournir une version portée sur Ad Astra (GPU AMD). Fait par Yann ? OpenMP4 ?
  • nettoyage code trunk pour éliminer #include "kernel.k90" ; Patryk a mis en place un outil de couverture de code pour s'assurer qu'il ne modifie que des parties de code testées.
    • via ifort :
      • juste une option de compilation
      • la trace est obtenue par échantillonnage => faible overhead mais statistique (peut ne pas détecter le passage dans certaines parties du code peu exécutées)
      • nécessite un peu de travail (script Python) à cause du double répertoire src / ppsrc
      • marche en principe avec MPI, pas testé
    • via gfortran + LCOV
      • une option de compilation + link
      • instrumente le code => déterministe mais overhead plus important ?
  • stage M2 avril-juillet pour exploiter thermo générique + résolution variable

vendredi 10/02

  • idee : activer NH sur configs LAM ?
  • suite discussions Patryk
    • profil IR en cours d'itération : équipe INTRO + COPIL LMDZ + COPIL DYNAMICO
  • XIOS sur jean-zay nvidia : Patryk => Yann

vendredi 27/01

  • discussions en cours à l'X pour proposer un poste IR à Patryk
    • financé sur AWACA jusque fin du projet (2027)
    • engagement de l'X à prendre la suite
    • TODO : élargir profil IE très "contrôle qualité" au thème HPC/LMDZ++
    • TODO : discuter arrangements possibles avec Yann, Laurent, Olivier Boucher
    • Patryk réfléchit
    • à boucler si possible avant départ du dir Rech (fin mars)
  • gaz binaire
    • souci avec run devel + Held & Suarez à l'écriture du restart => XML ?
    • held & Suarez codé à l'ancienne => proposition d'évolution :
      • initialiser "nouvelle thermo" côté trunk même si inutilisé
      • utiliser "nouvelle thermo" dans H&S pour calculer theta_eq à partir de T_eq (et pression)
      • tester avec caldyn_thermo = entropy
      • vérifier lecture du restart et redémarrage
  • isotopes
    • intérêt des planéto pour les isotopes (HDO sur Mars)
    • mettre Ehouarn dans la boucle si action côté AWACA/Sébastien Nguyen

vendredi 13/01

  • convergence devel/trunk
    • à l'occasion du travail sur la thermo, certains kernels ont été réintégrés (suppression des include)
    • à prolonger sur reste de la dynamique + trunk + unstructured
    • on doit pouvoir aussi unifier l'intégration temporelle (actuellement : caldyn_gcm et caldyn_hevi) pour implémenter tous les schémas via caldyn_hevi
      • comparer la performance (kernels moins fusionnés)
  • sponge moyenne zonale
    • branche intégrée au master, dispo dans trunk
  • perl/FCM
    • FCM2 nécessite un perl récent
    • pour modipsl on reste sur FCM1 et un perl commun aux composantes
    • action : mise à jour de FCM en restant sur 1.x pour les composantes (LMDZ, ORCHIDEE, INCA, XIOS) => permettra d'utiliser un perl plus récent sans rien changer aux scripts/fichiers de configuration pour la compilation
    • ceci fait DYNAMICO pourra utiliser FCM2 y compris dans configs modipsl => permettra d'utiliser les SUBMODULE dans DYNAMICO
    • pas d'horizon temporel défini

2022

vendredi 16/12

  • séance thématique
    • thermodynamique / tableau 4D theta
    • sponge moyenne zonale

mercredi 30/11 COPIL présentiel LSCE 14h-16h

  • prévoir discussion stratégie test/CI
    • une fois que :
      • CI avec simul de réf officialisé (déjà le cas ?)
      • CI dans images TGCC mis en place ??
      • un job jeanzay-gpu mis en place ?
    • objectifs
      • code coverage
  • TODO
    • demander images docker TGCC
    • définir une grille de cas-tests : 200 traceurs + isotopes
  • introduire comparaison à simu de référence
    • comparaison sur grille interpolés => oui, plutôt comparer restarts sur grille native
    • runner sur Jean-Zay
  • debrief IPSL CMC
    • importance future isotopes + tags
    • lumière sur la problématique GPU/nouvelles archi
  • isotopes : Sébastien Nguyen
    • différence entre lonlat+iso et lonlat + iso + OpenMP (synchro manquante ?)
    • branche DYNAMICO-iso
      • utilisation du graphe parents -> enfants pour le transport
      • validations de base (champs constants) réalisées
      • validations supplémentaires ?
      • interfaçage LMDZ
      • tester avec LMDZ planéto : HDO sur Mars ?
  • DYNAMICO-CI : Patryk
  • point PEPR TRACCS / NUMPEX
    • NUMPEX
      • PDI/XIOS
      • exascale = C++ , Fortran considéré comme n'étant pas le futur
      • PCs / WPs :
        • modèle de programmation C++ , DSL, e-DSL (Kokkos, sycl)
        • data
          • I/O adaptée en fonction de la charge du filesystem ; I/O scheduling
          • analyse in-situ :
            • partage des ressources analyse/calcul
            • migration de tâche de noeuds d'analyse -> noeuds de calcul
            • feedback analyse => simulation (p.ex. rejouer précurseur d'évt rare détecté en analyse)
          • apprentissage / SciKitlearn?
        • workflow multisites -> ESPRI ?
        • applications
          • CI / déploiement
            • conteneurs représentatifs des centres de calculs => compilation de binaires
            • packaging via spack
            • GYSELA
            • SKA : EDGE -> Cloud -> HPC
            • CROCO ? assimilation d'ensemble via orchestrateur MELISSA
            • surrogate models => tuning => TRACCS
        • procédure pour interagir dans le futur : appel à manifestation d'intérêt (mail Jérôme Bobin IRFU) deadline 21/12

  • traceurs
    • groupe XIOS de traceurs (~ field_def.xml ) crées par le code à partir des infos traceur.def
    • CHIMERE : liste de traceurs générée à partir des besoins des schémas chimiques, warning si traceur absent du field_def.xml
    • constaté en juillet (INCA) avec bcp de traceurs + nudging
    • bloquant pour INCA global aussi (100 traceurs)
    • traceurs écrits à la fois 3D et 4D => overhead côté XIOS ?
    • actions
      • cas-tests 200 traceurs avec XIOS + serveurs + LR
      • abandonner tableau 4D dans les écritures
      • conserver en lecture ? jusqu'à quand ?
    • améliorations dans XIOS3 ?
  • DYNAMICO-LMDZ
    • correction de bug de Laurent Fairhead dans LMDZ
    • nécessitait un patch côté DYNAMICO
    • merge branche modipsl pour éliminer patch Arnaud : d'ici Noel
    • pour coupler DYNAMICO-LAM avec LMDZ récent
  • migration Slack -> Mattermost effectuée

28/10

14/10 pilotage

  • points d'actualité
    • migration Slack => Mattermost : Laurent propose d'héberger un Mattermost DYNAMICO + outil de migration
    • gitlab-CI à l'IDRIS : envisage plutôt de créer un cluster spécifique hors ZRR
    • isotopes : fait par Yann dans branche feature/iso ; réflexion en cours sur tests de validation
    • biais ICOLMDZ
      • biais chauds en partie dûs à la couche éponge
      • rappel vers moyenne zonale ? via XIOS, à tenter
      • rappel vers moyenne temporelle ?
      • forte dissipation en haut du modèle
      • peu de sensibilité à la dissipation
      • sensibilité à la résolution (nbp40 => nbp80): plus important, dans le bon sens
      • tuning global ?
  • Vénus / superrotation
    • déclin de la superrotation au moins aussi rapide à haute résolution
    • superrotation OK en idéalisé (stage Gaelle Leloup)
    • utiliser le nudging global pour séparer pb dynamique vs physique ?
    • activer diags Eliassen-Palm (clé run.def + post-traitement) ?
  • thermodynamique / fluide binaire
    • besoin pour Vénus (cp variable), Uranus (composition variable) => air humide
    • Gwenael Milcarek
      • dernière année de thèse (Uranus)
      • gradient de composition (H2+He, CH4) Eq-Pole : 3g/mol (Eq) => 2g/mol (Pole)
      • nbp=80, 10 années Uranus = 1mois en machine
      • besoin en janvier vu délais + durée simus
    • aspects théoriques ont un peu progressé en mai/juin (stage M2 inachevé)
    • travail nécessaire :
      • coordonnée hybride basée sur masse totale + traceur q = g/g de CH4
      • pas besoin de transport vertical post-physique car ps inchangé
      • hydrostatique = comme maintenant
      • calcul du géopotentiel : v(p,theta,q) => 1 routine (~exner) routine compuite_geopot à nettoyer
      • calcul du gradient de pression : vdp = dh - pi dtheta - mudq = d(h-theta.pi-mu,q) + theta dpi + q dmu (theta,p,q) => h, pi , mu
      • initialisation (T, p, q) => variable conservative theta / enthalpie potentielle
      • diagnostics (theta, p, q) => T
      • cas-test DCMIP indépendant de la thermo (théorie faite)
    • choix à faire
      • vrai cp=cst (pour une espèce), ne dépend pas de la composition => kappa dépend de la composition
      • variable d'échange dyn/phy = T
      • physique modifie la composition
        • à masse constante => u constant
        • theta=cst, T=cst, h=cst ??
    • thermo dans la physique ? ajustement sec = stabilité=dtheta/dPhi ?

30/09 séance de travail

23/09 pilotage

  • Yann & T commencent à faire ce qu'il faut sur le schéma de transport pour les isotopes
  • F. Chevallier (+ S. Takache, Anne Cozic) est en train de coder un tangent + adjoint transport DYNAMICO

16/09 séance de travail

09/09 pilotage

  • Séance présentielle (novembre ?) => mail ?
  • Points divers
    • Farshid Nazari poste ATER SU (1an)
      • pourrait vérifier is DYNAMICO-NH est stable en LAM (pas de pentagones)
      • dans un deuxième temps, pourrait participer à la généralisation de la thermo
      • + a discuté avec Laurent et Ehouarn pour LMDZ-GPU
      • charge d'enseignement élevée, ne pas trop espérer
    • traceur.def
      • encore en mvt, mise à jour à prévoir
    • couplé IPSL-CM7 (DYNAMICO)
      • réunions 'Pirates' 1 jeudi matin sur 2 visant à définir IPSL-CM et à évaluer son climat
      • si besoin, utilisation du créneau du vendredi après-midi pour séances de travail
    • présentation stage Philipe Conesa (S.F. & Cécila Agosta)
      • enregistrement de la présentation dispo sur demande
      • validation en Held & Suarez ; échantillonnage à 6h semble suffisant (3h ?)
      • différentes configs + LMDZ (Caraibes, Antarctique) à 200, 100, 50km
    • Sébastien se remet à DYNAMICO-Venus
  • Résumé de la convergence
    • finalement racine=trunk et devel2master=sous-répertoire
    • option make_icosa -devel
    • à régler question du patch pour config modipsl (branche hotfix/modipsl)

02/09 séance de travail

  • point sur la convergence

08/07 séance de travail

  • point sur la convergence

24/06 COPIL présentiel

14h-16h

  • format des réunions
    • acté le passage à une alternance entre réunions de travail et de pilotage (1/mois)
  • convergence
    • c'est le moment ou jamais de créer une branche master unique
    • dans un premier temps chaque branche est entièrement contenue, à l'identique, dans un sous-répertoire
    • il faut ensuite remettre en place le CI et tester les configs modipsl
    • puis mise en commun progressive dans sous-répertoire master/
    • la convergence nécessitera de mettre de côté l'aspect DySL
    • le dvp sur les branches est pour le moment limité à l'indispensable (bugfix)
    • début du travail semaine du 27/06 : TD + RP + Patryk Kiepas
    • les branches devel2master et trunk2master sont gelées

13/04

  • branche LAM fusionnée avec trunk2master => convergence devel-trunk
  • Sébastien Fromang : stages cyclones
    • M1 : avec physique académique
    • M2 : avec physique LMDZ6
  • à quoi devrait ressembler devel2master => master
    • simplifier environnement de dev => éviter DySL ? => benchmarking
    • doc developpeur (fdoc ?)
    • ne garder que l'essentiel (utilisé en prod)
    • en cours : séparation thermo + cas tests

15/04

  • future séance sur analyse in-situ parallèle via un bridge vers Python / DASK / Pandas / xarray ... https://dask.org/
  • architectures exascale
    • rapprochement CPU-GPU (AMD) risque de ne pas résoudre les problèmes de latence mémoire (toujours deux mémoires distinctes)
    • futur de OpenACC ?
  • gitlab-CI
    • on peut à nouveau exécuter gitlab-runner sur jean-zay
    • Patryk devrait mettre en place des tests de validation vis-à-vis de fichiers de sortie de référence
  • utilisabilité DYNAMICO et DYNAMICO-LMDZ hors IPSL
    • créer un repo accessible à Sarvesh (Gitlab.com ? / GitHub? ?) pour scripts et fichiers arch ?

01/04

  • Ehouarn satisfait du "BOCAL DYNAMICO" du 25/03
  • revue des 'issues' sur https://gitlab.in2p3.fr/ipsl/projets/dynamico/dynamico/-/issues
  • commissions récentes
    • arch pour MesoPSL
    • -fp-model strict en PROD sur occigen
      • pour contourner plantage à l'exécution avec les versions de ifort dispo sur occigen (19.0.4)
      • plantage n'apparaît que si couplé à physique ...
    • nettoyage *.def pour Held & Suarez
      • utilisation de daysec + ndays au lieu de run_length
      • ambiguité ?
        • possibilité 1
          • run_length => run_length_seconds
          • ndays => run_length_days
          • daysec => seconds_per_day
          • pas de temps : dt ou day_step
        • possibilité 2
          • time_unit (default=1)
          • run_length implicitement en time_unit
          • pas de temps : dt (seconds) ou timesteps_per_time_unit
          • dt => dynamics_time_step_in_seconds
          • aliases + warnings pour rétrocompatbilité

daysec => time_unit ndays => run_length day_step => steps_per_time_unit

  • scale_factor: indépendant ?

18/03

  • diagnostic tendances dissipation
    • TODO : déjà fait pour dulon, dulat, ajout dtheta_rhodz + test si demandé par XIOS
    • suggestion de "BOCAL DYNAMICO" les vendredis sans COPIL sur le même lien zoom
  • souci IOIPSL + LMDZ + GPU => reproduire runs Hackathon
  • plus de gitlab-runner sur Jean-Zay ; problèmes CI sur ESPRI => repassé sur runners IN2P3 (plus de Docker-in-Docker)
  • merge LAM => trunk2master : Patryk est dans le coup avec Yann, il faudra faire des tests GPU

11/02

  • invités : Patryk Kiepas
  • points d'actualité
    • génération de maillages à résolution variable
      • revue de différents outils "sur étagère" (Triangle ...)
      • JIGSAW par Darren Engwirda (LANL)
      • paramètres d'optimisation nombreux et mystérieux
      • reproductibilité ?
    • mise à jour du parser pour les traceurs ?
    • PEPR NumPEX
      • sollicités le 31/01 pour soumettre un démonstrateur le 03/02
      • pas réagi (grosse fatigue suite à TRACCS)
      • mais à voir dans le futur si d'autres opportunités se présentent (appel d'offres ?)
    • LAM
      • encore un peu de travail (OpenMP, interpolations verticales)
      • dernières vérifications en cours avant merge nudging => trunk2master
      • puis définition d'une config modipsl en ligne de mire
    • couplé (voir avec Arnaud C)
      • routage sur grille native intégré dans ORCHIDEE
      • tourné 10 ans (picontrol)
      • couplé avec DYNAMICO plus chaud

7/01

  • points d'actualité
  • LAM commence à marcher : un mois avec physique
    • reste à corriger pb empêchent restart avec d'autres nsplit_i, nsplit_j
    • driver modifié : à committer sur svn HEAT après vérification de compatibilité avec configs modipsl
    • étape suivante : config modIPSL, + pourquoi pas non-hydro
  • DYNAMICO-LMDZ semble ne plus fonctionner avec un LMDZ récent ?
    • 4 traceurs semblent nécessaires
    • modifs récentes (traceurs/David) ne devraient pas changer l'interface
    • config modIPSL 6.2work utilise un LMDZ récent
  • soucis avec les jobs gitlab-CI viennent du cluster
    • Patryk vient de contacter assistance ESPRI
  • Yann : va reprendre couplé avec NEMO pour intégrer le routage sur grille native des données hydrographiques (50km)
  • HighResMIP 25km
    • arrivé à 2010, fin en 2016
    • environ un plantage/an, reproductible
    • comment avancer vers la résolution des plantages ? => soulever le pb en POIHL physique ?
  • Patryk Kiepas a travaillé sur la génération de maillage (MPAS-tools, ...)
  • Slack :
    • inviter Arnaud => Romain
    • réparer message automatique => Romain

  • bilan de la première année de COPIL ?
    • nouveaux membres ?
      • Anne + Arnaud en alternance => slack DYNAMICO
  • futurs invités
    • Patryk Kiepas

2021

17/12

  • points d'actualité
    • Ehouarn : la planéto se remet à MPI+OpenMP => encore qqes pb dans la physique (écriture start dynamique)
    • Ehouarn : besoin d'un point technique sur les structures de données + séq d'init pour faire un programme indépendant de type "ce0l"
      • Y : intérêt d'un programme externe pour état initial ?
      • E : pour manipulations avancées sur grille native => donner existence à la séquence d'initialisation (avant etat0) y compris lien avec la physique ? => documenter structures de données
    • Y : aire limitée avec physique LMDZ en cours (branche rebase/trunk/nudging)
    • bug FCM
      • cf contournement du pb sur la branche trunk dans gitlab-ci.yml variables:

GIT_CLONE_PATH: $CI_BUILDS_DIR/$CI_PROJECT_PATH-$CI_CONCURRENT_PROJECT_ID

  • mettre à jour FCM
  • obstacles à la convergence
    • nudging : questions de jours
  • pb de performance : branche ? quelle vocation ?
    • IR ESIWACE2 pour DYNAMICO+LMDZ 10km
    • perte de scalabilité faible, pas comprise (10 000 coeurs)
    • optimum OpenMP est à 4 threads, plutôt 8 ou 12 attendus => flush (!$OMP BARRIER) évitables ?
  • dvp inaboutis => devenir ?
    • coordonnée verticale lagrangienne
      • cas-test shallow-water (marche encore ?) Williamson91
      • fut important pour dvp NH
      • important pour humide/multicomposant (Gwenael Milcarek)
      • => nécessite remapping
    • NH
      • fonctionne sur cas test sauf "DCMIP" onde orographique
      • important pour DYNAMICO-MesoNH s'il voit le jour
      • => tester en LAM
    • humidité => à externaliser / virer
      • utilisé par cas-test DCMIP
    • non-traditionnel => instable, à reprendre avec analyse de stabilité ...

  • 2 moteurs différents ??
    • semi-structuré + GPU + NH
    • non-structuré + DYSL + NH
    • plugins : DCMIP+H&S, thermo, diags, coord verticale, nudging
    • infrastructure : benchmarking, échange halo ?...

26/11

  • points d'actualité :
    • Romain : plantage apparent sur Irene + Intel20 + MPI4 en pure MPI (OK en MPI+OpenMP)
  • CHIMERE
    • questions posées en CD CHIMERE sur calendrier de DYNAMICO non-structuré vue de coopération future
    • projet ESCALAIR (ADEME) : 18 mois de futur post-doc (T+12) pour finalisation et première exploitation sci de DYNAMICO-CHIMERE

15/10

  • points d'actualité
    • discussion autour de la thermodynamique en lien avec thèse de Gwenael milcareck sur Uranus/Neptune?
    • Julien Bigot : accord-cadre CEA/RIKEN, projet intéressant avec compression basée sur prédiction par un réseau de neurones. Preuve de concept en cours, recherchent coopérations avec domaines applicatifs => Yann/Arnaud?
    • soumission d'un DRIM HPC à l'IdF
    • côté LMDZ : initiation d'un effort de réflexion/action sur architecture de la physique LMDZ 11/10 : thème abordés interface dyn/phy, règles de codage (passage de paramètres, PROTECTED) distinction entre modules "orientées données" et modules "orientés actions"
    • idée pour convergence : passer de deux branches à une seule branche avec 2 répertoires + 1 commun pour faciliter les tests et la non-divergence des parties convergées => renforcer les tests avec physique LMDZ voire couplé (GPU ?)
    • gitlab-runner GPU : Romain peut maintenant se connecter sur HAL, il faut demander qu'ils récupèrent la clé publique sur camelot

01/10

COPIL présentiel à Jussieu, salle IPSL (2è étage) salle LMD (3ème étage, 45-55), 14h-17h

Convergence devel-trunk

  • comment mieux indiquer les parties susceptibles d'être modifiées par les utlisateurs et les modèles dont ils devraient s'inspirer
    • plugins ?
  • preprocesseur jinja2/jsrc rend difficile la lecture par "utilisateurs" => ne pas utiliser pour les parties qu'ils sont amenée à lire/écrire éventuellement sur parties techniques ?
  • génération de kernels (DySL)
    • peut-on inclure les déclarations de paramètres => génération de routine complète pour simplifier
    • peut-on inclure directives OpenACC + perf ?
    • n'ont pas vocation à être lus/modifiés par "utilisateurs" => ensemble suffisant d'opérateurs à fournir et décrire
  • gestion de deux maillages et layouts via pointeurs de fonction plutôt que SELECT/IF => plutôt status quo
  • structures de données : déjà pas mal convergé

17/09

  • OK pour COPIL présentiel le 01/10 après-midi
  • points divers
    • plantage dans Held & Suarez, lié aux sorties XIOS, sur Irene/ROME
    • reconstruction ulon ulat faites dans non-structuré
    • entre 01/10 et 16/10 discussion INTRO autour de DYNAMICO, CHIMERE, RegIPSL
    • Ehouarn recommande formation CNRS Julia. Très bon tour d'horizon, reste à pratiquer plus.

03/09/21

  • actualités
    • XIOS : validation/finalisation en vue pour branche "coupling" XIOS devient un gestionnaire de flux et de services. IOserver devient un service parmi d'autres. réécriture majeure devant faciliter futur multithread + GPU
    • non-structuré https://gitlab.in2p3.fr/ipsl/projets/dynamico/mesh_generation génération de maillage

triangulation SCVT (avec fonction de poids (Python) => calcul des longueurs, poids TRiSK ... => distribution du maillage (Python) => DYNAMICO

existe : dynamique manque : transport, dissipation, diagnostics (notamment reconstruction vent => physique) idées : transport à résolution variable (Sylvain)

zoom Antarctique (dissipation+physique)

  • recrutement AWACA Patryk Kiepas

commence le 02/10 profil informatique pourrait contribuer à mettre au propre tutoriel DYNAMICO + une config zoom non-structuré

09/07/21

  • tutoriel ?

25/06/21

pas possible pour T. => ??

11/06/21

Points divers

  • convergence devel/trunk
    • trunk2master : CPU + GPU
    • devel2master :

structuré + non-structuré (fonction en MPI, sauf schéma de transport) GPU dans les structures de données et échanges de halos (non testé) => reporter vers trunk2master

28/05/21

  • HighResMIP 25km spin up de 2 ans a tourné => données en revue par SF, Frédérique Chéruy, Francis Codron => à annoncer en réunion climat (Thomas)
  • Hackathon GPU https://docs.google.com/document/d/1dSlVbJD1aMrB5wT-_TnYoMLUdaqSAfji1O8q_wzuDNE
    • comment comparer CPU et GPU ?
      • la comparaison noeud à noeud est favorable au GPU. Interroger IDRIS (Rémy) ? p.ex. accès préparatoire GENCI = 1000h GPU ou 50000h CPU
      • coût carbone ? facilité à obtenir les heures de calcul ?
      • ajout SYPD de DYNAMICO seul
    • méthode de portage boucle => routine => routine appelantes
    • gitlab

29/04/21

  • HighResMIP 50km
    • plantages récurrents sans cause identifiée (environ 1 par décennie)
    • restart non identiques
    • => restart après plantage permettait de continuer la simu
    • sponge layer rappelle vers 0 et non pas vers la moyenne zonale
  • HighResMIP 25km
    • Arnaud va lancer
    • maintenant le restart continue la même simu
    • plantages tous les 1 ou deux ans
    • restart avec bruit : option dans le .def -
    • ModIPSL : chainage de runs de moins d'un an (3 mois) (pénalité dû à l'initialisation) => 8Mh estimées
    • sorties : pb avec workflow CMIP6 résolus par Arnaud début 2021
    • initialisation depuis ERA : qques jours à forte dissip au début du spin-up de 2 ans prévu dans le protocole HighResMIP
    • TODO (LF,AC) : merge avec LMDZ corrigé pour T2m et sortie ap,bp
    • simus prévues : NBP320, NBP80 et NBP40 (pour comparer avec le LR déjà fait)
    • allocation A10 - gencmip6
  • exploitation 50km
    • Frédérique Cheruy sur Maroc, NAO => coefs de dissipation ?
    • Jean-Baptiste Madeleine, Antarctique
      • gros biais chaud au Pole S dans DYNAMICO => coefficients de dissipation ? => nouvelles simu 50km AMIP
      • différence de vents de surface : orographie, orographie sous-maille ? => sera vu avec François Lott, David Cugnet

refaire tourner LMDZ avec nouveaux paramètres sous-maille

  • détection et tracking des cyclones tropicaux (Stella, LSCE)
    • ERA5, DYNAMICO LR, HR, bientôt 25km
    • algos de tracking
  • problèmes laissés pour le futur
    • origine physique des plantages
    • oscillations dans la haute tropo à cause du ratio dt phyd/dyn
    • disparaissent en aquaplanètes en modifiant intégration temporelle dyn/phy mais plantent avec orographie
  • ESIWACE2
    • CDD arrivé au LSCE jusque fin 2022
    • but : 12km
    • pb de scaling à 25km doivent être résolus d'abord

02/04/21

  • Hackathon GPU : informer Romain
  • Ehouarn : définir le pas de temps comme fraction de jour
    • pb potentiel avec XIOS
    • actuellement utilise dt non-entier,
    • voir avec Yann si l'idée de 'base unit' de XIOS peut être mise en place
    • faut-il vraiment faire qqch ? peut-on spécifier l'unité de l'axe des temps ? son 'long name' *

05/03/21

  • Yann : couplé + ESIWACE2
    • config IPSL dispo (LR) sans routage
    • augmentation progressive pour arriver à 25km + NEMO12
    • cible : 12 km
  • Analyse simus DYNAMICO
    • Frédérique Cheruy + étudiante : Maroc pattern NAO similaire LMDZ/DYNAMICO mais pas régimes de précipitations
    • stage JB Madeleine + Étienne Vignon circulation australe
  • Yann : 25km
    • config existe, à faire tourner
  • Ehouarn : options de dissipation
    • flag : vert_prof_dissip 1 = CMIP5 (défaut) else (LMDZ3)
    • proposition de plugin + passer à strings plutôt que code
    • où sont les *.def des configs IPSL ?
    • idéal = nouveau flag textuel avec option 'plugin' + plugin dans ICOSA_LMDZ qui émule LMDZ vertical_dissip_profile
    • dans l'immédiat : [legacy] plugin
    • futur [dcmip] held_suarez plugin

05/02/21

  • Yann : I/O + traceurs + cas-tests/XML
  • Git https://gitlab.in2p3.fr/ipsl/projets/dynamico/dynamico
    • accès au GitLab? in2p3 aux centres de calcul :
      • IDRIS OK
      • CINES => Ehouarn
      • TGCC : KO, saisir assistance/CU (Arnaud Caubel) pour accès gitlab in2p3 => Yann
      • GUI : smartgit (tarball) marche sur jean-zay ; gitk , gitkraken ?
    • que faire du svn ?
      • supprimer les droits à commit
    • trunk2master doit remplacer svn/trunk
      • vérifier configs modipsl
      • vérifier configs planéto
      • vérifier GPU (Th)
    • procédure de branch/merge : cf README.md
    • futur : master ou master+devel ?
  • Intégration continue
    • IDRIS : penche vers GitLabCI ()

22/01/20211

  • place de DYNAMICO
    • DYNAMICO-LAM-LMDz
    • DYNAMICO-iso (transport)
    • DYNAMICO-LMDz-iso
    • DYNAMICO-LAM-MAR-iso
    • (couplé IPSL-iso paléo)
    • zoom : Schmidt testable dès maintenant (dissipation à revoir), non-structuré bientôt.
  • allocation DARI (reunion jeudi 21/01 E Vignon)
    • Sébastien 25km HighResMIP => à contacter
  • recrutements
    • ingénieur automne 2021 => été 2027
    • PD3 : DYNAMICO-MAR
  • LMDZ-iso : https://www.lmd.jussieu.fr/~crlmd/tmp/note_isos_lmdz/ à suivre et encourager
  • stages
    • L3 physique 20 jours démarrés 18/01 : comparaisons IPSL-CM7A (LR+HR) avec données stations
    • M2 : démarrage fin mars - diagnostics dynamiques
    • différences LMDZ-DYNAMICO :
      • calcul des paramètres de la paramétrisation des ondes de gravité

08/01/2021

  • INCA (Anne Cozic)
    • voit David le 12/01 (avec Yann)
    • these demarree avec Frederic Chevallier pour transport inverse DYNAMICO+INCA
    • besoin : associer un nom aux traceurs pour pouvoir faire lire fichier init/restart avec differents nombres de traceurs
    • ICOSA_LMDZ : svn a vocation a etre gere cote LMDZ, c'est Laurent qui voit
    • cote DYNAMICO : idee d'associer un schema de transport a chaque traceur (nop / van Leer)
    • schema transport + condensation (14) ?
    • David recontacte pour discussion traceur.def / isotopes
    • nudging : éléments existent, à vérifier et à mettre à jour suite aux évolutions de XIOS, bientôt capable d'interpolations verticales en entrée
  • point sur cas-test H&S
    • a priori OK sur Jean Zay
    • problemes sur Occigen resolus apres upgrade NetCDF (hdf5-1.10.5-intel19-0.4 netcdf-fortran-4.4.4 netcdf-c-4.6.3 )
    • problemes apparemment sur camelot (hdf5/1.8.18-parallel netcdf4/4.4.1.1-parallel-ifort netCDF-Fortran 4.4.4) : se manifestent si usage de @this_ref dans XML ; hypothese : pb plutot de NetCDF => confirmer
    • Yann nettoie les XML d'Ehouarn (cf Slack / testcases / 3/11 )

11/12/2020

27/11/2020

git DYNAMICO

  • expériences : Ehouarn/Aymeric?, CHIMERE
  • groupe GitLAB IPSL ? visibilité ?
  • configs IPSL
  • document de 'policy'
  • prévenir : Arnaud, Joséphine
  • pourquoi git ?
    • T : gestion des branches
    • dvp continu (GitLab?)
    • nécessite lignes de conduite
  • ++ svn :
  • planéto :
    • ref = svn-trunk
    • branches git ne sont pas mergées mais produisent un commit svn
    • procédure informelle mise en place par la culture de groupe
    • 20-30 personnes

13/11/2020

actions :

  • faire la pub de la liste de support collaboratif (tous) => Arnaud, Joséfine, POIHL, README ...
  • Romain recontacte IDRIS sur dvp continu (Julien en support)
  • Thomas nettoie le GitLab? DYNAMICO
  • Thomas & Ehouarn valident H&S sur ciclad

Mailing-liste de support collaboratif

Lien sur la page d'accueil DYNAMICO Laurent inscrit d'office le COPIL

Options codées en dur vs plugin

  • "profils" prédéfinis ( disvert=std )
  • "profils" à lire ( disvert = ?? , abbp_file = ...)
  • plugin : routine dans l'interface dyn-phys appelée par la dyn, avec INTERFACE
  • flags dont le sens est différent DYNAMICO vs LMDZ ??

Actions pour résoudre problème du profil de dissipation

  • profil issu d'un fichier texte
  • clés en texte plutôt que chiffres => impact sur configs IPSL ?
  • si un flag textuel "remplace" un flag numérique : erreur si l'ancien flag est défini (== valeur par défaut aberrante)

Dvp continu / retour de CU IDRIS

Question posée en CU IDRIS par Ehouarn/Romain?

  • système interne IDRIS abandonné faute de ressources
  • OK pour envisager solution hébergée hors IDRIS (Pierre-François Lavallée)
  • plutôt ouverts => discuter/contacter

Gitlab :

  • cf Slack/road2merge
  • plutôt un seul dépôt git

Discussion

  • OK avec responsable sécurité (Guillaume Harry) ? présent
  • saisir occasion => Romain, Julien en support
  • commencer par test de compilation IPSL puis voir comment transposer à l'IDRIS

Cas-test

Divers problèmes XIOS suite à nettoyage des XML (Ehouarn/Yann?)

16/10/2020

Point sur action "tutoriel"

  • disparition de modules sur Occigen => résolu par Ehouarn
  • sorties inutiles/non-pertinentes : SST, ...
  • Held & Suarez tourne avec nqtot=0 (sans traceurs) mais sort des diagnostics de traceurs (Q1_int_)

Problèmes

  • problème sur ciclad (H&S)

Comment gérer des sorties différentes pour chaque cas-test ?

  • cf xml dans devel vs trunk : idée de scinder file_def en file_def_native et file_def_regular
  • nettoyer XML pour définir long_name, unit, ... dans field_def plutôt que filedef

Comportement de XIOS en cas de champ inconnu :

  • actuellement : erreur
  • possiblité de demander à XIOS d'ignorer ? pas actuellement

Comportement de XIOS en cas de champ non renseigné :

  • place réservée dans NetCDF
  • valeurs = non-défini ? missing value ?

But :

  • fonctionne sur Occigen (=>Ehouarn), JeanZay? (GPU =>), Irene, ciclad

Questions :

  • jobs prêts à l'emploi ??

Actions

Tests réguliers / automatiques

LMDZ

commit : déclenche mini-bench crontab chaque nuit qui vérifie reproductibilité, 1+1=2 envoie mail au POIHL écrit une ligne dans "LISEZMOI" tourne sur un PC spécifique

projet :

  • verification DYNAMICO-LMDZ
  • + Held & Suarez ?

outils (Julien)

  • technologie Docker pour reproduire des environnements machine
  • fichier gitlab-ci.yml dans dépôt gitlab
  • Gtest (C++)
  • Ctest (CMake)

tests déclenchés

  • à chaque commit sur master et à chaque push-request
  • commencer par des tests de compilation sur machines (~10)
  • petits tests peu parallèles <10min => bit-reproductibility sur machine donnée
  • tests unitaires : facile à tourner mais demande du dvp (800 tests sur bibliothèque PDI)

tests programmés

  • tests plus grande échelle : 2/3h sur 1000 coeurs, 1x/semaine (crontab) sur calculateur

DYNAMICO

  • DYNAMICO-LMDZ : Laurent
  • DYNAMICO-GPU : Thomas (cron ?)
  • Gitlab : Sylvain + Romain (avec Marc-Antoine Drouin)
Last modified 2 weeks ago Last modified on 04/17/24 10:21:23