TOA Range in Sentinel-2 Images between 0 an 1?

Hi Everyone

I am trying to figure out if the TOA Reflectance range should be limited to 0 and 1 or not.

I have read in two different posts that the TOA Reflectance should not be bigger than 1, see here and here.

If I got it right, the TOA Reflectance can be obtained by dividing the pixel values in Sentinel-2 L1C images by the Quantification Value, which is 10’000.

The part that confuses me is that for many images I am using, the maximum pixel value is above 10’000. For instance, at the end of the above post, the conclusion seems to be that for the given image, the correct value range is 1662 to 14254. I got the same range when computing the histogram using SNAP 4.0, and using gdalinfo with GDAL 2.1.0.

This would mean, that the maximum TOA Reflectance is 1.4254.

So my question is:

If I see a maximum pixel value above 10’000 in a Sentinel-2 L1C image, is that a problem with the jpeg library or are thes values correct?

Thanks a lot in advance for your help.


1 Like

Dear Daniel,
it is not true reflectances are between zero and one : physics allow to observe reflectances above 1

Of course the total irradiance reflected by a surface in all directions is lower that the incoming sun irradiance, which means that the integral of reflectance in all directions is lower than one. But the reflectance may be higher than one in a particular direction.

For instance, a window roof that reflects the sun right in the eye of Sentinel-2 can have a reflectance much higher than one.

Another phenomenon contributes to observing reflectances larger than one.

A snow covered pixel in a mountain facing the sun can also reach values above one. This effect is due to the fact that reflectance is normalized by the cosine of sun zenith angle (angle between sun direction and vertical). But in the case of a slope, it should be in fact normalized by the cosine of the incidence angle, which is the angle between sun direction and the normal direction to the slope. Sen2cor and MACCS have a “terrain correction” to correct for this effect.

Thanks @OHagolle for explaining the high reflectance values, and hinting the incidence angle correction. Your explanation makes things clear for me, I think now I understand the band values.

I have written a blog post with more details and figures on this subject:

1 Like