sentinel-hub / sentinelhub-py

Download and process satellite imagery in Python using Sentinel Hub services.
http://sentinelhub-py.readthedocs.io/en/latest/
MIT License
815 stars 249 forks source link

[HELP] Sentinel-3 OLCI L1B documentation #530

Closed AdrienWehrle closed 4 months ago

AdrienWehrle commented 5 months ago

Hi!

I was browsing through the description of the Sentinel Hub data collections available in sentinelhub-py and realized I struggle understanding the Sentinel Hub variable associated with the Sentinel-3 L1B product.

The documentation of the Sentinel-3 OLCI L1B Sentinel Hub data collection specifies "Level-1B provides calibrated, ortho-geolocated and spatially re-sampled Top Of Atmosphere (TOA) radiances for the 21 OLCI spectral bands." and then in the Units section "Radiance (mW.m-2.sr-1.nm-1). Note that Sentinel Hub returns reflectance." and further down in the Sentinel Hub units section of the band description: "Sentinel Hub Units: REFLECTANCE".

Am I understanding correctly that the variable returned is a radiance in mW.m-2.sr-1.nm-1 whose field name in the Sentinel Hub data collection is reflectance? Or is Sentinel Hub applying a radiance-to-reflectance algorithm to L1B to return an actual reflectance?

Thank you a lot in advance for your help!

maximlamare commented 4 months ago

Hi Adrian,

In Sentinel Hub, S3 OLCI is converted to reflectance using the standard formula. We are planning to add direct access to radiances in the future too. This will be announced through our usual channels when available.

AdrienWehrle commented 4 months ago

Hi Maxim,

thanks a lot for your answer! So what is presented as L1B by Sentinel Hub (eg here) is actually L2?

Since the processing level given by sentinelhub.DataCollection.SENTINEL3_OLCI is L1B and Copernicus states the following (eg here):

" Level-1 processing uses Level-0 products to compute radiometrically calibrated, georeferenced and annotated radiances for each OLCI channel. Several contextual elements are also computed such as quality flags and pixel classification flags. Two specific calibration mode are also part of this Level-1 processing : the OLCI radiometric Calibration and the OLCI Spectral Calibration

Level-2 processing uses Level-1 products inside the two main processes: the Ocean processing and the Land processing. A first pre-processing module is converting the TOA radiances into reflectance corrected for gaseous absorption. Then, each process is providing a specific product "

or also here where the radiance to reflectance conversion is presented as an L2 algorithm.

If so, I think it would reduce confusion to call the collection and associated documentation L2 and not L1B!

Thank you a lot for your help!

maximlamare commented 4 months ago

I wouldn't call it Level-2: it's simply a conversion of units, so it is still the same level product, as there is no correction applied. The formula is the one found in user documentation for Sentinel-3:

Screenshot 2024-05-27 at 12 31 07 Screenshot 2024-05-27 at 12 32 30
AdrienWehrle commented 4 months ago

Great, thanks a lot! So I understand from this that it's close to a L2 product since it's a reflectance and not a radiance (computed following the equation you just shared), yet not an actual L2 because there's no eg atmospheric correction (as eg presented here for OLCI L2 processing).

I think this data collection is then similar to the reflectances we used to get from passing the OLCI L1 EFR into the SNAP Rad2Refl processor, so that's great!

Thank you for your help on this, Maxim! And I hope you're doing well :)