Pangeo

Pangeo intègre à la fois une communauté collaborative scientifique et technique qui participe au développement ouvert, un écosystème logiciel basé sur le langage Python (avec toutes ses librairies), et un environnement de calcul interactif qui peut être déployé sur différentes infrastructures. Son but est de proposer des moyens permettant aux scientifiques en géosciences de facilement analyser et post traiter des données volumineuses (simulations numériques, satellites d’observation de la Terre) ou de faire des analyses croisées avec des données in situ.

Pangeo s'installe sur un PC personnel, en local ou peut se partager sur des Environnements de Recherche Virtuel (VRE), des supercalculateurs HPC (tels HAL installé au CNES, DATARMOR installé à l'Ifremer).

Les principales briques logicielles :

  • Jupyter est l’interface graphique, outil interactif, qui remplace la ligne de commande. Les notebooks Jupyter se présentent sous forme de cahiers électroniques pouvant à la fois rassembler du texte, des images, des formules mathématiques et du code informatique exécutable.
  • Dask est un "ordonnanceur", une bibliothèque de calcul parallèle flexible pour le calcul analytique. Dask fournit un ordonnancement dynamique des tâches parallèles et des collections de données volumineuses de haut niveau comme dask.array et dask.dataframe. L'utilisation de dask_jobqueue permet également d'obtenir une plus grande puissance de calcul en mettant à l'échelle Dask sur plusieurs noeuds du HPC.
    Un tableau Dask Arrays ressemble beaucoup à un tableau Numpy, mais ne contient pas directement de données. Il représente plutôt symboliquement les calculs nécessaires pour générer les données. Rien n'est réellement calculé tant que les valeurs numériques réelles ne sont pas nécessaires. Ce mode de fonctionnement est appelé "paresseux" ; il permet d'effectuer des calculs complexes et volumineux de manière symbolique avant de les transférer au programmateur pour exécution. Toutes les méthodes habituelles Numpy fonctionnent sur des tableaux Dask Arrays.
  • Xarray est une librairie permettant de manipuler les données selon une représentation multi-dimensionnelle.

Le format de stockage Zarr est souvent utilisé pour de gros volumes de données et ainsi optimiser leur accès de façon rapide, en parallèle. Zarr permet le stockage de tableaux de données multidimensionnels; les données Zarr sont stockées dans un système de fichiers sous la forme de répertoire (variable) et de fichiers (données).