InSAR.dev is under active development—new features (and occasionally bugs) are added frequently. Please pin your library versions to ensure reproducibility. When something changes, check the published live examples, which are updated alongside library changes.
The previous-generation PyGMTSAR library is production-ready but requires GMTSAR binaries, supports only Sentinel-1, and has fewer processing capabilities.
| Package | Description | License |
|---|---|---|
| insardev | Core interferometric processing and analysis | InSARdev-SAL-1.0 |
| insardev_pygmtsar | Sentinel-1 and NISAR SLC preprocessing | BSD 3-Clause |
| insardev_toolkit | Utility functions and helper tools | BSD 3-Clause |
For funded academic, institutional, or professional use of the insardev package, see insardev/SUBSCRIBE. The BSD-licensed insardev_pygmtsar and insardev_toolkit do not require subscription.
The Cache APIs at insar.dev provide fast access to Sentinel-1 data via NASA ASF and Copernicus, and NASA NISAR data. Free for non-commercial use; license required for funded academic, institutional, or professional use. See insardev/LICENSE for terms.
- Per-burst/swath processing — each Sentinel-1 TOPS burst and NISAR swaths processed independently on a geocoded grid, no frame stitching required
- Geometric and xcorr coregistration — bursts and swaths aligned to a reference via radar-to-geographic transforms and refined by xcorr with differential topo phase correction between reference and repeat geometries
- Cloud-native storage — Zarr v3 with chunked arrays, works with local disk or GCS/S3 via fsspec
- Multi-core CPU — interferogram generation, filtering, detrending, phase unwrapping (1D and 2D) on all CPU cores (numba kernels in dask tasks), no GPU required
- Fast 2D phase unwrapping — L1-norm IRLS solver with a multigrid preconditioner that stops at the requested accuracy, robust to phase discontinuities and noise; the grid size is limited only by memory (about 55 bytes per pixel)
- Time series analysis — SBAS and PSI with least-squares and STL decomposition
- Dual-polarization support — all polarization channels (VV+VH or HH+HV) processed separately or together for PolSAR analysis
- Ascending and descending on the same grid — both orbit directions processed in common geocoded coordinates for straightforward vertical and east-west displacement decomposition
- Per-pixel incidence geometry — elevation-corrected incidence from spherical Earth model, no central-point approximation
- Integrated data access — download Sentinel-1 bursts and NISAR polarizations and frequencies, Sentinel-1 orbits, DEM, land mask, and map tiles
- Runs anywhere — locally on MacOS/Linux/Windows, on Google Colab, GitHub runners, Docker containers, and even Raspberry Pi 4 & 5
All examples have been tested on free Google Colab instances (2 slow vCPUs, 12 GB of RAM, and very slow disk access), which are temporary and can disconnect at any time. Not every long run succeeds, and Google Colab does not guarantee that processing will complete. A $10/month Google Colab subscription provides access to larger runtimes, where complete PolSAR and InSAR analyses can often be performed in just a few minutes. However, resources are still not guaranteed, so shorter processing runs reduce the risk of interruption.
For faster processing, preprocess Sentinel-1 or NISAR data at a lower resolution, then save and reuse the preprocessed Zarr stacks to complete InSAR analysis in minutes. For NISAR, use frequency B to reduce download size and processing time. If you need higher resolution, simply rerun the same proven pipeline with frequency A.
You can easily share your results publicly or with selected users, allowing others to reproduce them quickly and for free. This makes the examples ideal for educators and students.
NISAR L-band FrequencyA/B Split-Spectrum HH Time Series Analysis for Mexico City Subsidence.
NISAR L-Band HH/HV RGB composite, HH interferogram, and unwrapped phase.
Iran–Iraq Earthquake (2017). The results compared to outputs from GMTSAR, SNAP, and GAMMA software. Illustrates bursts search by area, date, and attributes.
Central Türkiye Earthquakes (2023). Interferogram covering two consecutive Sentinel-1 scenes (56 bursts).
Imperial Valley Subsidence, CA USA (2015). SBAS velocity map from a Sentinel-1 time series stack. Interactive result: Imperial_Valley_2015.html. Uses the same bursts as the GMTSAR 'Sentinel-1 TOPS Time Series' example.
Golden Valley Subsidence, CA USA (2021). SBAS velocity map detecting subsidence exceeding 5 cm/year near Antelope Valley Freeway in Santa Clarita, CA. Reproduces results from the EarthDaily Sentinel-1 Technical Series.
Erzincan Elevation, Türkiye (2019). DEM generation from a single Sentinel-1 interferometric pair. Reproduces the ESA tutorial DEM generation with Sentinel-1 IW.
InSAR.dev Premium modules extend the packages above with the precise ECEF preprocessor, PolSAR phase optimization, advanced per-date atmospheric trends, radiometric calibration, and more. The example notebooks open for everyone on Google Colab; rerunning them requires an active InSAR.dev Premium subscription, see pechnikov.dev.
Gastein Valley, Austria (2023–2026). Persistent and distributed scatterer (PS/DS) line-of-sight velocity from 91 dual-polarization Sentinel-1 dates with PolSAR phase optimization: 7,950 PS and 178,418 DS, down to the power line pylons hidden in vegetation.
- Author: Aleksei (Alexey) Pechnikov
- Website pechnikov.dev
- Email: alexey@pechnikov.dev
- ORCID: https://orcid.org/0000-0001-9626-8615
Bug reports and suggestions are welcome via the project's issue tracker.







