custom-scripts icon indicating copy to clipboard operation
custom-scripts copied to clipboard

Sentinel-2 indices might be invalid

Open mslapek opened this issue 5 years ago • 2 comments

Many indices for Sentinel-2 are based on https://www.indexdatabase.de website.

Consider Sentinel-2A entry from indexdatabase.de. Notice table Bands/Channels with columns Nr. and Name.

After analysis I've came up with interpretation of this site, which is significantly different from interpretation postulated in many indices on this repo.

Proposed index formula interpretation

(The interpretation is based on my guess, however the following reasoning supports it. Please correct me if I am wrong.)

  • band value in violet italic is entry from Nr. column,
  • band value in violet straight is entry from Name column.

For example:

  • 9 in violet italic is Band B8A,
  • 9 in violet straight is Band B09.

Why this interpretation is valid?

Consider sentinel-hub ARVI script.

The general formula has as a first term NIR. Specific formula starts (on indexdatabase.de) with 9 in violet italic.

  • in proposed interpretation, this corresponds to row with Nr. = 9, which is a band with Name = 8a. This gives "Narrow NIR" band.
  • on this repo this is interpreted as band with Name = 9. This gives "Water vapour".

Since general formula mentions "NIR", I believe that proposed interpretation in this issue is valid.

I've attached PR with proposed fix for ARVI, which follows this reasoning.

Which indices are affected?

Many Sentinel-2 indices, including:

  • ARVI
  • EVI, which assigned to 9 in violet italic a band B08 (instead of B09 like in ARVI),
  • many other indices, which refer to bands higher than 8.

Potentially this interpretation problem can be present in indices for other satellites.

mslapek avatar Jan 10 '20 15:01 mslapek

Hi Michal,

thank you for this notice. There seems indeed to be some errors. That being said, it is not that straightforward. E.g. EVI should certianly be using NIR band (B08), not Red edge (B8A), so the script in our repository is correct. If I remember correctly, we have actually used band names (NIR, RED,...) rather than the "numbers" since these were not found to be consistent.

In ARVI however it should indeed be B08 instead of B09. So there be dragins.

We will take a deeper look in what went wrong. This was done 3 years ago so we need to dig out some stuff :)

I will for the moment not yet accept your merge requests so that we keep the repository "untouched" for debugging.

Thanks!

Best, Grega

gmilcinski avatar Jan 27 '20 08:01 gmilcinski

Just to register one note to the readme of https://github.com/sentinel-hub/custom-scripts/tree/master/sentinel-2/ndmi It says:

Option 1 - Used to monitor changes in water content of leaves, proposed by Gao. NDWI = (B08 - B11) / (B08 + B11)

In Gao's paper linked, it says 0.86lxm (860nm), which for Sentinel-2's is B8A . But in the scrip itself it's OK, it uses B8A.

smaprs avatar Feb 14 '20 23:02 smaprs