Vegetation recovery in Saint Barthélemy after Irma

Last year, in this post, I showed the comparison of two Sentinel-2 images of Saint Barthélemy in the Caribbean before and after the powerful Hurricane Irma.
 


 
A new feature in the EO Browser enables to plot the evolution of the mean NDVI within a polygon. I drew a rough polygon of Saint Barthélemy to check the evolution of the vegetation after Irma from Sentinel-2 data.
 

Time series of the average Normalized Difference Vegetation Index in Saint-Barthélemy extracted from Sentinel-2 observations


 
Here I used L1C data but it is also possible to use the L2A products from ESA, although these data are not always available. I manually adjusted the cloud fraction to remove the most obvious artifacts in the mean NDVI due to cloud contamination (clouds cause abrupt drops in the NDVI) [1]. This nice tool is sufficient to see that the vegetation quickly recovered after the hurricane, in about 1 month [2]. Catastrophic disturbances like hurricanes are actually known to contribute to maintain tree species diversity in tropical regions [3].
 
In the cities, according to Le Point, most of the damages have been repaired and the island is almost back to normal. This is good news for the people of St Barth!
 
Notes and references
[1] Under the hood, it's a "local area cloud detection algorithm based on the Braaten-Cohen-Yang method" Milcinski, G. Multi-year time series of multi-spectral data viewed and analyzed in Sentinel Hub. Medium, Apr 5, 2018.
[2] This is very similar to what has been observed in other tropical areas, e.g. "a sudden drop in NDVI values after Hurricane Maria’s landfall (decreased about 0.2) which returns to near normal vegetation after 1.5 months", Hu, T., & Smith, R. B. (2018). The Impact of Hurricane Maria on the Vegetation of Dominica and Puerto Rico Using Multispectral Remote Sensing. Remote Sensing, 10(6), 827.
[3] Vandermeer, J., de la Cerda, I. G., Boucher, D., Perfecto, I., & Ruiz, J. (2000). Hurricane disturbance and tropical tree species diversity. Science, 290(5492), 788-791.

Three snow seasons in the Pyrenees through the eyes of Sentinel-2 and Landsat-8

On June 23 we will celebrate the third anniversary of Sentinel-2A in orbit. With three years of data we can start looking at the inter-annual variability of biophysical variables, like.. (random example), the snow cover.

 

This is what I attempted to do for the Theia workshop. I downloaded all available snow cover products from Theia over the Central Pyrenees (tile 31TCH) and I generated additional snow maps from the Theia Landsat-8 level-2A products using let-it-snow processor. Landsat-8 images enable to increase the frequency of observations when only Sentinel-2A was operational between 2015 to 2017.

 

I resampled the Landsat-8 snow maps to the same reference grid as Sentinel-2 at 20 m resolution using the nearest neighbor method. I cropped all snow maps to the intersection of the Sentinel-2 tile (green polygon) and Landsat-8 tile (red polygon).


When there was a snow map from Sentinel-2 (S2) and Landsat-8 (L8) on the same day, I merged them into a composite using a simple pixel-based rule:
Continue reading

Are Sentinel-2 water vapour products useful ?

Atmospheric absorption: in blue, the surface reflectance of a vegetation pixel, as a function of wavelength. In red, the reflectance of the same pixel at the top of atmosphere. For a wavelength of 1.38 µm, water vapour totally absorbs the light that comes from the earth surface at sea level. At 0.94 µm (940nm), a weaker water vapour absorption band only partly absorbs the photons.

=>

Sentinel-2B has two channels centered on water vapour absorption bands: channel 9 (940 nm) and channel 10 (1380 nm). Band 10 corresponds to a very strong absorption, strong enough to prevent any photon to reach ground from the Sun without being absorbed in the atmosphere. This band is intensively used to detect and correct high clouds.

 

In this blog, we discussed much less band 9 (940 nm) yet. Here, water vapour absorption is not strong enough to catch all the photons which reach the surface. The proportion of absorbed photons depends on the water vapour atmospheric content, and also on the viewing and solar zenith angles. We use band 9 for atmospheric correction, but it could be useful to study convection phenomena within the atmosphere too.

Continue reading

Des applications pour la vapeur d'eau observée par Sentinel2 ?

Absorption atmosphérique. En bleu, la réflectance de surface pour un pixel couvert de végétation, en fonction de la longueur d'onde, en rouge la réflectance au sommet de l'atmosphère pour ce même pixel. A 1.38 µm, la vapeur d'eau absorbe totalement la lumière provenant de la surface au niveau de la mer. Autour de 0.94 µm, une autre bade d'absorption de la vapeur d'eau est visible, mais l'absorption y est moins intense

=>

Sentinel-2B dispose de deux canaux centrés sur des bandes d'absorption de la vapeur d'eau: la bande 9 (940nm) et la bande 10 (1380 nm). La bande 10 correspond à une très forte absorption, telle qu'en général, dans cette bande, les photons n'ont aucune chance d'atteindre le sol, et encore moins le satellite après réflexion sur le sol. Cette bande est utilisée pour détecter les nuages hauts.

 

Dans ce blog, nous avons jusqu'ici moins parlé de la bande d'absorption à 940 nm. Ici l'absorption des photons passant par la surface terrestre n'est pas totale, seule une forte proportion d'entre eux est absorbée, et cette proportion dépend bien sûr de la quantité de vapeur d'eau, mais aussi de l'inclinaison des directions solaires et d'observation. Cette bande nous sert à la correction atmosphérique, mais pourrait aussi, je pense, intéresser les spécialistes de l'atmosphère.

Continue reading

MAJA V3.1 will be distributed this May

Example of cirrus cloud correction


We will start distributing MAJA V3.1 this May to replace MAJA V1 on CNES free software platform.

 

It is also in the pipeline of enhancements of Theia processing platform (MUSCATE), but this pipeline is quite full, so we will need to be patient (which requires a big effort for me, patience not being my best quality...)

 

MAJA V3 comes with a lot of enhancements compared to V1 :

Continue reading

ESA is making plans for a global Sentinel2 reprocessing in 2019 to enhance multi-temporal registration

A good piece of news, directly from ESA's S2 project manager: ESA is now making plans for a global reprocessing of Sentinel-2 archive in 2019. As explained here, Sentinel-2 data multi-temporal registration isn't perfect yet. It should be improved in the first quarter of 2019, thanks to the use of ground control points obtained via automatic matching, but the issue with the reprocessing of Sentinel-2 archive had not been addressed. It is now, but of course not before 2019.

 

I let you imagine the amount of processing required to do so for the complete 3.5 years archive of Sentinel-2 at that time, so it will be costly and require hard work, but yet it is indispensable. Let's thank ESA and Copernicus for considering this and letting us know !

 

The odds to find snow in St. Moritz

Did you know that the St. Moritz Casino is the highest in Switzerland? If you like gambling, I have a little game for you: what are the odds to find snow near St. Moritz?

Fortunately, I just finished the processing of 218 Sentinel-2 dates from 2015-Dec-04 to 2018-Apr-10 of tile 32TNS with our let-it-snow processor. I did this off-line production for a colleague because, as of today, Theia only distributes the snow products after July 2017 in this region of Switzerland (see the available products here).
 
A quick way to check the output is to compute a snow cover probability map: that is, for each pixel, the number of times that snow was observed divided by the number of times that the snow could be observed.
 
To compute this map we just need to know that the Theia snow products (LIS_SEB.TIF raster files) are coded as follows:
0: No-snow
100: Snow
205: Cloud including cloud shadow
254: No data
 
Here is a piece of script to do this:

#!/bin/bash 
# initialize snow.tif with zeros
# store in Byte because we have less than 255 dates
f0=$(find . -name LIS_SEB.TIF | head -1)
gdal_calc.py --overwrite -A $f0 --type=Byte --calc=A*0 --outfile=snow.tif
# accumulate snow pixels in snow.tif
for f in $(find . -name LIS_SEB.TIF)
do
# snow is coded with 100
gdal_calc.py --overwrite -A $f -B snow.tif --type=Byte --calc="B+(A==100)" --outfile=snow.tif
done

# now do the same for clear.tif
# init
gdal_calc.py --overwrite -A $f0 --type=Byte --calc=A*0 --outfile=clear.tif
# accumulate clear pixels in clear.tif
for f in $(find . -name LIS_SEB.TIF)
do
# only snow and no snow are coded with values lower than 101
gdal_calc.py --overwrite -A $f -B clear.tif --type=Byte --calc="B+(A<101)" --outfile=clear.tif
done

# Finally compute the snow probability in % (100.0* makes the calculation in float)
gdal_calc.py -A snow.tif -B clear.tif --type=Byte --calc="(100.0*A)/B" --outfile=snowProba.tif

 
This is the output:
 

The images are scaled from 0 (black) to 100 (white). The units are number of days for snow and clear, percentage for snowProba.

 

From which you can map the odds to find snow near St. Moritz (click on the image to animate)!
 

[MUSCATE news] Early Sentinel-2B L2A images over France are available

=>

MUSCATE sentinel-2 L2A counter just reached 80000 products, but a lot more products were processed these past weeks. Indeed, the MUSCATE team started processing the early Sentinel-2B images acquired from July to October 2017, which were missing on our catalog. Indeed. We only started Level 2A treatments in October 2017, in real time (a bit late, but before the ESA;)). We take advantage of this processing to reprocess Sentinel-2A data, since the quality of the products from MAJA improves with the repetitiveness of the observations. And since we replace old versions with new ones (v 1.7), the product counter is not affected by the reprocessing of S2A data.

 

The reprocessing of data on France and its overseas territories is finished, and the treatment of the other European zones is in progress. We will continue soon with the African zones then those of the rest of the world. If you are using the Sentinel-2 data acquired in the second half of 2017, we encourage you to download them again. We took advantage of this reprocessing to also produce snow products in the France area.

 

 

 

 

 

[Nouvelles de MUSCATE] Le traitement au niveau 2A des anciennes données Sentinel-2B sur la France est terminé

=>
Le compteur de produits de Niveau 2A de Sentinel-2 de MUSCATE vient de franchir les 80000 produits, mais en fait, MUSCATE en a produit beaucoup plus. En effet, l'équipe d'exploitation (Joel, Raquel, Sylvie) a commencé à traiter les données de Sentinel-2B acquises de juillet à octobre 2017, qui manquaient dans notre catalogue. Nous n'avions démarré les traitements de niveau 2A qu'en octobre 2017, en temps réel (avec un peu de retard, mais avant l'ESA ;) ). Nous profitons de ce traitement pour retraiter les données Sentinel-2A, puisque la qualité des produits issus de MAJA s'améliore avec la répétitivité des observations. Et comme nous remplaçons les anciennes versions par les nouvelles (v 1.7), le compteur de produits n'est pas affecté par le retraitement des données S2A.

 

 

Le retraitement des données sur la France et ses territoires d'outre-mer est terminé, et le traitement des autres zones Européennes est en cours. Nous poursuivrons prochainement avec les zones Africaines puis celles du reste du monde. Si vous utilisez les données Sentinel-2 acquises au deuxième semestre 2017, nous vous encourageons donc a les télécharger à nouveau. Nous avons profité de ce retraitement pour produire également les produits neige sur la zone France.