It appears to be calculated based on reflectance, however there is a known issue as mentioned
Two products have been found affected by this anomaly. The products have very
small data coverage and are completely cloudy. The cloud mask is accurate but
the cloud coverage metadata is reported as zero. The affected products are
30UXB on 11/02/2017 and 50KQL on 12/04/2017.
The issue has been analysed and the correction will be deployed in the near
future. here is the details:
The Level-1C products embed:
Vector mask (GML format)
cloud mask including an indicator specifying cloud type:
dense cloud
cirrus cloud
statistical information: percentage of cloudy pixels and of cirrus pixels in the cloud mask.
Cloud Mask (Dense/Cirrus)
The cloud mask enables cloudy and cloud-free pixels to be identified. The mask includes both dense clouds and cirrus clouds with an indicator specifying the cloud type.
Processing is performed with data sampled at 60 m spatial resolution for all spectral bands.
Identification of Dense Clouds
The dense clouds, also called opaque clouds, are characterised by a high reflectance in the blue spectral region (B2).
The method used to identify dense cloud pixels is based on B2 reflectance threshold. To avoid false detection, mainly due to snow/cloud confusion, SWIR reflectance in B11 and B12 are also used. Snow and clouds both have a high reflectance in the blue. Cloud reflectance is high in the SWIR, whereas snow presents a low reflectance.
Additional criteria based on B10 reflectance are added to avoid high altitude ice cloud and snow confusion (both having a low reflectance in the SWIR bands B11 and B12). At B10, there is a high atmospheric absorption band and only high altitude clouds are detected. However, this last criterion is only applied after a first detection of cloud pixel in the blue band where cirrus is transparent.
Cirrus Cloud
Cirrus clouds are thin, transparent or semi-transparent clouds, forming at high altitudes, approximately 6-7 km above the Earth's surface.
The method of identifying cirrus cloud pixels from dense cloud pixel is based on two spectral criteria:
B10 corresponds to a high atmospheric absorption band: only high altitude clouds can be detected
cirrus cloud, being semi-transparent, cannot be detected in the B2 blue band.
A pixel with low reflectance in the B2 band and high reflectance in the B10 band has a good probability of being cirrus cloud but this is not a certainty. Some opaque clouds have a low reflectance in the blue and can be identified as cirrus cloud.
To limit false detections (due to high reflectance in the blue or due to the fact that clouds are not spectrally registered), a filter using morphology-based operations is applied on both dense and cirrus masks performing:
erosion, to remove isolated pixels
dilatation, to fill the gap and extend clouds.
If after morphology operations, a pixel is both dense and cirrus, the dense >cloud mask prevails.
The cloud mask can be set to three values:
0 is a cloud-free pixel
1 is a dense cloud pixel
2 is a cirrus cloud pixel.
If measurements are not available in one or several bands needed to calculate the cloud mask, the mask value is set to NODATA.
After all filtering steps, the cloud mask is available at a spatial resolution of 60 m. It is then re-sampled at spatial resolutions of 10 m and 20 m for each corresponding spectral band. The re-sampling is not a geometric transformation but a radiometric interpolation.
All these processing steps ensure that a pixel identified as cloud-free is actually cloud-free.