aria-tools

Tools for exploiting ARIA standard products

https://github.com/aria-tools/aria-tools

Science Score: 44.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
  • DOI references
    Found 4 DOI reference(s) in README
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.6%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Tools for exploiting ARIA standard products

Basic Info
  • Host: GitHub
  • Owner: aria-tools
  • License: apache-2.0
  • Language: Python
  • Default Branch: dev
  • Size: 11.3 MB
Statistics
  • Stars: 103
  • Watchers: 12
  • Forks: 38
  • Open Issues: 10
  • Releases: 13
Created almost 7 years ago · Last pushed 12 months ago
Metadata Files
Readme Contributing License Citation

README.md

ARIA-tools

Language License

ARIA-tools is an open-source package in Python which contains tools to manipulate ARIA standard InSAR products. This software is open source under the terms of the Apache 2.0 License. Its development was funded under the NASA Sea-level Change Team (NSLCT) program and the Earth Surface and Interior (ESI) program.

For a full overview of available ARIA standard products and their specification, see the products page on the ARIA website. Currently, support for the ARIA Geocoded Unwrapped Interferogram (GUNW) product is included. Products can be downloaded for free from the ARIA-products page and the ASF DAAC vertex page under missions and beta-products, but require log-on using the NASA Earthdata credentials. The ARIA-tools package includes functionality to crop/merge data and meta-data layers for multiple standard products, extraction of data and meta-data layers from these products, and the set-up and the preparation for time-series.

Actual time-series processing is not supported in ARIA-tools. However, outputs are compatible with third-party time-series InSAR packages such as the "Generic InSAR Analysis Toolbox" (GIAnT) and the "Miami INsar Time-series software in PYthon" (MintPy).

THIS IS RESEARCH CODE PROVIDED TO YOU "AS IS" WITH NO WARRANTIES OF CORRECTNESS. USE AT YOUR OWN RISK.

Contents

  1. Software Dependencies
  2. Installation
  3. Running ARIA-tools
  4. Documentation
  5. Citation
  6. Contributors and community contributions

Software Dependencies

Below we list the dependencies for ARIA-tools

Packages

* Python >= 3.5 (3.6 preferred) * [PROJ 4](https://github.com/OSGeo/proj) github) >= 6.0 * [GDAL](https://www.gdal.org/) and its Python bindings >= 3.0

Python dependencies

* [SciPy](https://www.scipy.org/) * [netcdf4](http://unidata.github.io/netcdf4-python/netCDF4/index.html) * [requests](https://2.python-requests.org/en/master/)

Python Jupyter dependencies

* py3X-jupyter * py3X-jupyter_client * py3X-jupyter_contrib_nbextensions * py3X-jupyter_nbextensions_configurator * py3X-hide_code * py3X-RISE

Optional Third-party packages

* RelaxIV available from [Min-Cost-Flow-Class](https://github.com/frangio68/Min-Cost-Flow-Class)


Installation

ARIA-tools has been tested on the following system: - Linux v.7 and up

Below we demonstrate how to build and setup an environment from scratch through Linux through a TCSH shell.

ARIA-tools package can be easily installed and used after the dependencies are installed and activated.

Conda is a cross-platform way to use Python that allows you to setup and use "virtual environments," which allows for the easy installation and management of all of the required dependencies. We recommend using the Miniforge conda environment manager, which uses conda-forge as its default code repo. Alternatively, see here for help installing Anaconda and here for installing Miniconda.

Conda

Below we outline the different steps for setting up the ARIA-tools while leveraging Miniforge for installation of the requirements.

Run the commands below to download and setup your Miniforge environment manager:

```.tcsh cd ~/tools wget "https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-$(uname)-$(uname -m).sh"

specify a new directory when prompted

bash "Miniforge3-$(uname)-$(uname -m).sh" -b -p miniforge miniforge/bin/mamba init tcsh

reset shell

csh ```

Installing a stable release from conda

To install a stable release of aria-tools from conda, refer to these instructions and disregard the rest of the installation section. ```.tcsh

OPTIONAL: create/activate new env

highly recommended to avoid potential conflicts with other packages

conda create --name ARIA-tools-conda conda activate ARIA-tools-conda

install aria tools

mamba install aria-tools ```

Installing the latest development branch

To access and install the latest development branch from github, refer instead to these installation instructions.

Run the commands below to download/clone the ARIA-tools package to your local directory:

.tcsh cd ~/tools git clone https://github.com/aria-tools/ARIA-tools.git cd ARIA-tools

Run the commands below to install dependencies to a new conda environment ARIA-tools and activate it. Make sure to activate your environment each time you open a new session:

.tcsh mamba env create -f environment.yml conda activate ARIA-tools

Or run the commands below to install dependencies to an existing conda environment (base by default):

.tcsh mamba install -c conda-forge --yes --file requirements.txt

We have included a setup.py script which allows for easy compilation and installation of third-party dependencies (c-code), as well as for setting up the ARIA-tools package itself (python and command line tools). .tcsh python -m pip install -e .

If not using the setup.py, users should compile third-party packages manually and ensure ARIA-tools and dependencies are included on their PATH and PYTHONPATH. For TCSH shell this can be done as follows (replace {$PWD}/tools/ARIAtools to the location where you have cloned the ARIAtools repository): .tcsh setenv PYTHONPATH ${PYTHONPATH}:{$PWD}/tools/ARIAtools setenv PATH ${PATH}:${PWD}/tools/bin

To avoid potential issues associated with dependencies when cloning new ARIA-tools commits, it is advised to regularly maintain your conda environment as so (making sure to adjust the conda environment argument name --name ARIA-tools as appropriate): .tcsh mamba env update --name ARIA-tools --file environment.yml --prune

GNU Parallel (https://www.gnu.org/software/parallel/) will write output to stdout that requests that the user cite their paper. We can use this command to suppress this output: echo 'will cite' | parallel --citation

Other installation options

The following pages might be of use to those trying to build third party packages from source. - Installing dependencies from source on linux - Installing dependencies from source on mac

ARIA-tools with support for S3 virtual data access

GDAL Virtual File Systems capabilities (vsicurl) can be leveraged in ARIA-tools to avoid download of product during processing.

Minimum requirements: * [GDAL](https://www.gdal.org/) and its Python bindings >= 3.0 * Linux kernel >=4.3 * libnetcdf >=4.5

A '~/.netrc' file with earthdata credential included echo "machine urs.earthdata.nasa.gov login myUsername password myPassword" > ~/.netrc chmod 600 ~/.netrc

In addition, users should set the following environment variables: .bash export GDAL_HTTP_COOKIEFILE=/tmp/cookies.txt export GDAL_HTTP_COOKIEJAR=/tmp/cookies.txt export VSI_CACHE=YES


Running ARIA-tools

The ARIA-tools scripts are highly modulized in Python and therefore allows for building your own processing workflow. Below, we show how to call some of the functionality. For detailed documentation, examples, and Jupyter notebooks see the ARIA-tools-docs repository. We welcome the community to contribute other examples on how to leverage the ARIA-tools (see here for instructions).

  • NOTE, Currently we support processing of tropospheric estimates derived from the HRRR weather model for v3.0.1 products spanning the continental United States, and adjacent regions of Canada and Mexico.

Commandline download of GUNW Products

GUNW products can be downloaded through the commandline using the ariaDownload.py program, which wraps around the ASF DAAC api.

Manipulating GUNW Products

GUNW product can be manipulated (cropped, stitched, extracted) using the ariaExtract.py program.

Baseline and quality control plots for GUNW Products

Quality and baseline plots for spatial-temporal contiguous interferograms can be made using the ariaPlot.py program.

Time-series set-up of GUNW Products

Time-series set-up with spatial-temporal contiguous unwrapped interferograms and coherence can be done using the ariaTSsetup.py program.


Documentation

See the ARIA-tools-docs repository for all documentation and Jupyter Notebook Tutorials.


Citation

Buzzanga, B., Bekaert, D. P. S., Hamlington, B. D., & Sangha, S. S. (2020). Towards Sustained Monitoring of Subsidence at the Coast using InSAR and GPS: An Application in Hampton Roads, Virginia. Geophysical Research Letters, 47, e2020GL090013. https://doi.org/10.1029/2020GL090013


Contributors

  • David Bekaert
  • Simran Sangha
  • Emre Havazli
  • Brett Buzzanga
  • Alexander Fore
  • Marin Govorcin
  • Charles Marshak
  • Joseph Kennedy
  • other community members

We welcome community contributions. For instructions see here.

Owner

  • Name: aria-tools
  • Login: aria-tools
  • Kind: organization

Citation (CITATION)

To cite ARIA-tools in publications use:

D. Bekaert, M. Karim, L. Justin, H. Hua, P. Agram, S. Owen, G. Manipon, N. Malarout, M. Lucas, G. Sacco, L. Pan, 
S. Sangha, and ARIA team (2019), Development and Dissemination of Standardized Geodetic Products by 
the Advanced Rapid Imaging and Analysis (ARIA) Center for Natural Hazards,
The International Union of Geodesy and Geophysics (IUGG), Montreal

GitHub Events

Total
  • Issues event: 14
  • Watch event: 9
  • Delete event: 1
  • Issue comment event: 50
  • Push event: 18
  • Pull request review comment event: 11
  • Pull request review event: 33
  • Pull request event: 40
  • Fork event: 5
  • Create event: 7
Last Year
  • Issues event: 14
  • Watch event: 9
  • Delete event: 1
  • Issue comment event: 50
  • Push event: 18
  • Pull request review comment event: 11
  • Pull request review event: 33
  • Pull request event: 40
  • Fork event: 5
  • Create event: 7

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 2
  • Total pull requests: 8
  • Average time to close issues: almost 2 years
  • Average time to close pull requests: 13 days
  • Total issue authors: 1
  • Total pull request authors: 2
  • Average comments per issue: 2.5
  • Average comments per pull request: 0.63
  • Merged pull requests: 6
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 8
  • Average time to close issues: N/A
  • Average time to close pull requests: 13 days
  • Issue authors: 0
  • Pull request authors: 2
  • Average comments per issue: 0
  • Average comments per pull request: 0.63
  • Merged pull requests: 6
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • dbekaert (6)
  • rzinke (5)
  • EJFielding (4)
  • bbuzz31 (3)
  • sssangha (2)
  • aaryan-rampal (1)
  • geoxlt (1)
  • gaiyf (1)
  • mgovorcin (1)
  • ehavazli (1)
  • alexfore (1)
  • katia-tymofyeyeva (1)
Pull Request Authors
  • sssangha (29)
  • rzinke (13)
  • ehavazli (9)
  • alexfore (9)
  • bbuzz31 (3)
  • mgovorcin (2)
  • katia-tymofyeyeva (1)
Top Labels
Issue Labels
bug (12) enhancement (11) good first issue (1) question (1)
Pull Request Labels
bug (3) enhancement (1)

Packages

  • Total packages: 2
  • Total downloads: unknown
  • Total dependent packages: 0
    (may contain duplicates)
  • Total dependent repositories: 0
    (may contain duplicates)
  • Total versions: 24
proxy.golang.org: github.com/aria-tools/aria-tools
  • Versions: 12
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.4%
Average: 5.6%
Dependent repos count: 5.8%
Last synced: 6 months ago
proxy.golang.org: github.com/aria-tools/ARIA-tools
  • Versions: 12
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.4%
Average: 5.6%
Dependent repos count: 5.8%
Last synced: 6 months ago

Dependencies

environment.yml pypi
  • rise *
requirements.txt pypi
  • asf_search *
  • cartopy *
  • gdal >=3.4.2
  • h5py *
  • joblib *
  • libgdal >=3.4.2
  • matplotlib *
  • netcdf4 *
  • pandas *
  • pip *
  • pyproj *
  • python >=3.6
  • requests *
  • scipy *
  • shapely *