Thankfully, animal biologists are not supposed to read this blog, as they might be shocked by what follows :
Well, let’s explain !
* L2A product
(If you are not familiar with the product names, you might find some information here). MAJA is a L2A processor which provides surface reflectances after atmospheric correction with a high quality cloud/shadows mask. MAJA’s products are distributed by THEIA over selected regions of the world, and the processor itself is available. Even if this product has a high quality, it is not fully easy to use, because most of Sentinel-2 images have a significant cloud cover. The processors which use Sentinel-2 L1C or L2A products must be robust to the presence of spatial or temporal gaps in the coverage.
* L3A Product
For all the optical remote sensors that provide systematic and frequent acquisitions, It has been a frequent practice to also deliver L3A products, which provide a cloud free image for a longer period of time : one fortnight, one month, one year…Most of the L3A methods select, for each pixel, the best available pixel, using several criteria which are prone to avoid selecting cloudy of shadowed pixels (the most classical one is selecting the date which has the maximal NDVI). Given that these methods work at pixel level, the values of selected contiguous pixel are acquired on different dates, which leads to artefacts related to the use of different dates, different viewing angles…
The good point with L2A products obtained with MAJA is the quality of its cloud/shadows mask. Even if it is not perfect, most of the clouds and shadows are detected, and when they are not detected, it is because the clouds are quite transparent. As a result, it is no longer necessary to use date selection criteria that tend to discard cloud or shadows, as they are already simply discarded using the cloud mask. So we developed WASP, which is the Weighted Average Synthesis Processor. The method was defined in CESBIO for Venµs satellite a long time ago (in 2008). In 2015, it was then included in the Sen2Agri project, funded by ESA, to be applied to Sentinel-2. In that framework, our colleagues from CS-Romania redeveloped the software to make to more operational and provide it as open source. Finally Peter Kettig, at CNES, adapted it to the MUSCATE ground segment and formats, and introduced a few improvements and bug corrections.
* L3A Method
For each pixel, and each band, WASP almost simply averages the cloud free surface reflectances gathered during a synthesis period of 45 days. For instance, to produce the synthesis of July 15th, it will average all the cloud free L2A observations gathered between June 26th and August 5th. And this is done every month. In details (as already explained in this post) :1- a directional correction is made to homogenise the surface reflectances as if they had been taken from the vertical, avoiding differences where the Sentinel-2 orbits overlap.2- then weights are computed :
- Pixels close to a detected cloud or shadow have a lower weight
- Pixels with a lower aerosol optical thickness have a higher
- A greater weight is given to dates close to the synthesis date (15th of July in the example above)
3- The weighted average is computed The WASP processor is available as an open source software, and Peter Kettig has started producing the Level 3A products over France and a few other tiles. These products are now available on THEIA’s server here. However, the processor is not fully integrated yet within MUSCATE, Peter produces the data himself, so we can’t expect him to deliver them operatinnally in real time. WASP is currently being fully integrated within MUSCATE, so the operational production should happen end of 2018 or beginning of 2019. The detailed processing model for WASP is available here :
* L3A use case
So, what’s the use of a L3A product :
- as you can see above, the L3A products are almost cloud free over Land, and Theia’s one show a very little amount of artefacts. They are very convenient to get a good view of a territory, and require less robustness from the processors as the amount of clouds is low (and these clouds are still flagged).
- they can be used to make nice seamless mosaics and posters
- But the knowledge of the exact date of each product is much less accurate than that provided by a L2A product. Although we also provide in the product the weighted average of the dates, it is only an approximation of the surface reflectance of that date, assuming that the evolution with time of surface reflectance along the synthesis period is linear. If you applications requires a good accuracy in terms of date, such as estimating phenology (date of flowering or senescence…), then we advise you to use Level 2A products.
* L3A defects
- WASP synthesis method assumes that surface reflectance change very slowly with time. This assumption is wrong over some surfaces such as water or snow.
- It is not always possible to get at least one clear observation for each pixel in a 45 days period. As a result, we still can have a low percentage of cloudy pixels, but these pixels are flagged.
- It is still possible to spot orbit limits on the composites (did you see one on the image above ? I did, but I am trained to see defects, even on my products). These are mainly due to the juxtaposition of different observation dates, but also to directional correction approximations.
- A few clouds or shadows can escape the detection, especially small cloud or shadows of thin clouds, but the weighted average usually decreases their influence, except during very cloudy periods.
- WASP is an open source software, it can be downloaded from CNES github platform
- You may also download its executable code for linux from CNES free software platform
- THEIA’s L3A data can be downloaded from here.
- The L3A data format is very simple, a detailed description can be found here xxx, and a simpler description is available here
- I have updated the theia_download tool to allow selection and download of Level3A products using the command line interface :
python theia_download.py -l 'Bretagne' -a config_hagolle.cfg -d 2018-07-01 -f 2018-07-31 --level LEVEL3A
- The mosaic above was generated with this little piece of bash code (which uses gdal and imagemagick, on linux)
We would like to thank a lot of people who participated to the development of WASP
- At CESBIO, since 2007, I was successively helped by Vincent Debaecker, Mireille Huc, David Morin and Mohamed Kadiri
- The operational version of WASP derives from the development of Sen2Agri system, funded by ESA (with Benjamin Koetz as appreciated technical officer) and a lively consortium lead by Louvain University (UCL, with Sophie Bontemps as project leader), with CESBIO, CS-France and CS-Romania as partners. It was a pleasure working with WASP developers in Romania (Cosmin Udroiu, Alex Grosu)
- Peter Kettig finalized the development in MUSCATE framework, solved a few issues, defined the final format, optimized the code. He also produces the first data, and supervises the integration within MUSCATE by Cap Gemini
- Joelle Donadieu, at CNES, and the CAP GEMINI Muscate team have smoothly integrated the products within MUSCATE