We are continuously working on improving the Sentinel-2 L2A products delivered by Theia. Since the 2nd of February, a new parametrization was put in production in order to improve two points of the cloud masks. There is a page which summarizes the variations of Theia product versions. Because of some error within Muscate production centre, we are not able to change the product version when we change a parameter. You have to look at the production date to know which version was used. This inconvenience will be corrected soon.
Clouds above water
Although MAJA is optimized for cloud detection and atmospheric correction over land, it is important to detect clouds well over water. For instance to detect the shadows of these clouds that are cast over land. But until now, the clouds mask was missing quite a lot of clouds over water. This was not a surprise as we had passed only a few hours determining the thresholds to apply. We recently found some more time to obtain a better tuning of the detection thresholds above water.
Thresholds in the SWIR have been halved (from 0.08 to 0.04), in the absence of sunglint. When sunglint is likely, due to the geometry of acquisition, the threshold is still higher (0.016, but it was 0.25 before).This means that when the sunglint flag is raised, the accuracy of cloud detection is reduced.
Impact of new cloud detection threshold over water : left, old threshold, right, new threshold.
The plane contrail illustrates the difference in observation angles of the spectral bands of Sentinel-2. The cumulus clouds above has the same effect, although lower because the cloud is at a lower altitude.
As it may be seen on the image above, the cloud limits are fuzzy, and except for the big and nice cumulus clouds, the pixel next to the cloud mask is also affected by clouds. Even if the cloud has sharp limits, it also changes the illumination of neighbouring pixels, and, in the case of Sentinel-2, as all the bands do not observe exactly in the same direction, there is a "parallax effect" which results in different cloud positions depending on the spectral band. For all these reasons, we need to dilate the cloud mask (by the way, this is an identified drawback of Sen2cor, which does not dilates its clouds).
Our dilation buffer was originally 480m. Following complaints from some users working in very cloudy countries, we had reduced the buffer to 240m in may 2017. But we recently figured out that the reduced dilation was degrading our estimates of aerosols, as undetected clouds are considered as aerosols. Due to this, the new version which runs since the2nd of February has once again a dilation of 480m.
Left, aerosol validation results with a dilation of 240m, right with a dilation of 480m. The new result brings a significant improvement (Merci à Bastien Rouquié pour ce résultat)