S2-RUT Algorithm Specification

Description of class S2RutOp

Step 1: Initialize function

This function defines the product reading, the setup of the uncertainty product output and the global parameters extraction. Specific tasks:

Step 2: computeTile function

This function selects the specific band in a tile, extracts the required parameters and sets the uncertainty samples after calling the S2RutAlgo operator. Specific tasks:

Description of class S2RutAlgo

Step 1: Undo reflectance conversion

This step converts the L1C reflectance in L1B CN counts.

cn = (self.a * self.e_sun * self.u_sun * math.cos(math.radians(self.tecta)) / ( math.pi * self.quant)) * band_data.

Step 2: Orthorectification process

This step evaluates the impact of the uncertainty propagation through the resampling process.

RUTv1 does not include this step. This is to be implemented in next versions of the RUT

Step 3: L1B uncertainty contributors: raw and dark signal

NOTE: Each the following uncertainty contributors are pre-checked and included if unc_select == True

Step 4: L1B uncertainty contributors: gamma correction

Predefined relative gains residual in % units

u_gamma = 0.4

Step 5: L1C uncertainty contributors: absolute calibration coefficient

Step 6: L1C uncertainty contributors: reflectance conversion

Impact of the reflectance factor digitisation in % units

u_ref_quant = 100 * (0.5 / math.sqrt(3)) / band_data

Step 7: Combine uncertainty contributors