Biophysical Processor Algorithm Specifications |

The proposed algorithm is based on methods that have already been proven to be efficient.

They have been implemented to generate biophysical products from VEGETATION, MERIS, SPOT, and LANDSAT sensors. It mainly consists in generating a comprehensive database of vegetation characteristics and the associated SENTINEL2 or LANDSAT8 top of canopy (TOC) reflectances. Neural networks are then trained to estimate the canopy characteristics from the TOC reflectances along with set corresponding angles defining the observational configuration.

For the Sentinel 2 Products 2 different neural network architecture have been implemeneted, the NNET 20m and the NNET 10m. The two use a different combination of input bands as shown in the table below as input for the neural network in addtition to the auxiliary bands cos(viewing_zenith), cos(sun_zenith), cos(relative_azimuth_angle).

Band | Central Wavelength (nm) | Resolution (m) | NNET 20m | NNET 10m
--- | --- | --- | --- | ---
B1 | 443 | 60 |  |
B2 | 490 | 10 |  |
B3 | 560 | 10 | x | x
B4 | 665 | 10 | x | x
B5 | 665 | 10 | x |
B6 | 740 | 20 | x |
B7 | 783 | 20 | x |
B8 | 842 | 10 |  | x
B8a | 865 | 20 | x |
B9 | 945 | 60 |  |
B10 | 1375 | 60 |  |
B11 | 1610 | 20 | x |
B12 | 2190 | 20 | x |

The NNET 10m uses only 10m bands and so it produce a 10m resolution output product, however it is capable of computing only the LAI, FAPAR and FVC indexes.

For the LANDSAT8 the same approach is used, but in this case the bands used as inputs are the green, red, near_infrared, swir_1 and swir_2 in addition to the auxiliary bands (zenith and azimuth both for sun and view).
In this case, as for the NNET 10m the algorithm is capable of computing only the LAI, FAPAR and FVC indexes.

Both NNET 10m, NNET 20m and LANDSAT8 neural networks are composed by three layers:

- one input layer: made of 11 normalized input data for the NNET 20m, 6 for the NNET 10m and 7 for the LANDSAT8 one.
- one hidden layer with 5 neurons with tangent sigmoid transfer functions
- one output layer with a linear transfer function

In the final implementation there are two NNET 20m, one trained with S2A data and one with S2B data, and two NNET 10m, again trained for S2A and S2B respectively. This results in output more relaible and with better accuracy and take in accound the small differences in the reflectance response of the different sensors.

The actual algorithm running in SNAP runs the prediction step of the neural network, from the set of precomputed coefficients computed during the training phase.

For more details, please refer to the algorithm theoretical based document: