Displacement Time-Series using MintPy

TODO @Madeline Lambert @Alex Dunn

This page provides a user-centric overview of the displacement time-series using MintPy processing pipeline. Developer-centric information is on Developer Information.

Use cases

Use Case 1: System continues forward “keep-up” production of S1-GUNW for volcano.

  • User adds an AOI for the system to keep up processing on, and enters the enumeration strategy.
    Note to Developer: The AOI boundaries should be defined such that they completely fill a track/frame.

  • System automatically pulls ancillary data for AOI (L1 SLCs, orbit data, calibration data, etc.).

  • System automatically processes from the L1 SLC to L2 S1-GUNW.

Use Case 2: System performs on-demand production of MintPy time-series for volcano.

  • User adds a volcano polygon encompassing the area around the volcano, and inputs track number and start/end dates for processing.
    Note to Developer: This is separate from the AOI definition - the AOI will cover a larger area, and the volcano polygon will contain a subset of that area, closer to the volcano. This use case assumes that an AOI has already been defined around the volcanic polygon, and S1-GUNW production is occurring or has completed.

  • System processes MintPy time-series for area defined by polygon, and publishes to S3.

  • User logs in to system to download time-series

Use Case 3: System updates MintPy time-series for volcano.

  • User adds a volcano polygon encompassing the area around the volcano, and inputs track number and start/end dates for processing.
    Note to Developer: The enumeration strategy for the volcano will be included in the larger AOI definition.

  • System performs forward keep-up production of time-series - either creates new time-series product or updates previous time-series for defined AOI with new acquisition.
    Note to developer: The MintPy code still needs to be updated to allow for updating prior time series - for now, this option would have to re-process all old data and create a new time-series product. Once the ability to update a time-series is developed, will have to determine at what frequency to update the time-series.

  • User logs in to system to download time-series.

Use Case 4: Machine learning applied to output of MintPy for potential anomaly detection.

  • System applies ML to detect potential anomalies in displacement time-series, and publishes detected results back to GRQ catalog.

  • User logs into system to browse potential anomalies.

Processing Pipeline

This diagram branches off from the larger system diagram on Standard Product S1-GUNW Processing Pipeline.

 

From a high-level, the main steps of this pipeline are:

  1. The production of a S1-GUNW from within a defined volcanic polygon triggers the MintPy PGE to run. Note: a mintpy volcano polygon will be separate from the larger defined AOI. The enumeration strategy for the encompassed volcano(es) will be entered upon creation of the larger volcanic AOI, which should follow track boundaries.

  2. The PGE takes a start and end time, track number and polygon as inputs (this information is all stored within the trigger rule), and outputs an HDF5 format file containing the displacement time-series for the AOI.

  3. The output of the MintPy PGE is then input for the volcano anomaly detection ML code.

Implementation Notes (@Alex Dunn )

 

References

Video walkthrough of ARIA-Tools and Time Series InSAR (Discussion of how to prepare ARIA data products for use in MintPy begins at around 3:00:23, and all following material relates to MintPy): https://www.youtube.com/playlist?list=PLzmugeDoplFP-Ju8LwWfALyIKLrPWDfbY

GitHub repo for ARIA-tools: https://github.com/aria-tools/ARIA-tools

GitHub repo for MintPy: https://github.com/insarlab/mintpy

Useful documentation of MintPy: https://mintpy.readthedocs.io/en/latest/

Jupyter notebook examples of how to manually run ARIA products through MintPy:

  1. https://nbviewer.jupyter.org/github/insarlab/MintPy-tutorial/blob/master/smallbaselineApp_aria.ipynb

  2. https://github.com/aria-tools/ARIA-tools-docs/blob/master/JupyterDocs/NISAR/L2_interseismic/mintpySF/smallbaselineApp_aria.ipynb