Negative Reflectance Values in S3 L2 Product Bands

Hello everyone,

I’m using SNAP 7.0 with s3tbx version 7.0.2.
Working with Sentinel 3 OL_2_WFR products directly.
Specifically, for example: S3B_OL_2_WFR____20190429T075536_20190429T075836_20190430T161521_0179_024_363_2340_MAR_O_NT_002.SEN3

I noticed that there are negative reflectance values in a lot of water pixels, in almost all the bands.
Example of spectrum view of several pixels:

Why they are negative BOA values?
I’m using the reflectance values to calculate stuffs, the values must be appropriate (positive like BOA reflectance should be).

Is adding a scale factor to those pixels is correct to do? (for instance, add the min negative value to all bands?)

Need help to understand if the negative values are incorrect (like I’m supposed) and how to fix them…

(I see in multiple posts in 2017 that @marpet answer back in those days that L2 is not official and need to work with C2RCC, but today (2019) L2 are available and might be atmospherically corrected without issues.)

Hope someone will answer and find me a solution quickly :pray:


Negative reflectances are expected in the standard L2 Ocean product. You can check the flag information to see to which alerts those pixels are related (Mask Manager). Alternative AC products (C2RCC, Polymer) avoid the assignment of negative values.

I understand, I check the flags when there are negative values and that’s what I got for example (one pixel):

Do you see something in the flags that can be interpreted as negative values?

When all the reflectance values are positive that’s what I got for example (one pixel):

Can I do that ?

My suggestion would be not to use negative pixel values unless you are totally sure they are right. That is, when doing any type of calculation, apply flags to avoid the inclusion of negative values.