Kind regards to all,
Using L2A products, after the update 04.00 (https://sentinels.copernicus.eu/web/sentinel/-/copernicus-sentinel-2-major-products-upgrade-upcoming) there is a change in the data as stated in the entry:
Provision of negative radiometric values (implementing an offset): Similarly to Level-1C, the dynamic range will be shifted by a band-dependent constant, i.e. BOA_ADD_OFFSET. From the user’s point of view, the L2A Bottom of Atmosphere (BOA) reflectance (L2A_BOA) shall be retrieved from the output radiometry as follows:
- Digital Number DN=0 remains the “NO_DATA” value
- For a given DN in [1;2^(15)-1], the L2A BOA reflectance value will be: L2A_BOAi = (L2A_DNi + BOA_ADD_OFFSETi) / QUANTIFICATION_VALUEi
Due to this change, after 25 January of 2022, it can be seen that when extracting the values of the bands using snappy in the same way as before, these values are approximately 0.1 higher.
I attach an interpolated graph of the B2 band for the year 2021 and 2022
product = ProductIO.readProduct(file)
band = product.getBand("B2")
After checking the forum, we see that this problem may be solved by a parameter called “harmonizeValues”.
The problem we are currently facing is how to get this “pre-corrected” data from each of the bands through snappy. How to introduce this parameter before the getBand, so that the values are given to us in the same way as before.
In the event that it would be resolved with harmonizeValues, we have seen that, for example, to introduce a resolution change parameter would be to add the targetResolution parameter to 60 and do a Resample operation.
HashMap = jpy.get_type('java.util.HashMap')
parameters = HashMap()
parameters.put('targetResolution',60)
result = GPF.createProduct('Resample', parameters, product)
For the harmonizeValues parameter, what kind of operation or process should be done or if there is anything else to take into account?
Thanks to all