Mapping forest fire progression with Sentinel-2 and Sentinel-1

//VERSION=3
//Multitemporal forest fire progression monitoring script utilizing a) Sentinel-2 data from 7 September 2019 for the visualization of burned areas
//and b) Sentinel-1 SAR data from 7 September and 12 September 2019 to monitor forest fire progression in overcast conditions.
//Author: Max Kampen

function setup() {
  return {
    input: [
      {datasource: "s1_t1", bands:["VH"]},                                  // S1 data from 7 September 2019 (t1)
      {datasource: "s1_t2", bands:["VV", "VH"]},                            // S1 data from 12 September 2019 (t2)
      {datasource: "l2a_t1", bands:["B03", "B04", "B08", "B11", "B12"]}],   // S2 data from 7 September 2019 (t1)
    output: [
      {id: "default", bands: 3, sampleType: SampleType.AUTO}
    ]
  };
}


function evaluatePixel(samples, inputData, inputMetadata, customData, outputMetadata) {
  var s1_1 = samples.s1_t1[0];     //Assigns S1 data from t1
  var s1_2 = samples.s1_t2[0];     //Assigns S1 data from t2
  var s2_1 = samples.l2a_t1[0];    //Assigns S2 data from t1

  // Calculate indices with S2 data from t1 for 'Burned Area Visualization' by Monja Sebela
  var NDWI = index(s2_1.B03, s2_1.B08);
  var NDVI = index(s2_1.B08, s2_1.B04);
  var INDEX = ((s2_1.B11 - s2_1.B12) / (s2_1.B11 + s2_1.B12))+(s2_1.B08);

  // Calculate difference in S1 VH backscatter between second (t2) and first scene (t1) (Belenguer-Plomer et al. 2019)
  var VH_diff = (s1_2.VH - s1_1.VH);

  // Set classification threshholds
  var thr_VH = 0.03;
  var thr_VH_diff = -0.015;
  var thr_VV = 0.2;

  if((NDWI > 0.15)||(NDVI > 0.35)||(INDEX > 0.2)){                   // If non-burned areas in S2 image from t1
    if ((s1_2.VH < thr_VH) & (VH_diff < thr_VH_diff)){               // are classified as burned in S1 image from t2 via threshholds for VH backscatter and the calculated difference layer
      return{default: [1,0,0]};                                       // Return red color
    }else{
      return{default: [2.5*s2_1.B12, 2.5*s2_1.B08, 2.5*s2_1.B04]};    // Else return SWIR composite
    }
  }else{
    if (s1_2.VV < thr_VV){              // Else, if already burnt area is also burned in S1 image from t2
      return{default:[0.9,0.9,0.7]};    // Return light yellow color
    }else{
      return{default:[0,0,1]};          // Else return blue for areas that are no longer burned in S1 image from t2
    }
  }
}

Evaluate and visualize

General description of the script

One big advantage of using data fusion techniques is that the combined sensors can compensate for difficulties of the other. Especially for the monitoring of dynamic environmental disturbances like forest fires, a data gap would mean uncertainty and could hinder the development of mitigation strategies and delay countermeasures.

Using the example of a forest fire that ravaged the border region of Paraguay and Bolivia in September 2019, we created a multitemporal forest fire progression monitoring script. The Sentinel-2 Short wave infrared (SWIR) composite (Red: Band 12, Green: Band 8, Blue: Band 4) lets us draw conclusions about water content in soil and plants, as water strongly reflects in SWIR wavelengths. Consequently, the visualisation is very useful for mapping fire damages, e.g. burn scars, because the moisture difference between burned areas and their unaffected surroundings contrasts very well.

Unfavourable weather conditions can disrupt multitemporal analysis of optical data. In this example, the Sentinel-2 dataset from 7th September 2019 was acquired in perfect conditions, but Sentinel-2 data from the next acquisition date on 12th September 2019 was useless because our area of interest was completely overcast. The Sentinel-1 SAR was the perfect supplement with its ability to penetrate clouds and the recorded backscatter conveying information about vegetation and soil moisture levels.

Following a methodology developed by Spanish and Australian researchers in 2019 (Belenguer-Plomer et al. 2019), a VH backscatter difference layer was created through subtracting VH backscatter image recorded on 7th September 2019 from the second VH backscatter image recorded on 12th September 2019. Besides the custom script for Burned Area Visualisation, the difference layer served as additional input for the mapping of forest fire progression.

The forest fire progression script produces a fire propagation map where areas that were already burned on 7th September 2019 are coloured in light yellow, and the newly burned areas in red. By combining data from two different satellite sensors we can avoid data gaps and clearly monitor different development stages of the forest fire, even during highly inconsistent weather conditions.

Description of representative images

  1. Left: S-2 SWIR composite from 7th September 2019 showing the burn scar with active forest fires. Right: a True Color image of the next acquisition date on 12th September 2019 showing completely overcast conditions. NDBI
  2. Left: Sentinel-1 image in VV polarisation mode on 12th September 2019 showing the propagation of the forest fire. Right: the calculated VH backscatter difference layer that was created by subtracting the first from the latter dataset. NDBI_map
  3. Fire propagation map depicting previously burned areas from 7 September 2019 in light yellow (analysed with Sentinel-2 data), and newly burned areas in red (analysis based on Sentinel-1 data) on a Sentinel-2 SWIR composite background. RGB

Contributors:

Max Kampen