NDVI values unrealistically high after sen2cor processing

Hi! NDVI values, especially for forest areas, resulted to be unrealistically high after using Sen2Cor ( They were often close to 1 ( > 0.95) and much higher than generated from the L1C product. I found that the values of the B4 were much higher after Sen2Cor. Does anybody experienced the same issue and what could be the problem? The RGB looks fine, however, the relative difference between B4 and B8 must have changed quite strongly. Thanks for helping!

Hi Domi
Having a NDVI close to 1 means that surface reflectance in B4 is close to 0.
Some forests can be quite dark in the red band, and atmospheric correction can be a little too strong sometimes, resulting in lower values (atmospheric correction is quite difficult).

NDVI is not very robust to this kind of problem, maybe is there a better suited index ?

Best regards,

Hi Oliver,
Thanks for your response! Of course you’re right, B4 values were much lower after Sen2Cor (not higher as written above), resulting in NDVI values close to 1. Here is an example of one pixel (coniferous Swiss forest):
L1C, NDVI: (1547 - 257) / (1547 + 257) = 0.7150776
L2A, NDVI: (1569 - 3) / (1569 + 3) = 0.9961832

In this example of course, it’s a very dark pixel, but also the surrounding pixels are bellow 100 in L2A. I know about the issues using NDVI and you’re right, there are other index and band combinations, probably more robust. However, I like to work with NDVI phenology and so far I got very interesting results using L1C products. Is it a very bad idea to continue working with TOA images instead? Any other ideas to get reliable NDVI values?

I’ve tested two products from very different dates, but both L2A products showed an overestimation of NDVI values for forest areas.

Best regards,

if your study area has a considerable amount of bare soil you can also try using the TSAVI with your calibrated data. Maybe it reflects the actual vegetation distribution and condition better.

This however needs two more parameters: Intercept (i) and slope (s) of your so-called soil line. You can get them by plotting NIR values against RED values in a scatter plot:
Intercept is the value your soil line meets the y-axis and slope is its steepness.

Image source: http://naldc.nal.usda.gov/download/50306/

You can then enter these values into the snap module. It can be found at Optical > Thematic Land Processing > Vegetation Radiometric Indices > TSAVI Processor


Thanks Andreas, I will also try that. I’m doing some data mining at the moment anyway. Maybe that’s a good index to identify open forest areas (disturbances etc.).

Hi Dominique

Even if L2A NDVI will always be higher than L1C NDVI, the pixel you are providing is obviously overcorrected.

As I said, atmospheric correction is difficult and far from perfection. But I think the noise on your time series should be lower at L2A level than at L1C level. Atmospheric conditions, and mainly aerosol content can be very variable, and have a large impact on NDVI, above all on surfaces which are dark in the visible, such as forests.

Aerosol variations produce quite a lot of noise on time series. I guess Sen2cor should reduce the noise even if not totally. For instance you may have a look at some time series I obtained with the atmospheric correction we developed at CNES/CESBIO (MACCS) (and also with a directional correction)

You’ll find more of them here : http://www.cesbio.ups-tlse.fr/multitemp/?p=8200

By the way, we just released all Sentinel-2A images taken above France, processed with MACCS at level 2A :


Also find sen2corr with too high NDVI Values, now that are available in GEE I share a plot in a grape-vineyard in Chile; crop coefficient models tell us that calculated Kcb (crop basal coefficient) should by in 0,7 to 1,2 range so this stills in range after conversion from NDVI… but the change is major (20% to 30% higher). so I was loking for a clue about, any?

I was guessing 3 theories:

1.- its just right… nothing to do

1.- LUTs that are used in sen2cor algth., for aerosol,atmosphere, ozone, etc are not locally calibrated for Chile, and this region (Coquimbo) in particular, wich is a thing because heres where many of the biggest optical telescopes are instaled because of low atmospheric moisture… the change also ocurrs near the coast.

2.- The Dark vegetation pixel found in this arid to semiarid region is not black enought so the algth. tends to light out the B8 bands… but the change ocurrs also in southern forest zones.

the documentation is here: https://step.esa.int/thirdparties/sen2cor/2.4.0/Sen2Cor_240_Documenation_PDF/S2-PDGS-MPC-L2A-SUM-V2.4.0.pdf

Why i think sen2corr is abnormally high in this zone is better shown in this image:

As it can be seen, in the “in-shadow pixels” the sen2cor tends makes NDVI go high, wich is consistent with the alteration in the RED/NIR ratio, for comparison Lansat 8 (LaSRC procesed) doesnt show that behaviour.