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?

Badrutt's Palace Hotel in 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 datesf0=$(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.tiffor f in $(find . -name LIS_SEB.TIF)do# snow is coded with 100gdal_calc.py --overwrite -A $f -B snow.tif --type=Byte --calc="B+(A==100)" --outfile=snow.tifdone# now do the same for clear.tif# initgdal_calc.py --overwrite -A $f0 --type=Byte --calc=A*0 --outfile=clear.tif# accumulate clear pixels in clear.tiffor f in $(find . -name LIS_SEB.TIF)do# only snow and no snow are coded with values lower than 101gdal_calc.py --overwrite -A $f -B clear.tif --type=Byte --calc="B+(A<101)" --outfile=clear.tifdone# 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)! 

One thought on “The odds to find snow in St. Moritz

  1. Hi Simone,Just trying to mimic the recent flood event in Lake Eyre basin (24/03/2018): https://earthobservatory.nasa.gov/IOTD/view.php?id=92100), based on one of your scripts. I am not familiar with flood mapping using Sentinel images and appreciate if you could check a slightly modified version of your script:// This script was originally written by Simon Ilyushchenko (GEE team) and ....// Default locationvar pt = ee.Geometry.Point(137.292, -28.175); // LAKE Eyre Basin// Load Sentinel-1 C-band SAR Ground Range collection (log scaling, VV co-polar)var collection = ee.ImageCollection('COPERNICUS/S1_GRD').filterBounds(pt).filter(ee.Filter.listContains('transmitterReceiverPolarisation', 'VV')).select('VV');// Filter by datevar before = collection.filterDate('2018-02-18', '2018-03-20').mosaic();var after = collection.filterDate('2018-04-09', '2018-04-15').mosaic();// Threshold smoothed radar intensities to identify "flooded" areas.var SMOOTHING_RADIUS = 500;var DIFF_UPPER_THRESHOLD = -3;var diff_smoothed = after.focal_median(SMOOTHING_RADIUS, 'circle', 'meters').subtract(before.focal_median(SMOOTHING_RADIUS, 'circle', 'meters'));var diff_thresholded = diff_smoothed.lt(DIFF_UPPER_THRESHOLD);// Display mapMap.centerObject(pt, 13);Map.addLayer(before, {min:-30,max:0}, 'Before flood');Map.addLayer(after, {min:-30,max:0}, 'After flood');Map.addLayer(after.subtract(before), {min:-10,max:10}, 'After - before', 0);Map.addLayer(diff_smoothed, {min:-10,max:10}, 'diff smoothed', 0);Map.addLayer(diff_thresholded.updateMask(diff_thresholded),{palette:"0000FF"},'flooded areas - blue',1);thanksDawit

Répondre à Dawit Berhane Annuler la réponse

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *