Affiche de la formation

affiche modnumoa2021

Description du cours

L’objectif du cours est de prodiguer un socle de connaissances minimum et indispensables à l’utilisation et/ou le développement de modèles numériques de la circulation atmosphérique ou océanique.

La formation sera articulée entre des cours, illustrés par une mise en pratique immédiate sur des notebooks, et un projet de modélisation à réaliser en petits groupes.

Le cours s'adresse préférentiellement à des personnes ayant déjà des bases en modélisation numérique (définition d’un schéma de discrétisation, notion de stabilité, cohérence, convergence) ou utilisant des modèles de circulation de manière régulière. Les candidats n'étant pas sensibilisés à ces notions sont invités à contacter auparavant l’équipe enseignante pour des conseils de préparation au cours. Une petite expérience d’outil numérique (python/matlab) est également souhaitable.

La formation est donnée en français.

Intervenants:

  • Frédéric Hourdin (LMD, Paris)
  • Thomas Dubos (LMD, Paris)
  • Laurent Debreu (LJK, Grenoble)
  • Guillaume Roullet (LOPS, Brest)

Les candidatures sont ouvertes jusqu'au 31 octobre 2021

Programme de la formation

Les cours du matin commencent à 9h (sauf le premier jour) et finissent à 12h30. Les cours de l'après midi commencent à 14h et finissent à 17:30. Des pauses sont prévues à l'intérieur chaque demi-journée. La formation est composée de cours, de TP et d'ateliers d'échanges.

La formation commencera le lundi 22 novembre à 9:45 et finira le vendredi 26 novembre à 12:30.

La formation aura lieu sur le campus de Saint Martin d'Hères de l'Université Grenoble Alpes, dans la salle de séminaires du bâtiment de l'IMAG (plan d'accès).

Lundi 22 novembre

  • 9:45 – 10:15 : accueil et présentation de la formation
  • 10:15 – 11:15 : introduction générale sur la modélisation (Hourdin)
  • 11:15 – 11:30 : pause
  • 11:30 – 12:30 : géométrie sphérique, équation de transport (Dubos)
  • 12:30 – 14:00 : repas
  • 14:00 – 15:15 : équation de transport (Debreu)
  • 15:15 – 15:45 : pause
  • 15:45 – 17:30 : TP transport (Roullet)

Mardi 23 novembre

  • 9:00 – 12:30 : systèmes d’équations (Dubos et Roullet) + TP RSW vs QG. Pause- 10:30 – 11:00
  • 12:30 – 14:00 : repas
  • 14:00 – 15:30 : discrétisation, intégration temporelle (Debreu)
  • 15:30 – 16:00 : pause
  • 16:00 – 17:30 paramétrisation des mouvements sous maille, décomposition de Reynolds, couche limite (Hourdin)

Mercredi 24 novembre

  • 9:00 – 12:30 coeurs dynamiques : discrétisation spatiale, conservations (Dubos). Pause 10:30 – 11:00
  • 12:30 – 14:00 : repas
  • 14:00 – 15:30 : discrétisation verticale (Debreu)
  • 15:30 – 16:00 : pause
  • 16:00 – 17:30 problèmes elliptiques (1D, 3D) + TP (Dubos et Roullet)

19:45 dîner en ville

Jeudi 25 novembre

  • 9:00 – 12:30 : ateliers : échanges à partir des vos questions (Hourdin, Dubos, Debreu, Roullet)
  • 12:30 – 14:00 : repas
  • 14:00 – 17:30 : paramétrisations physiques: convection, nuages, rayonnement, tuning (Hourdin). Pause 15:30 – 16:00

Vendredi 26 novembre

9:00 – 12:30 : modélisation océan dans le régime eddying (Roullet) + TP turbulence. Pause 10:30 – 11:00

Renseignements pratiques

Cette formation est accessible prioritairement aux doctorant.e.s. En fonction des places disponibles, d'autres candidatures pourront être acceptées.

L'inscription à la formation est gratuite. Les frais de transport et de logement sont à la charge de l'organisme qui prendra en charge votre mission. N'oubliez pas de préparer votre ordre de mission pour venir participer à cette formation. Un ordre de mission se prépare un peu en avance (le plus tôt le mieux).

Pour les doctorant.e.s dont l'ED demande une note, un devoir maison à rendre sous 10 jours sera proposé à la fin de la formation.

Codes Python pour les TP

Installation de Fluid2d et pyRSW

Il y aura quelques TPs où nous ferons tourner deux codes Python Fluid2d et pyRSW. Pour pouvoir en profiter pleinement, nous vous conseillons de les installer sur votre portable avant de venir.

L’installation devrait se faire sans problème sous Linux, c’est toujours un peu plus délicat sur macOS et windows. Au pire, vous pourrez les faire tourner sur une machine virtuelle à partir d’un navigateur. Mais l’expérience sera moins bonne.

La bonne pratique pour travailler en Python est de créer des “environnements”. Je suppose ci-dessous que vous avez installé la suite “anaconda”; Si vous ne l’avez pas, je vous la conseille vivement.

Fluid2d

c’est un code python qui possède des routines Fortran qu’il faut compiler (avec f2py), il a besoin de MPI, de netCDF, de matplotlib et optionnellement avconv ou ffmpeg. Pour l’installer

1) cd ~/folder/where/codes/are/stored
2) git clone https://github.com/pvthinker/Fluid2d.git
3) cd Fluid2d
4) conda env create -f environment.yml
5) conda env list
6) conda activate fluid2d
7) ./install.sh

avec l’idée derrière chaque étape

  1. choisissez l’endroit où vous voulez stocker Fluid2d
  2. récupérer la dernière version depuis github. git clone est le meilleur moyen d’en avoir une copie à jour.
  3. allez dans le nouveau répertoire Fluid2d, vous pouvez faire un ls pour voir un peu ce qu’il y a dedans
  4. va créer pour vous l’environnement “fluid2d” à partir des informations dans environment.yml. C’est là qu’il va installer tous les modules nécessaires (mpi4py, netCDF4 etc). Ca prend un peu de temps. Il doit tout télécharger.
  5. pour voir la liste de tous les environnements virtuels que vous avez. Vous devez maintenant avoir “fluid2d”
  6. vous l’activez
  7. va installer des fichiers "activate.*" dans le répertoire ~/.fluid2d + compile le Fortran. La compilation a besoin de “make”. Pour windows, c’est là que la galère commence…

A ce stade, si tout va bien, vous êtes prêt à faire votre première expérience.

1) source ~/.fluid2d/activate.sh
2) cd myexp/Vortex
3) python3 vortex.py

Avec les idées derrières

  1. le code n’étant pas installé comme un vrai package python (via un conda install ou un pip install), Python ne sait pas que le code existe, donc il ne sait pas comment faire les “import”. C’est le but de cette opération. Ca positionne la variable d’environnement PYTHONPATH. Il existe aussi un “activate.csh” vous utilisez le shell csh (ou tcsh) et un “activate.fish” si vous utilisez le shell fish (trop bien!).

  2. vous allez dans un répertoire d’expérience, commencez par celle là pour être sûr que tout fonctionne. Vous pourrez vous égarez dans les autres répertoires après.

  3. c’est ainsi qu’on lance Fluid2d. “vortex.py” est le fichier d’input qui décrit complètement l’expérience. Vous pouvez l’éditer pour changer des paramètres.

pyRSW

c’est un code pure Python mais avec des routines compilées via … numba (et le compilateur LLVM). L’installation est très similaire

1) cd ~/folder/where/codes/are/stored
2) git clone https://github.com/pvthinker/pyRSW.git
3) cd pyRSW
4) conda env create -f environment.yml
5) conda env list
6) conda activate pyrsw
7) ./install.sh

Et pour faire votre première expérience

  1. source ~/.pyrsw/activate.sh
  2. cd myexp/dipole
  3. python3 dipole.py
Personnes connectées : 2 Vie privée
Chargement...