Le logiciel d’astronomie gamma Gammapy couronné du prix du logiciel libre du MESRI

Bourse et prix Entretien Science ouverte

Le Ministère de l’Enseignement supérieur, de la Recherche et de l’Innovation (MESRI) a remis pour la première fois les prix science ouverte du logiciel libre de la recherche. Dix logiciels, mis au point par des équipes françaises, ont été récompensés à cette occasion et un prix spécial du jury a été décerné au logiciel Gammapy dédié à l’analyse de données d’astronomie gamma de haute énergie pour les expériences H.E.S.S. et CTA. Quels aspects de Gammapy ont fait la différence ? Quelles sont les spécificités d’un logiciel libre ? Bruno Khélifi et Régis Terrier tous deux chercheurs à l’APC et respectivement Project manager et Lead developer pour Gammapy répondent à nos questions.

Bruno Khélifi (à droite) représentait le logiciel Gammapy à la remise des prix. A sa gauche figurent les représentants des autres logiciels primés Stéphane Letz, Théo Zimmermann, Gaël Varoquaux (de droite à gauche)© OSEC 2022

Quelles qualités ont été mises en avant par le jury pour décerner son prix spécial à Gammapy ?

Le prix du jury « récompense un projet exemplaire rassemblant les composantes techniques, l’animation de communauté et la documentation » pour un logiciel libre de recherche, ce qui est une magnifique reconnaissance pour toutes les équipes du projet. Le président du jury a souligné également que la qualité scientifique de Gammapy était reconnue par notre communauté scientifique qui étudie les phénomènes cosmiques de très haute énergie à travers l’observation des rayons gamma. La librairie Gammapy a en effet été sélectionnée l’année dernière comme librairie principale d’analyse des données de l’observatoire CTA.

La concurrence était rude avec 129 projets en lice, quel est le secret de cette réussite ?

Je crois que seul le jury peut réellement répondre à cette question, d’autant plus que les projets en concurrence étaient très variés et pour certains internationalement connus ! J’observe que depuis des années l’équipe de développement s’applique avec beaucoup de rigueur sur chaque aspect du projet (technique, documentation, reproductibilité, format de donnée, interactions avec les utilisateurs, communication), avec une méthode de travail par consensus. Leurs efforts se voient valorisés par ce prix, et nous remercions de nouveau le jury.

Qu’est-ce qui a convaincu les physiciens d’opter pour une solution libre ?

À l’origine, nous développions pour H.E.S.S. des codes propriétaires en C++ dont nous n’étions pas complètement satisfaits. Ce qui nous a convaincu de changer, c’est à la fois la préparation du futur projet CTA, dont toutes les données allaient être ouvertes, et la recherche d’une solution qui puisse traiter indistinctement les données de H.E.S.S. et de CTA. Il y a eu aussi, à l’époque, l’exemple précurseur du satellite FERMI-LAT de la NASA dont les données, proches de notre domaine scientifique, étaient déjà ouvertes et fournies avec des solutions d’analyse complètement transparentes et très performantes. Notamment, FERMI-LAT a été une source d’inspiration majeure dans la définition du format des données. Un point très important dans le projet.

Télescopes des projets H.E.S.S. et CTA
Gammapy est conçu pour traiter les données sur les rayonnements gamma de haute énergie issues d'instruments différents comme ici H.E.S.S. et CTA. © H.E.S.S. Christian Föhr, MPIK / CTA Tomohiro Inada

Pourquoi le format des données est-il si important ?

Le format des données, s’il est bien pensé, va permettre de faire des analyses avec le même logiciel indifféremment sur les données générées par H.E.S.S. ou CTA.  Pour cela, il faut intégrer aux données tout un tas de métadonnées qui précisent les conditions de leur collecte, le télescope qui est utilisé et la façon dont sa conception influe sur le signal capté, la configuration de l’instrument au moment de la prise de données, etc. En somme, si le format des données est bien défini dès le départ, le logiciel peut analyser les données de n’importe quel instrument. Et mieux encore il va pouvoir travailler avec d’autres astroparticules comme les neutrinos. Ainsi, KM3NeT évalue l’utilisation d’un tel format, tout comme l’observatoire IceCube. En rayons gamma, le futur observatoire d’ultra haute énergie SWGO travaille avec nous sur ce format de données.

D’un point de vue scientifique, qu’est-ce que cela apporte ?

L’impact est considérable. Il devient beaucoup plus facile de reproduire et comparer les études réalisées par d’autres observatoires, ce qui est important pour la validation des résultats. D’autre part, si un seul logiciel peut traiter des données aussi hétéroclites que des rayons gamma ou des neutrinos, dont les observations sont pourtant très différentes, on peut espérer combiner les résultats pour avoir une analyse plus complète des phénomènes. Et surtout cette analyse aura une bien meilleure cohérence et précision qu’une analyse de résultats obtenus par des méthodes différentes et propriétaires.

Quels sont les principales caractéristiques d’un logiciel ouvert comme Gammapy ?

À première vue, ça se présente comme n’importe quel logiciel. Les utilisateurs téléchargent la librairie et l’installent sur leur ordinateur avec les données d’observation de haut niveau. Gammapy propose alors un ensemble de fonctionnalités comme la création d’une carte du ciel des sources, la reconstruction de spectres en énergie, le flux en fonction du temps, etc. Maintenant ce qui fait la véritable force de cette approche ouverte, c’est l’accès à une documentation fournie pour les experts et non experts, une hotline gérée par la collaboration, des codes optimisés et, très important, une transparence totale du traitement. L’intégralité du code est visible et les utilisateurs savent précisément quel calcul est appliqué ou comment l’améliorer. Tout est reproductible, ce qui était loin d’être évident avec des solutions propriétaires.

Comment se passe le développement d’un tel logiciel ouvert au quotidien ?

Le développement est dirigé par deux lead-developers qui s’appuient sur une équipe de contributeurs issus de plusieurs laboratoires, principalement européens. Un comité de coordination supervise l’ensemble et s’assure de la pertinence des choix faits. Le développement se fait au travers de la plateforme GitHub et s’appuie sur son « workflow ». Les modifications ou ajouts majeurs font l’objet d’une proposition écrite (Proposal for Improvement of Gammapy) discutée et validée collégialement avant d’être implémentés. L’organisation du travail et les discussions se font par le biais de réunions hebdomadaires des développeurs et par l’organisation de « coding sprints », où ces derniers se retrouvent pour une semaine de travail, de deux à trois fois par an.

Qu’est-ce qui fait que ces logiciels sont plus performants que d’autres développés de façon propriétaire ?

Le mode de développement collaboratif et ouvert permet à un plus grand nombre de contributeurs de proposer des améliorations au code existant ou de nouvelles solutions techniques. Tout utilisateur peut ainsi devenir contributeur et améliorer les performances du logiciel. D’autre part, les librairies ouvertes de l’écosystème scientifique python offrent des solutions très performantes à de nombreux problèmes et nous permettent de concentrer l’effort sur ce qui touche spécifiquement à notre domaine.

Gammapy est-il terminé ou doit-il encore évoluer ?

Tout d’abord, les équipes de Gammapy sont en train de finaliser la version V1.0 pour ce printemps, qui sera la base de la première version de Science Tools de CTA. Nous allons ensuite épauler CTA pour mettre en œuvre son premier Science Data Challenge ouvert en fin d’année. En parallèle, nous souhaitons améliorer la définition et la gestion des différents formats de données, développer de nouveaux algorithmes, en particulier pour la recherche de signaux transitoires ou très faibles, et enfin travailler avec d’autres observatoires, comme SWGO, KM3NeT ou de rayons X, pour faire évoluer le logiciel vers un outil d’analyse multi-longueur d’onde et multi-messager et traiter ainsi de manière cohérente la plupart des observations obtenues sur un objet céleste.

Propos recueillis par Emmanuel Jullien

À propos de la collaboration Gammapy

Gammapy est soutenu/coordonné par 15 instituts de 5 pays différents (Allemagne, Espagne, États-Unis, France et Italie). En France, 3 laboratoires participent activement à son élaboration l’APC, le LUTH et l’IRFU.

Voir le site de Gammapy

Contact

Bruno Khélifi
Chercheur au laboratoire APC
Régis Terrier
Chercheur au laboratoire APC
Sabine Crépé-Renaudin
Déléguée scientifique Calcul intensif et Données ouvertes
Vincent Poireau
DAS Astroparticules et cosmologie
Emmanuel Jullien
Responsable du service communication de l'IN2P3