Skip to content

matthew-gaddes/LiCSAlert

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Introduction

LiCSAlert is an algorithm to detect changes in the signals at sub-aerial volcanoes that are imaged by the Sentinel-1 satellites. The algorithm is detailed fully in Gaddes et al., 2019 but, briefly:

  • The time series is divided into baseline interferograms and monitoring interferograms (e.g. the first third of a time series and the remainder).
  • The ICASAR algorithm is run on the baseline interferograms to find a set of spatially independent sources that are thought to represent the latent deformation and atmosphere signals present at a volcano.
  • The temporal behaviour of these signals is calculated through performing a simple inversion to fit each baseline interferogram with them.
  • During monitoring, the same inversion is performed to fit new interferograms.
    • If the way in which the spatial sources is used changes significantly, the volcano is flagged as having entered a period of unrest (e.g. acceleration of uplift).
    • If the ability of the spatial sources to fit the interferograms (i.e. the residual) changes significantly, the the volcano is flagged as having entered a period of unrest (e.g. a previously unseen deformation signal appears).

The figure below shows the results when the algorithm is applied to a time series of Sentinel-1 data that images Sierra Negra volcano (Galapagos Archipelago) before the 2018 eruption. Note that the caldera floor uplift is capture in the first component, and its acceleration flagged (the red bars). Additionally, the residual (lowest plot) increases before the eruption, suggesting the spatial pattern of the deformation has changed slightly.

sierra_negra_resized

Installation

A suitable python environment can be created using the conda command:
conda env create --file LiCSAlert.yml

The ICASAR package will also be needed, and the ICASAR_path argument updating to point to it.

Batch mode usage

Batch mode usage is simpler than monitoring mode as it does not automatically updated the time series using LiCSBAS when new LiCSAlert products are available. Simply prepare unwrapped incremental interferograms in your software of choice, mask pixels that you do not wish to include (e.g. water bodies, incoherent areas etc.), and flatten each interferogram to a 1D vector that only contains values for the unmasked pixels.

There are three groups of inputs:

  1. ICASAR_path | the path to a local copy of ICASAR

  2. LiCSAlert_settings

    • n_baseline_end | The number of interferograms to use in the baseline stage. E.g. 30, to use the first 30, and any remaining will be used for monitoring.
    • out_folder | Where to store the outputs of LiCSAlert
    • run_ICSAR | True or False. If it has been run before, setting this to False will try to load the previous results.
    • intermediate_figures | If True, a figure is made for each time step, but if False, a single figure is made for the whole time series. Intermediate figures can be useful for making .gif animations. See the example for the differences in the outputs (and runtime!).
    • downsample_run | Downsampling the data can speed up runs.
    • downsample_plot | Downsampling the data for plotting can speed up making figures. Note that this is applied after the downsample_run command, so is compound (i.e. 0.5 for downsample_run and 0.5 for downsample_plot produces a final downsampling of 0.25 for the plotted signals).
  3. ICASAR_settings

Monitoring mode usage

It uses LiCSBAS to create time series, which in turn uses the interefrograms that are automatically created by LiCSAR. A simple example is outside the scope of this repository.