Our first L2A images obtained with Sentinel-2B (and Sentinel-2A)


The Sentinel-2B satellite was launched in March 2017, and joined his twin brother Sentinel-2A, which was orbiting since June 2015. Both satellites are now succeeding each other above our heads every 5 days. Sentinel-2 system mission is to monitor the evolution of the landscape and especially vegetation, with an observation every fifth day.


Very quickly, ESA managed to obtain Sentinel-2B observations over Europe very steadily, which is quite an achievement : congratulations to ESA ! CNES was greatly involved in assessing the image quality and in calibrating the sensor and has its own L1C processor (level 1C provides images registered to maps, expressed in reflectance at the top of Atmosphere).


By merging the time series take by Sentinel-2B and Sentinel 2A above a few sites, we managed to get dense time series of images over a few sites. To monitor a landscape, it is necessary to detect the clouds and their shadows, and to correct the variations of atmosphere transparency. This is the job of MAJA processor, which is developed jointly by CNES, CESBIO and DLR. Camille Desjardins, from CNES made it run over one of the sites..


So, here is the time series we obtained over a zone in Provence, France. The detected clouds are circled in green. If one ignores the clouds, which are well detected, the animation shows the slow evolution of the landscape as spring arrives. It is not possible to see a difference between the images provided by Sentinel-2B, and Sentinel-2A, which is in fact the aim of the Sentinel-2 mission. All the users will soon have access to high quality time series, with frequent observations, every five days in the absence of clouds !


The Muscate production center, at CNES, already distributes level 2A products  provided by MAJA software above selected regions, from Sentinel-2A data. As soon as Sentinel-2B is declared operational, its images will also be integrated in the processing.

MUSCATE news : release of Madagascar Sentinel-2 L2A data

After a good period with very little production incidents, our Muscate facility has had a tough period, which almost halted the production for one week. Until last week, the Muscate ground segment was running on CNES older cluster, and was just using the new cluster's bay of disks to store the input and output data. The access to the bay was made through the network and slowed the processing. Last week, we moved Muscate to the new cluster, and also moved physically one of the computers we are using : this brought us a few surprises that took more time than expected.


Muscate is now running on the new cluster : it has its own reserved computing nodes, and a dedicated facility for the scheduler. The result is that the processing of a L2A product with MAJA now only takes 23 minutes on average, while it used to be 50 minutes before. All the teams who did that migration, handling the development of Muscate, its exploitation, or the cluster facility, deserve acknowledgement !

Continue reading

Last Sunday's snow cover map from Sentinel-2

We know that fast distribution of satellite products is critical for many applications, including the planning of your next weekend.


Olivier just announced that Theia is now delivering Sentinel-2 Level 2A data in near real time. This is great because today I was able to make the snow cover map of the Pyrenees on Sunday at 20-m resolution.


The L2A image was actually published on Tuesday afternoon so I could have posted this snow map two days ago.

Continue reading

MACCS, renamed MAJA, now distributed as binary for non-commercial use

I have already mentioned that CNES teams working on MACCS cloud screening and atmospheric correction software and DLR teams working on ATCOR, decided to join their efforts to build a common software, named MAJA which stands for MACCS-ATCOR Joint Algorithm. And thankfully, a funding from ESA helps a lot this initiative.


The MAJA code relies on MACCS architecture which is designed to use multi-temporal criteria, but the successive MAJA versions will progressively include several features coming from ATCOR which did not exist in MACCS or were less elaborated and accurate.


We just released MAJA V1.0 which includes a few improvements (an enhanced mono-temporal mask coming from ATCOR has been included, as well as a modification of the estimation of water vapour). MAJA V1_0 is in fact just a little evolution compared to MACCS latest versions. MAJA V2.0 will include a directional correction (coming from CESBIO team), and a correction of cirrus clouds, that comes from DLR.  V1_0 version is now being integrated to Muscate, and it will soon run on our platform, while V2_0 should be delivered to CNES this week.


But the main news related to that is the fact that MAJA is now distributed as a binary code for linux Platforms RedHat and Cent OS versions 6 and 7 only. MAJA is distributed on CNES free software platform, and you will have to accept a licence and provide your email address. The licence is granted for non commercial use only. If you would like to get an extension of this licence for commercial use, please ask CNES.

MAJA tutorial page on github

MAJA was developed to process time series, if you only want to process a few images, please use SEN2COR. Given the size of Sentinel-2 images, MAJA is not meant to run on a laptop, it needs really serious computer resources, fast drives and processors, and several Gigabytes of Memory. I also have to stress that MAJA is not easy to use, and that solid knowledge in computers, linux, python might be necessary. MAJA also needs several stages of data preparation, including specific DTM generation.

Tutorial pages

A few beta-users are now testing the installation procedures. The first feedback is that the users often do not read the documentation carefully ;) . I strongly urge you to read the document provided in the package ! I have written a tutorial page on Github, and I hope you will manage to use it. In case of any problem, please do not comment here or send me an email, use the support address : maja-support@cnes.fr or add an issue to the github tutorial platform.




10000 L2A products available at Theia for Sentinel-2

The number of L2A products from Sentinel-2 available at Theia, just passed above 10 000 ! Data from France, Belgium, North of Spain, Morocco, Tunisia, Senegal, the Burkina-Mali transect, or La Reunion Island are now processed in real time : our requirement is 60 hours, after the data is available in Copernicus hub. Next site to be added is Madagascar.


Le compteur de produits de niveau 2A de Sentinel-2, disponibles à Theia, vient de passer la barre des 10 000 produits. Les données acquises par Sentinel-2 sur la France, la Belgique, le Nord de l'Espagne, la Tunisie, le Sénégal, le transect Burkina Mali, et l'île de la Réunion sont maintenant traitées en temps quasi réel : notre spécification est de les mettre à disposition en moins de 60 heures après leur apparition sur les serveurs du hub de Copernicus. Le prochain site couvrira une bonne partie de Madagascar.

THEIA/MUSCATE nears real time for Sentinel-2 L2A

THEIA MUSCATE production of Sentinel-2 L2A products nears real time, and L2A products acquired until March 2017 over France and Reunion Island have started to appear on our distribution server :


The production will progressively be extended over the whole France and over the other sites (Spain, Morocco, Belgium Tunisia, Senegal, Burkina, Mali...) and then follow the real time acquisitions with the shortest delay possible.


La production par MUSCATE des données de niveau 2A de Sentinel-2 s'approche du temps réel, et les données acquises jusqu'à mars 2017 sur la France et l’île de la Réunion ont commencé à apparaître sur le serveur de distribution.



La production va être progressivement étendue à toute la France et aux autres sites (Espagne, Maroc, Belgique Tunisie, Sénégal, Burkina Faso, Mali...), et suivra ensuite les acquisitions en temps réel avec le plus court délai possible

Quantitative comparison of cloud masks from MACCS/MAJA, Sen2Cor and GEOSYS (hand made)


As already explained in a previous post, we obtained some Sentinel-2 hand made cloud masks from GEOSYS company. We used those to validate the cloud masks from MACCS/MAJA. But we wanted to use them further to make a quantitative comparison with Sen2Cor cloud masks.
But this comparison required solving a little issue : GEOSYS cloud masks are generously dilated to avoid any risk to let a cloud pass through the operational processing. Those of MACCS:MAJA are also dilated while those of Sentinel-2 are not at all. In the following paragraphs, we'll explain how we solved that issue. Sen2cor (v2.3.0) has also three levels of cloud mask (High Medium and Low probability). We used here the Medium Probability mask. But let's start with the final result comparing the performances of Sen2Cor and MACCS:MAJA.


Overall accuracies for MACCS/MAJA, in red and Sen2cor, in blue for 11 images compared to GEOSYS cloud masks.

Continue reading

Comparaison quantative des masques de MAJA et Sen2Cor vis à vis des masques manuels de GEOSYS.


Comme nous l'avons expliqué dans un article précédent, nous avons obtenu de la part de la société GEOSYS des masques de nuages de référence faits main pour Sentinel-2, qui nous ont permis de valider les masques de MACCS/MAJA. Nous avons voulu aller plus loin et comparer avec les masques de Sen2cor.


Mais cette comparaison nécessite de résoudre une petite difficulté : les masques de GEOSYS sont généreusement dilatés pour ne pas prendre le risque de laisser passer des nuages dans la chaîne de traitement. Ceux de MACCS/MAJA le sont aussi, alors que ceux de Sen2cor ne le sont pas du tout. Dans ce qui suit, j'ai utilisé les masques de SEN2COR Medium Probability, fournis par la version 2.3.0 de SEN2COR (qui fournit 3 niveaux (High, Medium et Low). Les précisions obtenues pour les deux chaînes sont celles exposées ci-dessous :


Comparaison des pourcentages de pixels bien classés par MACCS/MAJA (en rouge) et par Sen2cor, en bleu.


Le reste de l'article expose la méthodologie utilisée pour obtenir ce résultat et montre quelques exemples. Continue reading