MAJA 4.2 est disponible et devient un logiciel libre.

=>

MAJA est un logiciel de détection de nuage et de correction atmosphérique de qualité, développé par le CNES et le CESBIO, avec des contributions du DLR.  Il est codé par CS GROUP. MAJA est utilisé pour traiter les données Sentinel-2 par le Pôle Theia, par les projets Sen2Agriet Sen4cap de l’agence spatiale Européenne, par le DLR, par le projet Neige&glace de l’agence Européenne de l’environnement, par la société KERMAP. et la plate-forme CODE-DE.

Nous souhaitions depuis longtemps faire de MAJA un logiciel libre, et nous y sommes enfin arrivés ! Après des années de discussions internes au CNES, la décision avait été prise cet hiver de libérer le code avec la version 4.2. Il nous a fallu 6 mois pour rendre cette décision effective, en partie pour terminer la validation et corriger les derniers bugs, et en partie pour mener un audit du code afin de vérifier que MAJA n’inclue pas de code avec des licences incompatibles avec la licence Apache version 2.0.

En conséquence, vous pouvez maintenant lire, télécharger, modifier et compiler le code à partir de cette adresse:

https://github.com/CNES/MAJA

Vous vous rendrez compte que MAJA n’est pas un logiciel simple et qu’il s’appuie sur des caractéristiques avancées du langage C++. Cependant, si moi-même, un pythoniste amateur, j’ai pu y modifier quelques lignes, les vrais pros de l’informatique devraient y arriver.

Bien sûr, nous continuons à distribuer des exécutables MAJA pour linux (Ubuntu, Redhat),et la version 4.2 peut déjà être téléchargée depuis:

https://logiciels.cnes.fr/en/content/maja

Le développement de MAJA a commencé il y a 12 ans, et depuis lors, la bibliothèque Orfeo Tool Box, sur laquelle MAJA s’appuie, a considérablement évolué. Il nous a donc semblé nécessaire de mettre MAJA à jour pour s’appuyer sur le mécanismes des applications OTB, et pour recoder l’orchestrateur des modules en python. La version 4  n’est donc qu’une simple mais importante mise à jour du code, avec peu d’améliorations concernant les méthodes, sauf une importante : lisez ce billet jusqu’au bout !

Voici la liste de nouveautés de la version 4.2  :

  • C’est la première version libre de MAJA !
  • L’orchestration a été réécrite en python, mais nous avons préservé les interface pour facilité la transition vers la version 4. Les seuls changements, légers, concernent les paramètres de  traitement (GIPP). Les formats de MUSCATE sont les formats nominaux, mais les formats natifs ont été conservés provisoirement.
  • Nous avons inclus un nouveau script pour aller chercher les données CAMS  (Copernicus Atmosphere Monitoring service). Les données  CAMS permette de contraindre le type  d’aérosols dans les estimations d’épaisseurs optiques d’aérosols. Le nouveau (depuis juillet 2019) et l’ancien format de CAMS sont supportés. Nous devrions donc enfin pouvoir utiliser CAMS dans la production opérationnelle de Theia.
  • Notre interface en ligne de commande pour lancer des traitements sur  des séries temporelles entières, start-maja, a été inclus dans MAJA. Il a été complètement réécrit par Peter Kettig, et a gagné en clarté et modularité. Et Peter en a profité pour y ajouter de nouvelles possibilités bien pratiques :
    • Les MNT sont générés automatiquement. Il suffit de spécifier la tuile à traiter, et start_maaja préparera le MNT correspondant, s’il n’existe pas déjà.
    • Les paramètres de traitement (GIPP) et les LUTS sont aussi téléchargés automatiquement
  • Nous avons implémenté un masque de neige pour VENµS (qui n’a pas de bande dans le moyen infra-rouge)
  • Une dernière évolution a un fort impact positif sur la qualité de nos produits: il est possible d’améliorer la résolution des masques de nuages grâce à l’amélioration de la rapidité du module qui recherche les ombres de nuages. MAJA V4.2 peut maintenant détecter les nuages et les aérosols à une résolution de 120m au lieu de 240m avec une perte de temps de seulement 10% par rapport à la version 3.5.
Masque de nuage à 240m de résolution, exemple sur la Guyane FrançaiseMasque de nuage à 120m de résolution. Les petits nuages et leurs ombres sont bien mieux détectés

Un grand merci à Manuel Grizonnet et Pierre Lassalle, qui ont démarré la transformation de MAJA, et à Peter Kettig, qui a suivi le développement et réécrit et amélioré start-maja.Le codage a été rélisé par CS-SI, notamment par Benjamin Esquis et Julie Brossard. La participation de Jérôme Colin du CESBIO (CNRS) a été essentielle pour la validation. Pour ma part, j’ai seulement beaucoup insisté pour que l’on corrige le bug qui ralentissait les traitements à 120 m de résolution..

Merci aussi à ceux qui nous ont aidé à libérer le code de MAJA: cela nécessitait un changement culturel, et dans ce registre, le travail de pionniers de l’Orfeo ToolBox (OTB) au sein du CNES a été essentiel.

Plus d'actualités

BIOMASS, the third launched satellite mission designed at CESBIO !

After SMOS in 2009, and VENµS in 2017, the CESBIO Laboratory is very proud to see its third proposed mission, Biomass, reach orbit. As always, it has been a long journey from the idea, at the beginning of the century, to the selection in 2013 as the seventh Earth Explorer Mission by ESA, to the […]

Sentinel-2 reveals the surface deformation after the 2025 Myanmar earthquake

Sentinel-2 captured several clear-sky images of Myanmar before and after the 28 March 2025 earthquake. The animation below shows a 5-day apart sequence of images captured by Sentinel-2B and Sentinel-2C (10 m resolution) near the epicenter located close to Mandalay. The surface slip due to the earthquake follows the Sagaing Fault, a major fault in […]

Evolution de l’altitude de la ligne de neige au cours des 41 dernières années dans le bassin versant du Vénéon (Oisans)

Pour contribuer à caractériser les conditions hydrométéorologiques lors de la crue torrentielle qui a frappé la Bérarde en juin, j’ai analysé une nouvelle série de cartes d’enneigement qui couvre la période 1984-2024 [1]. Grâce à la profondeur temporelle de cette série, on constate que l’altitude de la ligne de neige dans le bassin versant du […]

Rechercher