Sentinel-1 Multi-temporal Backscatter Coefficient Composite

//VERSION=3 (auto-converted from 1)
// ***
// Sentinel-1 Multi-temporal Backscatter Coefficient Composite
// For use in Sinergise EO Browser (https://apps.sentinel-hub.com/eo-browser).
// Multi-temporal processing needs to be configured for layers.
// Author: Annamaria Luongo (Twitter: @annamaria_84, www.linkedin.com/in/annamaria-luongo-RS), 
// CC BY 4.0 International - https://creativecommons.org/licenses/by/4.0/
// ***

// ****General definition*************
//Definition date/images used in the composite
var earliest_date = "2018-04-11"; var middle_date = "2018-06-10"; var latest_date = "2018-08-21"; // Kilauea volcano evolution during 2018's eruption
//var earliest_date = "2019-03-13"; var middle_date = "2019-03-19"; var latest_date = "2019-03-25"; // Beira flooding, Mozambique
//var earliest_date = "2018-05-06"; var middle_date = "2018-06-05"; var latest_date = "2018-07-11"; // Po delta, Italy, soil/crop evolution 
//var earliest_date = "2017-05-13"; var middle_date = "2017-07-06"; var latest_date = "2017-07-12"; // Vesuvio wildfire, Italy
//var earliest_date = "2018-12-19"; var middle_date = "2018-12-25"; var latest_date = "2018-12-31"; // Anak Krakatau Volcano evolution during the first three weeks after the eruption 
//var earliest_date = "2018-12-16"; var middle_date = "2018-12-22"; var latest_date = "2018-12-28"; // Etna Volcano, Christmas' eve eruption     
//var earliest_date = "2017-04-13"; var middle_date = "2018-04-20"; var latest_date = "2019-04-15"; // Viedma glacier, Argentina, during 2017-2019
//var earliest_date = "2017-04-13"; var middle_date = "2018-04-20"; var latest_date = "2019-04-15"; // Filadelfia, Paraguay, deforestation 
//var earliest_date = "2018-03-25"; var middle_date = "2018-08-16"; var latest_date = "2018-12-26"; // Mekong delta, Vietnam, rice growth
//var earliest_date = "2017-04-16"; var middle_date = "2018-04-11"; var latest_date = "2019-04-06"; // Mississipi delta, USA, during 2017-2019  


// Definition stretch value for Composite
var stretch_min = 0.0; var stretch_max = 1.1; // default value are stretch_min = 0; stretch_max = 1.1.
// ***********************************

// Selection of polarization
function setup() {
  return {
    input: [{
      bands: [
        "VV"
      ]
    }],
    output: { bands: 3 },
    mosaicking: "ORBIT"
  }
}


// Selection of dates for composite / analysis

function preProcessScenes(collections) {
  var allowedDates = [latest_date, middle_date, earliest_date];  //(1°date/latest image-> red; 2°date-> green;  3°date/earliest image->blue)
  collections.scenes.orbits = collections.scenes.orbits.filter(function (orbit) {
    var orbitDateFrom = orbit.dateFrom.split("T")[0];
    return allowedDates.includes(orbitDateFrom);
  })
  return collections
}

// Date conversion  
function dateformat(d) {
  var dd = d.getDate();
  var mm = d.getMonth() + 1;
  var yyyy = d.getFullYear();
  if (dd < 10) { dd = '0' + dd }
  if (mm < 10) { mm = '0' + mm }
  var isodate = yyyy + '-' + mm + '-' + dd;
  return isodate;
}


// Backscatter Coefficient
function calcdB(sample) {
  return (Math.max(0, Math.log((sample.VV)) * 0.21714724095 + 1));
}


// Stretch of RGB
function stretch(val, min, max) {
  return (val - min) / (max - min);
}

// RGB visualization
function evaluatePixel(samples) {
  var band1 = calcdB(samples[2]); // R: latest image
  var band2 = calcdB(samples[1]); // G: middle-time image
  var band3 = calcdB(samples[0]); // B: earliest image
  var FalseColors = [stretch(band1, stretch_min, stretch_max), stretch(band2, stretch_min, stretch_max), stretch(band3, stretch_min, stretch_max)];
  return (FalseColors);
}

Description

For the interpretation of results, you can use The Synthetic Aperture Radar (SAR) Handbook: Comprehensive Methodologies for Forest Monitoring and Biomass Estimation, 2019: table 3.1 page 66.
The book is available for free here.
The script visualizes Earth surface in False Color from Sentinel-1 data.
It helps in maritime monitoring (ice monitoring, ship monitoring,…) land monitoring (agricolture, deforestation,…) and emergency management (flood monitoring, volcano monitoring, …).

Examples

Sentinel Hub Custom Script Contest

Contributors:

Annamaria Luongo