phase-o-matic
Python package for calculating Interferometric Synthetic Aperture Radar phase delays from ERA5 atmospheric models. Utilizes x-array to easily download, processes, and add phase delays to netcdfs of InSAR Phase.
Science Score: 67.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 8 DOI reference(s) in README -
✓Academic publication links
Links to: zenodo.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (12.1%) to scientific vocabulary
Repository
Python package for calculating Interferometric Synthetic Aperture Radar phase delays from ERA5 atmospheric models. Utilizes x-array to easily download, processes, and add phase delays to netcdfs of InSAR Phase.
Basic Info
- Host: GitHub
- Owner: ZachHoppinen
- License: mit
- Language: Jupyter Notebook
- Default Branch: main
- Size: 11.7 MB
Statistics
- Stars: 5
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 4
Metadata Files
README.md
phase-o-matic
Python package for calculating Interferometric Synthetic Aperture Radar phase delays from ERA5 atmospheric models. Utilizes xarray to easily download, processes, and add phase delays to netcdfs of InSAR Phase.
Useful publications for this repo: - Doin, M.-P., Lasserre, C., Peltzer, G., Cavalié, O., and Doubre, C.: Corrections of stratified tropospheric delays in SAR interferometry: Validation with global atmospheric models, J Appl Geophys, 69, 35–50, https://doi.org/10.1016/j.jappgeo.2009.03.010, 2009.
Jolivet, R., Agram, P. S., Lin, N. Y., Simons, M., Doin, M., Peltzer, G., and Li, Z.: Improving InSAR geodesy using Global Atmospheric Models, J Geophys Res Solid Earth, 119, 2324–2341, https://doi.org/10.1002/2013jb010588, 2014.
Hu, Z. and Mallorquí, J. J.: An Accurate Method to Correct Atmospheric Phase Delay for InSAR with the ERA5 Global Atmospheric Model, Remote Sens-basel, 11, 1969, https://doi.org/10.3390/rs11171969, 2019.
This code and ERA data registration instructions are adapted from the awesome atmospheric phase delay repo: https://github.com/insarlab/PyAPS.

Installation
Pip installation
bash
pip install phase_o_matic
ERA5 Data Registration
ERA5 is atmospheric data distributed by the Copernicus Climate Change Service. You must register for an account and save the provided locally where you are downloading.
- Create an account with the Copernicus Climate Data Servce.
- Next create a new file in your home directory called
.cdsapircbash cd ~ nano .cdsapircwith the following text:
url: https://cds.climate.copernicus.eu/api/v2
key: 12345:abcdefghij-134-abcdefgadf-82391b9d3f
Where you have replaced 12345 with your previous user ID and the part behind the colon (abcdefghij-134-abcdefgadf-82391b9d3f) with your personal API key. More details
- Make sure you have accepted the data licences Terms on the ECMWF website
Usage
This example usage is also available in notebooks/usage.ipynb
```python import sys import xarray as xr import matplotlib.pyplot as plt
from phaseomatic import prestophasedelay
this relative path assumes you are in the notebooks directory
dem = xr.opendataset('../pyAPSdata/pyapsgeom.nc')['dem'] inc = xr.opendataset('../pyAPSdata/pyapsgeom.nc')['inc']
workdir = '../pyAPSdata/example'
t1 = prestophasedelay(date = '2020-01-03', dem = dem, inc = inc, workdir = workdir, wavelength = 0.238403545) t2 = prestophasedelay(date = '2020-01-10', dem = dem, inc = inc, workdir = workdir, wavelength = 0.238403545)
delay_change = t2.isel(time = 0)['delay'] - t1.isel(time = 0)['delay']
fig, axes = plt.subplots(1, 2, figsize = (12, 9)) delay_change.plot(ax = axes[0], vmax = 0, vmin = -4) dem.plot(ax = axes[1], vmin = 0, vmax = 2000) plt.savefig('../images/usage.png') ```
Coverage instructions
Run the following from the root directory of this project to get a coverage report.
You will need to have the dependencies and coverage packages available.
bash
python -m coverage run -m unittest discover -s ./tests
python -m coverage report
Citations
If you end up finding this repo useful consider citing this repo as:
Hoppinen, Z. (2023) Phase-o-matic: InSAR atmospheric delay calculations, https://github.com/ZachKeskinen/phase-o-matic/. DOI: 10.5281/zenodo.7926686
and any use of the ERA5 data should include the ERA5 data citation:
Hersbach, H., Bell, B., Berrisford, P., Biavati, G., Horányi, A., Muñoz Sabater, J., Nicolas, J., Peubey, C., Radu, R., Rozum, I., Schepers, D., Simmons, A., Soci, C., Dee, D., Thépaut, J-N. (2023): ERA5 hourly data on single levels from 1940 to present. Copernicus Climate Change Service (C3S) Climate Data Store (CDS), DOI: 10.24381/cds.adbb2d47
Owner
- Name: Zachary Hoppinen
- Login: ZachHoppinen
- Kind: user
- Location: Hailey, ID
- Company: Boise State University
- Repositories: 1
- Profile: https://github.com/ZachHoppinen
Ph.D. Candidate at Boise State University working on snow properties remote sensing using SAR imagery, infrasound arrays, and heat fluxes.
Citation (CITATION.cff)
cff-version: 1.1.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Hoppinen"
given-names: "Zachary"
orcid: "https://orcid.org/0000-0003-0916-7774"
title: "Phase-O-Matic"
version: 0.1.0
doi: 10.5281/zenodo.7926686
date-released: 2023-05-17
url: "https://github.com/zachkeskinen/phase-o-matic"
GitHub Events
Total
- Watch event: 2
- Push event: 1
Last Year
- Watch event: 2
- Push event: 1