Sentinel-2 Level 3A products : syntheses or composites ?


For the past few months, Copernicus has been distributing Level 3A products for the Sentinel-2 mission as part of the S2GM (Sentinel-2 Global Mosaics) .


This ambitious project aims to provide monthly, quarterly or annual Level 3A products worldwide. The user defines his zone and period of interest and orders the product. The web site seems to be hosted by SInergise, and as everything done by this company, is easy and very straightforward to use.


The call for tender, with two or three million euros, was launched by the Copernicus program of the European Union two years ago. It required the use of ESA Level 2A official products obtained with Sen2Cor. For this reason, we decided not to participate because our Level 3A method, which calculates a weighted average of non-cloudy observations, requires very good cloud masks, which is not quite the case of Sen2cor products.


The tender was won by a consortium of Brockman Consult, Geoville and SInergise companies. To compensate for the poor quality of cloud detection, the authors of the S2GM product had to use a BAP method: "Best Available Pixel". This method chooses for each pixel the best date according to certain criteria (no cloud or shadow detected, minimum reflectance in the blue, maximum NDVI ...). This method minimizes cloud disturbances when clouds are not detected correctly, but also has the disadvantage of suddenly changing the date from one pixel to another, which causes artifacts and noise. Outputs are therefore composite products , which assemble pieces of images acquired for the different dates available over the period.


Theia Level 3 products are not composites, but syntheses, which use all cloudless observations of a single pixel over the entire monthly observation period to find the value that best represents the surface reflectance we would have had at the central date of the product. Theia's syntheses use the WASP (Weighted Average Synthesis Processor) chain, which calculates a weighted average of surface reflectances over a month, after atmospheric correction and detection of clouds obtained from Level 2A products generated by our MAJA channel , of course. If the clouds are badly detected, they enter into the synthesis and disturb it.

Comparison of a synthesis obtained with WASP + MAJA, with a composite product from S2GM + Sen2cor, on the Toulouse region, in October 2018. (Click on image to enlarge)

The animation provided above shows a full resolution comparison over Toulouse region, of a synthesis of WASP and of the corresponding composite of S2GM obtained on the same date in October 2018. We see very quickly that the composite of S2GM is very noisy, much more than the synthesis from WASP. It is quite often possible to locate the areas where the synthesis tool has chosen to change the date in its composite. You will also notice the appearance of many white dots, which are in fact pixels without clouds, but quite bright that Sen2Cor systematically classifies as clouds.


In short, provided you have a good level 2A product, syntheses can provide much better results than composites.



Produits de Niveau 3A: Synthèses ou composites ?


Copernicus diffuse depuis quelques mois des produits de niveau 3A pour la mission Sentinel-2 dans le cadre du projet S2GM (Sentinel-2 Global Mosaics).


Ce projet très ambitieux a pour but de fournir, à l'échelle mondiale, des synthèses mensuelles, trimestrielles ou annuelles. L'utilisateur définit sa zone et sa période d'intérêt et commande le produit. Le site est très bien conçu et très évident à utiliser.


L'appel d'offres, doté de deux ou trois millions d'€uros quand même, avait été lancé par le programme Copernicus de l'Union Européenne il y a deux ans. Il imposait d'utiliser les produits officiels de niveau 2A de l'ESA, obtenus avec Sen2Cor. C'est pour cette raison que nous avons décidé de ne pas participer, car notre méthode de synthèse, qui calcule une moyenne pondérée des observations non nuageuses, a besoin de très bons masques de nuages, ce qui n'est pas tout à fait le cas des produits de Sen2cor.


L'appel d'offres a été remporté par un consortium composé des sociétés Brockman Consult, Geoville et SInergise. Pour compenser la piètre qualité de la détection des nuages, les auteurs du produit S2GM ont dû utiliser une méthode BAP : "Best Available Pixel". Cette méthode choisit, pour chaque pixel la meilleure date selon certains critères (pas de nuage ou d'ombre détecté, réflectance dans le bleu minimale, NDVI maximal...). Cette méthode permet de minimiser les perturbations nuageuses lorsque les nuages sont mal détectés, mais présente aussi l'inconvénient de changer brutalement de date d'un pixel à l'autre, ce qui cause des artefacts et du bruit. Les sorties sont donc des produits composites, qui assemblent des morceaux d'images acquis lors des différentes dates disponibles sur la période.


Les produits de Niveau 3 de Theia ne sont pas des composites, mais des synthèses, qui utilisent toutes les observations sans nuage d'un même pixel sur la période d'observation mensuelle en entier pour trouver la valeur qui représente le mieux la réflectance de surface qu'on aurait eu à la date centrale du produit. Les synthèses de Theia utilisent la chaîne WASP (Weighted Average Synthesis Processor), qui calcule une moyenne pondérée des réflectances de surface sur un mois, après correction atmosphérique et détection des nuages obtenus à partir de produits de niveau 2A générés par notre chaîne MAJA, bien sûr. Si les nuages sont mal détectés, ils entrent dans la synthèse et la perturbent.

Comparaison d'une synthèse obtenue avec WASP+MAJA, avec un produit composite issu de S2GM+Sen2cor, sur la région de Toulouse, en Octobre 2018. (cliquer sur l

L'animation fournie ci-dessus présente une comparaison sur la région de Toulouse, et à pleine résolution, d'une synthèse de WASP et du composite correspondant de S2GM obtenu à la même date en octobre 2018. On constate très vite que le composite de S2GM est très bruités, beaucoup plus que les synthèses issues de WASP. Il est assez souvent possible de repérer les zones où l'outil de synthèse a choisi de changer de date dans son composite. Vous remarquerez aussi l'apparition de nombreux points blancs, qui sont en fait des pixels sans nuages, mais assez brillants que Sen2Cor classe systématiquement comme nuages.


Bref, à condition d'avoir un bon produit de niveau 2A, les synthèses peuvent fournir de bien meilleurs résultats que les composites.


New paper ! An active learning cloud detection tool to generate reference cloud masks for Sentinel-2. Application to the validation of MAJA, Sen2cor and FMask cloud masks

Example of reference cloud mask generated by ALCD, and comparison with the cloud masks generated by three operational processors (Sen2cor, FMask and MAJA). True positive invalid pixels appear in blue, true negative in green, false negative in red and false positive in purple..

It is not that frequent when the work of a trainee ends up as a peer reviewed publication, but Louis Baetens was a brilliant trainee. In a six months training period at CESBIO, funded by CNES, here is what Louis Baetens did:

  • developed an active learning method to generate reference cloud masks for Sentinel-2, using multi-temporal data as input
  • validated the quality of the produced masks (around 99% overall accuracy)
  • generated cloud and shadow masks covering 32 entire Sentinel-2 images
  • produced these same scenes with Sen2cor 2.5.5, FMask 4.0 and MAJA 3.3
  • evaluated the results using ALCD masks
  • wrote a report and a user manual for ALCD
  • released the masks and tools on open access platforms
  • And wrote (with Camille and myself) a scientific publication


The publication was just released by remote sensing :

Baetens, L.; Desjardins, C.; Hagolle, O. Validation of Copernicus Sentinel-2 Cloud Masks Obtained from MAJA, Sen2Cor, and FMask Processors Using Reference Cloud Masks Generated with a Supervised Active Learning Procedure. Remote Sens. 2019, 11, 433.


The remaining of the post provides a plain language summary (but it's better to read the paper !)

Continue reading

A pause in MUSCATE production, end of February

The MUSCATE production centre will be offline for a week from February 25th to March 4th (or maybe the week after, please see Theia's RSS feed to see the exact date). This pause will be necessary to upgrade the processing centre to V2.5. As a result, we will not be able, for a week, to process Sentinel-2 data in real time, and hope it will not be too inconvenient to you. In case you need some data urgently, you can ask PEPS to produce MAJA L2A data for you during that period.


The main change regards the internal format used by MUSCATE for Sentinel-2 Level 2A products. This internal format is different from the external format that we distribute, and this results in unnecessary product format conversions, as well as the necessity to develop drivers for the various formats (internal and external) for the processors that use Sentinel-2 L2A data within MUSCATE. To enable this modification, it will be necessary to convert all the L2A data from the internal format to the external format, which will take a whole week.


MUSCATE V2.5 will bring other improvements, such as the integration of MAJA 3.1, with possibility to use Copernicus Atmosphere data, or a new version of LIS, the processor that delivers the snow maps.

MUSCATE  V2.6 is also ready and queuing to be installed, with MAJA 3.2, WASP and the possibility to process Venµs L2A data within MUSCATE and not externally on Venµs ground segent.




Diffusion d'un premier lot des données Sentinel-2A de niveau 2A sur le Sahel

Il y a quelques semaines, nous annoncions la sélection d'une nouvelle zone de production de données Sentinel-2 au niveau 2A par Theia, au Sahel. La production a démarré, et Theia a déjà produit les tuiles de la zone UTM28 (à l'ouest). Les tuiles en vert foncé existaient déjà, mais nous avons rajouté celles en vert clair, qui permettent de couvrir l'ensemble du Sénégal, la Gambie,  une partie de la Guinée Bissau, de la Guinée, et le nord de la Sierra Leone.


Les données disponibles ont été traitées du premier janvier 2017 à hier, soit plus de deux ans de données. Les nouvelles données seront maintenant traitées en temps réel au fur et à mesure de leur arrivée.

Nous procéderons de même avec les différentes zones  de l'ouest vers l'est : UTM29, UTM30...


Improvement of water vapour retrieval in MAJA

Similarly to the aerosol retrieval, the retrieval of water vapour in MAJA atmospheric correction has also been improved, thanks to the work of Elsa Bourgeois (Cap Gemini) and Camille Desjardins (CNES). An accurate estimation of water vapour is not necessary to perform an accurate atmospheric correction, because water vapour absorption in most of Sentinel-2 bands is much lower than 5%. But the Sentinel-2 water vapour product could also prove useful, and when we plot validation results, showing a large bias for high water vapour contents is not nice.




Here is the kind of results we have been having with MAJA from the beginning, with a large bias when water vapour content is high :

Our very simple method uses the ratio between Sentinel-2 B9 and B8a bands to estimate the water vapour. B9 is located within a water vapour absorption band at 940 nm, while B8a serves as reference and is only moderately affected by water vapour. The ratio is converted thanks to the use of a Look-up table, which is obtained using radiative transfer calculations. Our method assumes that the water vapour is above the scattering layer, which is obviously not true. The errors due to this assumption increase with the amount of water vapour.


Elsa and Camille just empirically computed a new water vapour LUT to cancel this bias, and it works! As you can see, the RMS errors have been divided by a factor 2, from 0.2 g/cm2 to 0.1 g/cm2.

We will put this new parameter set in production in January within Theia, and make it available to the users of MAJA processor.





MAJA 3.1.2 with CAMS option finally validated

We had announced quite a long time ago the coming availability of MAJA 3.1 to correct for the atmospheric effects on Sentinel-2, Landsat 8 or Venµs satellites. This version brings a significant improvement in the estimation of Aerosol Optical Thickness, thanks to the use of Copernicus Atmosphere Monitoring Service (CAMS) data to constrain the aerosol type. The details of the methodscan be found here. Bastien Rouquié obtained them on our python prototype of MAJA.


We then implemented them in the operational and fast version of MAJA. If the validation tests of MAJA 3.1 were correct on the two test products we had defined, a large scale validation using 10 sites over two year time series showed that instead of improving, using the CAMS option was degrading the results. We had to search for the cause (a bad interpolation of CAMS data in space and time), and correct the errors and perform again a large validation.


This time, the validation results are improving a lot, as it may be seen on the figures below.

Without CAMS option With CAMS option

On the left column, we provide the results without activating CAMS option, while on the right, it is activated. The top row corresponds to the comparison between Aeronet AOT used as reference, and MAJA AOT, for eight sites in diverse landscapes. The bottom row provide an example on the well known validation site in Mongu, Zambia.The blue dots correspond to good quality aerosol measurements (no clouds, level 2.0 aeronet values), while red dots correspond to degraded conditions (with either clouds or not quality assured aeronet data (level 1.5 data)


Using CAMS to constrain the aerosol type improves the results by 25%, compared to the use of a continental aerosol model everywhere. Errors for the quality assured validation pixels decrease from 0.085 to 0.065 on the 8 sites, and from 0.143 to 0.094 on Mongu site in Zambia. This site has various types of aerosols depending on the season, including dust, biomass burning and continental aerosols. The results are still far from perfect, and we have work for the next 5 years, but it is still good to have them improved !


MAJA 3.1.2 is available starting from this link on github, as an executable program for linux. To be allowed to use it, you will have to sign the licence first, from this site.  If you want to use it for commercial applications, you should ask for a special licence (still for free), sending me an email. In January, I will provide the parameters to allow activate the CAMS options.


Regarding the production of Theia, our ground segment has been adapted to use MAJA version 3.1.2, and will soon be able to fetch the CAMS products from Copernicus Atmosphere. Then we will have an operational qualification phase, to check that we can download CAMS products in time for real time production. We should be able to start using in in February or March.  And after a few months, if the results are good, yoohoo, we will reprocess everything !


Many thanks to Bastien Rouquié, CESBIO, who did the scientific work, to Camille Desjardins w ho helpled with the validation, to Aurelien Bricier and Benjamin Esquis, at CS-SI for coding the operational version, and Peter Kettig (CNES) and Bruno Angeniol (Cap Gemini), and Bastien, for checking the consistency between prototype and operational versions.




[MUSCATE News] Some bad and good news


The bad news

The MUSCATE ground segment that delivers Sentinel-2A products has had several issues these past two weeks. We have had some performance issues with the data base which tells MAJA processor which product must be processed next. These lower performances caused traffic jams and disruptions in the data production, and the system crashed quite frequently. Because of these crashes, our real time production of L2A and snow products has currently a delay above one week for most sites.

The teams are working hard to find the roots of these issues and correct them. We are very sorry for the inconvenience this may cause to your applications with good Level2A data or snow products.

Number of L2A products processed every day by MUSCATE facility, since end of 2016.


The good news : cirrus correction

The Sentinel-2 Level 2A data which are being produced now have a new version number: version 1.8. The novelty with these products is the cirrus clouds correction which was implemented within MAJA thanks to our collaboration with DLR (the German aerospace agency) and thanks to ESA funding.


The quality of the correction is generally good, but depends on the cirrus cloud thickness, and does not correct for the underlying shadow. As a result, we only apply the correction where a cirrus cloud has been detected, and we keep these pixels flagged as cloudy, even if the correction is good.  For now, we advise you to use these pixels only after having checked visually the correction. If you are processing data automatically without any visual control, our advise is to go on discarding these pixels, except if you do not need a high accuracy.





Validation systématique des produits Sentinel-2 de Theia


Camille Desjardins (du CNES (DSO/SI/MO)), qui s'occupe de la validation des produits de niveau 2A distribués par THEIA, a très récement mis en place une validation systématique des produits fournis par MAJA, avec l'aide d'un service d'exploitation du CNES (DNO.OT/PE). Le travail est effectué par Bruno Besson avec l'aide de Nicolas Guilleminot (de Thales Services), en utilisant des outils développés par Aurélie Courtois, elle aussi de Thales).


Systématiquement, tous les mois, les valeurs d'épaisseurs optiques d'aérosols et de vapeur d'eau, déterminées par MAJA, sont comparées avec celles du réseau Aeronet, à chaque fois qu'un produit om THEIA observe l'un de ses sites.


Les deux figures ci-dessous montrent les résultats obtenus pour le mois de Février, pour l'épaisseur optique, à gauche, et pour la vapeur d'eau (à droite). Les points bleus correspondent à des validations effectuées dans les conditions idéales pour une bonne comparaison (peu de nuages, pas de données interpolées, données Aeronet qualifiées au niveau 2 ). Les points rouges correspondent à des conditions dégradées, et pour la plupart d'entre eux, c'est dû au fait que les données Aeronet qualifiées ne sont pas encore disponibles.  Dans ce cas, il est possible qu'elles soient dégradées, en raison d'une dérive de leur étalonnage... ou de la présence d'une araignée dans le tube du collimateur.


Validation des épaisseurs optiques d'aérosols des produits Sentinel-2 N2A de Theia  pour toutes les observations conjointes avec Aeronet en février 2018 Validation de la vapeur d'eau des produits Sentinel-2 N2A de Theia  pour toutes les observations conjointes avec Aeronet en février 2018


Continue reading