Sen2Water Algorithm
The Sen2Water processor combines three atmospheric correction
algorithms and a pixel identification algorithm, resampling, and
blending. Each of them is maintained on its own. Therefore, this
description mainly refers to existing documentation of the elements
combined in this processor. The distinction between ocean and
inland water and the behaviour of the algorithm at the ocean-inland
water interface are described here. More details are provided in
the
ATBD
.
Resampling
Accurate information about viewing angles is essential for
atmospheric correction. Due to the different detectors of MSI there
are discontinuities in the angles layer. Angles resampling is not
trivial and sometimes even requires extrapolation. Sen2Water
contains an optimised version of the SNAP S2Resampling operator. It
resamples to 60 meters, and it interpolates angles per detector,
and creates a common angles layer in addition to the resampled
reflectances.
There is one open issue with MSI L1C products: The detector
footprints of different bands do not exactly match. Therefore, a
unique viewing angle cannot be determined for some border pixels in
the overlap of detectors. The algorithm provided two options,
either to select the angles of one of the detectors (the one with
the higher number, this is the default), or to invalidate the
overlapping area between detectors (controlled by parameter). Some
time in the future this will hopefully be cured by a master
detector footprint selection for all bands when creating the L1C.
Distinction between ocean water areas, inland water areas, and
land
Sen2Water distinguishes ocean and inland water by a static ocean
mask. Dynamic water pixel identification refines the distinction
regarding land or water for each observation which makes a
difference e.g. for tidal areas.
Three sources have been used to derive the static mask used in
Sen2Water:
WorldCover distinguishes water from land, and the coastlines
distinguish ocean from inland water. From these distinctions a
static mask is derived with more details to guide dynamic pixel
identification. It also guides blending at the interface between
ocean and inland water where necessary. A buffer of the ocean
coastline into river estuaries defines the zone of blending at the
ocean-inland water interface. A buffer of the coastline defines the
zone of dynamic ocean water determination.
TOA Glint Correction
TOA Glint Correction is described in the
CMEMS HR-OC QUID 2024
, section IV.2 .
Pixel identification
Cloud screening and the dynamic discrimination of land and water
are two functions of pixel identification. Idepix is performing
this task in Sen2Water. The Idepix Sentinel-2 algorithm is defined
in the
Idepix ATBD
. Parameters that influence the way the algorithm works in
Sen2Water are:
- computeCloudShadow: whether to determine cloud shadow, set to
true
- computeMountainShadow: whether to determine mountain shadow,
set to true
- computeCloudBuffer: whether to extend clouds by a buffer, set
to true
- cloudBufferWidth: width of the 'safety buffer' around a pixel
identified as cloudy, set to 2
- computeCloudBufferForCloudAmbiguous: whether to consider
cloud-ambiguous as cloud for cloud buffer determination, set to
true
- demName: digital elevation model, set to "Copernicus 90m Global
DEM"
The output of Idepix is a collection of non-disjunctive masks with
a legend distinguishing various probabilities of cloud, cast
shadow, snow or ice, land or water, bright areas, invalid areas.
Atmospheric correction
Atmospheric correction over water surfaces presents significant
challenges due to the complex interactions between light, the
atmosphere, and water bodies. This process is crucial for
accurately retrieving water-leaving radiance, which is essential
for deriving valuable information about water quality and
composition. There are a number of specific challenges of
atmospheric correction over water:
- Water surfaces can be very dark: Water surfaces typically have
low reflectance, especially in the visible spectrum. This results
in a weak water-leaving radiance signal compared to the atmospheric
contribution, making it difficult to isolate the water signal [Mobley 2020] [Pan et al
2022].
- Water reflectance is largest in the blue part of the spectrum:
differently than for vegetated land surfaces, the short wavelength
part of the visible spectrum cannot be used to estimate the aerosol
reflectance. Instead, due to absorption by the water molecules, the
NIR part of the spectrum can be used for aerosol retrieval.
However, this causes the extrapolation of the aerosol signal over a
large spectral range from the NIR to the blue part of the
spectrum.
- Atmospheric Variability: The atmosphere's composition,
including aerosols and gases, can vary significantly over short
distances and time periods. This variability affects the scattering
and absorption of light, complicating the correction process [Mobley 2020].
- Surface Effects: Sun glint and sky glint from the water surface
can introduce additional noise and errors in the measured radiance,
further complicating the atmospheric correction [Wang et
al 2021].
- Adjacency Effects: In coastal and inland waters, radiation
reflected from nearby land surfaces can influence the signal
received by the sensor, a phenomenon known as the adjacency effect
[Pan
et al 2021].
To address these challenges, specific atmospheric correction
algorithms have been developed. In Sen2Water, three of those are
used which have been demonstrated to perform well. However, each of
them has its strength under certain conditions and a specific
algorithm selection and blending is applied.
- POLYMER: This algorithm uses a spectral matching technique and
is particularly effective in handling sun glint. It has shown good
performance in various water types, including coastal and inland
waters [Pan et al 2021][Pahlevan et al 2021].
- C2RCC: The Case-2 Regional Coast Colour processor uses neural
networks to simultaneously retrieve atmospheric and water
properties. It has been widely used for coastal and inland waters
and offers good performance across different water types [Pan et al
2021][Pahlevan et al 2021].
- ACOLITE: This algorithm is designed specifically for
high-resolution sensors and has shown promising results in turbid
coastal and inland waters. It uses image-based atmospheric
correction methods [Pan et al 2021][Pahlevan et al 2021].
The algorithm of C2RCC is described in [Brockmann, C. et al.,
Evolution of the C2RCC Neural Network for Sentinel 2 and 3 for the
Retrieval of Ocean Colour Products in Normal and Extreme Optically
Complex Waters, LPS 2016]. The algorithm of ACOLITE is defined in [
Vanhellemont Quinten, Adaptation of the dark spectrum
fitting atmospheric correction for aquatic applications of the
Landsat and Sentinel-2 archives
] and [
Vanhellemont Quinten, Sensitivity analysis of the dark
spectrum fitting atmospheric correction for metre- and
decametre-scale satellite imagery using autonomous hyperspectral
radiometry, 2020
]. The release notes of the software is available at
https://github.com/acolite/acolite/releases/latest
. Blending of ACOLITE and C2RCC results for ocean water is defined
in [Van der Zande Dimitry, et al. Improving operational ocean color
coverage using a merged atmospheric correction approach
[Conference] // SPIE Sensors+Imaging. - 2023]. The algorithm of
POLYMER is described in [
Steinmetz, F, Deschamps, P.-Y., Ramon, D., 2011
].
Blending of results at the ocean to inland water interface
The mouths of rivers are a spatial interface between ocean water
areas and inland water areas. If we would switch AC algorithms at
this interface then the reflectance values would not be continuous
at the fictive coastline. To avoid that we use an approach similar
to the blending between turbid and non-turbid waters, but based on
the distance from the fictive coastline instead of a band ratio.
Details are described in the
ATBD
.
Quality masks and quality statistics
The processing chain contains several processor steps that generate
masks. These masks have different legends. Depending on blending,
some masks may be applicable in ocean areas while other masks are
applicable to inland water areas. Where blending happens, several
masks apply. The L2W product provides a consistent set of three
groups of masks, one easy-to-use mask of alternative flag values,
and two expert sets of flag masks. The expert masks are the Idepix
output and a newly composed set of masks derived from the
combination of quality masks of the AC algorithms, and the result
of blending that shows which algorithm(s) has been applied to a
certain pixel. Values distinguished by the pixel-class mask:
- NO_DATA
- CLEAR_LAND_OR_VEGETATION
- CLEAR_OCEAN_WATER
- CLEAR_INLAND_WATER
- SNOW_ICE
- CIRRUS
- CLOUD_OR_MOUNTAIN_SHADOW
- AMBIGUOUS_CLOUD
- CLOUD
- AC_OUT_OF_BOUNDS
Flag mask values of the combined AC flags and blending:
- c2rcc_oor if Rtosa_OOS or RtosaOOR are set, the input spectrum
to the atmospheric correction neural net was out of the scope of
the training range and the inversion is likely to be wrong
- acolite_negatives if L2_negatives are set, quality flag of the
atmospheric correction
- polymer_invalid if bitmask & 1023 != 0, i.e. LAND or
CLOUD_BASE or L1_INVALID or NEGATIVE_BB or OUT_OF_BOUNDS or
EXCEPTION or THICK_AEROSOL or HIGH_AIR_MASS or EXTERNAL_MASK
- with_c2rcc
- with_acolite
- with_polymer
Theoretically, all three algorithms may have contributed in rare
cases in estuaries. Then, all with_ flags are set for respective
pixels. The pixel_classif_flags of the L2W is the output of Idepix.
Links & Resources