Le Laboratoire de Météorologie Dynamique (LMD) Sorbonne Université, Unité Mixte de Recherche (UMR8539), recrute un.e alternant.e (niveau M2, d'une formation axée calcul scientifique ou génie logiciel) pour mener les missions et activités suivantes :
Contexte général
L’équipe « Planéto » du Laboratoire de Météorologie Dynamique (LMD) est spécialisé dans l’étude (par modélisation numérique et analyse d’observations satellitaires) des atmosphères des planètes du Système Solaire (Vénus, Mars, planètes géantes, etc.) et au delà (les Exoplanètes). Elle est impliquée dans de nombreuses missions spatiales et regroupe une bonne vingtaine de personnes, dont sept permanents, sur le site de Jussieu (Campus Pierre et Marie Curie, Paris 5ème) du LMD.Au cours des années l’équipe a développé, et continue de développer, de codes de simulation numériques des climats planétaires, les « Planetary Climate Models » (PCM) avec des versions déclinées plus spécifiquement pour certaines planètes. Ces gros codes de calculs (~500 000 lignes de Fortran, conçus pour s’exécuter en parallèle sur des centaines de coeurs de calcul sur supercalculateurs) sont devenu des références internationales en la matière. Les sorties de simulations de référence (historiquement d’abord pour Mars, mais aussi à présent pour Vénus) sont compilées dans un service à disposition de la communauté internationale, la « Planetary Climate Database » (PCD), labellisé Service National d’Observation (SNO) par l’INSU depuis 2019. Cette activité est régulièrement financé par des contrats avec l’ESA et le CNES dans le cadre de l’analyse de données in-situ (satellitaires) et la préparation de futures missions spatiales. La PCD consiste en deux sous-services, les « Mars Climate Database » (version 6.1) et « Venus Climate Database » (version 2.3) ; une « Exoplanet Climate Database » ainsi qu’une « Titan Climate Database » sont en projet. Chacune des « Climate Database » est mise à disposition sous deux formes : une « légère » sous la forme d’une interface web (c.f. http://www-mars.lmd.jussieu.fr/mcd_python ou encore http://www-venus.lmd.jussieu.fr/vcd_python ) pour visualiser les produits et une plus « complète » sous la forme de base de donnée et logiciel d’accès à télécharger et interfacer avec des programmes maison pour un accès complet à toutes les variables. Au dernier recensement, plus de 450 équipes de par le monde utilisent les services de la PCD.
Activités principales
Une majeure partie des travaux qui seront confiés concernent les outils et services de la « Planetary Climate Database », aussi bien sa maintenance que son développement, avec en particulier des taches déjà bien identifiées comme :
- Améliorer les interfaces web existantes (pages HTML, cgi Python, serveur Apache), tant bien en terme de mise à jour du système que de l’ergonomie qu’en ajoutant des fonctionnalités (génération de cartes semi-interactives, et/ou films et/ou fichiers de blocs de données présélectionnés) demandées par les agences afin d’améliorer l’assistance à la préparation de futures missions spatiales.
- Améliorer les logiciels des versions « complètes » :d’une part en mettant au point et en réalisant des séries de tests permettant la validation d’une version avant distribution, mais également en contribuant à la mise au point et tests de validation d’interfaces en différents langages (Fortran C, C++, Matlab, Scilab, Python, Julia, …) du logiciel principal.
- Participer à la conception, au développement et à la mise en place des nouvelles bases de données pour Titan et les exoplanètes.
De façon plus secondaire, l’apprenti-e sera également impliqué-e dans des travaux relatifs aux PCMs développés par l’équipe. Ceux-ci resteront à définir plus précisément au cours du temps (suivant les besoins du moment) mais seront de l’ordre de :
- Réalisation d’outils de post-traitement de simulations communs : de nombreux outils sont développés pour des cas spécifiques (e.g. comparaison aux mesures d’un instrument d’un satellite donné) par les uns et les autres ; il est souhaitable de mutualiser ces outils, ce qui demande toutefois en pratique un travail non négligeable de généralisation et documentation des dits outils.
- Accompagnement des cycles de développement des PCMs : mise en places de tests systématiques des différentes versions des codes et contribution à la documentation en ligne de ces derniers ainsi qu’au « packaging » de versions de références à distribuer à la communauté.
- Participation au déploiement des PCMs sur de nouveaux supercalculateurs (différents meso-centres et centres nationaux) : aide à l’installation des codes, à la mise au point de scripts de soumission dans un environnement parallèle (MPI/OpenMP)