Giter VIP home page Giter VIP logo

isce2grimp's Introduction

isce2grimp

ISCE2 Processing for GrIMP

Install

(or [email protected]:scottyhq/isce2grimp.git)
git clone https://github.com/scottyhq/isce2grimp.git
cd isce2grimp
conda create --name isce2grimp --file conda-linux.lock
conda activate isce2grimp
poetry install

Run

Process an ISCE frame & output range-doppler product w/ metadata required for GrIMP workflows.

Default ISCE processing parameters are in template.yml

Periodically update the sentinel1 inventory from ASF

update_inventory

Query the local inventory (fast compared to remote ASF API query):

query_inventory -p 83 -s 2019-01-01 -e 2021-01-01 -f 368

Single self-contained pair w/ download links in folder

# prep_isce -p RELORB -f FRAME_ID -r [REFERENCE_ABSORB] -s [SECONDARY_ABSORB]
prep_pair -p 90 -f 227 -r 13416 -s 24487

Sequence of 'n' pairs starting with reference orbit

prep_stack -p 90 -f 227 -r 13416 -n 3
# NOTE: after running prep_stack, download shared zip files:
cd tmp-data-90
wget -nc -c -i download-links.txt

RUN ISCE (in ifg folder created by prep_isce 90-227-13416-24487

run_isce -i 90-227-13416-24487

convert existing isce output for downstream GRIMP processing

convert_isce -i 90-227-13416-24487 -o 90-227-13416-24487-out

clean up after ourselves

clean_isce -i 90-227-13416-24487

Develop

Follow these instructions if you want to make changes to the code

Work on a new 'feature' branch from current main branch

cd isce2grimp
git checkout main
git pull
git checkout -b newfeature

Install development version of current branch

poetry install

run tests

poetry run pytest -o markers=network

push changes on new branch to github, create a pull request to merge into 'main' branch

git add [newfiles]
git commit -m "some new things"
git push

Notes

Use a template.yml to customize processing options

You can pass a yml template to customize any topsApp.py options, for example do not perform an ionospheric correction.

prep_stack -p 83 -f 374 -s 2021-09-04 -n 1 -t /path/to/template-noion.yml

To run ISCE scripts such as mdx.py for visualizing results, first update the system $PATH

export ISCE_HOME=$CONDA_PREFIX/lib/python3.9/site-packages/isce
export PATH=$PATH:${ISCE_HOME}/bin:${ISCE_HOME}/applications

mdx.py filt_topophase.unw

isce2grimp's People

Contributors

scottyhq avatar

Watchers

 avatar  avatar  avatar

isce2grimp's Issues

Allow user to specify temporal separation of pairs

Right now prep_stack automatically picks the nearest in time as the second image.

add a flag like "dt", which you can specify so that it will only create pairs with dt:

eg. prep_stack -dt 18 to get 18 day pairs

ASF change in search api return values

ASF API now returns 'centerLat', 'centerLon' by default, which didn't happen previously, causing the update_inventory script to fail:

  File "fiona/ogrext.pyx", line 1280, in fiona.ogrext.WritingSession.writerecs
ValueError: Record does not match collection schema: dict_keys(['beamModeType', 'bytes', 'centerLat', 'centerLon', 'fileID', 'fileName', 'flightDirection', 'frameNumber', 'granuleType', 'groupID', 'md5sum', 'orbit', 'pathNumber', 'platform', 'polarization', 'processingDate', 'processingLevel', 'sceneName', 'sensor', 'startTime', 'stopTime', 'url']) != ['fileName', 'sceneName', 'beamModeType', 'polarization', 'granuleType', 'orbit', 'processingDate', 'processingLevel', 'url', 'flightDirection', 'bytes', 'fileID', 'pathNumber', 'sensor', 'frameNumber', 'groupID', 'md5sum', 'stopTime', 'platform', 'startTime']

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.