Second version of the Sentinel-2 Radiometric Uncertainty Tool

Dear all,

I would like to let you know that the second version of the Sentinel-2 Radiometric Uncertainty Tool has been released and it is now available to install/update if you go into Tools–>Plugins and select the tab Available Plugins. Select S2 Radiometric Uncertainty Tool. If the version 2.0 is not shown, please press Check for Newest.

Available code can be found at the RUT repository.

This second version includes new features and changes as:

  • Associated metadata
  • Masks management
  • Parallel processing study
  • Uncertainty for radiometric validation and spatial binning
  • S2A/S2B separation
  • Other minor issues as: simplified band selection, SZA per pixel…

Please check the HTML documentation in order to make full use of the new features. You can also contact us (this thread or e-mail to javier.gorrono@npl.co.uk) if you experience any issue or you need further information.
This new version will be also presented at the IEEE IGARSS 2018 on the 26th of July.

Cheers

Javier Gorroño

2 Likes

One of the issues concerning users of the S2-RUTv1 was the long processing time. When processing several bands and products, this could take a considerable amount of time.

For the second version, a study has been carried out with the intention to process the bands and products in parallel. Unfortunately, the underlying CPython interpreter and the Python SNAP interface currently limit this approach. A further release of the SNAP Python Java will try to overcome this issue.

However, you can integrate the RUTv2 in your processing chain and run it in parallel by using the gpt command.

This snippet example shows 2 S2 L1C run in parallel and process the uncertainty for B1, B2, and B3 bands.

#! /bin/bash
_ # This is an example to run the S2-RUT with 2 products in parallel_

S2PRODUCTS=(“S2A_MSIL1C_20180220T105051_N0206_R051_T30SYJ_20180221T134037.SAFE” “S2B_MSIL1C_20180225T105019_N0206_R051_T30SYJ_20180225T161518.SAFE”)
basePath=“PATH_TO_FOLDER_WITH_S2_PRODUCTS/”

for prod in “${S2PRODUCTS[@]}”;
do
_ outpath=$basePath${prod:0:(-5)}rut.dim
_ gpt S2RutOp -Ssource=$basePath$prod –t $outpath -Pband_names=“B1,B2,B3” &_
done

The processing time in a multi-core machine is virtually identical when running one or both products. Let us now!!!