Reflecatance value == 0 in S2 L2A


Quick question about S2 L2A products. Why do we have pixels with BOA reflectance values == 0. For example:


Moreover, how to deal with this to avoid errors when doing raster math? Maybe changing it to a negative value?

Dark Object Subtraction is part of the algorithm that transforms L1C into L2A (BOA reflectance) products.

If the pre-designated dark objects happen to be brighter than expected then the lower L2A values will be truncated at zero - as in your histogram.
I think.

1 Like

This behaviour is set to change for products released under the up-coming Processing Baseline 04.00 - as announced here

Provision of negative radiometric values (implementing an offset): Similarly to Level-1C, the dynamic range will be shifted by a band-dependent constant, i.e. BOA_ADD_OFFSET, as follows:

Digital Number DN=0 remains the “NO_DATA” value
For a given DN in [1;65535], the BOA reflectance value will be: L2A_BOAi = (L2A_DNi + BOA_ADD_OFFSETi) / QUANTIFICATION_VALUEi. The radiometric offset value will be consistent with the one applied to the Level-1C product and will be reported in a new field in the General_Info/Product_Image_Characteristics section of the Tile Metadata. It is also noted that the percentage of negative surface reflectance pixels per band will be also reported in the L2A_QUALITY report in the QI_DATA folder of the tile.