GithubHelp home page GithubHelp logo

ilovesweetpickles / aria-tools Goto Github PK

View Code? Open in Web Editor NEW

This project forked from aria-tools/aria-tools

0.0 1.0 0.0 1.18 MB

Tools for exploiting ARIA standard products

License: GNU General Public License v3.0

Python 98.34% C++ 1.50% C 0.16%

aria-tools's Introduction

ARIA-tools

Language License Codacy Badge CircleCI

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 GNU General Public 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 download 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 thrid-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
  1. Running ARIA-tools
  1. Documentation
  2. Citation
  3. 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 package can be easily installed and used after the dependencies are installed and activated. The third-party RelaxIV package is optional (not required), and only used when opting to minimizing phase-discontinuities. Prior to use of RelaxIV, users should conform to the RelaxIV license agreement. Easiest way of installing RelaxIV is by downloading the min-cost-flow repository in the third-party folder of the ARIAtools and use the setup.py script as outlined below. For the required dependencies, we strongly recommend using Anaconda package manager for easy installation of dependencies in the python environment.

Conda

Below we outline the different steps for setting up the ARIA-tools while leveraging Anaconda for installation of the requirements. Running the commands below will clone the ARIA-tools package to your local directory, create a conda environment with the name 'ARIA-tools', install dependencies to this environment and activate it.

git clone https://github.com/aria-tools/ARIA-tools.git
conda env create -f ./ARIA-tools/environment.yml
conda activate ARIA-tools

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

python setup.py build
python setup.py install

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 c-shell this can be done as follows (replace "ARIAtoolsREPO" to the location where you have cloned the ARIAtools repository):

setenv PYTHONPATH $PYTHONPATH:/ARIAtoolsREPO/tools/ARIAtools
set PATH $PATH:'/ARIAtoolsREPO/tools/bin'

Other installation options

The following pages might be of use to those trying to build third party packages from source.

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:

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).

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

We welcome community contributions. For instructions see here.

aria-tools's People

Contributors

alexdunnjpl avatar bbuzz31 avatar dbekaert avatar ehavazli avatar jlmaurer avatar rzinke avatar sssangha avatar yunjunz avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.