From 41172ff03cbdb9291db02079585837dfe9c99cc2 Mon Sep 17 00:00:00 2001 From: Mario Angarita <mf.angarita52@gmail.com> Date: Mon, 13 May 2024 16:48:48 -0800 Subject: [PATCH 01/35] Adding readme --- README.md | 175 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 173 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 4f4b26c5..bf1822eb 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,174 @@ -# HyP3 autoRIFT -A HyP3 plugin for feature tracking processing with AutoRIFT-ISCE +[](https://doi.org/10.5281/zenodo.8007397)  + +# HyP3 ISCE2 Plugin + +The HyP3-ISCE2 plugin provides a set of workflows to process SAR satellite data using the [InSAR Scientific Computing Environment 2](https://github.com/isce-framework/isce2) (ISCE2) software package. This plugin is part of the [Alaska Satellite Facility's](https://asf.alaska.edu) larger HyP3 (Hybrid Plugin Processing Pipeline) system, which is a batch processing pipeline designed for on-demand processing of SAR data. + +## Usage +The HyP3-ISCE2 plugin provides a set of workflows (accessible directly in Python or via a CLI) that can be used to process SAR data using ISCE2. The workflows currently included in this plugin are: + +- `insar_tops`: A workflow for creating full-SLC Sentinel-1 geocoded unwrapped interferogram using ISCE2's TOPS processing workflow +- `insar_tops_burst`: A workflow for creating single-burst Sentinel-1 geocoded unwrapped interferogram using ISCE2's TOPS processing workflow +--- + +To run a workflow, simply run `python -m hyp3_isce2 ++process [WORKFLOW_NAME] [WORKFLOW_ARGS]`. For example, to run the `insar_tops_burst` workflow: + +``` +python -m hyp3_isce2 ++process insar_tops_burst \ + S1_136231_IW2_20200604T022312_VV_7C85-BURST \ + S1_136231_IW2_20200616T022313_VV_5D11-BURST \ + --looks 20x4 \ + --apply-water-mask True +``` + +This command will create a Sentinel-1 interferogram that contains a deformation signal related to a +2020 Iranian earthquake. + +### Product Merging Utility Usage +**This feature is under active development and is subject to change!** + +Burst InSAR products created using the `insar_tops_burst` workflow can be merged together using the `merge_tops_burst` workflow. This can be useful when the deformation signal you'd like to observe spans multiple bursts. It can be called using the following syntax: +``` +python -m hyp3_isce2 ++process merge_tops_bursts \ + PATH_TO_UNZIPPED_PRODUCTS \ + --apply-water-mask True +``` +Where `PATH_TO_UNZIPPED_PRODUCTS` is the path to a directory containing unzipped burst InSAR products. For example: +```bash +PATH_TO_UNZIPPED_PRODUCTS/ +├─ S1_136232_IW2_20200604_20200616_VV_INT80_663F/ +├─ S1_136231_IW2_20200604_20200616_VV_INT80_529D/ +``` +In order to be merging eligible, all burst products must: +1. Have the same reference and secondary dates +1. Have the same polarization +1. Have the same multilooking +1. Be from the same relative orbit +1. Be contiguous + +The workflow should through an error if any of these conditions are not met. + +**Merging burst InSAR products requires extra data that is not contained in the production HyP3 Burst InSAR products. For the time being, to be merging eligible burst products must be created locally using your own installation of `hyp3-isce2` from the `merge_bursts` branch of this repository!** + +As mentioned above this feature is under active development, so we welcome any feedback you have! + +### Options +To learn about the arguments for each workflow, look at the help documentation +(`python -m hyp3_isce2 ++process [WORKFLOW_NAME] --help`). + +#### Looks Option +When ordering Sentinel-1 Burst InSAR On Demand products, users can choose the number of **looks** (`--looks`) to use +in processing, which drives the resolution and pixel spacing of the output products. The available options are +20x4, 10x2, or 5x1. The first number indicates the number of looks in range, the second is the number of looks +in azimuth. + +The output product pixel spacing depends on the number of looks in azimuth: +pixel spacing = 20 * azimuth looks + +Products with 20x4 looks have a pixel spacing of 80 m, those with 10x2 looks have a pixel spacing of 40 m, and +those with 5x1 looks have a pixel spacing of 20 m. + +#### Water Mask Option +There is always a water mask geotiff file included in the product package, but setting the **apply-water-mask** +(`--apply-water-mask`) option to True will apply the mask to the wrapped interferogram prior to phase unwrapping. + +### Earthdata Login and ESA Credentials + +For all workflows, the user must provide their Earthdata Login credentials and ESA Copernicus Data Space Ecosystem (CDSE) credentials in order to download input data. +If you do not already have an Earthdata account, you can sign up [here](https://urs.earthdata.nasa.gov/home). +If you do not already have a CDSE account, you can sign up [here](https://dataspace.copernicus.eu). +Your credentials can be passed to the workflows via command-line options (`--esa-username` and `--esa-password`), environment variables +(`EARTHDATA_USERNAME`, `EARTHDATA_PASSWORD`, `ESA_USERNAME`, and `ESA_PASSWORD`), or via your `.netrc` file. If you haven't set up a `.netrc` file +before, check out this [guide](https://harmony.earthdata.nasa.gov/docs#getting-started) to get started. + +### Docker Container +The ultimate goal of this project is to create a docker container that can run ISCE2 workflows within a HyP3 +deployment. To run the current version of the project's container, use this command: +``` +docker run -it --rm \ + -e EARTHDATA_USERNAME=[YOUR_USERNAME_HERE] \ + -e EARTHDATA_PASSWORD=[YOUR_PASSWORD_HERE] \ + -e ESA_USERNAME=[YOUR_USERNAME_HERE] \ + -e ESA_PASSWORD=[YOUR_PASSWORD_HERE] \ + ghcr.io/asfhyp3/hyp3-isce2:latest \ + ++process [WORKFLOW_NAME] \ + [WORKFLOW_ARGS] +``` + +**NOTE** Each workflow can also be accessed via an alternative CLI with the format (`[WORKFLOW_NAME] [WORKFLOW_ARGS]`) + +#### Docker Outputs + +To retain hyp3_isce2 output files running via Docker there are two recommended approaches: + +1. Use a volume mount + +Add the `-w /tmp -v [localdir]:/tmp` flags after docker run. `-w` changes the working directory of the container to `/tmp` and `-v` will mount whichever local directory you choose so that such that hyp3_isce3 outputs are preserved locally. + +1. Copy outputs to remote object storage + +Append the `--bucket` and `--bucket-prefix` to [WORKFLOW_ARGS]. *Only the final output files and zipped archive of those files is uploaded.* This also requires that AWS credentials to write to the bucket are available to the running container. For example, to write outputs to a hypothetical bucket `s3://hypothetical-bucket/test-run/`: + +``` +docker run -it --rm \ + -e AWS_ACCESS_KEY_ID=[YOUR_KEY] \ + -e AWS_SECRET_ACCESS_KEY=[YOUR_SECRET] \ + -e AWS_SESSION_TOKEN=[YOUR_TOKEN] \ + -e EARTHDATA_USERNAME=[YOUR_USERNAME_HERE] \ + -e EARTHDATA_PASSWORD=[YOUR_PASSWORD_HERE] \ + -e ESA_USERNAME=[YOUR_USERNAME_HERE] \ + -e ESA_PASSWORD=[YOUR_PASSWORD_HERE] \ + ghcr.io/asfhyp3/hyp3-isce2:latest \ + ++process [WORKFLOW_NAME] \ + [WORKFLOW_ARGS] \ + --bucket "hypothetical-bucket" \ + --bucket-prefix "test-run" +``` + +Tip: you can use [`docker run --env-file`](https://docs.docker.com/reference/cli/docker/container/run/#env) to capture all the necessary environment variables in a single file. + + +## Developer Setup +1. Ensure that conda is installed on your system (we recommend using [mambaforge](https://github.com/conda-forge/miniforge#mambaforge) to reduce setup times). +2. Download a local version of the `hyp3-isce2` repository (`git clone https://github.com/ASFHyP3/hyp3-isce2.git`) +3. In the base directory for this project call `mamba env create -f environment.yml` to create your Python environment, then activate it (`mamba activate hyp3-isce2`) +4. Finally, install a development version of the package (`python -m pip install -e .`) + +To run all commands in sequence use: +```bash +git clone https://github.com/ASFHyP3/hyp3-isce2.git +cd hyp3-isce2 +mamba env create -f environment.yml +mamba activate hyp3-isce2 +python -m pip install -e . +``` + +## Background +HyP3 is broken into two components: the cloud architecture/API that manage processing of HyP3 workflows, and Docker container plugins that contain scientific workflows which produce new science products from a variety of data sources (see figure below for the full HyP3 architecture). + + + +The cloud infratstructure-as-code for HyP3 can be found in the main [HyP3 repository](https://github.com/asfhyp3/hyp3). This repository contains a plugin that can be used to process ISCE2-based processing of SAR data. + +This project was heavily influenced by the [DockerizedTopsApp](https://github.com/ACCESS-Cloud-Based-InSAR/DockerizedTopsApp) project, which contains a similar workflow that is designed to produce ARIA Sentinel-1 Geocoded Unwrapped Interferogram standard products via HyP3. + +## License +The HyP3-ISCE2 plugin is licensed under the Apache License, Version 2 license. See the LICENSE file for more details. + +## Code of conduct +We strive to create a welcoming and inclusive community for all contributors to HyP3-ISCE2. As such, all contributors to this project are expected to adhere to our code of conduct. + +Please see `CODE_OF_CONDUCT.md` for the full code of conduct text. + +## Contributing +Contributions to the HyP3-ISCE2 plugin are welcome! If you would like to contribute, please submit a pull request on the GitHub repository. + +## Contact Us +Want to talk about HyP3-ISCE2? We would love to hear from you! + +Found a bug? Want to request a feature? +[open an issue](https://github.com/ASFHyP3/asf_tools/issues/new) + +General questions? Suggestions? Or just want to talk to the team? +[chat with us on gitter](https://gitter.im/ASFHyP3/community) From 5017ebbacb76cdd00201937702af3b2c389f49c3 Mon Sep 17 00:00:00 2001 From: mfangaritav <mf.angarita52@gmail.com> Date: Mon, 13 May 2024 17:37:27 -0800 Subject: [PATCH 02/35] Update README.md --- README.md | 92 +++++++++++++------------------------------------------ 1 file changed, 22 insertions(+), 70 deletions(-) diff --git a/README.md b/README.md index bf1822eb..81c5aa20 100644 --- a/README.md +++ b/README.md @@ -1,77 +1,29 @@ [](https://doi.org/10.5281/zenodo.8007397)  -# HyP3 ISCE2 Plugin +# HyP3 autoRIFT Plugin -The HyP3-ISCE2 plugin provides a set of workflows to process SAR satellite data using the [InSAR Scientific Computing Environment 2](https://github.com/isce-framework/isce2) (ISCE2) software package. This plugin is part of the [Alaska Satellite Facility's](https://asf.alaska.edu) larger HyP3 (Hybrid Plugin Processing Pipeline) system, which is a batch processing pipeline designed for on-demand processing of SAR data. +The HyP3-autoRIFT plugin provides a set of workflows to get dense feature tracking between two images with the [autonomous Repeat Image Feature Tracking](https://github.com/nasa-jpl/autoRIFT) (autoRIFT) software package. This plugin is part of the [Alaska Satellite Facility's](https://asf.alaska.edu) larger HyP3 (Hybrid Plugin Processing Pipeline) system, which is a batch processing pipeline designed for on-demand processing of optical and SAR data. ## Usage -The HyP3-ISCE2 plugin provides a set of workflows (accessible directly in Python or via a CLI) that can be used to process SAR data using ISCE2. The workflows currently included in this plugin are: +The HyP3-autoRIFT plugin provides a set of workflows (accessible directly in Python or via a CLI) that can be used to process SAR or optical data using autoRIFT. The workflows currently included in this plugin are: -- `insar_tops`: A workflow for creating full-SLC Sentinel-1 geocoded unwrapped interferogram using ISCE2's TOPS processing workflow -- `insar_tops_burst`: A workflow for creating single-burst Sentinel-1 geocoded unwrapped interferogram using ISCE2's TOPS processing workflow +- `hyp3_autorift`: A workflow to get dense feature tracking between two images using autoRIFT +- `s1_correction`: A workflow for geogriding Sentinel-1 images using ISCE2's processing workflow --- -To run a workflow, simply run `python -m hyp3_isce2 ++process [WORKFLOW_NAME] [WORKFLOW_ARGS]`. For example, to run the `insar_tops_burst` workflow: +To run a workflow, simply run `python -m hyp3_autorift ++process [WORKFLOW_NAME] [WORKFLOW_ARGS]`. For example, to run the `s1_correction` workflow: ``` -python -m hyp3_isce2 ++process insar_tops_burst \ - S1_136231_IW2_20200604T022312_VV_7C85-BURST \ - S1_136231_IW2_20200616T022313_VV_5D11-BURST \ - --looks 20x4 \ - --apply-water-mask True +python -m hyp3_autorift ++process s1_correction \ + "S1A_IW_SLC__1SSH_20170221T204710_20170221T204737_015387_0193F6_AB07" \ ``` -This command will create a Sentinel-1 interferogram that contains a deformation signal related to a -2020 Iranian earthquake. - -### Product Merging Utility Usage -**This feature is under active development and is subject to change!** - -Burst InSAR products created using the `insar_tops_burst` workflow can be merged together using the `merge_tops_burst` workflow. This can be useful when the deformation signal you'd like to observe spans multiple bursts. It can be called using the following syntax: -``` -python -m hyp3_isce2 ++process merge_tops_bursts \ - PATH_TO_UNZIPPED_PRODUCTS \ - --apply-water-mask True -``` -Where `PATH_TO_UNZIPPED_PRODUCTS` is the path to a directory containing unzipped burst InSAR products. For example: -```bash -PATH_TO_UNZIPPED_PRODUCTS/ -├─ S1_136232_IW2_20200604_20200616_VV_INT80_663F/ -├─ S1_136231_IW2_20200604_20200616_VV_INT80_529D/ -``` -In order to be merging eligible, all burst products must: -1. Have the same reference and secondary dates -1. Have the same polarization -1. Have the same multilooking -1. Be from the same relative orbit -1. Be contiguous - -The workflow should through an error if any of these conditions are not met. - -**Merging burst InSAR products requires extra data that is not contained in the production HyP3 Burst InSAR products. For the time being, to be merging eligible burst products must be created locally using your own installation of `hyp3-isce2` from the `merge_bursts` branch of this repository!** - -As mentioned above this feature is under active development, so we welcome any feedback you have! +This command will geogriding a Sentinel-1 image in Greenland. ### Options To learn about the arguments for each workflow, look at the help documentation -(`python -m hyp3_isce2 ++process [WORKFLOW_NAME] --help`). - -#### Looks Option -When ordering Sentinel-1 Burst InSAR On Demand products, users can choose the number of **looks** (`--looks`) to use -in processing, which drives the resolution and pixel spacing of the output products. The available options are -20x4, 10x2, or 5x1. The first number indicates the number of looks in range, the second is the number of looks -in azimuth. - -The output product pixel spacing depends on the number of looks in azimuth: -pixel spacing = 20 * azimuth looks - -Products with 20x4 looks have a pixel spacing of 80 m, those with 10x2 looks have a pixel spacing of 40 m, and -those with 5x1 looks have a pixel spacing of 20 m. - -#### Water Mask Option -There is always a water mask geotiff file included in the product package, but setting the **apply-water-mask** -(`--apply-water-mask`) option to True will apply the mask to the wrapped interferogram prior to phase unwrapping. +(`python -m hyp3_autorift ++process [WORKFLOW_NAME] --help`). ### Earthdata Login and ESA Credentials @@ -83,7 +35,7 @@ Your credentials can be passed to the workflows via command-line options (`--esa before, check out this [guide](https://harmony.earthdata.nasa.gov/docs#getting-started) to get started. ### Docker Container -The ultimate goal of this project is to create a docker container that can run ISCE2 workflows within a HyP3 +The ultimate goal of this project is to create a docker container that can run autoRIFT workflows within a HyP3 deployment. To run the current version of the project's container, use this command: ``` docker run -it --rm \ @@ -91,7 +43,7 @@ docker run -it --rm \ -e EARTHDATA_PASSWORD=[YOUR_PASSWORD_HERE] \ -e ESA_USERNAME=[YOUR_USERNAME_HERE] \ -e ESA_PASSWORD=[YOUR_PASSWORD_HERE] \ - ghcr.io/asfhyp3/hyp3-isce2:latest \ + ghcr.io/asfhyp3/hyp3-autorift:latest \ ++process [WORKFLOW_NAME] \ [WORKFLOW_ARGS] ``` @@ -100,11 +52,11 @@ docker run -it --rm \ #### Docker Outputs -To retain hyp3_isce2 output files running via Docker there are two recommended approaches: +To retain hyp3_autorift output files running via Docker there are two recommended approaches: 1. Use a volume mount -Add the `-w /tmp -v [localdir]:/tmp` flags after docker run. `-w` changes the working directory of the container to `/tmp` and `-v` will mount whichever local directory you choose so that such that hyp3_isce3 outputs are preserved locally. +Add the `-w /tmp -v [localdir]:/tmp` flags after docker run. `-w` changes the working directory of the container to `/tmp` and `-v` will mount whichever local directory you choose so that such that hyp3_autorift outputs are preserved locally. 1. Copy outputs to remote object storage @@ -131,16 +83,16 @@ Tip: you can use [`docker run --env-file`](https://docs.docker.com/reference/cli ## Developer Setup 1. Ensure that conda is installed on your system (we recommend using [mambaforge](https://github.com/conda-forge/miniforge#mambaforge) to reduce setup times). -2. Download a local version of the `hyp3-isce2` repository (`git clone https://github.com/ASFHyP3/hyp3-isce2.git`) -3. In the base directory for this project call `mamba env create -f environment.yml` to create your Python environment, then activate it (`mamba activate hyp3-isce2`) +2. Download a local version of the `hyp3-autorift` repository (`git clone https://github.com/ASFHyP3/hyp3-autorift.git`) +3. In the base directory for this project call `mamba env create -f environment.yml` to create your Python environment, then activate it (`mamba activate hyp3-autorift`) 4. Finally, install a development version of the package (`python -m pip install -e .`) To run all commands in sequence use: ```bash -git clone https://github.com/ASFHyP3/hyp3-isce2.git -cd hyp3-isce2 +git clone https://github.com/ASFHyP3/hyp3-autorift.git +cd hyp3-autorift mamba env create -f environment.yml -mamba activate hyp3-isce2 +mamba activate hyp3-autorift python -m pip install -e . ``` @@ -154,7 +106,7 @@ The cloud infratstructure-as-code for HyP3 can be found in the main [HyP3 reposi This project was heavily influenced by the [DockerizedTopsApp](https://github.com/ACCESS-Cloud-Based-InSAR/DockerizedTopsApp) project, which contains a similar workflow that is designed to produce ARIA Sentinel-1 Geocoded Unwrapped Interferogram standard products via HyP3. ## License -The HyP3-ISCE2 plugin is licensed under the Apache License, Version 2 license. See the LICENSE file for more details. +The HyP3-autoRIFT plugin is licensed under the Apache License, Version 2 license. See the LICENSE file for more details. ## Code of conduct We strive to create a welcoming and inclusive community for all contributors to HyP3-ISCE2. As such, all contributors to this project are expected to adhere to our code of conduct. @@ -162,10 +114,10 @@ We strive to create a welcoming and inclusive community for all contributors to Please see `CODE_OF_CONDUCT.md` for the full code of conduct text. ## Contributing -Contributions to the HyP3-ISCE2 plugin are welcome! If you would like to contribute, please submit a pull request on the GitHub repository. +Contributions to the HyP3-autoRIFT plugin are welcome! If you would like to contribute, please submit a pull request on the GitHub repository. ## Contact Us -Want to talk about HyP3-ISCE2? We would love to hear from you! +Want to talk about HyP3-autoRIFT? We would love to hear from you! Found a bug? Want to request a feature? [open an issue](https://github.com/ASFHyP3/asf_tools/issues/new) From ed61adb7d05a913bb194f8062f48cbad0c355f18 Mon Sep 17 00:00:00 2001 From: mfangaritav <mf.angarita52@gmail.com> Date: Mon, 13 May 2024 17:39:35 -0800 Subject: [PATCH 03/35] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 81c5aa20..a5f16a8a 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ -[](https://doi.org/10.5281/zenodo.8007397)  +[](https://doi.org/10.5281/zenodo.10871107)  # HyP3 autoRIFT Plugin From e158ad946e92d39f7ebc1335ce4bdee582fe86d2 Mon Sep 17 00:00:00 2001 From: mfangaritav <mf.angarita52@gmail.com> Date: Mon, 13 May 2024 17:41:35 -0800 Subject: [PATCH 04/35] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a5f16a8a..0262e755 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ python -m hyp3_autorift ++process s1_correction \ "S1A_IW_SLC__1SSH_20170221T204710_20170221T204737_015387_0193F6_AB07" \ ``` -This command will geogriding a Sentinel-1 image in Greenland. +This command will geogrid a Sentinel-1 image in Greenland. ### Options To learn about the arguments for each workflow, look at the help documentation From d30abb4f82abcb451a33c500d44f4a7a2849b05e Mon Sep 17 00:00:00 2001 From: mfangaritav <mf.angarita52@gmail.com> Date: Tue, 14 May 2024 16:47:23 -0800 Subject: [PATCH 05/35] Update README.md --- README.md | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/README.md b/README.md index 0262e755..49d7c59d 100644 --- a/README.md +++ b/README.md @@ -1,55 +1,57 @@ -[](https://doi.org/10.5281/zenodo.10871107)  +[](https://doi.org/10.5281/zenodo.4037015)  # HyP3 autoRIFT Plugin -The HyP3-autoRIFT plugin provides a set of workflows to get dense feature tracking between two images with the [autonomous Repeat Image Feature Tracking](https://github.com/nasa-jpl/autoRIFT) (autoRIFT) software package. This plugin is part of the [Alaska Satellite Facility's](https://asf.alaska.edu) larger HyP3 (Hybrid Plugin Processing Pipeline) system, which is a batch processing pipeline designed for on-demand processing of optical and SAR data. +HyP3-autoRIFT for feature tracking processing with AutoRIFT-ISCE [autonomous Repeat Image Feature Tracking](https://github.com/nasa-jpl/autoRIFT) (autoRIFT) software package. This plugin is part of the [Alaska Satellite Facility's](https://asf.alaska.edu) larger HyP3 (Hybrid Plugin Processing Pipeline) system, which is a batch processing pipeline designed for on-demand processing of optical (Landsat and Sentinel-2) and SAR data (Sentinel-1). ## Usage -The HyP3-autoRIFT plugin provides a set of workflows (accessible directly in Python or via a CLI) that can be used to process SAR or optical data using autoRIFT. The workflows currently included in this plugin are: +The HyP3-autoRIFT plugin provides a workflow (accessible directly in Python or via a CLI) that can be used to process SAR or optical data using autoRIFT: - `hyp3_autorift`: A workflow to get dense feature tracking between two images using autoRIFT -- `s1_correction`: A workflow for geogriding Sentinel-1 images using ISCE2's processing workflow --- -To run a workflow, simply run `python -m hyp3_autorift ++process [WORKFLOW_NAME] [WORKFLOW_ARGS]`. For example, to run the `s1_correction` workflow: +To run the workflow, simply run `python -m hyp3_autorift ++process hyp3_autorift [WORKFLOW_ARGS]`. For example: ``` -python -m hyp3_autorift ++process s1_correction \ - "S1A_IW_SLC__1SSH_20170221T204710_20170221T204737_015387_0193F6_AB07" \ +python -m hyp3_autorift ++process hyp3_autorift \ + "LC08_L1TP_009011_20200703_20200913_02_T1" \ + "LC08_L1TP_009011_20200820_20200905_02_T1" ``` -This command will geogrid a Sentinel-1 image in Greenland. +This command will run autorift for a pair of Landsar images. ### Options To learn about the arguments for each workflow, look at the help documentation -(`python -m hyp3_autorift ++process [WORKFLOW_NAME] --help`). +(`python -m hyp3_autorift ++process hyp3_autorift --help`). ### Earthdata Login and ESA Credentials -For all workflows, the user must provide their Earthdata Login credentials and ESA Copernicus Data Space Ecosystem (CDSE) credentials in order to download input data. +For the workflow, the user must provide their Earthdata Login credentials and ESA Copernicus Data Space Ecosystem (CDSE) credentials in order to download input data. If you do not already have an Earthdata account, you can sign up [here](https://urs.earthdata.nasa.gov/home). If you do not already have a CDSE account, you can sign up [here](https://dataspace.copernicus.eu). Your credentials can be passed to the workflows via command-line options (`--esa-username` and `--esa-password`), environment variables -(`EARTHDATA_USERNAME`, `EARTHDATA_PASSWORD`, `ESA_USERNAME`, and `ESA_PASSWORD`), or via your `.netrc` file. If you haven't set up a `.netrc` file +(`AWS_ACCESS_KEY_ID`,`AWS_SECRET_ACCESS_KEY`,`EARTHDATA_USERNAME`, `EARTHDATA_PASSWORD`, `ESA_USERNAME`, and `ESA_PASSWORD`), or via your `.netrc` file. If you haven't set up a `.netrc` file before, check out this [guide](https://harmony.earthdata.nasa.gov/docs#getting-started) to get started. +**NOTE** AWS credentials are necessary to access Landsat data. + ### Docker Container The ultimate goal of this project is to create a docker container that can run autoRIFT workflows within a HyP3 deployment. To run the current version of the project's container, use this command: ``` docker run -it --rm \ + -e AWS_ACCESS_KEY_ID=[YOUR_KEY] \ + -e AWS_SECRET_ACCESS_KEY=[YOUR_SECRET] \ -e EARTHDATA_USERNAME=[YOUR_USERNAME_HERE] \ -e EARTHDATA_PASSWORD=[YOUR_PASSWORD_HERE] \ -e ESA_USERNAME=[YOUR_USERNAME_HERE] \ -e ESA_PASSWORD=[YOUR_PASSWORD_HERE] \ ghcr.io/asfhyp3/hyp3-autorift:latest \ - ++process [WORKFLOW_NAME] \ + ++process hyp3_autorift \ [WORKFLOW_ARGS] ``` -**NOTE** Each workflow can also be accessed via an alternative CLI with the format (`[WORKFLOW_NAME] [WORKFLOW_ARGS]`) - #### Docker Outputs To retain hyp3_autorift output files running via Docker there are two recommended approaches: @@ -60,7 +62,7 @@ Add the `-w /tmp -v [localdir]:/tmp` flags after docker run. `-w` changes the wo 1. Copy outputs to remote object storage -Append the `--bucket` and `--bucket-prefix` to [WORKFLOW_ARGS]. *Only the final output files and zipped archive of those files is uploaded.* This also requires that AWS credentials to write to the bucket are available to the running container. For example, to write outputs to a hypothetical bucket `s3://hypothetical-bucket/test-run/`: +Append the `--bucket` and `--bucket-prefix` to [WORKFLOW_ARGS]. *Only the final output files are uploaded.* This also requires that AWS credentials to write to the bucket are available to the running container. For example, to write outputs to a hypothetical bucket `s3://hypothetical-bucket/test-run/`: ``` docker run -it --rm \ @@ -72,7 +74,7 @@ docker run -it --rm \ -e ESA_USERNAME=[YOUR_USERNAME_HERE] \ -e ESA_PASSWORD=[YOUR_PASSWORD_HERE] \ ghcr.io/asfhyp3/hyp3-isce2:latest \ - ++process [WORKFLOW_NAME] \ + ++process hyp3_autorift \ [WORKFLOW_ARGS] \ --bucket "hypothetical-bucket" \ --bucket-prefix "test-run" @@ -101,15 +103,13 @@ HyP3 is broken into two components: the cloud architecture/API that manage proce  -The cloud infratstructure-as-code for HyP3 can be found in the main [HyP3 repository](https://github.com/asfhyp3/hyp3). This repository contains a plugin that can be used to process ISCE2-based processing of SAR data. - -This project was heavily influenced by the [DockerizedTopsApp](https://github.com/ACCESS-Cloud-Based-InSAR/DockerizedTopsApp) project, which contains a similar workflow that is designed to produce ARIA Sentinel-1 Geocoded Unwrapped Interferogram standard products via HyP3. +The cloud infrastructure-as-code for HyP3 can be found in the main [HyP3 repository](https://github.com/asfhyp3/hyp3). This repository contains a plugin that can be used for feature tracking processing with AutoRIFT-ISCE. ## License The HyP3-autoRIFT plugin is licensed under the Apache License, Version 2 license. See the LICENSE file for more details. ## Code of conduct -We strive to create a welcoming and inclusive community for all contributors to HyP3-ISCE2. As such, all contributors to this project are expected to adhere to our code of conduct. +We strive to create a welcoming and inclusive community for all contributors to HyP3-autoRIFT. As such, all contributors to this project are expected to adhere to our code of conduct. Please see `CODE_OF_CONDUCT.md` for the full code of conduct text. From be408332c2e8bc1617b50aaa1abd1031fe94895b Mon Sep 17 00:00:00 2001 From: mfangaritav <mf.angarita52@gmail.com> Date: Tue, 14 May 2024 16:52:57 -0800 Subject: [PATCH 06/35] Update README.md --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 49d7c59d..0ede9dc4 100644 --- a/README.md +++ b/README.md @@ -15,11 +15,11 @@ To run the workflow, simply run `python -m hyp3_autorift ++process hyp3_autorift ``` python -m hyp3_autorift ++process hyp3_autorift \ - "LC08_L1TP_009011_20200703_20200913_02_T1" \ - "LC08_L1TP_009011_20200820_20200905_02_T1" + "S2B_MSIL1C_20200612T150759_N0209_R025_T22WEB_20200612T184700" \ + "S2A_MSIL1C_20200627T150921_N0209_R025_T22WEB_20200627T170912" ``` -This command will run autorift for a pair of Landsar images. +This command will run autorift for a pair of Sentinel-2 images. ### Options To learn about the arguments for each workflow, look at the help documentation From 6ecd8750dd2d04aad250d4621e0e2b05aa621307 Mon Sep 17 00:00:00 2001 From: Mario Angarita <mf.angarita52@gmail.com> Date: Tue, 14 May 2024 17:05:12 -0800 Subject: [PATCH 07/35] remove old docs folder --- docs/api_example.md | 162 ---------------- docs/imgs/get_jobs_query.png | Bin 47987 -> 0 bytes docs/imgs/get_user_execute.png | Bin 65260 -> 0 bytes docs/imgs/get_user_try.png | Bin 53095 -> 0 bytes docs/imgs/post_jobs_execute.png | Bin 86116 -> 0 bytes docs/imgs/vertex-sign-in.png | Bin 36092 -> 0 bytes docs/sdk_example.ipynb | 319 -------------------------------- 7 files changed, 481 deletions(-) delete mode 100644 docs/api_example.md delete mode 100644 docs/imgs/get_jobs_query.png delete mode 100644 docs/imgs/get_user_execute.png delete mode 100644 docs/imgs/get_user_try.png delete mode 100644 docs/imgs/post_jobs_execute.png delete mode 100644 docs/imgs/vertex-sign-in.png delete mode 100644 docs/sdk_example.ipynb diff --git a/docs/api_example.md b/docs/api_example.md deleted file mode 100644 index 7d479685..00000000 --- a/docs/api_example.md +++ /dev/null @@ -1,162 +0,0 @@ -# Using the HyP3 API for autoRIFT - -AutoRIFT's HyP3 API is built on [OpenAPI](https://www.openapis.org/) and -[Swagger](https://swagger.io/) and available at: - -https://hyp3-autorift.asf.alaska.edu/ui - -In order to use the API, you'll need a `asf-urs` session cookie, which you can get -by [signing in to Vertex](https://search.asf.alaska.edu/#/) - - - -### Confirm you are authenticated - -To confirm you are authenticated, you can run a `GET` request to our `/user` endpoint. -Select the blue `GET` button next to `/user` and click the `Try it out` button - - -Then, execute the request and look at the response - - -If you get a `Code 200` you should see a JSON dictionary of your user information. -If you get a `Code 401` you are not currently authenticated. - -## Submitting jobs - -Jobs are submitted through the API by providing a JSON payload with a list of job -definitions. A minimal job list for a single Sentinel-1 autoRIFT job would look like: - -```json -{ - "jobs": [ - { - "job_type": "AUTORIFT", - "name": "s1-example", - "job_parameters": { - "granules": [ - "S1A_IW_SLC__1SSH_20170221T204710_20170221T204737_015387_0193F6_AB07", - "S1B_IW_SLC__1SSH_20170227T204628_20170227T204655_004491_007D11_6654" - ] - } - } - ] -} -``` - -The job list may contain up to 200 job definitions. - -### Sentinel-1, Sentinel-2, and Landsat-8 - -For each supported satellite mission, the granule (scene) pairs to process are -provided by ID: -* Sentinel-1: [ESA granule ID](https://sentinel.esa.int/web/sentinel/user-guides/sentinel-1-sar/naming-conventions) -* Sentinel-2: [ESA granule ID](https://sentinel.esa.int/web/sentinel/user-guides/sentinel-2-msi/naming-convention) - *or* [Element 84 Earth Search ID](https://registry.opendata.aws/sentinel-2/) -* Landsat-8 Collection 2: [USGS scene ID](https://www.usgs.gov/faqs/what-naming-convention-landsat-collection-2-level-1-and-level-2-scenes?qt-news_science_products=0#qt-news_science_products) - -To submit an example set of jobs including all supported missions, you could write a job list like: - -```json -{ - "jobs": [ - { - "name": "s1-example", - "job_parameters": { - "granules": [ - "S1A_IW_SLC__1SSH_20170221T204710_20170221T204737_015387_0193F6_AB07", - "S1B_IW_SLC__1SSH_20170227T204628_20170227T204655_004491_007D11_6654" - ] - }, - "job_type": "AUTORIFT" - }, - { - "name": "s2-esa-example", - "job_parameters": { - "granules": [ - "S2B_MSIL1C_20200612T150759_N0209_R025_T22WEB_20200612T184700", - "S2A_MSIL1C_20200627T150921_N0209_R025_T22WEB_20200627T170912" - ] - }, - "job_type": "AUTORIFT" - }, - { - "name": "s2-cog-example", - "job_parameters": { - "granules": [ - "S2B_22WEB_20200612_0_L1C", - "S2A_22WEB_20200627_0_L1C" - ] - }, - "job_type": "AUTORIFT" - } - { - "name": "l8-example", - "job_parameters": { - "granules": [ - "LC08_L1TP_009011_20200703_20200913_02_T1", - "LC08_L1TP_009011_20200820_20200905_02_T1" - ] - }, - "job_type": "AUTORIFT" - } - ] -} -``` - -With your JSON jobs definition, you can `POST` to the `/jobs` endpoint to -submit the jobs. - -1. click the green `POST` button next to `/jobs` -2. click `Try it out` on the right -3. paste your jobs definition into the `Request body` -4. click `execute` - - - -If your jobs were submitted successfully you should see a `Code 200` response and -JSON response of your job list, with some additional job attributes filled in. - -## Querying jobs - -You can `GET` job information from the `/jobs` endpoint. You may provide query -parameters to filter jobs which jobs are returned: - - -For our above examples, you can get the job that was submitted with Sentinel-2 COG IDs by -searching for `name=s2-cog-example`. If you provide *no* query parameters, you'll get a -JSON response with a jobs list for every job you've submitted. - -Within the jobs list, a complete job dictionary will look like: -```JSON -{ - "browse_images": [ - "https://hyp3-autorift-contentbucket-102baltr3ibfm.s3.us-west-2.amazonaws.com/0c8d6dfc-a909-43b7-ae80-b1ee6acff9e7/S1BA_20170112T090955_20170118T091036_HHP007_VEL240_A_2CB6.png" - ], - "expiration_time": "2021-04-27T00:00:00+00:00", - "files": [ - { - "filename": "S1BA_20170112T090955_20170118T091036_HHP007_VEL240_A_2CB6.nc", - "size": 6574604, - "url": "https://hyp3-autorift-contentbucket-102baltr3ibfm.s3.us-west-2.amazonaws.com/0c8d6dfc-a909-43b7-ae80-b1ee6acff9e7/S1BA_20170112T090955_20170118T091036_HHP007_VEL240_A_2CB6.nc" - } - ], - "job_id": "0c8d6dfc-a909-43b7-ae80-b1ee6acff9e7", - "job_parameters": { - "granules": [ - "S1A_IW_SLC__1SSH_20170118T091036_20170118T091104_014884_01846D_01C5", - "S1B_IW_SLC__1SSH_20170112T090955_20170112T091023_003813_0068DC_C750" - ] - }, - "job_type": "AUTORIFT", - "name": "GIS-random-200-A526", - "request_time": "2020-10-28T00:55:35+00:00", - "status_code": "SUCCEEDED", - "thumbnail_images": [ - "https://hyp3-autorift-contentbucket-102baltr3ibfm.s3.us-west-2.amazonaws.com/0c8d6dfc-a909-43b7-ae80-b1ee6acff9e7/S1BA_20170112T090955_20170118T091036_HHP007_VEL240_A_2CB6_thumb.png" - ], - "user_id": "MY_EDL_USERNAME" -} -``` - -Importantly, the `files` block provides download links for the product files. \ No newline at end of file diff --git a/docs/imgs/get_jobs_query.png b/docs/imgs/get_jobs_query.png deleted file mode 100644 index f20dec4ca9a887f6e2f4c2299eb94ae9ffd551e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47987 zcmd432UJtr`z`7@9`#rNL69R=qI78@y;&$qReFy|lP(}NKvV=m7m?nS7Fvk(8c^xI z_ugyhH6h7e!uj1h#v6D1#~tt8_wI{2*zBFX_Fij$>s#}ib8Z8lt16IPp}TVK+&Qvm zPi585ox4zZ?%baifBy;g(CB`P13xamd8+4p?i_jj?|*+pag)=ZJ9qosGucO)?uqLY zmhRL8V@=yIB~SESmdokgfA+$zVy^V2i#+<0AAaFe>bnnrb8*O}U*YKeEB(o1ijSYW zVeEhXnI7?}k*x|}txFP6y8M(%c=^zI`<3frqTr!&G%dcWGx5di2Xve-<Kpy8o75zz z93e}pI<&}(KTC%4ChkF0=mr@Dtz%6{6}vGCA#sWE@dv}VC*`D&YWQCR4J})ayMswn zow4i?RaJ5uop!->Wfc{e!*Z5{+s49r)^iR+qeRoWS-EtbLvjM{t-w07fagw6bEKGo z`0!YX&6rmU+D0~AKkAAGd${mA^U2THUD|xa(=K~P+#w+s{~0=TQfTYq3WYMGS+8c+ z)_42?M(Nx+ztA0;#JYB6DUVqM%jO}kar;=iGIn+KL_5J^7aqU5Fhew(`+A=>`rc8E zbCXE$v8RE){_wEwrHj;?Q)O-AagjwupDhat3X+cr_1ZjiViICpQHn6w*s2z{kBIrY z1V)0MZvCo6;>1zz<&=Yso}RW`L|j}YqRIwe+CkfaFLf8#q^-`{FdD^76qE!PMe3tm zon1WA4C83m|31CND`E}Yu|~h2?YVPXbRINCN~fFWjPKO5o^8n^{@oRFJ?3oBKP<dw z{o{XZcy{K?kL7=z9{cgP<K@$hca*bKXW#z6*$_f}^9h3_b=={jvu1X(Tsydq?}t53 z>zQwRc(#v3E*WzEbo1q1W~N4g?zR16A?ni|KV(v$bL==4dm)teJTa=sK9btxrL%i< ze-uP|!4-8(6F)D++q3dkA0^Dqt&}@pU84WQ@bT-j9$krNVR*qo4Td{IJ$t|!{Loyi z`*p`7=y!A4xdX2sP~4wy_D+~P>_1fBbzZ%Cdew&;LBq@3v@JP{$&0VE1w=$d+8?yc z#d>%OhOuxzd)mh%<-ok0hkh;#trrg8KkLNF`9t;jd8vk|zvMRWw{#9FIy*Z@DMmF3 zK&5#FlzCd3oBzg`M`r5?U7h}e;jFWCEJM_an9?|hoQ#YN#f;Xuzak~2x=f!chfQec za6HyN>w<D-brrGR+vT7z$K%UTxh#5UN=a+$8u@7({NEs@PJCJsP(Ex&z`(1s=SfuA z!9iw_7Qz%lg)5(Doj%-OScr-6CL4}dx@<X-z`F0cn8|zL^nA%XneLY_+^;gLlWW+n zBJJeK%BnwbI>~pclbcMs_WLV8Y8Bttv(nCyo^&0ZAbD^8-uI65p;|g*SM!$M1p#Z8 z{gg`G-+RyP$a#5<XU{clOomcYQc!g5L~&J>m&aFT)zUouH^R2=Q7}u7?=4lXhrf6s zvN;**v5O*ib#-OS<6{3e(zX<nB$+rNf4pbS8OUOVC{P4IF;2(x+s&2x^s(iIBo<!I zd#cHj7`rxd3E0@rCzB#BJg1kZ{t9z51=BlJ|K`n`{-L=#yzFduV=MD(DPyQ_9&S!t zrI1-)pS4|meEMw;T~1C;$g5_>LJ=yeSrxs=f}uOS1)54#_k&uKXJ2zt2s!aQ5;p9f zQY5Y|e<-7FWj9`|S`9Il6_0_n8u*A9e{osbU6N|&vz)C*ccn<lz-QD-ONIHQn%|$F z>8pvex3VgDHBji4NA~-2?>-D7r_O1_Y%!o88NRY(GxeomDuqCvt%w^qo73=d>d0>I zOM7efPIcJJH1{qvKV(X`2y8~lmLP@=xES-kP%y7BrLV}|6<}4WpN%qpLOz6^620kI z?HwQ-ZqBNbAY?U~7nq%M7BM5nzUApQV%y)NxC`Q$UD@k10;BY09t>v}hMSM6<Mb4W z$&&Y7ooCbXYImthGEj*1ichy8cCC6Yxv$C&op3wNnv^f}bQARA@A2y4n^G(+R)y`R z9%!9KS8RPL5B=r@CPB%UHFz=j>C3>+E~^)6b5fJ@zc;Z)TW8Opx>w9qbz7fA<wm6` zqKEh-Po}%~_voJ~QsUR6Z@ThcnV1Wo%;EvDmOY3-sArVEeFKYXkXf;B$DB8rQArSX za&>K;6q^Zt))b!dz*eG4luut$1pi4DX;5bWq&du};LtQFkzs8B-G_o%Iy>(snkI|- zSZ|CUU)~OM_`)Y*)(jiTO|c!jS?IERQ02DCrIiEO*!W4dTDIApIn76T`b3azQrs=B z3p=c{pO-kSks=zL8&dsj%j;2GQ3wv|pa&Us-(nRMOXAe`-P#JszTg-r=9Dk@AuVfm zoKh?&MrGvEjRH!=+;BH{!Q6i8_35q1;`V08iAQj${Rj)>z}3~!aeHmh9uXA8ba<S# zei1BrQ_9EM2^j-s7V`28c#BrIDdmK_5ZK{HiiBm2Vg?tqCJ|v+>mvw(d_K#=?`U5P z&r#8rsLCGmKS63{%cXxtUd#P<{Y9W|aP!wtoWf|WzULUdi)N7VJm*?<{PV}JX7i0; ztNo~jm6Zr*k_5ps_-S)k_ejy=!Z>_MHH3xxmgwt;!O<#e3^GE*U^L`TSdyq?&Z~wU ze_?%8sn(jX6wGC;+G^~>aWJ28wHE<LCR00$R7<)Magl6|f?m40d%ZQv20hPp8Vl}N znuGHBnL9}cQ9Y7S=v^TrXYLoQ5NTCw%APe+r!4LsCej&8#jOyItmbP<7baG43JT^v zX(}`RPKfKXl&c>c%+%X$gs2y&dyvkNY;@2`(jIIQyp$1Tqa`41^XLm3RnCiq$~zNq zD&R(pjhP^YHcQEuC_d+CqBJp{1L_%y^CZ^Oo7r+mf8g>*mm~MH2l|-c(85?>MDwxk ztqK;CdH;{>2Kr*2x)LyRk_N}sp^S|5bo((n^$crs&??_B>#<1?LR4IwljO$J*%=1; z{N;qdDpWC}u&nF`Wr@DsaC39>^@u@-QrrIW_v+apA)>+#8^7G}Wcs)^hhsOP(}Z%8 zK$EXL^DHivyy`PAgpi9sqO#iC851YObwsv<P<$qBi*_q3w-_Z#VB5S0uBDKj=|`!m zNWt}IPu*`r$PZjc?27fVb@N|pg_)$ODKA}uQ5JmXXD0rf&Zy;OkXr0(RG|xM9xZ_z z*ZSP4<-K$o#PEV&ME<bH-*g?h1iPjBhFWaZZ+K);a+hR9K_JLY$==r;g+uHfw%J3G zhh|tYf`<G9zmO1x1QC0l8=B%AS$n~Uo@riUl+T_$o2cO_HqW(a3QH<?-H%69zxZa@ zX+bYyzcHECc7XjB&SWK9KQyEu%WGV{K0m*_v7wETFR>oTO_p@z;^mc==Ka})cCRs_ zIUNj=x}OwyjLIbwv<9;V7xelMid>5{kd~|Yjn=M4ioxZmqGIP3`-5S1bQzW4)vf_Q z|8+%0Ri;U+W|>tGygh|lMJNN;6G^w9=(cENW@g~ig`6lSUc*%NY+;Ad%9$>eTerex z=R-wWaYydK%{_M_;CXsWYio0h8+0%kUS8hG-rip_-F#5K(<S{K9QliiWB&2C=gTM~ zVZ*0-Zd{L$9aMggGlX^YbPY!J=;+=;y%grR1MhNOwYf^KP<N2&9Pbk0Xsu-6Y_qGQ zUx`4NnVS<Te9}^&+gw`Q3!}>H5Ux2^or~2&T>~9LW=);Lct>#EeP0{5wMkaX^MZo= z$U8DPkBwjD!^4FOAN<Mb&4!^Hp<lt68rHh*b|y*OjE-Jtz2JhK92sfhOhKQm6tosL zHVL0U??5_?9|=^z$Y!Z1!Bnu&b_IXcq^z;)aWFSQZUaH?$cZ%!?4YT!aet%l&Y^`4 z+VBP?>{6PICRY@rMCsb_HYay-f3`+$r@y{GHf52xHQW<K)3%iO@pP4V*CJ$dyogE= zNlmpMuYw(BlLfiEAK`8ua%!Ip4DM5-6%2RuZN}5TnG_5l^@}|1%<8v`i}w;l(qz-U zj-9%!PXXc&n~u&--mG!@M+=kuE-YONhOb_^**7K1z+cERFf!(7qk1cx*)?=dA=?i) zqhnwo8R<>)76oa9>icP=e0|87GIfUNrfbt5&Qi6JdK05a{SBvgxdnZG+wmDEt<j@v z2BL)j0YCnXqw6XCVw~M=r20Jb^_5pgzkUrGDvGX6-pdwoVL5I1whTZWuPk{dT36(X zF9?X9?tJ+ERkqIQ*17)*(6*#x7%P0t*)cyuYUd)`Qp(M&Zy0|#gQ?1#%<Rrv{AUpC z|1m`V--fmSPdB8lJNwyriC39uZJlC#Ufg9_+N?XEmJgcI^V(_i^Or=g>4!(A5_7Y& zV<lLx%}K(SFa54|5()|mq_mBS;ToxQg|Zr{s@llt<n37uG5bkC*dA8ucCCEE{@ggT zWqT*O$GE<_;wlm@BFJ|-SI+T^m1JMNPB~KLMxyAm9Lm%4Ztgy8@8HQdt|~Q|$Xpw; z4`aex@nU>PE*bJ^*&4_}jqvz{1Q*XL-y{s7%>^D}jE0JC#tho&Yv&pdjJEE`RaPga z%3(&U2P&r<`Cij-N5SnoPqFet7E4_DT~5xGrHZR#Zm-93-Q4PugQ8k>@}3jt!sU%H zPCU1}NqUU?p5DB5;39|X141zuE8O797TVElf<?xdQQ{w6dF;@mBX|6fJMA*(70rFR z0p)+IHV<>q`n~l}kJFWgRK?sb{)Ov`-^Ikl#LSq!ZtfJy9b#u=!yVJYk<b*d=$+Jf z4S=K!aoRZXtB{ddm<a=enLIHSC$t1}aM&!e?Bvn?K7W9EeTltk5M@woGsPCOQBdF* zeDj`|H!kGyw=8I_YKogDE1R@C{Ks?3<7JY(kX7&N<*oN4p-UY`NBpd;LaajKxYCS_ z1qlL7Cr9&<tp7FKcU8>jH<qeAR31E5jA!LhZ*>YSqm0k5&dz*e!svwOTdiEp%>(*= z6n+eVQh{qiZ?_b93`E=<9pfb|iF`^+!Oa!Uw9zMp>y7&f<mBX7@nXAyoC?JH2xhZv zO1l%fHFQT9s+y?YK7@3eV%px`F0v$g5l=3Z=o_V3gt}eYD=98+u1Woaa7ismxWX*^ zA>}hAm9;+n1m~1jlwc6f>Oc~u3ZKL6gKW&~C22cL8|jlQllzp?jZ&}7)fA+-eyhmH z&yn~&FSq6I?{jrfDypiy8ku|DCg+ok5}hY89?rCxnVE#Crn+RUT0}Y$3E$m!qoj=3 z*x2y(uhz*o{DhD^7V+%iyMCHSjyv{jVhk(aWWSB;U0huB57*PvqYIT!>nX3QqGx+2 zE6)Hee`AH7oX8~cqvZEjp&|JDyu3BeF<~n4!sPbP9TxLeD#FoyE19at(xT-Xc_|iq z-pHlGjJB?1vBSI#x=@Sp*voNxaZnW|(n@nU<c``s<Kq5_32fOEoH8Q2kBx$E=jay% zf5`Z^y{^OLhY@ew!3i!mTR^~#3}0qHDGbmsVG@f{&&~w!^V@S}y!{S)3UO+C4jFT@ zldGPcXN0sk`gzB{QN%%hqQV*JnnX8JH(Bnu8|-+aEe1Y^UzvJ~JvjK>(Dv(>lYy1_ z&uVC%oo!8ufXn()N|Lz8YS%t}5k*Bs#l<Kd=jk7h>YAPegjZHnNr~B64s}kD(Oslq zxc@aP#*&x)%1D88@6Zhk(%zHDv%UklL(;i=y!*^zR5LRx(u9EQlC}QCtp*){oYe^Q z3+iXt_Co7kk<#bSk%@_kg)*uPGROVdg8o=l2e;*s+_lOQc&Xi3rRu~eq_@U&EE1`T z9WE$>9d>eMJVt89$4M<w_4WyZvyBWBCnhGwCngdZ7%@Sf*_t^>R~e_fJ3oEXH#6a; zrlvfQ^OKu0D{Y(r0*gG*NXXXY8Ze!U;nd&~El);hX6t7wKVM1u2D?V_$AH6gwBkT3 z#A&g;f_^Bi=ES<%&#wY;jp1k`wg<Y09m_Q)RHi9-C&$NIn3{S||M(^{$+0%S94obc zV8`;F^-tK|Iu}F^6D&VfiSfavxU5M#XGB#UZd{7uT-n%ITv-wDT>o3JM6WY#-*=5z zU_m%V^18!6J@;27#Xg|XT?uyjK~D`0y?76c`o<Uyjf`Z|P3my4Lw~8?BTCD?IEHlK zqg?4JvZ?PeWsz_#^<L{>C&^dz|GNy{_cnZGYMPLE!jGSOcZko($P8{?*K;O=rKUMR ztKB(am9m*^eS?D=DIpFMHBZJiYX~MQy$f2o+Sc9t!#zDSdZ7*qQwIkJ_sv)#>XmPw zC8^Rnvp1H-b`@1pA96=yjQWww*yS;QJ2i^%+SOVYgS4K#m4T_P7w93Il2QEOMiiIU zuYrMu<p=~QEts!K^yg!GuAqC$>|?mJAb8X4`>bWQBgt*%t}CP4RaSxr>m$$t^@dRw zYsu1&c1fcpi=^u1*@iYbjHDWq%m5mSW>?tS;`rQlG%`MJL`Dxd0KGW9F6(F|0;?hs zBXj$Qj5zK<21kEdEIjX4W{&y7rT1!~bpRA*{<j!Lt|sa06H4~{wR5o}xv-K|t->l@ zePWSY-`>htkxANgT|gL<6kUOxO*4Cn&&$}{ox3G*`qV+|;r__?#o|W1zDtJpwRbr* zzMZTcvt7Mfw2lMO#-_}WP!yA!kc;R?=}4SRn~>hk3J3@Y*$g(1{Ah2#r@)drwC19Z zLU1^3&<LzkN5l)|b{U8+y*cVZAeuLkgf|C!6^9oOy6i119SkZI8@7A{sxcUEz%jyP z%!Tx>2G`n`Z{L#5?OQy_(q2l0?zS&DrGUH@yA<1#rq0>X-aeml5_<a3IbLT%tJ3Y? z*d?i!y<Kq-b7Ny=XJ?b-x24@bsPx8{#>60JrUp?Gor%)iYJXkoqN1lSdr5rdu$k)M zw!!Z*I$ybO&HT5-UfzcEq+FWAgsO^)pjWl~cA<Lq-riob`AM!0+S~zJ;nl#`WENSw z%C}0xOzU88Z=WT@BZMu3>MXl>Qf3>V4_YFTzYYR)atwbCb`EC6sP$Z><+X%YznyV< zv6%`<RnP6~>n%KN8pm)$JTX2apBJn+vq34yC}H0Z^Th>VWsY=j?XL|<dEUK$e^!@( zlnRUljOfjXVp0<8qN?%+Hf2?BKe#!G;rwJs(9QubF0b~q<Uhw|f-A2dX|Vzz0VGCg z`}U96u_xpVe?v>x55M_Jw>LLu8CHBi6oa_}CVHve)e5+b>%?fNfw0}~&JH!@Ri)rH zk<{cWwyaPTcEbn;^5+@>Ul7A<T;a761pi7Zs?^EW9~l_fZ@N|FFcBo}c5ng+fz<)D zsYA+GkxUGqkrBq)PPu);yv?T;c4$1;NXBIIyykJms|K%H{6WClkb_~Br`=$C1&CdL z7v+<apsI=ryCdh_$l$<Y`+?b=3~p{8sJF=C<fIfH%#T4_$0CI4pXHR#pDQi)D?w?& z8(VwyX!iW?ngOg;Nr$_sSy=`Ek~4@g9M3D}59H{ChN~e$B#p}^1!*4&d@n0=b8|Dm zIAQnKL|kntq`Zz^|7QTRH7o%^5ZnxUnwFZHAmp%<SKAXOxHOn&d`M+^T7cf>Qzr3; z{SNM?x;|4vr3!a6+T&>JTW*5Q92?nKiGz*qk5pG|JjKPkDEwTP-!3i8!y}Yo|HaF| zbClW8+Kn2_C9v@Mw4kp#-5MWlb=r%i45sB9t27UYiqaxnbQvpi*v;GEin4Amr`%oQ z!5xw0!2&DvTDR-Ft`#pJcHV5yW(;tXws;l=O=ioRjPtl5iWxga0x6v-Wy?hobM5Wz zIa=sZ(nQUO0$_}az$jS@<wy;-)fF|zI^F?~a4ddcZG3zJx4+q!Ze>cjy~VM!@y_jc zC!6A3$mlPMSoi<v_8Gq93s0_k+28Caj>-pw$tIaMso)PD9-f?`EKqTFc1-Xba;tMt z*ZEV#gF&ZE3E|brw+&}9a@(AYgvGE+<@!)&YgH{Sb{JR^MVne$tk%n4_&-?9hNn4O zb~%iHujm`Yl2%4e(^K<RKlwC|ieyiWw4k7%kdRCNqq1z3;;zjthX;UpNS_Z#2|McU z_pAQoXv)@~uaOH1_X}=8DHdIA{nh~#%$jeIr&E49TmEBCW`9^oL4kmvAnYfNWOBnE z#oRQFs5fq%8J<_`w6BlBb?KGg<;yp!^4VV%T4F%^UHpCSw2LMOQ{$sYV^!?;PF^1U zc)vM1I!fKm+1o4F7{au<xH_6{Rrja(8I6p-NHKSM!FTZUOpT{qILE>9e^`3>KV1&} zSE`CjO$bQ*yZ@uU3;@J_pP1f~+WHxXyXCYeZsbE2H5A|olnP^HM+}hget(SP!7u10 z=#B}N3L`!B3ut!W^DZVb{13UBde(dY679<On9pCC{Ew{izohH*XY!u41;1>}m_U2Q z?^i$TN$9^!WOeV_ehjaXB()E}u<$`onnEV;l8~v1$;{%Sc9rVHj~`TicOT4{oYl)a z^`D~h^e|lF;_-R&tdgF49OB}h1FbYMd{C~tf^Yv7svagUzpdQb@&)igIc|FTVt&4T zX8y9!4O&`2*(P6I>SC63zkU1m^9=R4N{GdoX!YsR@4@JssC845T^(ZQ_P7Pk0-5W2 z#K$A|BvqY%*kb>cw?46-P96=}@$qIw<IgjL8Av3pf1d1rWH6>D|Apw)SNqg`1)WRF zqh~U#%@sAM9S!Q5lcTyr?7FRrL9F&~BH9^$fYMTYd@8T~;C9-cjXDen^Kyb$IAvI> zr0l6F;HM+I)RHBuUQfP-%Rni`s2s-u&BOoIeR56tnaWrRd!F5zg$Hxab*_7l-eE8( zs3Wr)#bJN(o)n&3mAI&&p>sDSB$nT1gHK&Fdj52xohZZ_#NufVx4Adw7W8Cg+dJBc zxaAk~tnx)=B`!`*&vUgPg=Ql;lquf(w>ddC<=E~@FZVedg>_@Vh2GpJtW){k?4Tp_ zsSQUYN_rgls!3DGFdX0J9O?Nv`H^)3QEC3G=oEDm6HbEgyvZ_8WIL0p9vu001>uj| z6Qr;i3V5dz#5$H<ByIPbG$o}6s1&7HdivJPsS<}Cn*=HqYGpkiY-|)465^4T?&<mI zQ`d;)9<nWWlj$5CEp+X$t_!HKu`?GlUHq_5Us}^w)#k4vaqnJ7%)O)S@rqy>9$im@ z=NI*F_cSW&1L~%B_qRujS?9-AoMEn;Z#Tvp`YgL(p5<_U+aERG>sY?Qc<#01_g4lp zT{I{?_MQsDHu$OzKbl*ZYvms`erF*_NsV73V~&cAy$cC7c*`WSF?Vs_Mu9;>%x$t4 z^kHJcaB^eI0`H2Foo`We#a=e3d1a*BE@fkrOE<s`=if83vEjZkrSW@W{HXmUab7y4 z0#*xKa?K?U>*i>_oG;MGP`r2|3Clr9x_|1gafXZNEJf84@}6@PR+-6!+$eOO+Q3|r zosW#TF;-%CJoDYnIgEiehJR^^RpCyUCAiOfQ2VVP(lyd@a%SCIFP6HX#QhjOpm}dL zHM(sOjbA?87L)OrK$0%~E;sxxsz~HRi-wE)7_U4w@%V?`;Ap0~zyE>X<C)b}ui5#L zO?cwra!(pt=<3MGsQp+0Yy!tK!V_~+S&0ZR80pP;K-XcJ0{6!1Yfg*~oIg(h{J)g* z!LN0TT3+bf(vksMwFAHfUo#;P1!rCWX(oZ0oduf-@iHY9l@#J!HNIdQvNN~tM=xx5 zNWo#8D<4&-5axZ~>9Mx9HkjlfCP6Lo#?DP-NJ8LHnqJ~~5;F|$Cwm}=*@ADp&~7L) z%CMGlf4@IYF(cI`#`XOlK4VV~+HqDr+|?ex2l^en0&vu|D8r>CXr4uhB9q)WuW_aI zksWOM`A1{4!*xS;OYP4Z@8AWHjeH;;c#V8!J#l7I>}vjpxIJtH`<0lK<mDaABu*u^ zUMJw_c)2U*QMTq_ma(2J!#bAk;*h|J7cqwOUXfBMcG%^?th>HG4uf}usMp%7T!Kl6 zh{VkJ;z1bm{;1Uj!`s!UTI0NA?;4XCx&{}16^oEme#R)CmE!Abl%ziZ)<gXgtfK@Q zTb14b7mYvJhNbR%d093uVqijUn_sXF`A6o^pdeup4Nyn5O?A1A&KE#tr>DRB)D1S9 zB5{Y<QY$3{n}F52C3BAE?;!$+1!r6Ty|N^iomFOioIoH;C@Zt>SuRj?-5|d~$)^_X z|I@|uE%v(Ox>?}EH1zG?V|LDC?`QWP{><rt&nRNhy0Gc#hy#ZbNq7FovUC@QJhai^ z2{4Mf?@bcQlcmJ9QHCr_-|WWRrYfA#+M!&LY+>qLQNUSIW#!x)?~-tle3{Vyt>1co z`Vh|`?bO~>woGd((>fH)eea5r;pfCe@HbVRD=CS=cWsES8y$e4-rwPX)~qLcU$X2p zc0V|gqwF!WuyDJ~W%TR2iKUGOMnA)->M;EHBtgTnGw^998+TP)N(ve=tZNX6D2d8Q z$PGpekB<H$9~@MP>RZV-3b!7tG;obE=yAIyrdJApZD4c#v%aE3*{RB1Gu9}sXlGX^ z$?HCQ5074m=)_dI*nHu-70Y*cib~J<0yhR3eJK5)QOzs6;rDk?`VYcHU4Qk}VcxF9 z98-F3oUl?_^_JJDXH!QkhWd)wk&C&_?3i}!kuu!AQAd}jJ0nZ|GmM=_t7N=RVy47~ z#|F?kxn6#SN--$)MRz2+B(%h2PPH9#c+q?3X<D{H74F9$n3^PMo$M3XYJ`5qP0Bj6 zyCoygp#*PHB_vJ6*RP+SOu^Z!f?<?pO<XO#K-@(#QylE>3#@xsvv#V6$#lh4Iyyf+ z`i9`vamX{MWrfTh6*d$Rj|rzwcY4LvmZ%RA{81YVb)33^?A#b}+v>TaQg_h>YX2j# z_RRvk;Av-o=UZ_M!fY}2=N4LLd62ioYOQp_6GIGkWQOnkguN#=+*N325hEtz51197 zsjN+w)PcvE4=u|yM#or6X7AsHZl+%Go9)C_5s3{SJ}5GYG8FKbh0CW=Qf55ngy<)! z$_C+ah~~QVfJcv5?QBtSXbG`*Ay-Y?3FMvuxNVN%cIdH;ca{A<#FD+qphti++sXrT zR(+kQb-qn|R#yqkE0Z6fav(=wms~Uv2vsD^79RL+7D83&oHElLW`vhbw~bSWyfU%i zg#ZQ+;w0VVb;A!_UmQF4gkVD*J;JKCU|g>yTWULUi#Fx^Q49^_Ga!x4iXd`^a`P{b zUewM?CkO`wJ@xd&T}=iogIKvS3aqN+gg3=t_&z1!gQy+p#k0@|QPJTB_PgXv!Z|wO zstzSqHRd+UCk<^5vT`X>ZZq0%l}os2k{NioxormG$yg)~OJ5Hz1IFlM{iO`0OQS@G zjWe6fajxSWZkLuXT<z)J_Q5^M<rtVL3<!8}0?t0ZIG4$_sXH+Et_7J+{>VQ*qB}`{ zkStBCd{%mez#yqI>H`t|>r|kIB~m#->zmie9ZL2>WFok=z~+Wvok`~Vvu)dVz)E#x z^@>XR^Df?%v0P_xUx$pM#V>ny26^ZV^z@T!-yFACW_(y1@XWOfj*W%&!DE*e7kA_< z?zgmXmZh2|i!Vk>6JB>GpyDUPL&xCLZ$Pfj^d<n_t^%>QKG`$UvJC>dy*=;8yIH6T z!-CGZ<<bU$PGu29_E@PEasD~LK>x^Wn1bn6vL+J19A^8Eq2=t-on+h7g5hD!7RT&O zYE5-n<N0TarKp6Pe2a{<37@u?Uvv^&T}z8Bl&$|UWM^R!;93P0p%y%m7*!OR_WRle z@+FFafzNdEjhRJoPfGO7muFu(3{_|tT)nzmUj9)b{K17c=4_e#lI}ZHd!F7F78Z(% ztw<P_)}^?8s_=Azxbytu!>E=ZE+^X<LO7vGF-q%syCTLfAYj!~y+ZV<K_9Ij+w|(( zkelzLOamD<d0%{fd>?<uRR2vO3WZe)|Acxj^DkUZHXn6!?u1q+#>Q%v0_jwWo747R z*yzqP5m-UX$hZr}HBFk)dR3oj_umhxkX%1xD;*7S^($e{P<*xL|Fs5c<^~_iz|c@3 z7Zx;k9ZGP#@z=ZmU~J%fpp5XwAJjKB#Z^WRsTmrs*LcI`;bjH<FaMRTc4WUj*F<S! z53tJsAwxysll=?TjiAEKf6k$7<oEZ##xGDnKK`c3MIf9Xtr_TSYXj8nuYMYg&pjTV z;F~-+?WzMGA0iOA`R}r|pSi$pt9?<-sHpIG`0y**K_E#LIkdL#iOCN3wBw+@@?;() za|?U>e9fCdfsFt5X+99hso9!<XamRoV&!Z46ifX%oAuwa=i%fns>sLp1!sk{o_?S@ z|F5}cN8uapXLz-{i(`w(rFrXL+!A9pFJ<j6-@C{6^lZrBrtxRQ`u|K<GoBb_y|Y$b zsBu<eR#$t)8vXiJdl~^h=63|XHV2HbUh%sxF8nMZDr0DkRK~rT_V1%OhXEal(nmel zT^jo25voLe#qV);;rH*|adGBNtm&sX{@nCHcQE)GFpE9U*|GWX%%`3A1=ql;PT9rZ zPD+3QBdJ@xVBb`T^$ho*XAKjD+#~o;5B|^Y_&?>w|F^EY|KF6p^?QyjdCW_tHe()R zrPu44><pfa0`YHQN2^a;>u-XnscThf5*ew|1uM9c>##8u-Z7=|as6+*q0-&J8_48= z>BWw$t|nFGr^?h3D^ne|L#0L9xgAq<r{jI9{vEXeVIoH}dwy}zdiC*@Djxz)SI<CJ zPR?Pha&EWa20ZpS$<NQjhs-$VZ3~frr{-DR&$|d1@nmtA#_x>d-;G~>tyQ<e)t{;F zCtA9*R2_FZ67^)@0w&6!_;JM=mAq21wM|5!>~?ReR30wxtQFGOXrr-5uJ~@oDotyx z0CI;UNsraNY(b{v<U0!9^T2&`J%#@e>4#KHDJ>|l>Q6T*vv=U8zM^5I`6$b%EHn2v z+!-FuJM!ND_9Vd9cg?8!jR)~Wt}NBQqN>UbOLR>VFR`BpN*1)4EU_8-!lgA*Xbv0% z^UKSh;^Rx-%zSRX6A`bh(hx**k-}rDbF$QC$(U8~ug1oP>@PW`4kgCrZvxc>m_<Z} zHYRY<yhiHCK5&Wba_F{6-9@>H$`Y$NZOWCQC4xhy>Sz^=G>O3*U`8HisN0Pcde@~S z+?c&l?OhGqTLvZ>R?3wz*t-;{qo80>pJnGwM>pU~xlK9;@0*l5eGta7CUJD#`A^2? zn$-OL*E=WETH3FT6cm|dQ$@0=aR3ibP81x}M`og5l9Q#)S7TC#_+o3zwNZ4YjbYV} zgvLx2139zCJv~5;r-U430dXu>J8$GxC4OZIMu_5}y$gBqqKA_+JF+Hmc5zkQbv$cl zq0NVc4KGV`K!Y(v8I)!ENF1ky``Z*113H!}0x*r6V@0)H5>ituL-?(kG@GG(k!vm+ z>&L1|qZs_8gkr{v;<u~waUxT;LO#FB$I9&CqzMZ14~j!MT2Ex<eGUr3)q2(~Oz;%# z303^Je~{AD{KrOh)rhMJO0?*I$djbKOP}@0&q<T+ajg#KMA<+)l1{VI?eHsY>z{ci zCZ#>^I&G)2qNZ%EhE44)ge}?;X$p4^u@qGvf{L>08tP;L`o*tjS5{usry=Citbn&j z6?r4#O91D}ty@Udq!+mZQ{EDF{J;FJ#w0wjGfTDM()HI9^h9mU`USU8Ff&QGp3G<W z0YW5O)3EYwhHT&uV4pLU#zQ!=l!3C$rI~jdLa7jb;X;%>XdCgDNLC7gS}johJy0HR zMtoxYCZ<M7tyyVZ(h5;e(+&kYxcqt>2J~bVqj;_COp_*T4>t&0QLDZbml6^ZX!*2l zr}1?Mn-tu7T+aaxq{%f-%Rz{WiLtV>)&}8Ev*E*Jn&|TS@pjwct)F)kLiB3w(@fOV z)q6?a{J$oDezPiSth|RUwPP6xAIKW8fTU`2b@1G~Mh}5__E@<<)N@@!!)1;iBKrUh z-Tm|D&$}_ZR}8D1jAX05gDk8{AibLt(j5sRDoS0~DQ&owC@=rL6^sydC7$@DEb;#4 zG!YRbcF1o*XF~^V?Cj(Ogo*2v5)xI&WXRkLf0HM<9aNMJg3+AEHmX4^HI&{5r3hVJ z-ID?N4C*?T(^$TO`LzQW?Jpd+y7P_bL*-46+zGgjk00w-2XY@+Gk6_NN&$15OGWrg zQ&Xc#<(4!BNEkzyZjq-E@H`N`Ddrfi$P~hcCZo6q^K>glJ32~Sll0A7zmyghju)G( z0rlIWGj^iLU`oR6Ri;Xkv?*?#PAG?r?j#w7Qn6MHLTI9l7k>E#CkWe56q@791#W1g zPwMzHXKz7$LExQK_-N?r0vUVebH<-`ws{@x{SYdj>F+ZOq8EW1tJ}In5FYD%wAEAL zyqNo?b$Yt;0-XJ{V;mfQ=B|N{hM1DVnL?{wxb<aQqsekK$_`T2M8Krwx}hmAYd;?1 zx$*ZMd9S_QaX%TNr~+qD7~|M2CLnn0@xu!cx?{RA-1Pm2NygF9z`S&Gjy=Sn{LOa# zb|ga*gUm_oH)G@Ei7K~b8Herq%TR7=^&HI>pkC2N_z>`j<{TQE`z3lp)|zXF_EY0s zG}o8iW{+BSm-v9$fr3%^xvceIPKCqfPc81jqhp#j`@t+n-~KQC9R{V0<TA6^HNnN* z7w_Nyal!4Z$m4h&v_8T>`eKakYHtTG0x-IC+gabRBSv3{T$@BWWPfI5g6W)<9)5#} z=L26x3xtJ*0ao$wQnP3A{O7EdulyW_6mws<bcuMr%zq8>eJ@@AH`(9+mlonI6{B~C z6`mdaXBgz&V;24&Q~j(6YX9=|Pvd6>|8xJHSO0&(t)C8zyMQfaPB?>Ak~%Y?O1*;j zeNId|Gn90a$D9b2p$Q^(unVl1k5(F%A-AL^`?XGk>K**+RwJu`+bdV>_#Hle8?%8N znfpvqTt`8thkw8ygQiY5&nZ8)Tm4fucYxPu$6%Pam7ac=f+Aelp~QBwdZpoNj6&Ey zcOW2TSoL$b9|b&7*XWBT;qWtcl!1X1wsv;8K*Ir(A26{FZtKZ$ar<k%3u9$|?NEN$ zFWN`|=oP{V{rpFzC>CdUe63F%7v(dAS}cgeI6+HhsouZ-IyzjP;K{O$Tk6m3L*Y%m zUpH@nNe!$%m2cNHi!5B8bkK{~ULGmnJ|KFFxE%rms{LSf;J0A;G`+(4vhSEnAar>Q zgkl)_O!qtqV9wZ$mEPeMo@{F?QYuq*S?%XS7@T3monHX-Fy{_oCo9Up`eS5h1XMJ_ z16WN}6%4H6@}Wet)_Dh+<2~Q6g^wUR6UDb)yeO+YTwh&Zf4effKvRnb-r?0r%x(yC z4Pk!ng-U{m{Yat527A1;x3;JL=qHo&K-LwpAAaEYYiO6Yy`ZS9Bctutg<9Jwy51G+ zL55<C<n^1<F0F^Z7vCG2)(3ehhnrVncr5uJ?}-tVO-t>`G11YJ`QG%D$0m)5%?MLq zd2n`gAvzNp+hX#gc{N)3N6|`fXw^ZND|YM)H!U@#qwT0jUsMXG%|K3sn#kEZA@dY{ zO{`0uP!6L^O`!J4r2|>)=FMp9lF@OXr%k8;>U}&ZDXF)wx35od5>^WZi_*0YUc++t zgLW}W&Q)y2b1p2FQBq3ENu~!Z*udOi63aBp{M-xJtHDW5fl5qlNZYZ(Gyn*UsxUkd z;29`~9ZrI0ip63<$n~M2DWzCYKS$+6F<U+0*2%N)DID>wzjWyrIXQ#mSGnL!zz;q? z{$rC|I3)VZmtr46BLGJmePzgRI)L@-Wo-*Q3r`MPU<mjtiWB2?oO2nfoTHs)J&+Rx zJ6Oe;(R176qHE(gAi#FMSw9|HN$CQt)V>&kjQER{`x!Ajcq}fIJ_=l1Gy8F^kGGQp ze5KbMh!GfhtvUt2#{yP6?v$6wMmQlZYXky=3SqiZ;)xry%9SuV0fVTc^cU6(xi#~) zrhlHN6oV5}wR2H=MZkt2#DLN-*#SDQsp;JKxFM;>?`+Eb37lf-rc317gM(GB8*w6T zGm?6`Y*~9-6c=U0wC+ltZ1Dw0gDgDN+IpX#|A(?&COo2Sah~64ULjYT<oJ^GZKCP` zP>r7ZYuCWC<L7r=G>S}5M<CLC>rC;?(#kg|FE!O3N{EXio_gx*TU*B?hQ~<W%_Ac{ z*JIKpy*MB#p>&7CuLCbr{9D~{XoA7Z`qC<FXHa4_#>FDda?;&16@xxGMqZd>59=5K zs%Mr1vh#29e0;-^K(a9tAej=-wZUo#xD(*6zxCM^$z*0^m^+M(jvTBFA)&R>z>I{Q zz`(JiG8ha-95XSa=ci|25d2i#sjw)x$fOIPVmWkKQ4wWC`lV+h_!~Ev5eQULl9A$X zCVtE9&(Db`-QP{j?RX$*O<rJXCGOrco|J<w3!mn=cRCGwd{j(?5n3hqv5IV>Q6f-u zjDewicvzJ31y>XVsB?1jKy3%Ec;^^ZV>v0BD{}IUX~3y)i<~g910Rcyj^1{>JmQ-o z2J8F|(0(^5=@FP)vgx`4Q<L5>;Qnfu3~$T$PQ`j&OK}1ClSg2S?a5{K6OH%H6@#CG z47g4Jo~`f2#ap}F+NHo%#vu8o`8zbNCsEv^@w*YQ)MNlxypJJJ%Ij(Y|4Ag`tur2P z_m-X6PO1Ou>*D3Sq3KzN3oUgmCH~<9tTVu#F`S7_fB<XH9f(1hZC5j}+HT#5pyAdo zvmTh8shdAD5{{0H+>-xZQXuAagounZ1(TOsC;NfTqT1C(K3)Uf<>eWKjZQxOsA!dF zRYg@h!Rk@j2AIi7ckYBw)G{07x^@^|aen*ubx+~Ssur9h>I!i0`(7fSD)#{fFt=b& zn2;@Xwe5(*t?>JQ{&{jIoN?+_WtHXT1~ACw=ktOzinklt)JF}DjoI`yqO!BI{d)`z z4FMXieB0sxe$7yfs&<@P+?moI%!M}f_NGp6@SFy}`{f+RIVPyeT*J!SN|5!t4TMz) zq>=j&u_$iZ^p^Hfno1bHv>UjT^^2`1OAOdE)U8ZSlVU%WJ3w{S)t#zb?SNP60DE<; z+VM9Q`_LM7nLNJ?99$dZX$OCJP~f11$E@a9+2r2Ut+sy2(IT6vpXURrtE)#{UOV5u zH@;<^(5l5XQNdVb3VZ!}c_U;mgt&QtdQqgmQKFS+2n<e}!!^#9%S@Q%0B?R#j;vyU z>Gbt-2R5!vU<BXlc<Re{85@ljTbVDbXFD|j#tk^#*Qem$m7mAGdssU^9}r3}!XJ{U z$>Hk1F<HZNR~+XW9NmGd>FeVUJf+&s&A(_CGQW}X;Pf4{jOMXAhAW}+yG~NTdkXN4 zwe@P2uf0aX>y)Xp1^w%fkiWH5vKeiF&CS9hx~cqQ_L+b7oV;?aYoL`2c6?1QK>Fmh zZb$q8)Lh_nsK4?bp_^D`+D|t00vH$=jLpx`$=6T6cgqEpCsclnc>o)%24#cYXz41+ zeyTd;x4UA0P57kJ%TeD`K0M#s{~F^k@Cg`>I*gXPwD7h0Kr1v+J|}HO^D*Wo__`&& z#K;)W<h96fnceMe;&dI$1<z<C&SfMB#Hj^bGj{-lONq74<{&2cH&6NY^^g`Q4n`c? zha-TKB``#Cd*NeCN4yA=<UAo!p*B&J_0ApB-gzKUjWjy~e(b@z4p&sEurRA))N=PX z)C}VQJXF}TS~Zt|OW>0;t4F3e7>46a7R!>8nMTO+4Qp^MO)1`DE5X39mw*wxcTe(x z*;44*3-GQOFK?$-j^^r-s{}1=%#!i`k|{f&5ZLf(Cbt%;G8FeVCNS>XuYe<W+^;81 zn)$F{nM;d{&S+mITLW;B8~uGlLx=cV8cseXgQ$se(El}&JgSI3WLFrypvg&n0S$LF zJmTOY@IC^lCFXRbYiO9Kh&njrp3L)z#Qk(hfz1GxJHFI&e{^fB&aq%yTRZx9xB3f= zo{!x3Ps`ON7Mzqt<qn=$AFWy143#<~%Ov*J2L`r4A!$E$vl2FxJXW@urIj=5(*O+2 z1{H-pm`V>pVBbtoO_EGX{IWi~s9$7JLe2=%!x&xIA`x?coP->#^;%H3;cjcHDFaum zsgVZ8-j-t-sY8uKQAg{OC8+u40}(-IXE(G)nMFVt)_8uxII=e0b-uaBGKwAYtfhs3 zt9CHAD_M?7>F8*8DsAx)44@zk*VUQs4XdRv<UCvhNc;!94=%;)p(3ZCuz77_L91U7 zH;9!aH@C1DEY`b2S>cGSG)7bWz1M~z0Nd!vNw7>@6rwqbd+7Y1C%d|88{pL$0O05! zWI?}LwiuC!-q+~$^hRxl&}f6I?VrB$>qnX3t%ZRcEswn5aJ1XOK^Rs7d^?2@iGRkF zET>;)ZSs$d0O$70;co?|Y$5;bzd-2=C65}X^_)C_P1d86iN1QW0QiNh6di1gKuZmu zkCo|<4eKia2Pb$V>HH;fl{lPv=gI5{tH<7Q&jMU0$p!D)UWyuPf)fW4Q!MFxHfj({ zgPefLcws|2Dguy(Pju0F3{bdMJ33R#dzCn{)nnWda7!#VM<6z9@!P8dHk*5EN%(0X z;j{%p!E2Bx<2OdY-d$YWzvZjY7#6p6Oq<57%|-e^V__y4FKV&_P?XJ3_Q2Oi1dvvI zFHr!ytjF}%KY)8qs94N>t2<=VLcB^;#Jab;rAGiah(Z~ZD#$aWJn(qz`f6u<Q)_oo zr5Y0~J@{jMeUpUr-$bdR)t)^Q^EsK%i<6nC_7Joj#*J$fTMvwH**)uOE_XU6jZ|%B zW#wZjreRzf?@gBPFs29IhG;*u9fk#G{?ixy%qQ@f@=mXDYacZ<xiR(?RcJxIz4E<+ z_XrMMN}5k>n8RByS2x3L8Y$o0E`3DsiEa~e?yOkafZa0cJQ(+O5+RiCk5?3jOZ(KS zlx96CEiLWKRH=O79(ef~dDwxFmQYi8(()^|T#N*r%<sG<`R)^M1v|>9=x5v59m#4n zFRxi1RUrVu7Ufi3c~hF4-P{Caq}e6PVp<e0X;g?+L?V@|8{FHgoH8D!^?2gne(tMC zV^gNH#6>sFH84xxcOc#o9vqaNUt8<5ct{T^c-=5GMQ|HgvLn(?Jmrl^=-ldFj|-mk za$6Xh3fR9)b49#a1yP?0-jx9>A_a5LcHvhU(s07{l%xK>-KJ1xJKIE2tCL?kQ#kYe zN|7ng4&~x&Ha5>R_g?nhgvx9-r1&`E`r}xhTy*txr=2rvw4E$=*_!?%$aU((;gwfW z&T$)GO<`%l@loHQogG@*K*Vb2sH8S;s?xlvd-ydUpPFE#rD1F3Th3jQvBC8lHyVoD zW5xDMNCw6B6aM)~C7)w+Bkje7Lm4mj2M^{q&o%NKcg4tfku=QApb`~Ea&ilW=$aLp z(KS?=@e(0PI$4(({2wm>A}r7ck2)02BVku8Q(o$e6Ab0Z5w=B@NV2}VrS_x}uj8^R zpDC%k*57Mup|olOZ??|$?JEY5H}c`9L;#hVENoX8m-f%#pt@irvoymL8alO87(~ER zOuVg}4{N0O{RAm)uZK8qwv>NynU!4~4`6n3a>~ievbC}@AC)1k*OG`^8hsIH3~muF zeVm9`rKi)*Kk^|~TUvCuACZhb1UWh5Zavr5miCx!7qsl8eBr8^k1V?sP$wW*laW!9 zm8EOVL)apyS*XH~Iz%Qp@7;S<si@TUMKS7dDp%=XV}jHhjP8gPUTRo^N;#(bx*YlW z$wjhvwzswmm!>B^O_Fr9uvg`!WMxm$JsLGAvXtIAGVQu&P+C}1lYA>OA+qgNL3OoM z;4(O$;JQH3SXXOwT-SE>Cf%GNVRw|B32whwTtV{0`+oTFc<%fB{0%-#`J2VPfD~`f zpV1v-WEY<#{7~0WRY?{V6k5>K@wq8WO+}SAw8qWNRV7O7QCPZ38)Hkfv!QLeD)&oa zNou@%IJURP?rv)LB#Vg&22S*_GcxkV8)J-X?bgD+f1k{(pn^EP`3`^GsZ3A5#_QkX zUs57Oc}v{$WJbQdsU`M-RrS-mMBLiuD9O<NmDl56J*}-dw8mbIvD_x@@lsNfl6l$B ztbCj@)St<Ab`EJzZ5^M8QFL7)Bf~1%%BHL5kgrRKzB0=b(0MFtD~vDjprBy7|2@AZ z8F7FeLHE2)h7+xlTNJO8&eh%$M2@zY8%g%aG`uQU?1F!3nqwM<A7!%N683tn2A?vB zd;daL_e*5b5WD0(af_|v;=RJ&9fQR0!S*^Qzk}mV?c>V%Nq{rZpsRItb%sVsfm!KC ztGl9C{A`{*i*p>_p5v?#J9cJ{1Fs!Tk%km#dCeq+H)rG=YA5@;mUdZ5n8c_jvK}7C zvh!H%Gg&dXjH0Q%mwk;fdaBBj^z|oU%5YC#BW<;)LCM8aic-LeoSB&qf;&b+eU3Je zU|#y{ZC{Fr@Rq@M#mLFY+2#Kl8Hww#02TFp2eONG{$vIhDQ?YU=e+OEEL#T0T)c3p z`grh{0&{{has1evWYBW0t+Nx`^Mr-^Z+(6J;NW0y<>)w|UI^r>f<+9!Nsu6JMTj|D z`fT-7Y5)0?otdZSb+N4G^XEqmpGoBOOhxW3wd~4twI&k|u)}qS8?nk3^tVRT*ov^T z;c4aNUl0rojIm{0Q90GszxH&rv`SWve%vONms5_FZd5yEd<{naz1EjdXJKjFTG{i? zG6klXrj5p#xZv{>*Q?{>M`ORez*fnJ-#T93RdZoIhth^>7_^;$87K+()v~F)&rew~ zPhc+FRN|qLED=wWy{soQf^Xpu7?)c=E;b?4li#|!Ub(j8(AT-NJB6RN>+`$Fcx9Ew z%*Li@J(mWg0(uR}^Op`pZnCaudgA0t<ojwTE*j)tiP3?=TE@nL5uJ%DyZgJPWex_i z76(rRGrMA~y~b9Sa%%GPJKo{^FA5esyF2^t9H~8|JwGKCQ{!Eyq@>u9g7`LIHKyEo z5^*=R?$QlF89jdT1SfZJBj_WZf?@S-DfvXt(Qi0B{l{C9WJup|cY5F2=!wV<VW~c_ zKP03*1Ioh!(edM^q@ju8w-E<r0#_UNTX9B^IR3dtKjgqfM~~guNRD&Vv*z($$yka- z@3FA_1pO{|%J_jss;RmrCyjSDHfC02WR#b??|j*o{gM#rR<|uyA-lIj!u+7lncw!< zB&<#OUGV!2H%BTC4x9`O67t&DlO%}lvw=;qe%pV%m+Ip)9LC_$$dqIUPZmk0p`Mm+ z>GRf=cg2on9}%Pcu0q*TLzDmoq5=aGIx{yt{Q+@{a?wRqH9s6JLb<T8NPq33X*P9| zaY~BLbs;l;N-WO1YauVOOPW+a)D?gjhZ^yd3Xs5>DD>tfDX+baf!wlxIRf(S$5>NU zVQOk#UP%7Z+ESkh&$G0hohyreiW!xke5{5x;d?7LS|tOY$bwhar>YJssY86z>L_xx zV@oB)H)s0$HMnbtuG^o(N7g$vq8Wt88V4KOQ?FUlB1eiW^YwOZY;85C5L;`hsI1!% zzuD0uu23=+)T;KJ0T={w?w;7zj+P|Su*-s#H^EE#XgUdA3HuT!8k(AVi8)MWrwzQ0 zOTdk`V8xUA+K*ay6m|T9w^6FdTog*MW?}dE_nIOY{P6=EezFmSt~EHQbwE7*_J)j% z?3RG_Kaq>eL945Dt9i+9U9?<ub(g{q-r_1=eRv>btJ|(*!3}9!H`CccFRWMY^w>%G zwnrmY*H%MPNb~^sdoO0wsu<K9?a0*lNCTdfW#+YJ`*rewx|uf@Dd^mfUY;aY6p0!g zIrlU&hBE)oQcMpI)hg%v)S?YJISgw}N;1w@_`dZdj0(}Gn)-84=Y#*F<StcELu%?Q zRi+MjCwULIQ+P$kPf5LZ8|;&F;JXU}$<l2K&W(3cee@_oKaICs{i$rbIBC3E(&ByN zz`8HmjeXA935--of+q(xudJq#)*O%>Ba_<h@_}6bRTdIPFVXr>X$;cR%Fznn=BQN; zC=1GnpD%~YecHZL)=^6t1}=kDoP(Q32F9j>(&mn81=Yy#NDCr+H(uvDBcq(Gm{^4& z@6beDQe4jWug_81g1Jhd?T5PV9Fg2CkU-h>>E$1Je_XzD<?c<JnOq0e6lqp*i{|Pk z=8C|S#|aMJ(ly3in62V%?2q>Z(^qJNRul69*EO;N-MxOn-I$Z5wh8zKy^Kk_N`3ca zJ?C8bT{iD3rvXxpvGr)DB%diRueEF{Us2q%{V4i)(AvidkZGirCPY?Vv2C5diWCf2 zLtM;dys2&#Fwh{XB6YYPdDYkp<WQei(m#?ad)zU`4&BhIt=`^V+7$S}QK^IMQPn2T zeVL-FD*WdzX-;l#8JI8+*3k3u<Jn{>xD;-<P9szGHsoe5cHowPlr4F%ILs`t!(y#+ zOIZV%k{efq6l|*x0WLy`qyy%pS#4m_k=gE-?7L}6YY9<QQbOnFhlPZ^Ob%U@`8xIf ze1K|3a@acawwjuw!rX7Y;oYU@WvVff_uXpJBI{z5VsynnZOnGRe*zW~@VU%JV;q_= z$KMj%+p7-d&6KchSTOy@`ns%apu*=Gyld2Rj`f}=Gt;l9o=-iMWn!|I{Sp%?bKhQ+ za=~nA$K5cqGdFH~WW?i1YJSu~9xD3|B;u*8EO2$)U=L+a&1=ugWLp>?3BMJv@)q}f zi@a3|#9|Du#r2+^dQ<a^j7{&Yo0LMi@iF&~cV6LGDfrwJ6xeBLmu6FYSzh=CW_<-Q z(8Dj5G(Ij#p(Zj{hyck$c79<&Z>sybzPi4#wzTOe!(8A4I-Y<AHjqo(K6l9w0m?Ne z;Vt?c44|IJ9)c46<A`kuvG680S0^)dNqJCKpC6U->X`%~a_Ji4#0Be5Jdbk`|8Km# zWmJ~y6F!QGB9cl92vP#lor)+*N_R_lhm?X+0@4lA(%mK9Al+Tk-E{_a|JMI}IUmkh z>paV~mwRt`-{*Pmx#yml>zZrivwHf6*urz(*J>1~Ic`S`VOLje4BgKo=R)LQXGfDz zP>68(Ip7@&*}x-CW^Ydm%U#yYss0%wV^1=EEnEpY({7il^V<B&Z2CdZhw|HAZxSU+ z?ki1DVfj?xq&`Iy^zb0E*Be0Pqo9cUEo8@rw>hn+rf8Fe_GNtXBF3evwNe$Lwd{^e z*^Fby>Vks4-#t$R{Ru~Ud&_sCHeD2USAV_;=;{)ab)*K|k|jkcqp&!Ad6RCXqmwS@ zhmo2WD;?bw?3{WXF3wRoS?NMPYiny3k9ro`u+=@wh0Uox$F!jXD(Z}Ra@1?q+lhwW z_M?qrgU2L~<KGR>%y-n~*-jn*D%}2g@scfowk&b`ikAKJ#t)@b;fsJvn&XyU;&Fwn ztd;xt#mM;R_-qF5dFH!|S&gsc`p8J~T0mJNGn0gYAuT`O;v`dFKw3uTe4uwhDn*nP zOIiM40Evq$LYX!vD+AnTm0~F=#ZX_nTm4Kp?$l^HEfrN@Yc`LI`N0|oq5tZ_x`M3Y zWPj3o*)V1n7GE3&qn-Zklv*G6gaf%GGizVI;O|4L07o$DC_j>_*63VOyO;fd_HwbN z;|cP@!b2ri)7`^E;)LimWh|eC<%PEpd&xOE<z#uWJ99UVG`=Op3V9HQ(ZkfugYM`= z*f1z7tD-V7KEAfFaD3sh`ChF{VSC@!hwof-pqu(~nKj{Zk9x$H`@G`}Tg`EQEF^=I zz@B&glUV9KWF&gNj^?2cvq|P$wr4Xd4$s`?mNud26@(V2N24~oKDWO9QlMec%!Fj^ z`*&A!%%-)`<D~%i#13-uVn$qa85vbMiaK?A>0p^Jf_r*=FFnkQ8Ell5`Rf9Rs!v-x zSUF?-{5^kHta!vRG0`za)!e!D$vHrdEpno=Y*(^^$fdBfy82?5?n285{Z3|zXk0K_ zoV;1`Pf&Mwts^QB5)y*ZT9o<D-X0fyWONim;@!K)am~V_9Qw-N8o>)+)`U&j>2-A| z6r_55*`F-8{~#**tiZkP_fQdjkbjK)c{}R$S^@=<p8lkc)-HmcqOlK8bh~3Ap$&RN z#%610Dcrt2A1q;BpO}!d{v`;_WpAste%-Vs#?0rh@tk+=B&!xFuEXi*@_yqiqL0XV zxp62wFo9amkq@#Zh+QBAY{k?Si)EL}lI@$S2z4x&t&mf7a2gHv;8m&&_AE9XYy29q z`-^+7Fv@wX?Q8VuugaxZr!sh*o)FDm<!6u(mG8A{=Tx3GJ+WM}eI!*<xO&KkhmW_| z6|+n<t$Q|5kgBHtHtk}w@hlr@C_TMR6u-nbie6U7P*{MBESa;4mveE2HW&K8uCz$X zpFiR9_jIhR@@zSx^o`gSi5W^r$mqWK5uDCbaVXd<aQCL{2!vSk>#MH>#Kgq*@9*<m zgofJ8%(>7l)04%&D`jS7CE&z?D3;0i<Uz`|&<l;{>aKa?^_w-9Zv`eNCk29of->Gw z3h-Y;4+#xsuTUnigudRs)GkJ?wRszE!jj~&0i2&HQ^i>dRbnLQn-^MBt2tGj<J4+= zab>98CVEC|g*fvuS`;N8_Ik=v#bT@NwgV$HI-fmTb)KLMY9%2#vEf`=^U&es<UA|4 zsml9YuOlAEd%U+?03bhu6RBXvK&&{Ii)BE!y<SRI7Sv!@!&M^I*4}r~iXoyl;j`(J zB+NBSL8kj@G(@3FBHB22WDWAO;_B)df4&1NvLuvdRD7(tY4ytimm1d47L5lF9u&Xb zu=*jFGu^Jh(d?fZ&Kk=R^I8B2!rNQ7Zlm=~PPjy%3|AZ?z`x!?3wW;1LSk~Hc8Zdc zs>Y1+Yk7a_atqU=-irY1r9k5BYcu<CQ(4E<LA|e9v`K2*fo9B94lM+2A!t3LEUUm0 z_Y7c*qve4AOwIIR{>Ka(&&!=WOlXapYx2K)_b%&2B)k4su^c`t`iqp*^#mpVKQYpV zX{ee?AX;4MWzG$$RI#1y{kD$s@$p^}fxP-J2YZL7GpBJ`S;+-D;uIu)Z&}*hPEq}% z*me4UqgxkQ3-q&*^p7g$Yqz7!*%Z89(0*8;+kLd%%raK8?r<D}4R#t~#aw18U>77A z5f?^RWqTo&7awmvRy^h5?-|mbGxp+TyqSa{GdL(XfdrD?QO=?g4e0etrHH)0U0QZH zy=w<}a0ItKKV*tIhHQm}h4d`S&;?2=>E)LAQdro~+`KiZb*{s|yS3HYay7tl%{{0f zNZF*sy4|Mw;bl+rBASGWO|~+vE(UXAv)|cfSo=`U>6Jvp+K46KcFsnV^#m7}&vs)h zCvs{;W4UYPt@?(#mwu`t2Kf;NwXe_3VIHjWJQwiu^Rp`IS{<N@(#)HG-=<GQv>6>e zUR804;q$745%=Ry1HH9hol(W!0@sz4M$}vg*rDqbk*NBm0Q&if$yo93sy6l9Yk$cM zK)5DmHa5DrbKb95$aXdPMuGR387c_!CM0O<>KZB9?Pm2=<pmV%RuR!7HU|NI$Ju0I z+!Wt|fq@QW#hB`ploLA(AyMnjgc7xq{1wNCU!SY*kMD}RY+W>`_yW-PjEV}xiKO`X zCG7;leTxe76R7s*mm^mqA*V!QyM?|!QNYKt->+m!w^q1Djehr49pt%A1+%B?V>XNr z?TMW24zS}cH$%eIh?sNv{JW`3CGF1ayi-%5vK6o5UvOVs+`m<d!epYds?W}ZS(Oy4 zs_b`>IN$MF$gO*)uiZa5*h5QM$JfllLMwcHL#=`E&1#j#rCp-9OTDPOb4_2lElBmZ zQ`OuL@87$#HKfN3@hym35pWpX+%@xsWac-+lS8QPzLS4|hnHX?qgEblzAUMuJbp*Z zYlOp6N2NUc_@aX7z87A9UyW{okUc4J+V}5UjkmgCYoi5JRh^}!#>sE*ms}q9uJ$mz zOd9MRU#qP5z<hwzIOor2gq+gXEz`Cg99V-LiTg_6K>I@HG0CEt+ebV+{O(wuFeeV( z(ZbfIn3@U;@A;&;<FaFc{_);GCk_ghed%{*)8RE456%<)(Vkqq`@|o=byRU3y&gmj z+S_-3etg-NB5tBa0H=PX=r^a+&lTn6;|_mHCJ4szyebI;`d&YZv&G1Rcvv^lbzZu= z{)~lOQ|_`-*5H|b4W3I!Y3cE9PDqm(v;*7P^5tH>JGE+^Ps2RjyQ@;8A*G<tfu5Wa zi{<mmXHrq`aebv=Md4=ywmf^#2nZbn6^aslUDoEOv{c7jDzo{QIirGvQCg0i&vgt> zUGAwV7Mu(nPM-f7Y1D>{9$NW_G7ZQR#-klg>BLFeIy?JT_dA@4befjt=TDAL?-OC| zc6t*T7^I)NAKF{?7<Noj!b&yqIB97nNVhG<Z~^q6m*EkmIfI{rOvwF>Q<I_u6X}*i zjLB?+c~cXloBh&5j#Xz$AD`p&avgofjyrca7D^U+8tA#Ri}VG#x_oWn7(4FRWC0c8 ziUd=EI8@%VAz`}emHk6!GI1Urf73>#3LQ7GoZZ9CGN`viY`TAZaRK4+L5i=^q|4?L z+Az#PinXH8bR|>aDcRW@{jGh8g8r2eahMW{iU68BL^W+=Hd%$!YUIgx*BtF-<Wy>m z%F8N(QjDReXZ_4@>$=0qVKk%lr{y5Q#n1c8Jj|@4rD156p-ZZE<(EHOoIV^-5Qv)m zFwHH_+ZdqM>j-C`Bd@q6hXhbf)+T?aM3ZMgz0GBrY4gF9pdX%zDIF08i#+9njq&Yf zwNupM;=-1Nox4FzU6Cwq%@s3K^y_m*rh}RKt<8R6R?-xuK68*dUR12@^0;hp#YRJG z83)PAOp4un4~JIMR}63Wj_`ZSVK?hgu*@OK5x>~2Jut2z;tS1RuS2Pt{Qf)M?qq~Q zgb%-)`!tC^p52O4qxnEZV19P?Y+lOWAD?fO{W%G`%TDVl)N7aWlE68nDsCUEPR5G! zow_eCX*9IRLxOX)k`o1LBmMK!zuE0q8uX<oyc&iGH6TJBn2~Km5kqORy1N@sLINcM zwnIWw8VBoN->;>(aq%>6Oq_;eYv#4|wCYdJ`F|y3Y72jKoJthGva$k<GAMZ$Imub= zePc0n7UgpxPO=?~Nxz4L^cA}<x1dC;m#hTm4_fdXpJtIbEJ~dohZ)aTGELd4W2OMT zJj(C+!1&JoWi^L6_p8*Q_Jy62Nd>(#o#E<!LxZ+7abDFOc*>F~@%b#aDV7ObT}W=g zxf{3Y#vLIZ@j!Oxld%hJcAS^nx>?D+IiXHs0(5lp@={U-HWT7(1ROul=NE3>t5G~C zi<nT|kYgz-YQLzMb#u9F@BKKwOE~QRhXQX!Wcp~DhEVz`mXAI6<g<&u{+%LW0sdNi zAJuc~^X{CQZ6S!12RpgGsu*F7ssEndF*%7e&dkb4&#>l<0UAkqdU>nowGA#o3_q#| z*{F-y6TYi#`>RvO7Xs>&ZfEFMlug&uz=a`VB2f_`@fsW)obR$F7Q;q;k>71BDgtL` z0lA<?lfO@ZRj+?I?r#2NP}W+-$xSwq$8MS){Z%9Kve|pPsa(LXY0fRmUgXG8$sE30 z$8hCp%SknzcZ+1i;W8;qP4!4lEM4MhAtHwFLnx(F;8h_BYGq_9KqV4-Ov2|<Gh(TO zQ=!uxvAyeGb5>|jB$ngvP1sRZ`z0sCSzblXw#cA$N1NJ<k|ckQM<7K!PEu0Y;bbo& z_tzwd^6Xn%mmF&%Y=|}?VWU2t7c%idJbv;=Q0$PbeTcR!%F2PKK%h~bo}1&+K2N@K zZIzCO;IFzY0>b$1k~|x)1-Y<s(Fj}x{6SNsyLV}6XwqRz^Pveh|Ao&HzGop)tB`~U z85pjB_#D-PJBeCfIv`d{e)6{k0KwH{sa7bgv~2(ABq}-7@85q#C}(LmCH<qK3eWv3 z>+wISC#Yf*B>iK>As}SCS^Xs&LV9QY?H>aXUK2|1U%(xHb!hqZGKTN#0*(E{r_Fxy z^J`(f-Oe><mRYif0e{<d5fGjq_W1Ua38Jhs;UGJK185m}XcCK8#L0J<|ElXRWds3X z0&%GKnzD?nWORTttx26U)UXO4V5@rZ<q9Snt&F*t?F791SXK9>(N~z);<uH-&RTP9 zeh}AL?wKV8c4HE*rPuHAwBSOfv`(sIL)63gC(S}hg95?M8&-86d1eCKb}VU!h6ddC zyv!^l*2apS+4K*8|HcaqU+d`)Wo18kEb??}=7D%nnX<`SiI1k;&xI%d(HjwR3peu1 zNf+cl`DS%A)4AGb7#W;dHj}gZ5Ip3fI$wKAl5cB9nvmXRf#UI`pdcqFt4EL70#T4e zh%3f{*}105O{(T&k9KmS$K^>-L{fQvw5J8F?#;uEK9{X`P{jD~L69UpEt@34XQ?|q zSTw*bL7oPSNtHB|nT2_Lo%$~q6xK0CDU((rE%?=~V-56k-w2<t_w?Z<+Vr#Q%Dqx} z+w-}Q$>snBvS|t0f&$%w5gD0>0;DCj{mWKqtzN9f`QZUt@-(tC+V&d@$U1>5=}1^U zEY58-N)ZHon)EoO$|lCvA!4aqL6I~iwtM@ij9=m<GB#JV|Fm4g8kY1w>m_Tvb$r|H z#mu6<(bK0?)7!^g*+?V?#>QkMWp0W2X%fkj<@OGk5;Cti&^g#S2L`2!3Ykj^nJ+7M zs2Al4<GL$<q-UC$S+Fh&d3rW#j*M{iOUtPU@eTD4qp=tT=LskFFtcTlN-oD#4=ZUL zMJ3<3R!TfLMMLm+A%1qQVl4+YeYs5%sHlXmBrQZ1R!>IatEgf}CP#{K?{fmRJ%<2k zK@g^dzBzGJXJ{)yo3M`;Wua-3M;M(YO<4Prgp+cR;9Z|z8(mbk_>k(IUqIncWNl_~ zaInu-jEy~yDS?Wb!(|s!@;bGTB}1C*)p5vzwvcvEa{aa6uJSbIW)?Q<Gfy9QeYN(y zau)~)8ypiPDs^Xq%>K=6#c#m9QMF^DtfghA>ly2t?{1Nh_?CxwdL!)sa0W&dGyd`F zcqOoNbapl=mZuq5wSK6b9PjkR>qj~m#Tr4(XtYn-#{?sTuLLYzg*;0ZU!GH19qyGC zggF#gamM7QZTBAcb#-;!I5`Zn*_5H*`e|TfL_<YeZbr*OPpV84K%(_`e;@uZkyr^) zkn8QuWGvppM<XjLZtd*SjQyn{R8BR{vvA<IpiO3AoslQ;_<>(6y>Ihe>LX$H4=e6s zIR&<6Bnc}*DWz}6tnOL{7i84cuPW*!rR5Q?N;=rpynr;Kg{Vk_9tXPJ-fBSg$x{9K zV+*oh#&45*f4V*g0!m<=W0k5uV)LIjG)*}0EdK^A5*wC}jFQy)^n6_*J7)#=NxzRk zu>CeS`baB*=Nrlgoz81db$)*TJ=0V_!BYi)#yW60C^;?OS)E$4^bes+T-Lr6#TO?f zYgt=+c_J{La<9A-`L^5DLGlBK-OM#v>)P+=I+=iI$MO2+xcZszo_`(JxKDZG3Pzs5 z%4mI6?&BIK?1E*w-J6}y(rM^;Y^lhOTZmEV;s`fln-1#0dcv4y$wii9g@rxSw$g_( zB17cmt{>h6JuU-Tyxj7?N{|~06J#&w?HB6_iiZZI3*>1c#%Bh_&3Ei1RmDQ95~ZTj z$xH}U#p&$M2bXFRw~8<~IF5e(S(Tqv85K#wCht3vmM6^8D^RDnW@6n?|B}bXE6N+| z|LQ=(Ynu?XRa3cs`R3ItdmUL>Clwx_&Oo7Lo(~6BHWuUw>FMc-Zw0ksM~CC+ytlWv z-`Rfuq3rw{@yqZ~V6h3~hEcUq_piw2$<NNrY|O2;lgOr4y=@MpqNW}bm|dIaR{!Y= z{51HvQ7dzf@$I>0xglwg@WaEm=Z*!MV$QT`(+Lge)-x9>eg8$xK0Gwkz4z4!OPKP3 zy`96}-m1MJ+aEL>04u5_;SHi9>!Q}y=KJr_d>RC#rKBv+j<#RiK;+~so)9hL2@$fN zf1@dEc+W@Pk=j{HO6%nFJ)sb)LR-DmD&&B74GR`uO+S;wZ?nWTW8caAYB~~aSkG?c zCr{IhkKCEQxU;hp85s$R^#SkRKT>ycvR2}~9Odr7Wl_wMOa_G~O+!P&H#y(3C&oyP zWdGv=Q2jAI1O!XqTev)U_z<@R?ZJbF%z~B{&{1k>>Fit;Dkpum?kH>s7^m>mR<$y1 zNoM9=gI926B{!d%TEH8l>ad7-+f6iG-7pjiNIEtLGUPl|1_uW_K4BLrI<54#?s$8D z{rYu_cc$rDPY(mzXdWdqbAM~AmnW3krGU<7VF869-|c^QGR}PUqLfj>JRt~FR8+bt zd!2}gNC_XG)_-XEV^&s{_JXz%7Bx3_bgL*kSB1N~yS#$J_L1XmRSC5nZyeF1@r=sZ zcMAHr`^UP?<)v_y2g4N_dVF*=p8bvR`NM|`LLqJKeHo%3RGnkxNmqm>|MKXjFI=r! z&mjW<RBr^@Vc@c1<f5RsdMYUAE`NlolmKan;%@1X1vQkMI()oGk(jDpFLkFvj;Y~@ zKTbW|QyXBfA}_D5I4;ohvPUBZ9bP)CPx9aoh<&p%vw5v7Nw+=ooRQEW{nW(!65v}T z3aY(9`DuMVx0q0fcq>=^`4+q5_-Jgx^R|D@ylfAni@Q8JyNgLKPtW@24Y^j_T@F0; zkftI4hU{k_?DUKbLjywt1H=6Md=e58U|@=1pbTl`d3rMA-A6aKCvd^(IK+D@({>=p zpg6E1TQqtkJ4sX1L;8qT4q*L4JgxGi`1o2Y*B4XU8-*SD*nL5DqTwutHukR?p+C#Z zvo)N)ED+3UUg*#FPk;Pm)#}s;g0Ti~q=C8!JMV>thPCznh@~!&ONVJ#(IZTlE%#Y` zUI|qCS=@K1itW^~9W`YB?sADgK)b!aT_v#|$O@P&y1A%9tsfEF#p@#BY`%BGE_{AB zOJ<XA(V?RUF=(hZG&M2${xu3z6vwJcmuT*Y(cxicy<bpV{|#D$8ygo(8xvp=P^4SO zR?}lqJozB;hZVuX!fH^6H<w5&8042PpPBoMez&T3)i%5Ap|7Yf+)(=h(#;sY=l!<} z?z|!i8P8THe4m1g`QHQ9Hf%WF8Gll!sN(eUJXtsl`8E%_jI4})ks_;4<I?skP4uWn z5L##?YZL(V8OaC9>kSDOX2A2uR%T|u@R4=9qI(RA0Mm(+lai8>Q=&ja>NuRtp0;*S z(a|ACFDoy<=+gqT0J@52%fjt;rRg{a{aWF<W`80+XKstX@#2<x-Adr8;PdCt;r(8O zoXrMm(uR$VkBbOEb7BVuhApc9+1Xh?h=yEnWXY!XtqvO%M@4a28f{Ki`ID0aOFlR> z*uq{}hd}7vJG6r621mL?(KI<~>Wmj|w;6KAf*r^b0HI-`!^6V^vom`9($ccvb>hsn z-L;F0lqc~2t!->jkdfc3rY0wwmnp}n4)ym72=MaqYBJcMR~yHMU%Ds1{JT22I9EFs zI9)Hl2xz~5-_O=xQd}%V8c4|FfOGi$?)t<SFj0Q|_@R)jS-^2%ar*Q7^TikVB!NOn z&?$&br;<*Y1H&SK-^p8DZNf8N-rKGxwIV}VTD+A6w@d<>MIHBIRGZh@>*uz?ygyxc z6G&K<Bs3PP63WWqIjxTl=+t~mCW$JJYDD}mPA|D9>~wxOoDE?#$atnn({e6ujog`7 zzkg2zD97OXweFr$h({VN%OjM7=re(v=4)sq_Io>{`gf0Ut@z%EZgit+)MW5)*2*)< z6*L<9{;!?r{~^ME@$cjVchC7IY#d)+05n?j@_KqdB3NbT<$;>pgrv;Bguv&D0`pTd z&q&+mRpYBrl$+lz!J>*8E0kzn{`E)dFO-E55n{CR<Y`#P2D{=*ABQz+K2?4wnbzO? z;+oZWm_<^WRGO3|J+slNSrEYRC(m*H@SvCM5CO}lalwLYa8NAUWT0pOFmdJ*W+hHa zSCl)q_|tr|f-<5SMkCu7Nd6@=hm^2{*J!YOI(6=SCdt>j`&lz9$VV)P!Y#S}x}Mvs zN32opGYWTs<p0fg;O_&Nb^m#Q8ME-ITh~9n$YH}lZV7#ETYqv|%Rn2}u2T^4@4)_9 zb!R#7!)=dxjp|P%GS???S54t*|N4?eVigOz+LCvF4av0v0srp5C>lW-arxiS5(L-P z{|`ym#xjOmt=Z83(z)*&(X{#|`U=1-0FQaO{1MQK&8pL$m^=R^aD+D}*i<AHB^`dN zbD!^OlcY+D0~fFK2Kv85^5>2C)0F>Zel(v9ml58i_MPYJO!PF&pPV@8>MlXerlHZd zqoed}5q}e{C(5*v>58F{Q~6yweekk;rok(ysK^?_D@pBr!x;q;=G|K(VU}3c2ZQh< zTf6>-@(p;b+&0aAQ(k&I4H5TL9ZZfq<%QLz){}<x2hv|#TL#Hy<XO=mm?4^%aaX^o z!xkEO)PDKwkKJq`<e%|1fHb1>k$Rn$KOap=SRALl!-6*vXnDK2-N3G@GK2CdjpO;k z_vyzZCp)`2NJvOa+}vYbVxb}S_H$o4Z7fEjIhZ2eIxAF}K&dY(O2*tgkzM(qi@?RP zXpJeNqbotqCTiJQQQNpoo-~+)W9QgW*y9F*?Kj0NP}*u6waDwZi;H=+s;(8?JC{f` zc2A!?{uQTi8v|=_tWD_Wf(5{_iHXoE!_GcB(i$n#+1dF_oR5hw--S;{{`Kp{&wD;i zZ=3uGSWM3J7K^fc@B6&saoEdk7#M%CviLgh4InaC$<DaBBX3-*ce>2|>&s3d$G5J& zv6KQTr5F!za-GjpP^T`F)Gj?eJ-0lFA|{-_z9T*B4s^kk(0--;R$t+T^NY7{(|n7H z%w1E%mL|N1H2c%ZBZ3l>6XCW6X|UKr<o+3+*&&oW7>yUD<KI~QRzEwOx;WxF$H959 z)!W`(QOaI|8yfAXxi4<m-cIe#|1l>A)xVu7d@XYKac0>s0~Wj6h|?eImUbn6{7KJ# zlF-D_&g70@lKaKbn;VH*i|%aq-(Ph(HCaeUy*Q`qW01>!;J7^^$H4G%@^YF0TTU0t zr)Zu}O?F5cA2C<nmdE7kIpHc5S8#qZQ!?dn88)!$*&=2FqV&q|-wSAKKSa+PF(P5a zK^Cy$pjJxl>x^cZkeR8|%maLni7`Js`#|34;J(A(k3m4-)IA;``}pEo&E_y!fDrVI zdn5S(fDuJ+&W-NXs7W$f@Ig&j*r&uF8{K%k)P8Na$Jh7166@xVtSp$uLm)<p<pZ=g zD65{Je%;$LtBD%=uX=KLtvyvZywmk?<2WNFMV7oEhFN<yQ=!kZrM8xr)}$f+<+iBM z0`NH;%xepjijDYem=$y=R>$ZZx4wPkyWA6&(vmv8`{eZS9`fE)p+3Gx^Q-?k*^8&4 zidofVPwwA#dz}dVK0baNj;#E)AL>6H7zkNZRaVjv+(H<afw<o$d-7jFXL@q0=~~z9 zixADc@aDNZldQJ11;c-{ln@ZCfWD7|Xp-30*4EI_ke|=U8U-Vw@CXQu4Gr6^SXfvZ zo14|jEIv1C-nw}c<O#OzxKlt1gc^KEaj`5Z2E>@ic+4%OTIQf{>FDVA>eXj?8WdF2 zP2lACiW%!%fc)YUK|etD%*vGM=yD)0iGOz_PQk$Ga&ZQ_25}!YIO5;g&D4Dc0TFBV zkdl(a`PLv`Qz&{Cn@(Nqw9`fTf%NxYndK71`tKP>rfc0y3+<XaM1RkoGgztsIt^Hz zwzjq-FCQhP-t^Cpk5E$U--;~npClzE35U@Z6&IJ6l{GdsK_q20I?&YUgAF10%IfNZ zg}s$kAv8D2!Gy7^i|}T&?Ud7D3hLnMKA!L5^LV=?w&H}cxk!9NZN`X*Ye31uXEj1Y z`uy?>^7htNOIH`K%Y|c(YE`LnHqes_^@Cu>hL@MQwKb3RinOtDR$Lqry0)(F=4erS zbF=PG*K3RsYkSLm4<A0fcI}#gw3=Ft`P^&h@+N-y1*oaeS?VP)J3rrl(XX>8mnOYB zl(S?}_R<4IhVsEucN`rR6*#RE!5|zKR@RO2GO5%)5R>(X6&*2(5CQFFxYA@ZV1!pf zVq!!I=-0x0q7Di8GA^4nh&FEAMy40DUhIfCIy(CG>sPhYDfH4o=<nd*P@F?#v`B8X zeGy)k-PF_sPw6R;01JhP=mAkxQ`2iAqBvF$&{fe%q)e>$K#k*basKuF1v~_#4cK(5 z$an8*G=(oS!deso$8LIh8vM`6$q58_rza=g0wlXCW`}^r-A!J+nErFxx%ONrAKYPk z7}vdI#$Iwnk0Kj3&es*k*R4~KDiTqbscdF$u25tk1JZ17-n@Z-YHKe564gbjeDiv3 zoXZ6Vgv3fpV?h++4xr15!|*Ahp{>mTBEh1fB6!JQLHzM%vkhKGtYgj1f?2Y0?B*n- zq)F##ogFSK{ZDDbxQs`c$*Fkb;=;p!NT!XtoU<}{nRkFaW&w@xmhBq!X|AtF41xW_ zH8V4lV!5(^0$43Xc){()rxG=G+X*>2n_!GyEq#3jz?wfh-i0w5#$O`J?y6Ms>10#$ z@Jy)Fi$pSefgHAMhChff1Ga~^?uALg$jG?Z8KrBaZ(zV_yD{#G{v_P;Do8$>^T)-- zt#a6B>>D6Y*J}2=+H!(|m;taUMvDv~wr>84t5tpPkF`!;`#4H=hzjNdV|?bM2qFLE zCd|pp3-AOpnYSo2H~04UNA+oJ>+Yr?ftKaTst-|O`~pph&=L0a9;Ty{6FwdulnX}V zMmx@69YMB$o6ui@Y-VYR4Ynpq7*%+LyE*L3^mMAeha@pDEJaL62#;R<`Q^p=nANfs z=NuE980`@0CMSQkkNWm4*J@dk{HfL=dH8Z$YpX)JmA;sm-|;F45DdXQ4_^(O&A?+H zDk>`Q(bd(}9ZG4^SN)A)VY=1AS+aC0<;=vyA3b4{8yFaTt(T_>h1<srjG+DVw62JV zS0-}(#tqRaQ0_5c#zRCzB!Ntj$?2O%`vSz?<>j0tc<g51mnFdaL0qShFQKFak7%%_ zDWu*%Fo26~g)^b&oFxl+DR65FOsA^9enlo%VbpB6^YQsFUT3Bk7!uHE20jcz?$nW+ zQWj-rtrT&fw*zV@CVda#YXQTCYh@)8q#9tT4?23S)yUWw*f^s-8WUTsNSFZ0_Wpjz z8`8xbVX6>D|4SU?FM)x9{r%D|E-vIBdPhgo2MmDG)$@Db;fj?`gC$IgF)%o&2&}L{ z7l>{(dYN^~A+gEHq1!Fc>N3F#@%0sjloNCvBWNL&$)5V7G>G8(0S{u{RA5FzvkZW^ zjO{lSVLwPOOmEvkdT8uN1q~IVqU(LB{%=S%2W7*ZU$XMj_g+}BMb?y+MR>wZL2q1> zFTR|bT3mE=rR}C_A4z76SY0Kr-PU&x509K2Q`mKKo7V#(yzyVWcp-8ww`dFt4_Cwx zm<n7?KI>cL;Wd0fUcsagTWhmss6JlA*TLB}LqjKn&6b*qkLY+fVcYTX9v02Ji~(at zYzSRAaw2GH!wm5P8Ps87Ttx)!KSW`=_9G<OKY;T$R%{Hz16KOeM2zv>YJa7)-1liT z=#!L?$g^IRm6IF#@q=;^O(%SrxMLHzho3)x7D;?ZiG1%~MbBA>5E{Isw?X6#H{AJW zz~bScf(;F=+v<;q(9t!>TR@~4GR5%0%~ESX_&(_C>l+zmR#iD^XlMutdA}hwC@Auc zh*D3<==9>Of_k<_Tkunu(D(GIJ}~5gUju8jJXS&{g~AG=GP$|mp3>IS*fB6^$T|Ni zS^am8Y-j<CHYqRuZR*g-s7<Brid$lJwe#r#Fn~>(zT(106-j*lSg(LeAh9Q$7OT`^ zp$$}w0c$_no{R7`I(FpsX=GHnS=;e*Y1hZwJ1{6H;&quaAr_WR;&H?)B&fqQ(T#QJ zRLRK5z-KkR^=#=N1?}jqnffaqkAp0f9C-I_nsoliT9oSMJCL@Bi{sPjz*)RY4if?0 zYQKSJfAq+xJh!exl)i6ZQ8{MP5g2YOD?(SCjVYH)Cy1D&rGu3rr&$pB0Y_^})FUMY zg(8J$=<$x&ja)Xs#89bu2WCv~5w%S6Z+|wO2hkqy1(C@iAq|<zJM}R=;>~5--uhU= zr)*SC*Xo_@v&45Am^;BlU|qx#S9!STTHDj7!)MW_Te%KysMutJ3d0LPvaSbR>cgX> zp&=o-Q_zwRr;nBslFppGiwiUZuxrgoV)<wr8Y-!&nR0vEKMQINSMd<-{*ZY5nLi%R z9~ew!!>}p}-h)5hZht_og7GcHB~W|d=f5tM61?3`S99~$Enh;O6Y>oVbQWf2H1wb( z_0sb4Sa$OSC<+xa`utt~vW{^mH$bs^bA7$j>h8_!UIKOfBP=h;gJ6<JI4^;enp(Gr zUP^}O8!IQ=NXUWm<U5vjJFO!8|EeiWJNIVUHrWGTZAjH=cOyDOA(^vuv%9t@&)6oK z<=czIf$_b<&6?vjxi}}Q_8x05q2$qG<0#N{%Ty>3u_P0i-`G%<k<q4!f|)Fa^f;hN z;Q1pr*X(d(0&EqqZiYo69602`*){d1ga4LH3m)N2z0b5;QBk3*tBcPB3Te+$?7hV( z%+1XsG(U~Z=|JtZsV$T3W0`kgAcmH(f&wn=EGfvx{>D<4j7&_ZkJx|GOg&BjH+*t( zau8xQ2CA%x=nP{UXcBP#=<BC}b2z4z!tiPUtbx5lo&LS9E_`Fu=HKww&TO0y$kqk( zq4^l8l7UJ}ighQi@sxV|x{MSqeI!TrdbsX6eYnkCFkPhNx7{TqB4T7<fP{j=`V4*L z_wV6EK~yz0wFr@72nK825TU9<$YDYH`0;b{AY9}x(0IOU$DJl^P;UFRq@)D=90<yM zzK3nIF^-Ferzk6H0~C#bCxSM1EBKw_0?^zDW9iOeU==jntgftF%|QUecNF^J6BN$t zT}O%yFID8w<v10N%ec5HP_zQehoc`homezGIw4^fP1_rB@$RlJLa0-PL5Ck^hZPtZ zOpbAcXbxTg9P?0tWMT>`<A8h)>RE8dtP{o_p0|;4e(5~(7a+Ndf^y|j6|+L$kT&}f z6ciVu+_^(Pl{{c@c{B$PI|aNYbcy%x=fPV+RRO|L2*`|$VH${5#Brz9-vpfdG2~BB zVw-Y0?c1K8%gQp))lI!c$Fn)qr@P?2dAQE?TmTLV==LH_5LI%9u7b3usl3N_tv^a< z6e32T5e#142d$nApqar;tY_$64J32*>_CMqcb+g!oc#ivjpE`w`_=U!5Ws*CGK}tY zvA>lm;QR>^l6QJW`e62{7p}`Pe`JRkZHX=Y?c((k>jOW(K%Le2C$m)4Z4phM&MHM$ zW!aef?-LN}K2lJX&DX9U&F|H8tDR0ai(<6&^D*?#!XF|O=j0cl3fbAeC63;cDqI8Q zHvm7mSWPLZDoKipaak=yYOcAN4#jkIb&)5)xf0I$#lz$9cMp(!MPfMj!O1~{2@m-3 z<Hw$!9)b7D`|2mr_s~IOVGJ^jkrB}tP8MQfjiGE646paYxf;a8#00S?uXizl=5*c> z!Gwv42_ct0<ckm*jGra1294i^NQ=j2O&;P7C<($2{1yMQzOF7j8_MzH<H|ZCo>wkG zI87R=XpE+v%3(l`GwIrxs2DMV;S+Mw($aG2?#M*E(am!NTs9&(LvXuKSPw?if8bj~ z8Ui0N=f(kNs6o*Q#6dt_D=I08W7PIGm+|>ubaOMK-bteZNW3s+I9amncX++-6RQ{^ zvm1!0k5sFT7W&hI9386|3upxe_SPpV<eHK*XJ==LsxL=I6*&zLtVr-UX};9!FfC)C zMDdu+;y^{Fe6$>BY7ZYgQ0{62{T4wdC#NW@w|aWOtUvPS%LbC<?hZAbk$lZ^31qRa z-SJz@PUdmbq%}pt9FGPwkZk=a;y#SnS)10JROYyR2Y@kc>C!(<1pwjdqxthT@BEK1 zH5r*`W#we)i-bXQ8{5T9?TsG0Pv>NnrB7Yw`R7Ze;J7F$1&Ly<_S;?poSJ)fBrEtF z5DL&9A9BIj`g^OiT_KE-HrnMPgssx?tlT0IvRF}U1%#h&kLl>Ty9UO3CH@>Q<M@;8 zKNYxtNYY^K+EprzPZi*2()RqH)G(ANQ2`)^-MIcC`@%k}Uy;#Kz$ofv(^sD;zDtHV zB>*&RZ4YmpqDBl(ycdb(%oC6MwU5sl5)z6jVX&f~CtvtG>+@~Kjt_fJ`vRy!Bp;U^ zm?8Q!B5ktKlW_!i4rZR{4FAaEx$$Xb)quK9_`{)BIHRRWQ{x_y+=V~x+WHdF0}KOt z93Yh*7o;NP%%caSmiVWZbQ6uS-FrnchY{EwfsMbi+9V#^WBPM?dQ!uOE}GAB=VlPC zLY`IL<aY?s>Eb|2bz;ZqPe}*LNKx;Pt=>vo^_MX%`8QAy@&-Q+YoBt^jnB#PKYke< z6H~!n_J)##gw`Xm&(P~fc6L{7?Z@Uhi~zSPCs9#f^Q7mL&`id_V{`J-|L7QTZM3>9 z_wi+_X;{@oj=y50jKKTN={Eu>eqv1lz#6D1Hm0I}#wvSW8Bji|NOGdpyvS!`q@!qH zm>z*Gw_|z#_6_vApN(y2{#68BD_VD!F#_IgH6_SJ$#g=5tZ=fhlNDtPO@jjo>3?`V z>f0TnIZzBP&dyBlUADUI77wIpt0y>uf=lUbNPV@OF|?Vc?<MQvf6pX3D-<#Ev5hr% z$9V$f`fCkS@x_6msLVpYf+fMD7+aGOc}ZoxHO+z%fuV$=ydtuM;Q+0(8*UL;b6AaW z&rUBEY5yL(2nZ&0P=4_vCr?gQLq<k^m!ZUA#2VMlW;4>dF68ZVd8U=~T)nZMwyXyk zx)91wZfCvzu=P`e#M>LUccx{lT0^O1P5xxT!c8?tIz6e^uwwlH8TrESaP$8C{lP(2 zk@h8`8vH@F{Jb;<vSUj0)^!47Bkcn}F@0TehvTDIp|`9t5$$tj_I7E(ZEfC+eKv;p zV{JRViFZ9RGc!+KqwKBXQWh0+Snjxoggo@9e@08SwY39HP7@uz|LVZ5T#0ix8zxBq zP>pI7wkOhwWKWMzJ7byZhgm*!A%mxjlg$FBkSvx_)q@OFqbkRdw%$O=BE_q}EVRqA zva#8+Tb%4Yg?>do7@JnB4(v$Xf@~G%%NG)lP$<^--fH>yt36-YPFiX6{&Y4jp+(`~ zaGEQhsbEPIrZ~2C>=dQ%G?>P;1THm8zWivqnvdX7&WCq;{iR-#hEXbG&SQlpMPjK1 z7<XbFFSG?ImfT;u5DXs*idrZ8WXzJA;QiUPz*FJ~ox)u*>0RFMz<B6ZyET8d)Tp_g zpHoABa8YL24tr(F?og}G!%CJ$<?M**o`7cFt-2~go2F}a2pYP7rZTu@SLE0<l|?Z! z<wK(kv=l4L%S!`)%tf8A52k$uA)?^6^((R9v6uvgJU6qg|66BAKoEAw?In{;ODaw= z*-gpf|40uVUeO*pkp~uK%3NhmQ7_NVZft70{<~3i`w31Un;OVaB|m@6oOS6yJwEQ> zc;4AN#yBw1ys!fsd%gT2!mo3f#!VZhyG;4#_Xq_->Glm?o7fBrZqjfESj{h@`19p% z&e=}s85>tsNho-SyaBDiXIDiz9tg|n3LR%iuYU8YpXyCmaOi`o>ghC<F}8_GeMA&5 zec7j&sGBuaeTqoplrm|N5Vo3@bJ8J<Q}-KKLp@1opaWY$iSzF)Yeb0>XPi{s=f9TP zT}qehvu=KJot|vQnDg+(Gb|tJ<nivD@qRC6AoEhn{_|Dooc&+v{2fgoM;^z-iK+gd z8#xVGxFo(95!{rO4My(?czNpoXmoR9xoEnm#Ors=kg9s9gh(_eHI>ax^!1UVb4iCt z*^H2p5ihdduRcpe4)b0=RjWWKs4EMfi8dN~xip+keIw{Y+N&H?c%3iwb;Yo-u}baj z6xWbUiC8_Tzm48aviT1TL6~;dIcCAuA{WEuab`rnb#p%w<{NmHZi}22j`$-JpbzPo z*(<!2pK?~f#fHOHK+}nlEW(pDN6qp;y6yY#;cvNHPdpBqiG~dyZLZA<2>=Jlc3Jb! z(f}YesS6JDjh@}RH<aicoE3Zc^z6BEroSKUbpFQ$Na3lRLg2gn&gw=cxk}7X??qW^ z8(!C`GSWZXJ02ZtL;gcf&uXouG!JwFmAj%v82m~w?s&dQmYzuV`Ogu4h+80PI!*;z z)-IP%BltOJml6nu-{o0HW^!$=DBdJ5c;@$<vQQxD-;J4xuK-smDyQCnet5XWvxV=6 z+?r>P2!4>bhO}I8-<1FSzaK=fdIeVUCYkk$4)ZC<GC|q^b2!6R+g`z0RqU1hQ}l<* zt-?I9^Yi28Z7(S?Zr${lf3MA6Q93%@l1|mmg6CUeDxShd$EHMy0S;-R$nbyntOB3w z*)SWRMNUf5WU6}UQ;{mCo-;WT##C~CK;8ENUhjz1Q@4aKNbU(JsB!ySb1oa>4xIY} z!Ub)z<V25{zUmJd6fNuPk|3fmm<0caVEuZERiLmb3OVTi9fMpgW{(Zd)g3xuyV%c@ zC%M9L{$6IfRpzb*cJGqqX%@HbQbIUQ>dq_I66Eyka(<cpL#JUSiOS;o$S}P6dx`)3 z-p{Hfosy(~j{~3p@&9Xz;{OR?PEe{O^ysl>Uhpmqqx(dkOP-8uhPh-97(BDE`S-=Y zdCMir=Ud{P;50M6ti|G}sOywUlwDd<1?J+v`}ux4t;p$`(I({0)Z5)C8r}woVd!if z^)}+ck6=+CIg0UGQ0B@F=a!nc3Zle-V#4{bl#PW4QK-wtd_p+07A<-VS4f}@d67c0 z)%pyt)x5k{f23z`cZ?W&E(N#6JLj&2lk&)Kyy#-I-cA+8jedCe4|<^+CtIbcu1#p` zS7oXKO=ywtv#|DOPpP)narIjNPLG3U2pv?B4NH0?oSPSNd~}Q6G(^<bWn;KOCofS` zFgcC~$o(jOKoeBxnlXECbFg0oM)Z0E;spIvDgUO;5?iwsHv00+!lNxU7seoIIf$OR z7QRkTI-Q^ruKb>dp=)mhSO#PSthUb-Lh_$lynEo&sM+Mx5Sa4iONG<IznA!{)5>Rn zj4CAm$74R4gc=6R0CQr|MA>FPyrs2tO6sTO-)x$?CO>+nQ?+T^92l`yq^E!KoImh` zfPsahr%4uz$pYD@F+H88yDGX?L{dejRx__jJVKkgKuZz%_KmRitgLL<h`N$NKxV7H zc+o`9Y_P9VW%S<~hL*o7Pbz&prA|*d&h7h*?A0x9-l-9p7XnZ^6CkxUlV)W}mlk3Z zHzi3=r=%c36igkBOb-oR481hn?3zo=L^=15QwWM^C5;dvKaG8Sigo>CuKOK+^j9x# z^~*wE;)LD@W5c4Vs*;k?!39<4^S2Xh{YalOlc^rOzjqDejXcI<_iyfN?eDwaN9-Rq z&zVMgp*<Z#p4q){8|vWbwv4qTWXajur>WxEtUAzLRt-^n=0wlN5?S|TT)_*CpFHTZ zd!%Ayr>?h{m9<SrrBiH0n@++0o)zNn{h<%Je;)E@^Ra+(???}^`!B@X<-+C9uwV{? zd#*y340c<gV$AErs&~$+cQo!WAQ7(^q(k~!t7q^d1D*eC95Wd&!z&mECw-TAbWG7$ z*3eF%-&Gg)Wj+3?KM{}P&j*A7!HnZ7s!|HX?w(%am40)74_vkzah}3SEbLSvqbe9^ zIC>@q!zHV`I+j{$rlv-Y321dX>zMq~a<YJxjIOkyCBBV+=Z+&vRaBmkDV^HK730@* zQobFOa)-D>^gh4muiUL`-GK+s^Q^3OI+ccN&d$m-U3|%DiH}cE{!Z#X;*J|$k%^S+ z9qU`Cjo`LU;iZT6Y5~RgC&tTo1YzpP_YHsK6e*sLf4;!$WZS3~PnKLF7`Nr-8=A3l zkF5KQ)+yS%NPc4uV>#RN$M2&C7xE`6F$83~-jWo$lp(wUM1MCk-Hw;lV@6I{DEkyM zN7X$^4$Spz5sW>`Lz`V&<|h{L>>+jkrB~Qa<iub8SZnan;kx<VxA5o2XmlWhp-@w1 z4sS+cmFS%SUMHK&y76eIFW-LUVfJPBxc*%y(GCiou;17BBpA$PLLRDR1)`jX$o^7J zPWe)fd2H`-u<0i*;^!r77AB`c$>)-7cQN4;q4>Ad;_lx;i_Sk@u@{B?%+ydnwDtY% z#N`zt^F1@M<Kw`qH&_wc&_v;E+DMmE?eypC=$Vg%lr5g#+bEktjQaa2FT=%Y{!KpH z`cEMrf$%^1ckX{vsSxZQ|6_P>J^wd<YWm|}`G08cHUG;aa7Fy5mXCn?-}r$4Up|Ol zU^Z|)ZnM(1N7D50?^7Y)dP(~4hD&At_b`-I6W55{f23vGZ&soDAc?m>+}Yb}opL@4 z`1!mFO>=Be97+RKzhf&{jfRa(7@HfK9GAHKzY?&$E??d4zR0s~FAfbI?C-x@|0UJV z`X-xapGJv|t>TCBHJhlC)9cfml2kGV#;%HqVbqSZsm$=o%`&zx=w_ib)P1(X=XSrA z+Ihz*s<V1A5vtD<M6oX09LbVT-2qcR-RoPYmUZN#WZ#-7;j^3h9I{z`2qQ-(FOIv| zR9#LtK41ZF>|i>6oW(_DY294eR?K6fcl3Lo0rHFnlu5@Xu9*=iWXXcN)i?fyTlZE3 zzTFkS`?Th>=}2X#LBaXP$mJad9Cx((FUe;|f|s#DmXu7EDQI;jB{@f}he3fDpV3fx zD%Y_2TvC#ftUAIappP(?!SckmdiMt!iLpg`S>Ez|E6FCxyhFi()k+~ARCd<=5K1@t z4T^%j6)U*T_K7Dqt{D4f?b{cVWUoG_3i>@Fe1P-YjQtUcpul@OE33U$Of?-M#t0f> zV%3vJ4<3=a|6W};Heh69iJ%Y{vt|oqa2oa9Jif29z5)Jwa^sdOzF=yf!Ur1o>(vKS z?_8_}`uTP3?0BDI@eS9|({M|le3z!0-=Sk70B7uO#;F1qzb6o`4)?!&o5t@~*~}X= z&aAy=^3<Rx($^b41tDk4SvjFk9}{Da$Z_lA#b-bpz9}X7s*fp-jg!R?5DcY#xcV`K zY1z5+M)oIyC^hfQiOE^XwdF0^a_5Ijhy5>3wnqxc+{QJT@t!1-pb~Pg(YCffE4|?P zo4c3X+-xR0q*Zvoym2w%!V?9rn(pwoWzA(D$e(yj9IznX;5+MF5Zu{Ob6W5{OT1-T zebKc&M`0pj`p4`1{I&#N91wu+a@ObKa&!?Xb9pFJ#vc$Ey?3g6$pm81TNOGT;frR& zLoSv2n;Yl#g5w7*iKsQ_gCE#Z>i^ulx?Ye%)*y97--5-65wQ4n_FnY)SP~2sD;=eW zj^;Ns2*6(Xd0z%#ER2x(^*<~yHjh-Br?K67@b0NXgg9vzz3p8X{`O$Fif><NK2m-u zDk=)K=KcMBi!yF1DucmHh1yy*!o2Z;fg%_f2{NNC@AJ{0yzYqRkOF{91_-54poU`= zFcc0Bjwes*oixpzoX(-xiI0zO&8Y&Kj}2a!bo;+wjG7u7Pt>@$Xluh13lR|!U?Erb zw+gy3&&tZnms&1$5uHsV0xS<DGyt?q^`wABdN}zZ=hP6eVSrOzPWs{wYEr&`pN0<v zBY^tS$=-5UWF=FJaB0UOQ%fn-v=7$D0P)I^%@Fj(V*v>GGrxJy>k~`P7`QoLF)pvJ z`uO^GwzXX$?W5_}Ko}$@ENp0U(u5gLw=?n~HnuIt9|37I>UU=cB{fyEQ800&Q)f&j zx#CHy_5D+KpOs}J793<Z<zGELc{b~czOR{}Ru7OnXnDXa69%m&$`GNj_9EwV2cO2k zhzMLz?Sazs=qRVrFg>w=zWy?dg$Be2bo8N|1h)a8vEWx6Vs|}LQz#hwzvSnKm5-Or z0Fn6X*RR*r*VmlDyW0e?pg;#Y!J>IS*jQOv0Ym`&)E^Rw7s;>3Ik~u?g?7b^om@ON zQ!?%9v{wgI9j;u(EKsQ}(CG}U2HgLPyZakkAQymYGsu*R#c&Qx^yg_cgR~fz^Vt!g zYSy;4MC@jdiHTq2459uWcuY6LIMw}l4p3a>3Y#n#aM97h93cV=4y@SL*47&)wwy5* zWz7P)z)pVv<5u3k|BAzKr7#C12&lP+WaB2K*8mjR&3kGD;)4Lj0q726K*ip^g<`jx z+)NW>z<s|FPf@QruU*Hw7>~z?O^RR^3T3th14@DL7r(kX{xW4~T-VfJ<cA{qm}!lQ zq$H!w+Aw@<N=k~U%juZp^z7#5<#K8qeE&^EL?RvsW(EdxU{FXtadviwL9JkTuw+1j z9?)ZkDKmlX3vlzGV+>W4wc$K9r@hDPOG`^2GjqC8A-)2mSfKC^4O|y1YBh-Z4Njc^ zFr1&AjpJ{)f4RDZ;-G*Im!y=`X$ipOS0vZzpVyKtrfXK9P6iJb!Ru6xMnX&+pPikZ zn@i8gXz^3qt<t^Sk<aaG#*ZH@3l<ZW-8{Wkgc$=4Kxl!&(M8o2U5u92c`dJboD8g+ zLM%F*%Qky26IiCUllG~g+|&`y;3j?l_W<A~U@;7agEYhfFv7qC+LPy70&d;ILRS6b zo=WZ<(Bg9P^Yf>OM9iu#pyS{G0|IR1Ga5h}FaVy1gN%bifjme?TKW$0?A%<lFaA&s zI<fm{HaLyL26v!@`1zp}jGPS!qV_t2#R5VkLlwd-tO@0If4+;OSE*FUy`J;1QFRK+ zE|CLrWTd2mf`XVpY#inqT$6$Bt*XU0<Uz;B$NL8dLTZQWV<i>~LQjKn=gE*ItuM}w zL6kZcI3`=>zPL;}t$}14CZ$uo({9k-W>cp8^r;$Qan{i46B3fP_IAXae8ntkx$N;0 z(>Sz*jEs!r<VGhr3WUYPLd%)o{0SDvIm1;Lt-e0u$iD>L2CAq|9mWWEG-G4qbL<_; zkTzFWS3qru8w&ONPNu*i(gw9AJ;ev71^g9TxwlH{g+)bW6jr4w=}r|BlcS?}4;~bP z`OeO2KBbL-MX0H{lsn~nL-836>>kjG7(SPap_IGlxV}xB&W9CvzTlM9pAWd-#k|@| zjz?RtW<VujWoAxFPJSyBA0H1gt&%8=Ey6fSR4_RdoaW=l>RaZ^`wsfY{_P9tSy?<5 z^DO{<B=04`40V%|d&EYpQGLsW@-+N+B1BRK41m)BCU~-WiSgh8X(O|nbnC)SaPWiW zxR|}Yiz;v<E5Hs~UByoVHpu4A6!+B;G2ZVf{3Qj@WV-4j5*iwjNb+ApLu~4DC?P@v z@R#Xquw`IwiA1x55UY?S^~vS^kt+514F3x0Qyv~3e$VLWM?tNHW;1m#P911U##7Z* zm*kmhW1f4*K6KTd{{A4r2~SowUh=r%F_+0#JQktROPP~Mn5E))WVXBub_1Jkop9}y zTHW*}1vj^2Pr|D(Cfe4FoN6i+@@FU*{A*(+Ij|v|YVl1gi6=@m8<8>wI3Je*gwSh= zm<E*e^NRV6+zMgI<Hs_8V@?wYVqd-k&@M$Z3fMn^WWq^R#vlgeDry4cG1oxwb0Aav z`qisWIHDjA%)ETo8wcDZ0MjMoUnfS;Yt$u=hUt7dIzIlh32#Ak0MI?0d*Cd<D_f|= zg@&@ep#UWe6{y6zT>51kmeibQf#5HY4Vak=!N7ofkuiY6KC1IAjQ-7lE27hSyKR{= zP!Ed7*5ROmkuFZZ<2^oo`a~`oNotJv0Z>c$EqzN|{krzY_f@<2ejBp<p}pYLeG$7# z;}*;~Ke^F4>#SrY0#{*ou@l8(?js`M9c1KSBw%D9b|3)>?407Ba;cdH&?f*Gvz@RG zv-$?dE~EwL6ffR9`!N7$)(R}sTNu%7Ugv%{%s?$N>05B{{6%}Qm3+>K5pdtF*ht)Q zlF)q`^8uwwlS(aDruAtgv2KNa<%J#U*iGP#y#pSGdhK=nTT(!rXkP#U2B1V)U3xtP z2lgWUHutKbTD1r{AgCDp?w>zb9WO>vh{r~ASf)VVBeW{Zt*)+~5?QPP$w=M8d%z$h zmJ8kx?cHuKe%2__a;I-pe<Glgukn~+XWOWB%0Ds{3vBiumRwbj)_5wM&!@T%`NHNy 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 S?7W*it#w&Xy%cG4?>_-*?<#Tt diff --git a/docs/imgs/get_user_execute.png b/docs/imgs/get_user_execute.png deleted file mode 100644 index ba985b87a5c1041a3c0b5d76717cfd83bbf0a456..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65260 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 DIdYU; diff --git a/docs/imgs/get_user_try.png b/docs/imgs/get_user_try.png deleted file mode 100644 index 7f60131e7f6976e7c67dac8c58589b902b135a92..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 53095 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	`x`Ad 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 YKiPJt^?G;;{dc0I#TCQ~MBjb-AD1SGZ~y=R diff --git a/docs/imgs/post_jobs_execute.png b/docs/imgs/post_jobs_execute.png deleted file mode 100644 index 1f020266b96b245b7ee51a1a0e3a092d5a539946..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 86116 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 diff --git a/docs/imgs/vertex-sign-in.png b/docs/imgs/vertex-sign-in.png deleted file mode 100644 index bab1b61e69ae2560ad878e6c8dd5747a27311864..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36092 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%0AGS?T3-IyP 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≪O$ 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 diff --git a/docs/sdk_example.ipynb b/docs/sdk_example.ipynb deleted file mode 100644 index 8146e7fd..00000000 --- a/docs/sdk_example.ipynb +++ /dev/null @@ -1,319 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": { - "collapsed": true - }, - "source": [ - "# Using the Python SDK for autoRIFT\n", - "\n", - "HyP3's Python SDK `hyp3_sdk` provides a convenience wrapper around the HyP3 API and HyP3 jobs.\n", - "\n", - "\n", - "The HyP3 SDK can be installed using [Anaconda/Miniconda](https://docs.conda.io/projects/conda/en/latest/user-guide/install/download.html#anaconda-or-miniconda)\n", - " (recommended) via [`conda`](https://anaconda.org/conda-forge/hyp3_sdk):\n", - "\n", - "```\n", - "conda install -c conda-forge hyp3_sdk\n", - "```\n", - "\n", - "Or using [`pip`](https://pypi.org/project/hyp3-sdk/):\n", - "\n", - "```\n", - "python -m pip install hyp3_sdk\n", - "```\n", - "\n", - "Full documentation of the SDK can be found in the [HyP3 documentation](https://hyp3-docs.asf.alaska.edu/using/sdk/)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# initial setup\n", - "import hyp3_sdk as sdk\n", - "\n", - "AUTORIFT_API = 'https://hyp3-autorift.asf.alaska.edu/'" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Authenticating to the API\n", - "\n", - "The SDK will attempt to pull your [NASA Earthdata Login](https://urs.earthdata.nasa.gov/) credentials out of `~/.netrc`\n", - "by default, or you can pass your credentials in directly" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# .netrc\n", - "hyp3 = sdk.HyP3(AUTORIFT_API)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# or enter your credentials\n", - "from getpass import getpass\n", - "username = 'MY_EDL_USERNAME'\n", - "password = getpass() # will prompt for a password\n", - "hyp3 = sdk.HyP3(AUTORIFT_API, username=username, password=password)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Submitting jobs\n", - "\n", - "AutoRIFT jobs can be submitted using the `hyp3.submit_autorift_job()` method.\n", - "\n", - "### Sentinel-1\n", - "\n", - "Sentinel-1 jobs are submitted using the [ESA granule ID](https://sentinel.esa.int/web/sentinel/user-guides/sentinel-1-sar/naming-conventions)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "s1_pairs = [\n", - " ('S1A_IW_SLC__1SSH_20170221T204710_20170221T204737_015387_0193F6_AB07',\n", - " 'S1B_IW_SLC__1SSH_20170227T204628_20170227T204655_004491_007D11_6654'),\n", - " ('S1B_IW_SLC__1SDH_20180821T204618_20180821T204645_012366_016CC2_59A7',\n", - " 'S1B_IW_SLC__1SDH_20180809T204617_20180809T204644_012191_01674F_9345'),\n", - " ('S1A_IW_SLC__1SSH_20151214T080202_20151214T080229_009035_00CF68_780C',\n", - " 'S1A_IW_SLC__1SSH_20151120T080202_20151120T080229_008685_00C5A7_105E'),\n", - " ('S1A_IW_SLC__1SSH_20150909T162413_20150909T162443_007640_00A97D_922B',\n", - " 'S1A_IW_SLC__1SSH_20150828T162412_20150828T162431_007465_00A4AF_DC3E'),\n", - "]\n", - "\n", - "s1_jobs = sdk.Batch()\n", - "for g1, g2 in s1_pairs:\n", - " s1_jobs += hyp3.submit_autorift_job(g1, g2, name='s1-example')" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Here we've given each job the name `s1-example`, which we can use later to search for these jobs.\n", - "\n", - "### Sentinel-2\n", - "\n", - "Seninel-2 jobs can be submitted using either the [ESA granule ID](https://sentinel.esa.int/web/sentinel/user-guides/sentinel-2-msi/naming-convention)\n", - "or the [Element 84 Earth Search ID](https://registry.opendata.aws/sentinel-2/)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "s2_pairs = [\n", - " # Can be either ESA granule IDs\n", - " ('S2B_MSIL1C_20200612T150759_N0209_R025_T22WEB_20200612T184700',\n", - " 'S2A_MSIL1C_20200627T150921_N0209_R025_T22WEB_20200627T170912'),\n", - " # or Element 84 Earth Search ID\n", - " ('S2B_22WEB_20200612_0_L1C', 'S2A_22WEB_20200627_0_L1C'),\n", - "]\n", - "\n", - "s2_jobs = sdk.Batch()\n", - "for g1, g2 in s2_pairs:\n", - " s2_jobs += hyp3.submit_autorift_job(g1, g2, name='s2-example')\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Landsat-8 Collection 2\n", - "\n", - "Landsat-8 Collection 2 jobs are submitted using the [USGS scene ID](https://www.usgs.gov/faqs/what-naming-convention-landsat-collection-2-level-1-and-level-2-scenes?qt-news_science_products=0#qt-news_science_products)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "l8_pairs = [\n", - " ('LC08_L1TP_009011_20200703_20200913_02_T1',\n", - " 'LC08_L1TP_009011_20200820_20200905_02_T1'),\n", - "]\n", - "\n", - "l8_jobs = sdk.Batch()\n", - "for g1, g2 in l8_pairs:\n", - " l8_jobs += hyp3.submit_autorift_job(g1, g2, name='l8-example')" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Monitoring jobs\n", - "\n", - "One jobs are submitted, you can either watch the jobs until they finish" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "s1_jobs = hyp3.watch(s1_jobs)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "which will require you to keep the cell/terminal running, or you can come back later and search for jobs" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "s1_jobs = hyp3.find_jobs(name='s1-example')\n", - "s1_jobs = hyp3.watch(s1_jobs)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Downloading files\n", - "\n", - "Batches are collections of jobs. They provide a snapshot of the job status when the job was created or last\n", - "refreshed. To get updated information on a batch" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "s1_jobs = hyp3.refresh(s1_jobs)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "`hyp3.watch()` will return a refreshed batch once the batch has completed.\n", - "\n", - "Batches can be added together" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "print(f'Number of Jobs:\\n S1:{len(s1_jobs)}\\n S2:{len(s2_jobs)}\\n L8:{len(l8_jobs)}')\n", - "all_jobs = s1_jobs + s2_jobs + l8_jobs\n", - "print(f'Total number of Jobs: {len(all_jobs)}')" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "You can check if every job is complete and if every job was successful" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "all_jobs.complete()\n", - "all_jobs.succeeded()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "and filter jobs by status" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "succeeded_jobs = all_jobs.filter_jobs(succeeded=True, running=False, failed=False)\n", - "failed_jobs = all_jobs.filter_jobs(succeeded=False, running=False, failed=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "You can download the files for all successful jobs" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "file_list = succeeded_jobs.download_files('./')" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "*Note: only succeeded jobs will have files to download.*" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.8.6" - } - }, - "nbformat": 4, - "nbformat_minor": 1 -} \ No newline at end of file From 4ad9d513853232a35b2bcea0dd2701625bd7c509 Mon Sep 17 00:00:00 2001 From: mfangaritav <mf.angarita52@gmail.com> Date: Thu, 16 May 2024 15:15:33 -0800 Subject: [PATCH 08/35] Update README.md Co-authored-by: Joseph H Kennedy <me@jhkennedy.org> --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0ede9dc4..7019b362 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ # HyP3 autoRIFT Plugin -HyP3-autoRIFT for feature tracking processing with AutoRIFT-ISCE [autonomous Repeat Image Feature Tracking](https://github.com/nasa-jpl/autoRIFT) (autoRIFT) software package. This plugin is part of the [Alaska Satellite Facility's](https://asf.alaska.edu) larger HyP3 (Hybrid Plugin Processing Pipeline) system, which is a batch processing pipeline designed for on-demand processing of optical (Landsat and Sentinel-2) and SAR data (Sentinel-1). +They HyP3-autoRIFT plugin provides a set of workflows for feature tracking processing with the AutoRIFT [autonomous Repeat Image Feature Tracking](https://github.com/nasa-jpl/autoRIFT) (autoRIFT) software package. This plugin is part of the [Alaska Satellite Facility's](https://asf.alaska.edu) larger HyP3 (Hybrid Plugin Processing Pipeline) system, which is a batch processing pipeline designed for on-demand processing of remote sensing data. ## Usage The HyP3-autoRIFT plugin provides a workflow (accessible directly in Python or via a CLI) that can be used to process SAR or optical data using autoRIFT: From b3c8d45e97b00e13ce32c73ed341c09c7d76ceab Mon Sep 17 00:00:00 2001 From: mfangaritav <mf.angarita52@gmail.com> Date: Thu, 16 May 2024 15:15:43 -0800 Subject: [PATCH 09/35] Update README.md Co-authored-by: Joseph H Kennedy <me@jhkennedy.org> --- README.md | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 7019b362..e2838bab 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,17 @@ They HyP3-autoRIFT plugin provides a set of workflows for feature tracking processing with the AutoRIFT [autonomous Repeat Image Feature Tracking](https://github.com/nasa-jpl/autoRIFT) (autoRIFT) software package. This plugin is part of the [Alaska Satellite Facility's](https://asf.alaska.edu) larger HyP3 (Hybrid Plugin Processing Pipeline) system, which is a batch processing pipeline designed for on-demand processing of remote sensing data. ## Usage -The HyP3-autoRIFT plugin provides a workflow (accessible directly in Python or via a CLI) that can be used to process SAR or optical data using autoRIFT: +The HyP3-autoRIFT plugin provides workflows (accessible directly in Python or via a CLI) that can be used to process SAR data or optical data using autoRIFT. HyP3-autoRIFT can process these satellite missions: +* SAR: + * Sentinel-1 +* Optical: + * Sentinel-2 + * Landsat 4,5,7,8,9 + +To see all available workflows, run: +``` +python -m hyp3_autorift ++help +``` - `hyp3_autorift`: A workflow to get dense feature tracking between two images using autoRIFT --- From 6b9b34316488be1da4f3b0261d9e53272dfc7cf7 Mon Sep 17 00:00:00 2001 From: mfangaritav <mf.angarita52@gmail.com> Date: Thu, 16 May 2024 15:15:53 -0800 Subject: [PATCH 10/35] Update README.md Co-authored-by: Joseph H Kennedy <me@jhkennedy.org> --- README.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index e2838bab..a994bc69 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,15 @@ python -m hyp3_autorift ++help - `hyp3_autorift`: A workflow to get dense feature tracking between two images using autoRIFT --- -To run the workflow, simply run `python -m hyp3_autorift ++process hyp3_autorift [WORKFLOW_ARGS]`. For example: +You can run this workflow by selecting the `hyp3_autorift` process: +``` +python -m hyp3_autorift ++process hyp3_autorift [WORKFLOW_ARGS] +``` +or by using the `hyp3_autorift` console script: +``` +hyp3_autorift [WORKFLOW_ARGS] +``` +For example: ``` python -m hyp3_autorift ++process hyp3_autorift \ From 3436ce6a228378906af0528ea54d2ebcb364f530 Mon Sep 17 00:00:00 2001 From: mfangaritav <mf.angarita52@gmail.com> Date: Thu, 16 May 2024 15:16:00 -0800 Subject: [PATCH 11/35] Update README.md Co-authored-by: Joseph H Kennedy <me@jhkennedy.org> --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a994bc69..701ad8b0 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,7 @@ hyp3_autorift [WORKFLOW_ARGS] For example: ``` -python -m hyp3_autorift ++process hyp3_autorift \ +hyp3_autorift \ "S2B_MSIL1C_20200612T150759_N0209_R025_T22WEB_20200612T184700" \ "S2A_MSIL1C_20200627T150921_N0209_R025_T22WEB_20200627T170912" ``` From 2d6d5f7648657934200e41941814c98c279df27f Mon Sep 17 00:00:00 2001 From: mfangaritav <mf.angarita52@gmail.com> Date: Thu, 16 May 2024 15:16:08 -0800 Subject: [PATCH 12/35] Update README.md Co-authored-by: Joseph H Kennedy <me@jhkennedy.org> --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 701ad8b0..3e12e331 100644 --- a/README.md +++ b/README.md @@ -41,7 +41,9 @@ This command will run autorift for a pair of Sentinel-2 images. ### Options To learn about the arguments for each workflow, look at the help documentation -(`python -m hyp3_autorift ++process hyp3_autorift --help`). +``` +hyp3_autorift --help +``` ### Earthdata Login and ESA Credentials From b39d35cd239047966dbf2589704fe1989b216f2f Mon Sep 17 00:00:00 2001 From: mfangaritav <mf.angarita52@gmail.com> Date: Thu, 16 May 2024 15:16:17 -0800 Subject: [PATCH 13/35] Update README.md Co-authored-by: Joseph H Kennedy <me@jhkennedy.org> --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3e12e331..942a0f15 100644 --- a/README.md +++ b/README.md @@ -45,7 +45,7 @@ To learn about the arguments for each workflow, look at the help documentation hyp3_autorift --help ``` -### Earthdata Login and ESA Credentials +#### Earthdata Login and ESA Credentials For the workflow, the user must provide their Earthdata Login credentials and ESA Copernicus Data Space Ecosystem (CDSE) credentials in order to download input data. If you do not already have an Earthdata account, you can sign up [here](https://urs.earthdata.nasa.gov/home). From 7a58182fcfc36c5107b51b63995018077feb0311 Mon Sep 17 00:00:00 2001 From: mfangaritav <mf.angarita52@gmail.com> Date: Thu, 16 May 2024 15:16:37 -0800 Subject: [PATCH 14/35] Update README.md Co-authored-by: Joseph H Kennedy <me@jhkennedy.org> --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 942a0f15..e8e871ed 100644 --- a/README.md +++ b/README.md @@ -54,7 +54,8 @@ Your credentials can be passed to the workflows via command-line options (`--esa (`AWS_ACCESS_KEY_ID`,`AWS_SECRET_ACCESS_KEY`,`EARTHDATA_USERNAME`, `EARTHDATA_PASSWORD`, `ESA_USERNAME`, and `ESA_PASSWORD`), or via your `.netrc` file. If you haven't set up a `.netrc` file before, check out this [guide](https://harmony.earthdata.nasa.gov/docs#getting-started) to get started. -**NOTE** AWS credentials are necessary to access Landsat data. +> [!IMPORTANT] +> AWS credentials are necessary to access Landsat data. ### Docker Container The ultimate goal of this project is to create a docker container that can run autoRIFT workflows within a HyP3 From ca721058ea505d9beaf25d8f58e9fe80ead316ef Mon Sep 17 00:00:00 2001 From: mfangaritav <mf.angarita52@gmail.com> Date: Thu, 16 May 2024 15:16:47 -0800 Subject: [PATCH 15/35] Update README.md Co-authored-by: Joseph H Kennedy <me@jhkennedy.org> --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e8e871ed..7d597bdb 100644 --- a/README.md +++ b/README.md @@ -79,7 +79,7 @@ To retain hyp3_autorift output files running via Docker there are two recommende 1. Use a volume mount -Add the `-w /tmp -v [localdir]:/tmp` flags after docker run. `-w` changes the working directory of the container to `/tmp` and `-v` will mount whichever local directory you choose so that such that hyp3_autorift outputs are preserved locally. + Add the `-w /tmp -v [localdir]:/tmp` flags after docker run. `-w` changes the working directory of the container to `/tmp` and `-v` will mount whichever local directory you choose so that such that hyp3_autorift outputs are preserved locally. 1. Copy outputs to remote object storage From 158eda25c6ca9bdf0b886384b4ea31dbc3eb203f Mon Sep 17 00:00:00 2001 From: mfangaritav <mf.angarita52@gmail.com> Date: Thu, 16 May 2024 15:16:57 -0800 Subject: [PATCH 16/35] Update README.md Co-authored-by: Joseph H Kennedy <me@jhkennedy.org> --- README.md | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index 7d597bdb..27d40fd7 100644 --- a/README.md +++ b/README.md @@ -83,25 +83,25 @@ To retain hyp3_autorift output files running via Docker there are two recommende 1. Copy outputs to remote object storage -Append the `--bucket` and `--bucket-prefix` to [WORKFLOW_ARGS]. *Only the final output files are uploaded.* This also requires that AWS credentials to write to the bucket are available to the running container. For example, to write outputs to a hypothetical bucket `s3://hypothetical-bucket/test-run/`: - -``` -docker run -it --rm \ - -e AWS_ACCESS_KEY_ID=[YOUR_KEY] \ - -e AWS_SECRET_ACCESS_KEY=[YOUR_SECRET] \ - -e AWS_SESSION_TOKEN=[YOUR_TOKEN] \ - -e EARTHDATA_USERNAME=[YOUR_USERNAME_HERE] \ - -e EARTHDATA_PASSWORD=[YOUR_PASSWORD_HERE] \ - -e ESA_USERNAME=[YOUR_USERNAME_HERE] \ - -e ESA_PASSWORD=[YOUR_PASSWORD_HERE] \ - ghcr.io/asfhyp3/hyp3-isce2:latest \ - ++process hyp3_autorift \ - [WORKFLOW_ARGS] \ - --bucket "hypothetical-bucket" \ - --bucket-prefix "test-run" -``` - -Tip: you can use [`docker run --env-file`](https://docs.docker.com/reference/cli/docker/container/run/#env) to capture all the necessary environment variables in a single file. + Append the `--bucket` and `--bucket-prefix` to [WORKFLOW_ARGS]. *Only the final output files are uploaded.* This also requires that AWS credentials to write to the bucket are available to the running container. For example, to write outputs to a hypothetical bucket `s3://hypothetical-bucket/test-run/`: + + ``` + docker run -it --rm \ + -e AWS_ACCESS_KEY_ID=[YOUR_KEY] \ + -e AWS_SECRET_ACCESS_KEY=[YOUR_SECRET] \ + -e AWS_SESSION_TOKEN=[YOUR_TOKEN] \ # Optional + -e EARTHDATA_USERNAME=[YOUR_USERNAME_HERE] \ + -e EARTHDATA_PASSWORD=[YOUR_PASSWORD_HERE] \ + -e ESA_USERNAME=[YOUR_USERNAME_HERE] \ + -e ESA_PASSWORD=[YOUR_PASSWORD_HERE] \ + ghcr.io/asfhyp3/hyp3-autorift:latest \ + ++process hyp3_autorift \ + [WORKFLOW_ARGS] \ + --bucket "hypothetical-bucket" \ + --bucket-prefix "test-run" + ``` + + Tip: you can use [`docker run --env-file`](https://docs.docker.com/reference/cli/docker/container/run/#env) to capture all the necessary environment variables in a single file. ## Developer Setup From 8777313bd2b2b8149b0f83cc34a5aa8f4ce3d4db Mon Sep 17 00:00:00 2001 From: mfangaritav <mf.angarita52@gmail.com> Date: Thu, 16 May 2024 15:17:03 -0800 Subject: [PATCH 17/35] Update README.md Co-authored-by: Joseph H Kennedy <me@jhkennedy.org> --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 27d40fd7..1ab582e7 100644 --- a/README.md +++ b/README.md @@ -124,7 +124,7 @@ HyP3 is broken into two components: the cloud architecture/API that manage proce  -The cloud infrastructure-as-code for HyP3 can be found in the main [HyP3 repository](https://github.com/asfhyp3/hyp3). This repository contains a plugin that can be used for feature tracking processing with AutoRIFT-ISCE. +The cloud infrastructure-as-code for HyP3 can be found in the main [HyP3 repository](https://github.com/asfhyp3/hyp3)., while this repository contains a plugin that can be used for feature tracking processing with AutoRIFT. ## License The HyP3-autoRIFT plugin is licensed under the Apache License, Version 2 license. See the LICENSE file for more details. From 9ae5631b24b3cd82f27dcac68dd7bdcd24399d5b Mon Sep 17 00:00:00 2001 From: mfangaritav <mf.angarita52@gmail.com> Date: Thu, 16 May 2024 15:17:11 -0800 Subject: [PATCH 18/35] Update README.md Co-authored-by: Joseph H Kennedy <me@jhkennedy.org> --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1ab582e7..41590016 100644 --- a/README.md +++ b/README.md @@ -127,7 +127,7 @@ HyP3 is broken into two components: the cloud architecture/API that manage proce The cloud infrastructure-as-code for HyP3 can be found in the main [HyP3 repository](https://github.com/asfhyp3/hyp3)., while this repository contains a plugin that can be used for feature tracking processing with AutoRIFT. ## License -The HyP3-autoRIFT plugin is licensed under the Apache License, Version 2 license. See the LICENSE file for more details. +The HyP3-autoRIFT plugin is licensed under the BSD 3-Clause license. See the LICENSE file for more details. ## Code of conduct We strive to create a welcoming and inclusive community for all contributors to HyP3-autoRIFT. As such, all contributors to this project are expected to adhere to our code of conduct. From 84d259791b3aa0fb6df6982cf2c9edd3105aab14 Mon Sep 17 00:00:00 2001 From: Joseph H Kennedy <me@jhkennedy.org> Date: Mon, 20 May 2024 15:53:56 -0800 Subject: [PATCH 19/35] Update README.md --- README.md | 122 +++++++++++++++++++++++++++++++++++------------------- 1 file changed, 80 insertions(+), 42 deletions(-) diff --git a/README.md b/README.md index 41590016..faf8db15 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,31 @@ -[](https://doi.org/10.5281/zenodo.4037015)  - # HyP3 autoRIFT Plugin -They HyP3-autoRIFT plugin provides a set of workflows for feature tracking processing with the AutoRIFT [autonomous Repeat Image Feature Tracking](https://github.com/nasa-jpl/autoRIFT) (autoRIFT) software package. This plugin is part of the [Alaska Satellite Facility's](https://asf.alaska.edu) larger HyP3 (Hybrid Plugin Processing Pipeline) system, which is a batch processing pipeline designed for on-demand processing of remote sensing data. +[](https://doi.org/10.5281/zenodo.4037015) + +The HyP3-autoRIFT plugin provides a set of workflows for feature tracking processing with the AutoRIFT [autonomous Repeat Image Feature Tracking](https://github.com/nasa-jpl/autoRIFT) (autoRIFT) software package. This plugin is part of the [Alaska Satellite Facility's](https://asf.alaska.edu) larger HyP3 (Hybrid Plugin Processing Pipeline) system, which is a batch processing pipeline designed for on-demand processing of remote sensing data. For more information on HyP3, see the [Background](#background) section. + +## Installation + +1. Ensure that conda is installed on your system (we recommend using [mambaforge](https://github.com/conda-forge/miniforge#mambaforge) to reduce setup times). +2. Clone the `hyp3-autorift` repository and navigate to the root directory of this project + ```bash + git clone https://github.com/ASFHyP3/hyp3-autorift.git + cd hyp3-autorift + ``` +3. Create and activate your Python environment + ```bash + + mamba env create -f environment.yml + mamba activate hyp3-autorift + ``` +4. Finally, install a development version of HyP3 autoRIFT + ```bash + python -m pip install -e . + ``` ## Usage + The HyP3-autoRIFT plugin provides workflows (accessible directly in Python or via a CLI) that can be used to process SAR data or optical data using autoRIFT. HyP3-autoRIFT can process these satellite missions: * SAR: * Sentinel-1 @@ -18,10 +38,9 @@ To see all available workflows, run: python -m hyp3_autorift ++help ``` -- `hyp3_autorift`: A workflow to get dense feature tracking between two images using autoRIFT ---- +### `hyp3_autorift` workflow -You can run this workflow by selecting the `hyp3_autorift` process: +The `hyp3_autorift` workflow is used to get dense feature tracking between two images using autoRIFT. You can run this workflow by selecting the `hyp3_autorift` process: ``` python -m hyp3_autorift ++process hyp3_autorift [WORKFLOW_ARGS] ``` @@ -37,29 +56,63 @@ hyp3_autorift \ "S2A_MSIL1C_20200627T150921_N0209_R025_T22WEB_20200627T170912" ``` -This command will run autorift for a pair of Sentinel-2 images. +This command will run autorift for a pair of Sentinel-2 images. -### Options -To learn about the arguments for each workflow, look at the help documentation +> [!IMPORTANT] +> Credentials are necessary to access Landsat and Sentinel-1 data. See the Credentials section for more information. + +For all options available to this workflow, see the help documentation: ``` hyp3_autorift --help ``` -#### Earthdata Login and ESA Credentials +### Credentials -For the workflow, the user must provide their Earthdata Login credentials and ESA Copernicus Data Space Ecosystem (CDSE) credentials in order to download input data. -If you do not already have an Earthdata account, you can sign up [here](https://urs.earthdata.nasa.gov/home). -If you do not already have a CDSE account, you can sign up [here](https://dataspace.copernicus.eu). -Your credentials can be passed to the workflows via command-line options (`--esa-username` and `--esa-password`), environment variables -(`AWS_ACCESS_KEY_ID`,`AWS_SECRET_ACCESS_KEY`,`EARTHDATA_USERNAME`, `EARTHDATA_PASSWORD`, `ESA_USERNAME`, and `ESA_PASSWORD`), or via your `.netrc` file. If you haven't set up a `.netrc` file -before, check out this [guide](https://harmony.earthdata.nasa.gov/docs#getting-started) to get started. +Depending on the mission being processed, some workflows will need you to provide credentials. Generally, credentials are provided via environment variables, but some may be provided by command-line arguments or via a `.netrc` file. -> [!IMPORTANT] -> AWS credentials are necessary to access Landsat data. +#### AWS Credentials + +To process Landsat images, you must provide AWS credentials because the data is hosted by USGS in a "requester pays" bucket. To provide AWS credentials, you can either use an AWS profile specified in your `~/.aws/credentials` by exporting: +``` +export AWS_PROFILE=your-profile +``` +or by exporting credential environment variables: +``` +export AWS_ACCESS_KEY_ID=your-id +export AWS_SECRET_ACCESS_KEY=your-key +export AWS_SESSION_TOKEN=your-token # optional; for when using temporary credentials +``` + +For more information, please see: <https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html> + +#### NASA Earthdata Login and ESA Copernicus Data Space Ecosystem (CDSE) + +To process Sentinel-1 images, you must provide Earthdata Login credentials and ESA Copernicus Data Space Ecosystem (CDSE) credentials in order to download input data. +* If you do not already have an Earthdata account, you can sign up [here](https://urs.earthdata.nasa.gov/home). +* If you do not already have a CDSE account, you can sign up [here](https://dataspace.copernicus.eu). + +For Earthdata login and CDSE, you can provide credentials by exporting environment variables: +``` +export EARTHDATA_USERNAME=your-edl-username +export EARTHDATA_PASSWORD=your-edl-password +export ESA_USERNAME=your-esa-username +export ESA_PASSWORD=your-esa-password +``` +or via your [`~/.netrc` file](https://everything.curl.dev/usingcurl/netrc) which should contain lines like these two: +``` +machine urs.earthdata.nasa.gov login your-edl-username password your-edl-password +machine dataspace.copernicus.eu login your-esa-username password your-esa-password +``` + +> [!TIP] +> Your `~/.netrc` file should only be readable by your user; otherwise, you'll receive a "net access too permissive" error. To fix, run: +> ``` +> chmod 0600 ~/.netrc +> ``` ### Docker Container -The ultimate goal of this project is to create a docker container that can run autoRIFT workflows within a HyP3 -deployment. To run the current version of the project's container, use this command: + +The ultimate goal of this project is to create a docker container that can run autoRIFT workflows within a HyP3 deployment. To run the current version of the project's container, use this command: ``` docker run -it --rm \ -e AWS_ACCESS_KEY_ID=[YOUR_KEY] \ @@ -73,17 +126,20 @@ docker run -it --rm \ [WORKFLOW_ARGS] ``` +> [!TIP] +> You can use [`docker run --env-file`](https://docs.docker.com/reference/cli/docker/container/run/#env) to capture all the necessary environment variables in a single file. + #### Docker Outputs To retain hyp3_autorift output files running via Docker there are two recommended approaches: 1. Use a volume mount - Add the `-w /tmp -v [localdir]:/tmp` flags after docker run. `-w` changes the working directory of the container to `/tmp` and `-v` will mount whichever local directory you choose so that such that hyp3_autorift outputs are preserved locally. + Add the `-w /tmp -v ${PWD}:/tmp` flags after `docker run`; `-w` changes the working directory inside the container to `/tmp` and `-v` will mount your current working directory to the `/tmp` location inside the container such that hyp3_autorift outputs are preserved locally. You can replace `${PWD}` with any valid path. -1. Copy outputs to remote object storage +1. Copy outputs to a remote AWS S3 Bucket - Append the `--bucket` and `--bucket-prefix` to [WORKFLOW_ARGS]. *Only the final output files are uploaded.* This also requires that AWS credentials to write to the bucket are available to the running container. For example, to write outputs to a hypothetical bucket `s3://hypothetical-bucket/test-run/`: + Append the `--bucket` and `--bucket-prefix` to [WORKFLOW_ARGS] so that the final output files are uploaded to AWS S3. This also requires that AWS credentials to write to the bucket are available to the running container. For example, to write outputs to a hypothetical bucket `s3://hypothetical-bucket/test-run/`: ``` docker run -it --rm \ @@ -101,26 +157,8 @@ To retain hyp3_autorift output files running via Docker there are two recommende --bucket-prefix "test-run" ``` - Tip: you can use [`docker run --env-file`](https://docs.docker.com/reference/cli/docker/container/run/#env) to capture all the necessary environment variables in a single file. - - -## Developer Setup -1. Ensure that conda is installed on your system (we recommend using [mambaforge](https://github.com/conda-forge/miniforge#mambaforge) to reduce setup times). -2. Download a local version of the `hyp3-autorift` repository (`git clone https://github.com/ASFHyP3/hyp3-autorift.git`) -3. In the base directory for this project call `mamba env create -f environment.yml` to create your Python environment, then activate it (`mamba activate hyp3-autorift`) -4. Finally, install a development version of the package (`python -m pip install -e .`) - -To run all commands in sequence use: -```bash -git clone https://github.com/ASFHyP3/hyp3-autorift.git -cd hyp3-autorift -mamba env create -f environment.yml -mamba activate hyp3-autorift -python -m pip install -e . -``` - ## Background -HyP3 is broken into two components: the cloud architecture/API that manage processing of HyP3 workflows, and Docker container plugins that contain scientific workflows which produce new science products from a variety of data sources (see figure below for the full HyP3 architecture). +HyP3 is broken into two components: the cloud architecture/API that manages the processing of HyP3 workflows and Docker container plugins that contain scientific workflows that produce new science products from a variety of data sources (see figure below for the full HyP3 architecture).  From d44d53a90007c95557b65b0ae2c21944a8b8047b Mon Sep 17 00:00:00 2001 From: Mario Angarita <mf.angarita52@gmail.com> Date: Mon, 27 May 2024 17:00:35 -0800 Subject: [PATCH 20/35] refactor to isolate isce2 processing --- environment.yml | 2 +- src/hyp3_autorift/geometry.py | 115 +------- src/hyp3_autorift/process.py | 63 ++--- src/hyp3_autorift/s1_correction.py | 48 +--- src/hyp3_autorift/sentinel1_isce2.py | 294 ++++++++++++++++++++ src/hyp3_autorift/utils.py | 84 ------ src/hyp3_autorift/vend/testautoRIFT_ISCE.py | 2 +- 7 files changed, 316 insertions(+), 292 deletions(-) create mode 100644 src/hyp3_autorift/sentinel1_isce2.py diff --git a/environment.yml b/environment.yml index 0afab498..f288665d 100644 --- a/environment.yml +++ b/environment.yml @@ -1,4 +1,4 @@ -name: hyp3-autorift +name: hyp3-autorift-fork channels: - hyp3 - conda-forge diff --git a/src/hyp3_autorift/geometry.py b/src/hyp3_autorift/geometry.py index ceed000f..ea86bfbe 100644 --- a/src/hyp3_autorift/geometry.py +++ b/src/hyp3_autorift/geometry.py @@ -3,14 +3,8 @@ import logging import os from typing import Tuple - -import isce # noqa: F401 -import isceobj import numpy as np -from contrib.demUtils import createDemStitcher -from contrib.geo_autoRIFT.geogrid import Geogrid -from isceobj.Orbit.Orbit import Orbit -from isceobj.Sensor.TOPS.Sentinel1 import Sentinel1 + from osgeo import gdal from osgeo import ogr from osgeo import osr @@ -18,76 +12,6 @@ log = logging.getLogger(__name__) -def bounding_box(safe, priority='reference', polarization='hh', orbits='Orbits', epsg=4326): - """Determine the geometric bounding box of a Sentinel-1 image - - :param safe: Path to the Sentinel-1 SAFE zip archive - :param priority: Image priority, either 'reference' (default) or 'secondary' - :param polarization: Image polarization (default: 'hh') - :param orbits: Path to the orbital files (default: './Orbits') - :param epsg: Projection EPSG code (default: 4326) - - :return: lat_limits (list), lon_limits (list) - lat_limits: list containing the [minimum, maximum] latitudes - lat_limits: list containing the [minimum, maximum] longitudes - """ - frames = [] - for swath in range(1, 4): - rdr = Sentinel1() - rdr.configure() - rdr.safe = [os.path.abspath(safe)] - rdr.output = priority - rdr.orbitDir = os.path.abspath(orbits) - rdr.auxDir = os.path.abspath(orbits) - rdr.swathNumber = swath - rdr.polarization = polarization - rdr.parse() - frames.append(rdr.product) - - first_burst = frames[0].bursts[0] - sensing_start = min([x.sensingStart for x in frames]) - sensing_stop = max([x.sensingStop for x in frames]) - starting_range = min([x.startingRange for x in frames]) - far_range = max([x.farRange for x in frames]) - range_pixel_size = first_burst.rangePixelSize - prf = 1.0 / first_burst.azimuthTimeInterval - - orb = Orbit() - orb.configure() - - for state_vector in first_burst.orbit: - orb.addStateVector(state_vector) - - for frame in frames: - for burst in frame.bursts: - for state_vector in burst.orbit: - if state_vector.time < orb.minTime or state_vector.time > orb.maxTime: - orb.addStateVector(state_vector) - - obj = Geogrid() - obj.configure() - - obj.startingRange = starting_range - obj.rangePixelSize = range_pixel_size - obj.sensingStart = sensing_start - obj.prf = prf - obj.lookSide = -1 - obj.numberOfLines = int(np.round((sensing_stop - sensing_start).total_seconds() * prf)) - obj.numberOfSamples = int(np.round((far_range - starting_range)/range_pixel_size)) - obj.orbit = orb - obj.epsg = epsg - - obj.determineBbox() - - lat_limits = obj._xlim - lon_limits = obj._ylim - - log.info(f'Latitude limits [min, max]: {lat_limits}') - log.info(f'Longitude limits [min, max]: {lon_limits}') - - return lat_limits, lon_limits - - def polygon_from_bbox(x_limits: Tuple[float, float], y_limits: Tuple[float, float], epsg_code: int = 4326) -> ogr.Geometry: ring = ogr.Geometry(ogr.wkbLinearRing) @@ -145,41 +69,4 @@ def fix(n): return fixed -def prep_isce_dem(input_dem, lat_limits, lon_limits, isce_dem=None): - if isce_dem is None: - seamstress = createDemStitcher() - isce_dem = seamstress.defaultName([*lat_limits, *lon_limits]) - - isce_dem = os.path.abspath(isce_dem + '.wgs84') - log.info(f'ISCE dem is: {isce_dem}') - - in_ds = gdal.OpenShared(input_dem, gdal.GA_ReadOnly) - warp_options = gdal.WarpOptions( - format='ENVI', outputType=gdal.GDT_Int16, resampleAlg='cubic', - xRes=0.001, yRes=0.001, dstSRS='EPSG:4326', dstNodata=0, - outputBounds=[lon_limits[0], lat_limits[0], lon_limits[1], lat_limits[1]] - ) - gdal.Warp(isce_dem, in_ds, options=warp_options) - - del in_ds - - isce_ds = gdal.Open(isce_dem, gdal.GA_ReadOnly) - isce_trans = isce_ds.GetGeoTransform() - - img = isceobj.createDemImage() - img.width = isce_ds.RasterXSize - img.length = isce_ds.RasterYSize - img.bands = 1 - img.dataType = 'SHORT' - img.scheme = 'BIL' - img.setAccessMode('READ') - img.filename = isce_dem - - img.firstLongitude = isce_trans[0] + 0.5 * isce_trans[1] - img.deltaLongitude = isce_trans[1] - - img.firstLatitude = isce_trans[3] + 0.5 * isce_trans[5] - img.deltaLatitude = isce_trans[5] - img.renderHdr() - return isce_dem diff --git a/src/hyp3_autorift/process.py b/src/hyp3_autorift/process.py index ab41bad3..55f9322b 100644 --- a/src/hyp3_autorift/process.py +++ b/src/hyp3_autorift/process.py @@ -374,13 +374,14 @@ def process( reference_state_vec = None secondary_state_vec = None lat_limits, lon_limits = None, None - + platform = get_platform(reference) if platform == 'S1': + from hyp3_autorift.sentinel1_isce2 import bounding_box, process_sentinel1_with_isce2 + for scene in [reference, secondary]: scene_url = get_download_url(scene) download_file(scene_url, chunk_size=5242880) - orbits = Path('Orbits').resolve() orbits.mkdir(parents=True, exist_ok=True) @@ -397,7 +398,12 @@ def process( log.info(f'Downloaded orbit file {secondary_state_vec} from {secondary_provider}') polarization = get_s1_primary_polarization(reference) - lat_limits, lon_limits = geometry.bounding_box(f'{reference}.zip', polarization=polarization, orbits=orbits) + lat_limits, lon_limits = bounding_box(f'{reference}.zip', polarization=polarization, orbits=orbits) + + scene_poly = geometry.polygon_from_bbox(x_limits=lat_limits, y_limits=lon_limits) + parameter_info = utils.find_jpl_parameter_info(scene_poly, parameter_file) + + netcdf_file = process_sentinel1_with_isce2(parameter_info,reference,secondary,polarization,orbits) elif platform == 'S2': # Set config and env for new CXX threads in Geogrid/autoRIFT @@ -452,49 +458,14 @@ def process( bbox = reference_metadata['bbox'] lat_limits = (bbox[1], bbox[3]) lon_limits = (bbox[0], bbox[2]) - + log.info(f'Reference scene path: {reference_path}') log.info(f'Secondary scene path: {secondary_path}') - - scene_poly = geometry.polygon_from_bbox(x_limits=lat_limits, y_limits=lon_limits) - parameter_info = utils.find_jpl_parameter_info(scene_poly, parameter_file) - - if platform == 'S1': - isce_dem = geometry.prep_isce_dem(parameter_info['geogrid']['dem'], lat_limits, lon_limits) - - utils.format_tops_xml(reference, secondary, polarization, isce_dem, orbits) - - import isce # noqa - from topsApp import TopsInSAR - insar = TopsInSAR(name='topsApp', cmdline=['topsApp.xml', '--end=mergebursts']) - insar.configure() - insar.run() - - reference_path = os.path.join(os.getcwd(), 'merged', 'reference.slc.full') - secondary_path = os.path.join(os.getcwd(), 'merged', 'secondary.slc.full') - - for slc in [reference_path, secondary_path]: - gdal.Translate(slc, f'{slc}.vrt', format='ENVI') - - from hyp3_autorift.vend.testGeogrid_ISCE import (loadMetadata, - runGeogrid) - meta_r = loadMetadata('fine_coreg') - meta_s = loadMetadata('secondary') - geogrid_info = runGeogrid(meta_r, meta_s, epsg=parameter_info['epsg'], **parameter_info['geogrid']) - - # NOTE: After Geogrid is run, all drivers are no longer registered. - # I've got no idea why, or if there are other affects... - gdal.AllRegister() - - from hyp3_autorift.vend.testautoRIFT_ISCE import \ - generateAutoriftProduct - netcdf_file = generateAutoriftProduct( - reference_path, secondary_path, nc_sensor=platform, optical_flag=False, ncname=None, - geogrid_run_info=geogrid_info, **parameter_info['autorift'], - parameter_file=DEFAULT_PARAMETER_FILE.replace('/vsicurl/', ''), - ) - - else: + + if 'L' in platform or platform=='S2': + scene_poly = geometry.polygon_from_bbox(x_limits=lat_limits, y_limits=lon_limits) + parameter_info = utils.find_jpl_parameter_info(scene_poly, parameter_file) + from hyp3_autorift.vend.testGeogridOptical import ( coregisterLoadMetadata, runGeogrid) meta_r, meta_s = coregisterLoadMetadata( @@ -503,7 +474,7 @@ def process( secondary_metadata=secondary_metadata, ) geogrid_info = runGeogrid(meta_r, meta_s, epsg=parameter_info['epsg'], **parameter_info['geogrid']) - + from hyp3_autorift.vend.testautoRIFT import generateAutoriftProduct netcdf_file = generateAutoriftProduct( reference_path, secondary_path, nc_sensor=platform, optical_flag=True, ncname=None, @@ -511,6 +482,8 @@ def process( geogrid_run_info=geogrid_info, **parameter_info['autorift'], parameter_file=DEFAULT_PARAMETER_FILE.replace('/vsicurl/', ''), ) + + if netcdf_file is None: raise Exception('Processing failed! Output netCDF file not found') diff --git a/src/hyp3_autorift/s1_correction.py b/src/hyp3_autorift/s1_correction.py index bb7d6c98..b16f9ade 100644 --- a/src/hyp3_autorift/s1_correction.py +++ b/src/hyp3_autorift/s1_correction.py @@ -11,56 +11,10 @@ from hyp3lib.scene import get_download_url from hyp3_autorift import geometry, utils -from hyp3_autorift.process import DEFAULT_PARAMETER_FILE, get_s1_primary_polarization from hyp3_autorift.utils import get_esa_credentials -from hyp3_autorift.vend.testGeogrid_ISCE import loadParsedata, runGeogrid +from sentinel1_isce2 import generate_correction_data log = logging.getLogger(__name__) - -def generate_correction_data( - scene: str, - buffer: int = 0, - parameter_file: str = DEFAULT_PARAMETER_FILE, - esa_username: Optional[str] = None, - esa_password: Optional[str] = None, -): - scene_path = Path(f'{scene}.zip') - if not scene_path.exists(): - scene_url = get_download_url(scene) - scene_path = download_file(scene_url, chunk_size=5242880) - - orbits = Path('Orbits').resolve() - orbits.mkdir(parents=True, exist_ok=True) - - if (esa_username is None) or (esa_password is None): - esa_username, esa_password = get_esa_credentials() - - state_vec, oribit_provider = downloadSentinelOrbitFile( - scene, directory=str(orbits), esa_credentials=(esa_username, esa_password) - ) - log.info(f'Downloaded orbit file {state_vec} from {oribit_provider}') - - polarization = get_s1_primary_polarization(scene) - lat_limits, lon_limits = geometry.bounding_box(f'{scene}.zip', polarization=polarization, orbits=orbits) - - scene_poly = geometry.polygon_from_bbox(x_limits=lat_limits, y_limits=lon_limits) - parameter_info = utils.find_jpl_parameter_info(scene_poly, parameter_file) - - isce_dem = geometry.prep_isce_dem(parameter_info['geogrid']['dem'], lat_limits, lon_limits) - utils.format_tops_xml(scene, scene, polarization, isce_dem, orbits) - - reference_meta = loadParsedata(str(scene_path), orbit_dir=orbits, aux_dir=orbits, buffer=buffer) - - secondary_meta = copy.deepcopy(reference_meta) - spoof_dt = timedelta(days=1) - secondary_meta.sensingStart += spoof_dt - secondary_meta.sensingStop += spoof_dt - - geogrid_info = runGeogrid(reference_meta, secondary_meta, epsg=parameter_info['epsg'], **parameter_info['geogrid']) - - return geogrid_info - - def main(): parser = argparse.ArgumentParser( formatter_class=argparse.ArgumentDefaultsHelpFormatter diff --git a/src/hyp3_autorift/sentinel1_isce2.py b/src/hyp3_autorift/sentinel1_isce2.py new file mode 100644 index 00000000..1ecdec05 --- /dev/null +++ b/src/hyp3_autorift/sentinel1_isce2.py @@ -0,0 +1,294 @@ +import isce # noqa: F401 +import isceobj +import logging +import sys + +from contrib.demUtils import createDemStitcher +from contrib.geo_autoRIFT.geogrid import Geogrid +from isceobj.Orbit.Orbit import Orbit +from isceobj.Sensor.TOPS.Sentinel1 import Sentinel1 +from hyp3_autorift.process import DEFAULT_PARAMETER_FILE, get_s1_primary_polarization + +import textwrap +from pathlib import Path +from osgeo import gdal +import os +from typing import Optional + +import numpy as np + +from hyp3_autorift.vend.testGeogrid_ISCE import loadParsedata, runGeogrid + +log = logging.getLogger(__name__) + +def process_sentinel1_with_isce2(parameter_info,reference,secondary,polarization,orbits): + lat_limits,lon_limits=bounding_box(f'{reference}.zip', polarization=polarization, orbits=orbits) + isce_dem = prep_isce_dem(parameter_info['geogrid']['dem'], lat_limits, lon_limits) + + format_tops_xml(reference, secondary, polarization, isce_dem, orbits) + import isce # noqa + from topsApp import TopsInSAR + insar = TopsInSAR(name='topsApp', cmdline=['topsApp.xml', '--end=mergebursts']) + insar.configure() + insar.run() + + reference_path = os.path.join(os.getcwd(), 'merged', 'reference.slc.full') + secondary_path = os.path.join(os.getcwd(), 'merged', 'secondary.slc.full') + + for slc in [reference_path, secondary_path]: + gdal.Translate(slc, f'{slc}.vrt', format='ENVI') + + from hyp3_autorift.vend.testGeogrid_ISCE import (loadMetadata, + runGeogrid) + meta_r = loadMetadata('fine_coreg') + meta_s = loadMetadata('secondary') + geogrid_info = runGeogrid(meta_r, meta_s, epsg=parameter_info['epsg'], **parameter_info['geogrid']) + + # NOTE: After Geogrid is run, all drivers are no longer registered. + # I've got no idea why, or if there are other affects... + gdal.AllRegister() + + from hyp3_autorift.vend.testautoRIFT_ISCE import \ + generateAutoriftProduct + netcdf_file = generateAutoriftProduct( + reference_path, secondary_path, nc_sensor='S1', optical_flag=False, ncname=None, + geogrid_run_info=geogrid_info, **parameter_info['autorift'], + parameter_file=DEFAULT_PARAMETER_FILE.replace('/vsicurl/', ''), + ) + return netcdf_file + + +def generate_correction_data( + scene: str, + buffer: int = 0, + parameter_file: str = DEFAULT_PARAMETER_FILE, + esa_username: Optional[str] = None, + esa_password: Optional[str] = None, +): + scene_path = Path(f'{scene}.zip') + if not scene_path.exists(): + scene_url = get_download_url(scene) + scene_path = download_file(scene_url, chunk_size=5242880) + + orbits = Path('Orbits').resolve() + orbits.mkdir(parents=True, exist_ok=True) + + if (esa_username is None) or (esa_password is None): + esa_username, esa_password = get_esa_credentials() + + state_vec, oribit_provider = downloadSentinelOrbitFile( + scene, directory=str(orbits), esa_credentials=(esa_username, esa_password) + ) + log.info(f'Downloaded orbit file {state_vec} from {oribit_provider}') + + polarization = get_s1_primary_polarization(scene) + lat_limits, lon_limits = bounding_box(f'{scene}.zip', polarization=polarization, orbits=orbits) + + scene_poly = geometry.polygon_from_bbox(x_limits=lat_limits, y_limits=lon_limits) + parameter_info = utils.find_jpl_parameter_info(scene_poly, parameter_file) + + isce_dem = prep_isce_dem(parameter_info['geogrid']['dem'], lat_limits, lon_limits) + format_tops_xml(scene, scene, polarization, isce_dem, orbits) + + reference_meta = loadParsedata(str(scene_path), orbit_dir=orbits, aux_dir=orbits, buffer=buffer) + + secondary_meta = copy.deepcopy(reference_meta) + spoof_dt = timedelta(days=1) + secondary_meta.sensingStart += spoof_dt + secondary_meta.sensingStop += spoof_dt + + geogrid_info = runGeogrid(reference_meta, secondary_meta, epsg=parameter_info['epsg'], **parameter_info['geogrid']) + + return geogrid_info + +####### this was in utils############################ +class SysArgvManager: + """Context manager to clear and reset sys.argv + + A bug in the ISCE2 Application class causes sys.argv to always be parsed when + no options are proved, even when setting `cmdline=[]`, preventing programmatic use. + """ + def __init__(self): + self.argv = sys.argv.copy() + + def __enter__(self): + sys.argv = sys.argv[:1] + + def __exit__(self, exc_type, exc_val, exc_tb): + sys.argv = self.argv + + +def get_topsinsar_config(): + from isce.applications.topsApp import TopsInSAR + with SysArgvManager(): + insar = TopsInSAR(name="topsApp") + insar.configure() + + config_data = {} + for name in ['reference', 'secondary']: + scene = insar.__getattribute__(name) + + sensing_times = [] + for swath in range(1, 4): + scene.configure() + scene.swathNumber = swath + scene.parse() + sensing_times.append( + (scene.product.sensingStart, scene.product.sensingStop) + ) + + sensing_start = min([sensing_time[0] for sensing_time in sensing_times]) + sensing_stop = max([sensing_time[1] for sensing_time in sensing_times]) + + sensing_dt = (sensing_stop - sensing_start) / 2 + sensing_start + + config_data[f'{name}_filename'] = Path(scene.safe[0]).name + config_data[f'{name}_dt'] = sensing_dt.strftime("%Y%m%dT%H:%M:%S.%f").rstrip('0') + + return config_data + +def format_tops_xml(reference, secondary, polarization, dem, orbits, xml_file='topsApp.xml'): + xml_template = f""" <?xml version="1.0" encoding="UTF-8"?> + <topsApp> + <component name="topsinsar"> + <component name="reference"> + <property name="orbit directory">{orbits}</property> + <property name="auxiliary data directory">{orbits}</property> + <property name="output directory">reference</property> + <property name="safe">['{reference}.zip']</property> + <property name="polarization">{polarization}</property> + </component> + <component name="secondary"> + <property name="orbit directory">{orbits}</property> + <property name="auxiliary data directory">{orbits}</property> + <property name="output directory">secondary</property> + <property name="safe">['{secondary}.zip']</property> + <property name="polarization">{polarization}</property> + </component> + <property name="demfilename">{dem}</property> + <property name="do interferogram">False</property> + <property name="do dense offsets">True</property> + <property name="do ESD">False</property> + <property name="do unwrap">False</property> + <property name="do unwrap 2 stage">False</property> + <property name="ampcor skip width">32</property> + <property name="ampcor skip height">32</property> + <property name="ampcor search window width">51</property> + <property name="ampcor search window height">51</property> + <property name="ampcor window width">32</property> + <property name="ampcor window height">32</property> + </component> + </topsApp> + """ + + with open(xml_file, 'w') as f: + f.write(textwrap.dedent(xml_template)) + +####### this was in geometry############################ +def bounding_box(safe, priority='reference', polarization='hh', orbits='Orbits', epsg=4326): + """Determine the geometric bounding box of a Sentinel-1 image + + :param safe: Path to the Sentinel-1 SAFE zip archive + :param priority: Image priority, either 'reference' (default) or 'secondary' + :param polarization: Image polarization (default: 'hh') + :param orbits: Path to the orbital files (default: './Orbits') + :param epsg: Projection EPSG code (default: 4326) + + :return: lat_limits (list), lon_limits (list) + lat_limits: list containing the [minimum, maximum] latitudes + lat_limits: list containing the [minimum, maximum] longitudes + """ + frames = [] + for swath in range(1, 4): + rdr = Sentinel1() + rdr.configure() + rdr.safe = [os.path.abspath(safe)] + rdr.output = priority + rdr.orbitDir = os.path.abspath(orbits) + rdr.auxDir = os.path.abspath(orbits) + rdr.swathNumber = swath + rdr.polarization = polarization + rdr.parse() + frames.append(rdr.product) + + first_burst = frames[0].bursts[0] + sensing_start = min([x.sensingStart for x in frames]) + sensing_stop = max([x.sensingStop for x in frames]) + starting_range = min([x.startingRange for x in frames]) + far_range = max([x.farRange for x in frames]) + range_pixel_size = first_burst.rangePixelSize + prf = 1.0 / first_burst.azimuthTimeInterval + + orb = Orbit() + orb.configure() + + for state_vector in first_burst.orbit: + orb.addStateVector(state_vector) + + for frame in frames: + for burst in frame.bursts: + for state_vector in burst.orbit: + if state_vector.time < orb.minTime or state_vector.time > orb.maxTime: + orb.addStateVector(state_vector) + + obj = Geogrid() + obj.configure() + + obj.startingRange = starting_range + obj.rangePixelSize = range_pixel_size + obj.sensingStart = sensing_start + obj.prf = prf + obj.lookSide = -1 + obj.numberOfLines = int(np.round((sensing_stop - sensing_start).total_seconds() * prf)) + obj.numberOfSamples = int(np.round((far_range - starting_range)/range_pixel_size)) + obj.orbit = orb + obj.epsg = epsg + + obj.determineBbox() + + lat_limits = obj._xlim + lon_limits = obj._ylim + + log.info(f'Latitude limits [min, max]: {lat_limits}') + log.info(f'Longitude limits [min, max]: {lon_limits}') + + return lat_limits, lon_limits + +def prep_isce_dem(input_dem, lat_limits, lon_limits, isce_dem=None): + if isce_dem is None: + seamstress = createDemStitcher() + isce_dem = seamstress.defaultName([*lat_limits, *lon_limits]) + + isce_dem = os.path.abspath(isce_dem + '.wgs84') + log.info(f'ISCE dem is: {isce_dem}') + + in_ds = gdal.OpenShared(input_dem, gdal.GA_ReadOnly) + warp_options = gdal.WarpOptions( + format='ENVI', outputType=gdal.GDT_Int16, resampleAlg='cubic', + xRes=0.001, yRes=0.001, dstSRS='EPSG:4326', dstNodata=0, + outputBounds=[lon_limits[0], lat_limits[0], lon_limits[1], lat_limits[1]] + ) + gdal.Warp(isce_dem, in_ds, options=warp_options) + + del in_ds + + isce_ds = gdal.Open(isce_dem, gdal.GA_ReadOnly) + isce_trans = isce_ds.GetGeoTransform() + + img = isceobj.createDemImage() + img.width = isce_ds.RasterXSize + img.length = isce_ds.RasterYSize + img.bands = 1 + img.dataType = 'SHORT' + img.scheme = 'BIL' + img.setAccessMode('READ') + img.filename = isce_dem + + img.firstLongitude = isce_trans[0] + 0.5 * isce_trans[1] + img.deltaLongitude = isce_trans[1] + + img.firstLatitude = isce_trans[3] + 0.5 * isce_trans[5] + img.deltaLatitude = isce_trans[5] + img.renderHdr() + + return isce_dem diff --git a/src/hyp3_autorift/utils.py b/src/hyp3_autorift/utils.py index 19f3e1ed..27e35c40 100644 --- a/src/hyp3_autorift/utils.py +++ b/src/hyp3_autorift/utils.py @@ -122,90 +122,6 @@ def find_jpl_parameter_info(polygon: ogr.Geometry, parameter_file: str) -> dict: return parameter_info -def format_tops_xml(reference, secondary, polarization, dem, orbits, xml_file='topsApp.xml'): - xml_template = f""" <?xml version="1.0" encoding="UTF-8"?> - <topsApp> - <component name="topsinsar"> - <component name="reference"> - <property name="orbit directory">{orbits}</property> - <property name="auxiliary data directory">{orbits}</property> - <property name="output directory">reference</property> - <property name="safe">['{reference}.zip']</property> - <property name="polarization">{polarization}</property> - </component> - <component name="secondary"> - <property name="orbit directory">{orbits}</property> - <property name="auxiliary data directory">{orbits}</property> - <property name="output directory">secondary</property> - <property name="safe">['{secondary}.zip']</property> - <property name="polarization">{polarization}</property> - </component> - <property name="demfilename">{dem}</property> - <property name="do interferogram">False</property> - <property name="do dense offsets">True</property> - <property name="do ESD">False</property> - <property name="do unwrap">False</property> - <property name="do unwrap 2 stage">False</property> - <property name="ampcor skip width">32</property> - <property name="ampcor skip height">32</property> - <property name="ampcor search window width">51</property> - <property name="ampcor search window height">51</property> - <property name="ampcor window width">32</property> - <property name="ampcor window height">32</property> - </component> - </topsApp> - """ - - with open(xml_file, 'w') as f: - f.write(textwrap.dedent(xml_template)) - - -class SysArgvManager: - """Context manager to clear and reset sys.argv - - A bug in the ISCE2 Application class causes sys.argv to always be parsed when - no options are proved, even when setting `cmdline=[]`, preventing programmatic use. - """ - def __init__(self): - self.argv = sys.argv.copy() - - def __enter__(self): - sys.argv = sys.argv[:1] - - def __exit__(self, exc_type, exc_val, exc_tb): - sys.argv = self.argv - - -def get_topsinsar_config(): - from isce.applications.topsApp import TopsInSAR - with SysArgvManager(): - insar = TopsInSAR(name="topsApp") - insar.configure() - - config_data = {} - for name in ['reference', 'secondary']: - scene = insar.__getattribute__(name) - - sensing_times = [] - for swath in range(1, 4): - scene.configure() - scene.swathNumber = swath - scene.parse() - sensing_times.append( - (scene.product.sensingStart, scene.product.sensingStop) - ) - - sensing_start = min([sensing_time[0] for sensing_time in sensing_times]) - sensing_stop = max([sensing_time[1] for sensing_time in sensing_times]) - - sensing_dt = (sensing_stop - sensing_start) / 2 + sensing_start - - config_data[f'{name}_filename'] = Path(scene.safe[0]).name - config_data[f'{name}_dt'] = sensing_dt.strftime("%Y%m%dT%H:%M:%S.%f").rstrip('0') - - return config_data - - def load_geospatial(infile: str, band: int = 1): ds = gdal.Open(infile, gdal.GA_ReadOnly) diff --git a/src/hyp3_autorift/vend/testautoRIFT_ISCE.py b/src/hyp3_autorift/vend/testautoRIFT_ISCE.py index 1632ee0d..7e8ba645 100755 --- a/src/hyp3_autorift/vend/testautoRIFT_ISCE.py +++ b/src/hyp3_autorift/vend/testautoRIFT_ISCE.py @@ -864,7 +864,7 @@ def generateAutoriftProduct(indir_m, indir_s, grid_location, init_offset, search dt = geogrid_run_info['dt'] epsg = geogrid_run_info['epsg'] - from hyp3_autorift.utils import get_topsinsar_config + from hyp3_autorift.sentinel1_isce2 import get_topsinsar_config conts = get_topsinsar_config() master_filename = conts['reference_filename'] slave_filename = conts['secondary_filename'] From 4dd2773c8a78bb64b8044d35e3c7c83930e1afd8 Mon Sep 17 00:00:00 2001 From: mfangaritav <mf.angarita52@gmail.com> Date: Tue, 28 May 2024 10:15:10 -0800 Subject: [PATCH 21/35] Update src/hyp3_autorift/sentinel1_isce2.py Co-authored-by: Andrew Player <andrewplayer3@gmail.com> --- src/hyp3_autorift/sentinel1_isce2.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/hyp3_autorift/sentinel1_isce2.py b/src/hyp3_autorift/sentinel1_isce2.py index 1ecdec05..7b64ca22 100644 --- a/src/hyp3_autorift/sentinel1_isce2.py +++ b/src/hyp3_autorift/sentinel1_isce2.py @@ -22,12 +22,17 @@ log = logging.getLogger(__name__) def process_sentinel1_with_isce2(parameter_info,reference,secondary,polarization,orbits): + + import isce # noqa + from topsApp import TopsInSAR + from hyp3_autorift.vend.testGeogrid_ISCE import loadMetadata, runGeogrid + from hyp3_autorift.vend.testautoRIFT_ISCE import generateAutoriftProduct + lat_limits,lon_limits=bounding_box(f'{reference}.zip', polarization=polarization, orbits=orbits) isce_dem = prep_isce_dem(parameter_info['geogrid']['dem'], lat_limits, lon_limits) format_tops_xml(reference, secondary, polarization, isce_dem, orbits) - import isce # noqa - from topsApp import TopsInSAR + insar = TopsInSAR(name='topsApp', cmdline=['topsApp.xml', '--end=mergebursts']) insar.configure() insar.run() @@ -38,8 +43,6 @@ def process_sentinel1_with_isce2(parameter_info,reference,secondary,polarization for slc in [reference_path, secondary_path]: gdal.Translate(slc, f'{slc}.vrt', format='ENVI') - from hyp3_autorift.vend.testGeogrid_ISCE import (loadMetadata, - runGeogrid) meta_r = loadMetadata('fine_coreg') meta_s = loadMetadata('secondary') geogrid_info = runGeogrid(meta_r, meta_s, epsg=parameter_info['epsg'], **parameter_info['geogrid']) @@ -48,8 +51,6 @@ def process_sentinel1_with_isce2(parameter_info,reference,secondary,polarization # I've got no idea why, or if there are other affects... gdal.AllRegister() - from hyp3_autorift.vend.testautoRIFT_ISCE import \ - generateAutoriftProduct netcdf_file = generateAutoriftProduct( reference_path, secondary_path, nc_sensor='S1', optical_flag=False, ncname=None, geogrid_run_info=geogrid_info, **parameter_info['autorift'], From 4902ac94aa5b70a4810b90871fb9d6ae284de8f9 Mon Sep 17 00:00:00 2001 From: mfangaritav <mf.angarita52@gmail.com> Date: Tue, 28 May 2024 10:15:24 -0800 Subject: [PATCH 22/35] Update src/hyp3_autorift/process.py Co-authored-by: Andrew Player <andrewplayer3@gmail.com> --- src/hyp3_autorift/process.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hyp3_autorift/process.py b/src/hyp3_autorift/process.py index 55f9322b..da29e720 100644 --- a/src/hyp3_autorift/process.py +++ b/src/hyp3_autorift/process.py @@ -462,7 +462,7 @@ def process( log.info(f'Reference scene path: {reference_path}') log.info(f'Secondary scene path: {secondary_path}') - if 'L' in platform or platform=='S2': + if 'L' in platform or platform == 'S2': scene_poly = geometry.polygon_from_bbox(x_limits=lat_limits, y_limits=lon_limits) parameter_info = utils.find_jpl_parameter_info(scene_poly, parameter_file) From 763da8bbf14b12dad6defa87e55098def1b7f4b7 Mon Sep 17 00:00:00 2001 From: mfangaritav <mf.angarita52@gmail.com> Date: Tue, 28 May 2024 10:16:29 -0800 Subject: [PATCH 23/35] Update environment.yml --- environment.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/environment.yml b/environment.yml index f288665d..0afab498 100644 --- a/environment.yml +++ b/environment.yml @@ -1,4 +1,4 @@ -name: hyp3-autorift-fork +name: hyp3-autorift channels: - hyp3 - conda-forge From 8686fd3bcf485ddeb4057f94fafc9407cfccc251 Mon Sep 17 00:00:00 2001 From: Mario Angarita <mf.angarita52@gmail.com> Date: Tue, 28 May 2024 13:35:22 -0800 Subject: [PATCH 24/35] renaming sentinel1_isce2.py to s1_isce2.py --- src/hyp3_autorift/process.py | 2 +- src/hyp3_autorift/s1_correction.py | 2 +- src/hyp3_autorift/{sentinel1_isce2.py => s1_isce2.py} | 0 src/hyp3_autorift/vend/testautoRIFT_ISCE.py | 2 +- 4 files changed, 3 insertions(+), 3 deletions(-) rename src/hyp3_autorift/{sentinel1_isce2.py => s1_isce2.py} (100%) diff --git a/src/hyp3_autorift/process.py b/src/hyp3_autorift/process.py index da29e720..5d95802a 100644 --- a/src/hyp3_autorift/process.py +++ b/src/hyp3_autorift/process.py @@ -377,7 +377,7 @@ def process( platform = get_platform(reference) if platform == 'S1': - from hyp3_autorift.sentinel1_isce2 import bounding_box, process_sentinel1_with_isce2 + from hyp3_autorift.s1_isce2 import bounding_box, process_sentinel1_with_isce2 for scene in [reference, secondary]: scene_url = get_download_url(scene) diff --git a/src/hyp3_autorift/s1_correction.py b/src/hyp3_autorift/s1_correction.py index b16f9ade..a4e302cb 100644 --- a/src/hyp3_autorift/s1_correction.py +++ b/src/hyp3_autorift/s1_correction.py @@ -12,7 +12,7 @@ from hyp3_autorift import geometry, utils from hyp3_autorift.utils import get_esa_credentials -from sentinel1_isce2 import generate_correction_data +from s1_isce2 import generate_correction_data log = logging.getLogger(__name__) def main(): diff --git a/src/hyp3_autorift/sentinel1_isce2.py b/src/hyp3_autorift/s1_isce2.py similarity index 100% rename from src/hyp3_autorift/sentinel1_isce2.py rename to src/hyp3_autorift/s1_isce2.py diff --git a/src/hyp3_autorift/vend/testautoRIFT_ISCE.py b/src/hyp3_autorift/vend/testautoRIFT_ISCE.py index 7e8ba645..f382a489 100755 --- a/src/hyp3_autorift/vend/testautoRIFT_ISCE.py +++ b/src/hyp3_autorift/vend/testautoRIFT_ISCE.py @@ -864,7 +864,7 @@ def generateAutoriftProduct(indir_m, indir_s, grid_location, init_offset, search dt = geogrid_run_info['dt'] epsg = geogrid_run_info['epsg'] - from hyp3_autorift.sentinel1_isce2 import get_topsinsar_config + from hyp3_autorift.s1_isce2 import get_topsinsar_config conts = get_topsinsar_config() master_filename = conts['reference_filename'] slave_filename = conts['secondary_filename'] From dfce29396d67850ead746acc60ad409b2869f817 Mon Sep 17 00:00:00 2001 From: Mario Angarita <mf.angarita52@gmail.com> Date: Tue, 28 May 2024 14:52:24 -0800 Subject: [PATCH 25/35] Minor changes --- src/hyp3_autorift/geometry.py | 6 ----- src/hyp3_autorift/process.py | 20 +++++++-------- src/hyp3_autorift/s1_correction.py | 13 +++------- src/hyp3_autorift/s1_isce2.py | 40 +++++++++++++++++++----------- 4 files changed, 37 insertions(+), 42 deletions(-) diff --git a/src/hyp3_autorift/geometry.py b/src/hyp3_autorift/geometry.py index ea86bfbe..27e29a0f 100644 --- a/src/hyp3_autorift/geometry.py +++ b/src/hyp3_autorift/geometry.py @@ -1,11 +1,8 @@ """Geometry routines for working Geogrid""" import logging -import os from typing import Tuple -import numpy as np -from osgeo import gdal from osgeo import ogr from osgeo import osr @@ -67,6 +64,3 @@ def fix(n): fixed = ogr.Geometry(ogr.wkbPoint) fixed.AddPoint_2D(fix(point.GetX()), fix(point.GetY())) return fixed - - - diff --git a/src/hyp3_autorift/process.py b/src/hyp3_autorift/process.py index 5d95802a..20bfb8a1 100644 --- a/src/hyp3_autorift/process.py +++ b/src/hyp3_autorift/process.py @@ -374,11 +374,11 @@ def process( reference_state_vec = None secondary_state_vec = None lat_limits, lon_limits = None, None - + platform = get_platform(reference) if platform == 'S1': from hyp3_autorift.s1_isce2 import bounding_box, process_sentinel1_with_isce2 - + for scene in [reference, secondary]: scene_url = get_download_url(scene) download_file(scene_url, chunk_size=5242880) @@ -399,11 +399,11 @@ def process( polarization = get_s1_primary_polarization(reference) lat_limits, lon_limits = bounding_box(f'{reference}.zip', polarization=polarization, orbits=orbits) - + scene_poly = geometry.polygon_from_bbox(x_limits=lat_limits, y_limits=lon_limits) parameter_info = utils.find_jpl_parameter_info(scene_poly, parameter_file) - - netcdf_file = process_sentinel1_with_isce2(parameter_info,reference,secondary,polarization,orbits) + + netcdf_file = process_sentinel1_with_isce2(parameter_info, reference,secondary, polarization, orbits) elif platform == 'S2': # Set config and env for new CXX threads in Geogrid/autoRIFT @@ -458,14 +458,14 @@ def process( bbox = reference_metadata['bbox'] lat_limits = (bbox[1], bbox[3]) lon_limits = (bbox[0], bbox[2]) - + log.info(f'Reference scene path: {reference_path}') log.info(f'Secondary scene path: {secondary_path}') - + if 'L' in platform or platform == 'S2': scene_poly = geometry.polygon_from_bbox(x_limits=lat_limits, y_limits=lon_limits) parameter_info = utils.find_jpl_parameter_info(scene_poly, parameter_file) - + from hyp3_autorift.vend.testGeogridOptical import ( coregisterLoadMetadata, runGeogrid) meta_r, meta_s = coregisterLoadMetadata( @@ -474,7 +474,7 @@ def process( secondary_metadata=secondary_metadata, ) geogrid_info = runGeogrid(meta_r, meta_s, epsg=parameter_info['epsg'], **parameter_info['geogrid']) - + from hyp3_autorift.vend.testautoRIFT import generateAutoriftProduct netcdf_file = generateAutoriftProduct( reference_path, secondary_path, nc_sensor=platform, optical_flag=True, ncname=None, @@ -482,8 +482,6 @@ def process( geogrid_run_info=geogrid_info, **parameter_info['autorift'], parameter_file=DEFAULT_PARAMETER_FILE.replace('/vsicurl/', ''), ) - - if netcdf_file is None: raise Exception('Processing failed! Output netCDF file not found') diff --git a/src/hyp3_autorift/s1_correction.py b/src/hyp3_autorift/s1_correction.py index a4e302cb..6daa8079 100644 --- a/src/hyp3_autorift/s1_correction.py +++ b/src/hyp3_autorift/s1_correction.py @@ -1,20 +1,13 @@ import argparse -import copy import logging -from datetime import timedelta from pathlib import Path -from typing import Optional from hyp3lib.aws import upload_file_to_s3 -from hyp3lib.fetch import download_file -from hyp3lib.get_orb import downloadSentinelOrbitFile -from hyp3lib.scene import get_download_url - -from hyp3_autorift import geometry, utils -from hyp3_autorift.utils import get_esa_credentials -from s1_isce2 import generate_correction_data +from hyp3_autorift.process import DEFAULT_PARAMETER_FILE +from hyp3_autorift.s1_isce2 import generate_correction_data log = logging.getLogger(__name__) + def main(): parser = argparse.ArgumentParser( formatter_class=argparse.ArgumentDefaultsHelpFormatter diff --git a/src/hyp3_autorift/s1_isce2.py b/src/hyp3_autorift/s1_isce2.py index 7b64ca22..bdd04382 100644 --- a/src/hyp3_autorift/s1_isce2.py +++ b/src/hyp3_autorift/s1_isce2.py @@ -1,34 +1,42 @@ -import isce # noqa: F401 -import isceobj import logging import sys - -from contrib.demUtils import createDemStitcher -from contrib.geo_autoRIFT.geogrid import Geogrid -from isceobj.Orbit.Orbit import Orbit -from isceobj.Sensor.TOPS.Sentinel1 import Sentinel1 -from hyp3_autorift.process import DEFAULT_PARAMETER_FILE, get_s1_primary_polarization - import textwrap from pathlib import Path -from osgeo import gdal import os +import copy +from datetime import timedelta from typing import Optional import numpy as np +from osgeo import gdal +import isce # noqa: F401 +import isceobj +from contrib.demUtils import createDemStitcher +from contrib.geo_autoRIFT.geogrid import Geogrid +from isceobj.Orbit.Orbit import Orbit +from isceobj.Sensor.TOPS.Sentinel1 import Sentinel1 -from hyp3_autorift.vend.testGeogrid_ISCE import loadParsedata, runGeogrid +from hyp3lib.aws import upload_file_to_s3 +from hyp3lib.fetch import download_file +from hyp3lib.get_orb import downloadSentinelOrbitFile +from hyp3lib.image import create_thumbnail +from hyp3lib.scene import get_download_url +from hyp3_autorift import geometry, utils +from hyp3_autorift.utils import get_esa_credentials +from hyp3_autorift.process import DEFAULT_PARAMETER_FILE, get_s1_primary_polarization +from hyp3_autorift.vend.testGeogrid_ISCE import loadParsedata, runGeogrid log = logging.getLogger(__name__) -def process_sentinel1_with_isce2(parameter_info,reference,secondary,polarization,orbits): + +def process_sentinel1_with_isce2(parameter_info, reference,secondary, polarization, orbits): import isce # noqa from topsApp import TopsInSAR from hyp3_autorift.vend.testGeogrid_ISCE import loadMetadata, runGeogrid from hyp3_autorift.vend.testautoRIFT_ISCE import generateAutoriftProduct - lat_limits,lon_limits=bounding_box(f'{reference}.zip', polarization=polarization, orbits=orbits) + lat_limits,lon_limits = bounding_box(f'{reference}.zip', polarization=polarization, orbits=orbits) isce_dem = prep_isce_dem(parameter_info['geogrid']['dem'], lat_limits, lon_limits) format_tops_xml(reference, secondary, polarization, isce_dem, orbits) @@ -102,7 +110,7 @@ def generate_correction_data( return geogrid_info -####### this was in utils############################ + class SysArgvManager: """Context manager to clear and reset sys.argv @@ -148,6 +156,7 @@ def get_topsinsar_config(): return config_data + def format_tops_xml(reference, secondary, polarization, dem, orbits, xml_file='topsApp.xml'): xml_template = f""" <?xml version="1.0" encoding="UTF-8"?> <topsApp> @@ -185,7 +194,7 @@ def format_tops_xml(reference, secondary, polarization, dem, orbits, xml_file='t with open(xml_file, 'w') as f: f.write(textwrap.dedent(xml_template)) -####### this was in geometry############################ + def bounding_box(safe, priority='reference', polarization='hh', orbits='Orbits', epsg=4326): """Determine the geometric bounding box of a Sentinel-1 image @@ -255,6 +264,7 @@ def bounding_box(safe, priority='reference', polarization='hh', orbits='Orbits', return lat_limits, lon_limits + def prep_isce_dem(input_dem, lat_limits, lon_limits, isce_dem=None): if isce_dem is None: seamstress = createDemStitcher() From b0b81818d336d04c978175de30dac6102743f10c Mon Sep 17 00:00:00 2001 From: Mario Angarita <mf.angarita52@gmail.com> Date: Tue, 28 May 2024 15:03:41 -0800 Subject: [PATCH 26/35] Minor changes --- src/hyp3_autorift/process.py | 2 +- src/hyp3_autorift/s1_correction.py | 1 + src/hyp3_autorift/s1_isce2.py | 14 ++++++-------- src/hyp3_autorift/utils.py | 2 -- 4 files changed, 8 insertions(+), 11 deletions(-) diff --git a/src/hyp3_autorift/process.py b/src/hyp3_autorift/process.py index 20bfb8a1..f320cd15 100644 --- a/src/hyp3_autorift/process.py +++ b/src/hyp3_autorift/process.py @@ -403,7 +403,7 @@ def process( scene_poly = geometry.polygon_from_bbox(x_limits=lat_limits, y_limits=lon_limits) parameter_info = utils.find_jpl_parameter_info(scene_poly, parameter_file) - netcdf_file = process_sentinel1_with_isce2(parameter_info, reference,secondary, polarization, orbits) + netcdf_file = process_sentinel1_with_isce2(parameter_info, reference, secondary, polarization, orbits) elif platform == 'S2': # Set config and env for new CXX threads in Geogrid/autoRIFT diff --git a/src/hyp3_autorift/s1_correction.py b/src/hyp3_autorift/s1_correction.py index 6daa8079..e0381950 100644 --- a/src/hyp3_autorift/s1_correction.py +++ b/src/hyp3_autorift/s1_correction.py @@ -3,6 +3,7 @@ from pathlib import Path from hyp3lib.aws import upload_file_to_s3 + from hyp3_autorift.process import DEFAULT_PARAMETER_FILE from hyp3_autorift.s1_isce2 import generate_correction_data log = logging.getLogger(__name__) diff --git a/src/hyp3_autorift/s1_isce2.py b/src/hyp3_autorift/s1_isce2.py index bdd04382..5bc6809c 100644 --- a/src/hyp3_autorift/s1_isce2.py +++ b/src/hyp3_autorift/s1_isce2.py @@ -1,42 +1,40 @@ import logging import sys import textwrap -from pathlib import Path -import os import copy +import os +from pathlib import Path from datetime import timedelta from typing import Optional import numpy as np -from osgeo import gdal import isce # noqa: F401 import isceobj from contrib.demUtils import createDemStitcher from contrib.geo_autoRIFT.geogrid import Geogrid from isceobj.Orbit.Orbit import Orbit from isceobj.Sensor.TOPS.Sentinel1 import Sentinel1 +from osgeo import gdal -from hyp3lib.aws import upload_file_to_s3 from hyp3lib.fetch import download_file from hyp3lib.get_orb import downloadSentinelOrbitFile -from hyp3lib.image import create_thumbnail from hyp3lib.scene import get_download_url from hyp3_autorift import geometry, utils -from hyp3_autorift.utils import get_esa_credentials from hyp3_autorift.process import DEFAULT_PARAMETER_FILE, get_s1_primary_polarization +from hyp3_autorift.utils import get_esa_credentials from hyp3_autorift.vend.testGeogrid_ISCE import loadParsedata, runGeogrid log = logging.getLogger(__name__) -def process_sentinel1_with_isce2(parameter_info, reference,secondary, polarization, orbits): +def process_sentinel1_with_isce2(parameter_info, reference, secondary, polarization, orbits): import isce # noqa from topsApp import TopsInSAR from hyp3_autorift.vend.testGeogrid_ISCE import loadMetadata, runGeogrid from hyp3_autorift.vend.testautoRIFT_ISCE import generateAutoriftProduct - lat_limits,lon_limits = bounding_box(f'{reference}.zip', polarization=polarization, orbits=orbits) + lat_limits, lon_limits = bounding_box(f'{reference}.zip', polarization=polarization, orbits=orbits) isce_dem = prep_isce_dem(parameter_info['geogrid']['dem'], lat_limits, lon_limits) format_tops_xml(reference, secondary, polarization, isce_dem, orbits) diff --git a/src/hyp3_autorift/utils.py b/src/hyp3_autorift/utils.py index 27e35c40..a36a80a4 100644 --- a/src/hyp3_autorift/utils.py +++ b/src/hyp3_autorift/utils.py @@ -3,8 +3,6 @@ import logging import netrc import os -import sys -import textwrap from pathlib import Path from platform import system from typing import Tuple, Union From 155124649d58c6c06b4ae699abf8e69829fd7dea Mon Sep 17 00:00:00 2001 From: Mario Angarita <mf.angarita52@gmail.com> Date: Tue, 28 May 2024 15:08:58 -0800 Subject: [PATCH 27/35] Minor changes --- src/hyp3_autorift/s1_isce2.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/hyp3_autorift/s1_isce2.py b/src/hyp3_autorift/s1_isce2.py index 5bc6809c..916bbedb 100644 --- a/src/hyp3_autorift/s1_isce2.py +++ b/src/hyp3_autorift/s1_isce2.py @@ -1,25 +1,25 @@ +import copy import logging +import os import sys import textwrap -import copy -import os -from pathlib import Path from datetime import timedelta +from pathlib import Path from typing import Optional -import numpy as np +from hyp3lib.fetch import download_file +from hyp3lib.get_orb import downloadSentinelOrbitFile +from hyp3lib.scene import get_download_url + import isce # noqa: F401 import isceobj +import numpy as np from contrib.demUtils import createDemStitcher from contrib.geo_autoRIFT.geogrid import Geogrid from isceobj.Orbit.Orbit import Orbit from isceobj.Sensor.TOPS.Sentinel1 import Sentinel1 from osgeo import gdal -from hyp3lib.fetch import download_file -from hyp3lib.get_orb import downloadSentinelOrbitFile -from hyp3lib.scene import get_download_url - from hyp3_autorift import geometry, utils from hyp3_autorift.process import DEFAULT_PARAMETER_FILE, get_s1_primary_polarization from hyp3_autorift.utils import get_esa_credentials From 3da5d11d2f5e120fadc83f01a86f9433ff8db7df Mon Sep 17 00:00:00 2001 From: Mario Angarita <mf.angarita52@gmail.com> Date: Tue, 28 May 2024 15:12:34 -0800 Subject: [PATCH 28/35] Minor changes --- src/hyp3_autorift/s1_isce2.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/hyp3_autorift/s1_isce2.py b/src/hyp3_autorift/s1_isce2.py index 916bbedb..74383d93 100644 --- a/src/hyp3_autorift/s1_isce2.py +++ b/src/hyp3_autorift/s1_isce2.py @@ -7,11 +7,12 @@ from pathlib import Path from typing import Optional +import isce # noqa: F401 + from hyp3lib.fetch import download_file from hyp3lib.get_orb import downloadSentinelOrbitFile from hyp3lib.scene import get_download_url -import isce # noqa: F401 import isceobj import numpy as np from contrib.demUtils import createDemStitcher From 53c09adb5226c55c7588a52764d6538c2d5d945d Mon Sep 17 00:00:00 2001 From: Mario Angarita <mf.angarita52@gmail.com> Date: Tue, 28 May 2024 15:16:05 -0800 Subject: [PATCH 29/35] Minor changes --- src/hyp3_autorift/s1_isce2.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/hyp3_autorift/s1_isce2.py b/src/hyp3_autorift/s1_isce2.py index 74383d93..11ff5bb7 100644 --- a/src/hyp3_autorift/s1_isce2.py +++ b/src/hyp3_autorift/s1_isce2.py @@ -8,13 +8,13 @@ from typing import Optional import isce # noqa: F401 +import isceobj +import numpy as np from hyp3lib.fetch import download_file from hyp3lib.get_orb import downloadSentinelOrbitFile from hyp3lib.scene import get_download_url -import isceobj -import numpy as np from contrib.demUtils import createDemStitcher from contrib.geo_autoRIFT.geogrid import Geogrid from isceobj.Orbit.Orbit import Orbit From 30dd6a58821d7e7fd3cef915457f1f91fb338300 Mon Sep 17 00:00:00 2001 From: Mario Angarita <mf.angarita52@gmail.com> Date: Tue, 28 May 2024 15:20:49 -0800 Subject: [PATCH 30/35] Minor changes --- src/hyp3_autorift/s1_isce2.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/hyp3_autorift/s1_isce2.py b/src/hyp3_autorift/s1_isce2.py index 11ff5bb7..07254a7e 100644 --- a/src/hyp3_autorift/s1_isce2.py +++ b/src/hyp3_autorift/s1_isce2.py @@ -10,13 +10,11 @@ import isce # noqa: F401 import isceobj import numpy as np - +from contrib.demUtils import createDemStitcher +from contrib.geo_autoRIFT.geogrid import Geogrid from hyp3lib.fetch import download_file from hyp3lib.get_orb import downloadSentinelOrbitFile from hyp3lib.scene import get_download_url - -from contrib.demUtils import createDemStitcher -from contrib.geo_autoRIFT.geogrid import Geogrid from isceobj.Orbit.Orbit import Orbit from isceobj.Sensor.TOPS.Sentinel1 import Sentinel1 from osgeo import gdal From ed1a78fba0fb72b102c56536d7392ad295dcd36c Mon Sep 17 00:00:00 2001 From: Joseph H Kennedy <me@jhkennedy.org> Date: Mon, 3 Jun 2024 06:06:23 -0800 Subject: [PATCH 31/35] fully isolate S1 --- src/hyp3_autorift/process.py | 117 ++++++++--------------------- src/hyp3_autorift/s1_correction.py | 1 + src/hyp3_autorift/s1_isce2.py | 60 +++++++++++---- tests/test_process.py | 20 ----- tests/test_s1_isce2.py | 23 ++++++ 5 files changed, 103 insertions(+), 118 deletions(-) create mode 100644 tests/test_s1_isce2.py diff --git a/src/hyp3_autorift/process.py b/src/hyp3_autorift/process.py index f320cd15..38f5d9f8 100644 --- a/src/hyp3_autorift/process.py +++ b/src/hyp3_autorift/process.py @@ -17,10 +17,7 @@ import numpy as np import requests from hyp3lib.aws import upload_file_to_s3 -from hyp3lib.fetch import download_file -from hyp3lib.get_orb import downloadSentinelOrbitFile from hyp3lib.image import create_thumbnail -from hyp3lib.scene import get_download_url from netCDF4 import Dataset from osgeo import gdal @@ -205,15 +202,6 @@ def get_platform(scene: str) -> str: raise NotImplementedError(f'autoRIFT processing not available for this platform. {scene}') -def get_s1_primary_polarization(granule_name): - polarization = granule_name[14:16] - if polarization in ['SV', 'DV']: - return 'vv' - if polarization in ['SH', 'DH']: - return 'hh' - raise ValueError(f'Cannot determine co-polarization of granule {granule_name}') - - def create_filtered_filepath(path: str) -> str: parent = (Path.cwd() / 'filtered').resolve() parent.mkdir(exist_ok=True) @@ -349,8 +337,6 @@ def process( secondary: str, parameter_file: str = DEFAULT_PARAMETER_FILE, naming_scheme: Literal['ITS_LIVE_OD', 'ITS_LIVE_PROD'] = 'ITS_LIVE_OD', - esa_username: Optional[str] = None, - esa_password: Optional[str] = None, ) -> Tuple[Path, Path, Path]: """Process a Sentinel-1, Sentinel-2, or Landsat-8 image pair @@ -363,49 +349,20 @@ def process( Returns: the autoRIFT product file, browse image, and thumbnail image """ - orbits = None - polarization = None reference_path = None secondary_path = None reference_metadata = None secondary_metadata = None reference_zero_path = None secondary_zero_path = None - reference_state_vec = None - secondary_state_vec = None - lat_limits, lon_limits = None, None platform = get_platform(reference) - if platform == 'S1': - from hyp3_autorift.s1_isce2 import bounding_box, process_sentinel1_with_isce2 - - for scene in [reference, secondary]: - scene_url = get_download_url(scene) - download_file(scene_url, chunk_size=5242880) - orbits = Path('Orbits').resolve() - orbits.mkdir(parents=True, exist_ok=True) - - if (esa_username is None) or (esa_password is None): - esa_username, esa_password = utils.get_esa_credentials() - - reference_state_vec, reference_provider = downloadSentinelOrbitFile( - reference, directory=str(orbits), esa_credentials=(esa_username, esa_password) - ) - log.info(f'Downloaded orbit file {reference_state_vec} from {reference_provider}') - secondary_state_vec, secondary_provider = downloadSentinelOrbitFile( - secondary, directory=str(orbits), esa_credentials=(esa_username, esa_password) - ) - log.info(f'Downloaded orbit file {secondary_state_vec} from {secondary_provider}') - - polarization = get_s1_primary_polarization(reference) - lat_limits, lon_limits = bounding_box(f'{reference}.zip', polarization=polarization, orbits=orbits) - - scene_poly = geometry.polygon_from_bbox(x_limits=lat_limits, y_limits=lon_limits) - parameter_info = utils.find_jpl_parameter_info(scene_poly, parameter_file) - netcdf_file = process_sentinel1_with_isce2(parameter_info, reference, secondary, polarization, orbits) + if platform == 'S1': + from hyp3_autorift.s1_isce2 import process_sentinel1_with_isce2 + netcdf_file = process_sentinel1_with_isce2(reference, secondary, parameter_file) - elif platform == 'S2': + else: # Set config and env for new CXX threads in Geogrid/autoRIFT gdal.SetConfigOption('GDAL_DISABLE_READDIR_ON_OPEN', 'EMPTY_DIR') os.environ['GDAL_DISABLE_READDIR_ON_OPEN'] = 'EMPTY_DIR' @@ -413,56 +370,48 @@ def process( gdal.SetConfigOption('AWS_REGION', 'us-west-2') os.environ['AWS_REGION'] = 'us-west-2' - reference_metadata = get_s2_metadata(reference) - secondary_metadata = get_s2_metadata(secondary) - reference_path = reference_metadata['path'] - secondary_path = secondary_metadata['path'] - bbox = reference_metadata['bbox'] - lat_limits = (bbox[1], bbox[3]) - lon_limits = (bbox[0], bbox[2]) + if platform == 'S2': + reference_metadata = get_s2_metadata(reference) + reference_path = reference_metadata['path'] - elif 'L' in platform: - # Set config and env for new CXX threads in Geogrid/autoRIFT - gdal.SetConfigOption('GDAL_DISABLE_READDIR_ON_OPEN', 'EMPTY_DIR') - os.environ['GDAL_DISABLE_READDIR_ON_OPEN'] = 'EMPTY_DIR' - - gdal.SetConfigOption('AWS_REGION', 'us-west-2') - os.environ['AWS_REGION'] = 'us-west-2' + secondary_metadata = get_s2_metadata(secondary) + secondary_path = secondary_metadata['path'] - gdal.SetConfigOption('AWS_REQUEST_PAYER', 'requester') - os.environ['AWS_REQUEST_PAYER'] = 'requester' + elif 'L' in platform: + # Set config and env for new CXX threads in Geogrid/autoRIFT + gdal.SetConfigOption('AWS_REQUEST_PAYER', 'requester') + os.environ['AWS_REQUEST_PAYER'] = 'requester' - reference_metadata = get_lc2_metadata(reference) - reference_path = get_lc2_path(reference_metadata) + reference_metadata = get_lc2_metadata(reference) + reference_path = get_lc2_path(reference_metadata) - secondary_metadata = get_lc2_metadata(secondary) - secondary_path = get_lc2_path(secondary_metadata) + secondary_metadata = get_lc2_metadata(secondary) + secondary_path = get_lc2_path(secondary_metadata) - filter_platform = min([platform, get_platform(secondary)]) - if filter_platform in ('L4', 'L5', 'L7'): - # Log path here before we transform it - log.info(f'Reference scene path: {reference_path}') - log.info(f'Secondary scene path: {secondary_path}') - reference_path, reference_zero_path, secondary_path, secondary_zero_path = \ - apply_landsat_filtering(reference_path, secondary_path) + filter_platform = min([platform, get_platform(secondary)]) + if filter_platform in ('L4', 'L5', 'L7'): + # Log path here before we transform it + log.info(f'Reference scene path: {reference_path}') + log.info(f'Secondary scene path: {secondary_path}') + reference_path, reference_zero_path, secondary_path, secondary_zero_path = \ + apply_landsat_filtering(reference_path, secondary_path) - if reference_metadata['properties']['proj:epsg'] != secondary_metadata['properties']['proj:epsg']: - log.info('Reference and secondary projections are different! Reprojecting.') + if reference_metadata['properties']['proj:epsg'] != secondary_metadata['properties']['proj:epsg']: + log.info('Reference and secondary projections are different! Reprojecting.') - # Reproject zero masks if necessary - if reference_zero_path and secondary_zero_path: - _, _ = utils.ensure_same_projection(reference_zero_path, secondary_zero_path) + # Reproject zero masks if necessary + if reference_zero_path and secondary_zero_path: + _, _ = utils.ensure_same_projection(reference_zero_path, secondary_zero_path) - reference_path, secondary_path = utils.ensure_same_projection(reference_path, secondary_path) + reference_path, secondary_path = utils.ensure_same_projection(reference_path, secondary_path) bbox = reference_metadata['bbox'] lat_limits = (bbox[1], bbox[3]) lon_limits = (bbox[0], bbox[2]) - log.info(f'Reference scene path: {reference_path}') - log.info(f'Secondary scene path: {secondary_path}') + log.info(f'Reference scene path: {reference_path}') + log.info(f'Secondary scene path: {secondary_path}') - if 'L' in platform or platform == 'S2': scene_poly = geometry.polygon_from_bbox(x_limits=lat_limits, y_limits=lon_limits) parameter_info = utils.find_jpl_parameter_info(scene_poly, parameter_file) @@ -523,8 +472,6 @@ def main(): parser.add_argument('--publish-bucket', default='', help='Additionally, publish products to this bucket. Necessary credentials must be provided ' 'via the `PUBLISH_ACCESS_KEY_ID` and `PUBLISH_SECRET_ACCESS_KEY` environment variables.') - parser.add_argument('--esa-username', default=None, help="Username for ESA's Copernicus Data Space Ecosystem") - parser.add_argument('--esa-password', default=None, help="Password for ESA's Copernicus Data Space Ecosystem") parser.add_argument('--parameter-file', default=DEFAULT_PARAMETER_FILE, help='Shapefile for determining the correct search parameters by geographic location. ' 'Path to shapefile must be understood by GDAL') diff --git a/src/hyp3_autorift/s1_correction.py b/src/hyp3_autorift/s1_correction.py index e0381950..dc5995a1 100644 --- a/src/hyp3_autorift/s1_correction.py +++ b/src/hyp3_autorift/s1_correction.py @@ -6,6 +6,7 @@ from hyp3_autorift.process import DEFAULT_PARAMETER_FILE from hyp3_autorift.s1_isce2 import generate_correction_data + log = logging.getLogger(__name__) diff --git a/src/hyp3_autorift/s1_isce2.py b/src/hyp3_autorift/s1_isce2.py index 07254a7e..c1b2ee97 100644 --- a/src/hyp3_autorift/s1_isce2.py +++ b/src/hyp3_autorift/s1_isce2.py @@ -7,35 +7,60 @@ from pathlib import Path from typing import Optional -import isce # noqa: F401 -import isceobj import numpy as np -from contrib.demUtils import createDemStitcher -from contrib.geo_autoRIFT.geogrid import Geogrid from hyp3lib.fetch import download_file from hyp3lib.get_orb import downloadSentinelOrbitFile from hyp3lib.scene import get_download_url -from isceobj.Orbit.Orbit import Orbit -from isceobj.Sensor.TOPS.Sentinel1 import Sentinel1 from osgeo import gdal from hyp3_autorift import geometry, utils -from hyp3_autorift.process import DEFAULT_PARAMETER_FILE, get_s1_primary_polarization +from hyp3_autorift.process import DEFAULT_PARAMETER_FILE from hyp3_autorift.utils import get_esa_credentials -from hyp3_autorift.vend.testGeogrid_ISCE import loadParsedata, runGeogrid + log = logging.getLogger(__name__) -def process_sentinel1_with_isce2(parameter_info, reference, secondary, polarization, orbits): +def get_s1_primary_polarization(granule_name): + polarization = granule_name[14:16] + if polarization in ['SV', 'DV']: + return 'vv' + if polarization in ['SH', 'DH']: + return 'hh' + raise ValueError(f'Cannot determine co-polarization of granule {granule_name}') + +def process_sentinel1_with_isce2(reference, secondary, parameter_file): import isce # noqa from topsApp import TopsInSAR from hyp3_autorift.vend.testGeogrid_ISCE import loadMetadata, runGeogrid from hyp3_autorift.vend.testautoRIFT_ISCE import generateAutoriftProduct - lat_limits, lon_limits = bounding_box(f'{reference}.zip', polarization=polarization, orbits=orbits) - isce_dem = prep_isce_dem(parameter_info['geogrid']['dem'], lat_limits, lon_limits) + for scene in [reference, secondary]: + scene_url = get_download_url(scene) + download_file(scene_url, chunk_size=5242880) + + orbits = Path('Orbits').resolve() + orbits.mkdir(parents=True, exist_ok=True) + + esa_username, esa_password = utils.get_esa_credentials() + + reference_state_vec, reference_provider = downloadSentinelOrbitFile( + reference, directory=str(orbits), esa_credentials=(esa_username, esa_password) + ) + log.info(f'Downloaded orbit file {reference_state_vec} from {reference_provider}') + + secondary_state_vec, secondary_provider = downloadSentinelOrbitFile( + secondary, directory=str(orbits), esa_credentials=(esa_username, esa_password) + ) + log.info(f'Downloaded orbit file {secondary_state_vec} from {secondary_provider}') + polarization = get_s1_primary_polarization(reference) + lat_limits, lon_limits = bounding_box(f'{reference}.zip', polarization=polarization, orbits=str(orbits)) + + scene_poly = geometry.polygon_from_bbox(x_limits=lat_limits, y_limits=lon_limits) + parameter_info = utils.find_jpl_parameter_info(scene_poly, parameter_file) + + isce_dem = prep_isce_dem(parameter_info['geogrid']['dem'], lat_limits, lon_limits) format_tops_xml(reference, secondary, polarization, isce_dem, orbits) insar = TopsInSAR(name='topsApp', cmdline=['topsApp.xml', '--end=mergebursts']) @@ -59,7 +84,7 @@ def process_sentinel1_with_isce2(parameter_info, reference, secondary, polarizat netcdf_file = generateAutoriftProduct( reference_path, secondary_path, nc_sensor='S1', optical_flag=False, ncname=None, geogrid_run_info=geogrid_info, **parameter_info['autorift'], - parameter_file=DEFAULT_PARAMETER_FILE.replace('/vsicurl/', ''), + parameter_file=parameter_file.replace('/vsicurl/', ''), ) return netcdf_file @@ -71,6 +96,7 @@ def generate_correction_data( esa_username: Optional[str] = None, esa_password: Optional[str] = None, ): + from hyp3_autorift.vend.testGeogrid_ISCE import loadParsedata, runGeogrid scene_path = Path(f'{scene}.zip') if not scene_path.exists(): scene_url = get_download_url(scene) @@ -88,7 +114,7 @@ def generate_correction_data( log.info(f'Downloaded orbit file {state_vec} from {oribit_provider}') polarization = get_s1_primary_polarization(scene) - lat_limits, lon_limits = bounding_box(f'{scene}.zip', polarization=polarization, orbits=orbits) + lat_limits, lon_limits = bounding_box(f'{scene}.zip', polarization=polarization, orbits=str(orbits)) scene_poly = geometry.polygon_from_bbox(x_limits=lat_limits, y_limits=lon_limits) parameter_info = utils.find_jpl_parameter_info(scene_poly, parameter_file) @@ -205,6 +231,10 @@ def bounding_box(safe, priority='reference', polarization='hh', orbits='Orbits', lat_limits: list containing the [minimum, maximum] latitudes lat_limits: list containing the [minimum, maximum] longitudes """ + import isce # noqa: F401 + from contrib.geo_autoRIFT.geogrid import Geogrid + from isceobj.Orbit.Orbit import Orbit + from isceobj.Sensor.TOPS.Sentinel1 import Sentinel1 frames = [] for swath in range(1, 4): rdr = Sentinel1() @@ -263,6 +293,10 @@ def bounding_box(safe, priority='reference', polarization='hh', orbits='Orbits', def prep_isce_dem(input_dem, lat_limits, lon_limits, isce_dem=None): + import isce # noqa: F401 + import isceobj + from contrib.demUtils import createDemStitcher + if isce_dem is None: seamstress = createDemStitcher() isce_dem = seamstress.defaultName([*lat_limits, *lon_limits]) diff --git a/tests/test_process.py b/tests/test_process.py index 58e02a08..e6801354 100644 --- a/tests/test_process.py +++ b/tests/test_process.py @@ -286,26 +286,6 @@ def test_get_datetime(): process.get_datetime('S3_adsflafjladsf') -def test_get_s1_primary_polarization(): - assert process.get_s1_primary_polarization( - 'S1B_WV_SLC__1SSV_20200923T184541_20200923T185150_023506_02CA71_AABB') == 'vv' - assert process.get_s1_primary_polarization( - 'S1B_IW_GRDH_1SDV_20200924T092954_20200924T093026_023515_02CABC_6C62') == 'vv' - assert process.get_s1_primary_polarization( - 'S1B_IW_GRDH_1SSH_20200924T112903_20200924T112932_023516_02CAC7_D003') == 'hh' - assert process.get_s1_primary_polarization( - 'S1B_IW_OCN__2SDH_20200924T090450_20200924T090519_023515_02CAB8_917B') == 'hh' - - with pytest.raises(ValueError): - process.get_s1_primary_polarization('S1A_EW_GRDM_1SHH_20150513T080355_20150513T080455_005900_007994_35D2') - with pytest.raises(ValueError): - process.get_s1_primary_polarization('S1A_EW_GRDM_1SHV_20150509T230833_20150509T230912_005851_00787D_3BE5') - with pytest.raises(ValueError): - process.get_s1_primary_polarization('S1A_IW_SLC__1SVH_20150706T015744_20150706T015814_006684_008EF7_9B69') - with pytest.raises(ValueError): - process.get_s1_primary_polarization('S1A_IW_GRDH_1SVV_20150706T015720_20150706T015749_006684_008EF7_54BA') - - def test_apply_landsat_filtering(monkeypatch): def mock_apply_filter_function(scene, _): if process.get_platform(scene) < 'L7': diff --git a/tests/test_s1_isce2.py b/tests/test_s1_isce2.py new file mode 100644 index 00000000..084253fa --- /dev/null +++ b/tests/test_s1_isce2.py @@ -0,0 +1,23 @@ +import pytest + +from hyp3_autorift import s1_isce2 + + +def test_get_s1_primary_polarization(): + assert s1_isce2.get_s1_primary_polarization( + 'S1B_WV_SLC__1SSV_20200923T184541_20200923T185150_023506_02CA71_AABB') == 'vv' + assert s1_isce2.get_s1_primary_polarization( + 'S1B_IW_GRDH_1SDV_20200924T092954_20200924T093026_023515_02CABC_6C62') == 'vv' + assert s1_isce2.get_s1_primary_polarization( + 'S1B_IW_GRDH_1SSH_20200924T112903_20200924T112932_023516_02CAC7_D003') == 'hh' + assert s1_isce2.get_s1_primary_polarization( + 'S1B_IW_OCN__2SDH_20200924T090450_20200924T090519_023515_02CAB8_917B') == 'hh' + + with pytest.raises(ValueError): + s1_isce2.get_s1_primary_polarization('S1A_EW_GRDM_1SHH_20150513T080355_20150513T080455_005900_007994_35D2') + with pytest.raises(ValueError): + s1_isce2.get_s1_primary_polarization('S1A_EW_GRDM_1SHV_20150509T230833_20150509T230912_005851_00787D_3BE5') + with pytest.raises(ValueError): + s1_isce2.get_s1_primary_polarization('S1A_IW_SLC__1SVH_20150706T015744_20150706T015814_006684_008EF7_9B69') + with pytest.raises(ValueError): + s1_isce2.get_s1_primary_polarization('S1A_IW_GRDH_1SVV_20150706T015720_20150706T015749_006684_008EF7_54BA') From 0d98b33c5a5e5a243a9984ea1568cd5d094a649e Mon Sep 17 00:00:00 2001 From: Joseph H Kennedy <me@jhkennedy.org> Date: Mon, 3 Jun 2024 14:47:58 -0800 Subject: [PATCH 32/35] Update CHANGELOG.md --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index bf38a8ea..148810a5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [PEP 440](https://www.python.org/dev/peps/pep-0440/) and uses [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.16.1] +## Changed +* In preparation for a major update, the Sentinel-1 processing workflow has been isolated to a new `hyp3_autorift.s1_isce2` module. + ## [0.16.0] ### Fixed * `hyp3_autorift` will no longer attempt to crop files with no valid data From 5f724116f453408ffaa18affba3114bfe4ef1cfb Mon Sep 17 00:00:00 2001 From: Joseph H Kennedy <me@jhkennedy.org> Date: Mon, 3 Jun 2024 14:54:57 -0800 Subject: [PATCH 33/35] Update README.md --- src/hyp3_autorift/vend/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hyp3_autorift/vend/README.md b/src/hyp3_autorift/vend/README.md index 6fd4f4a3..196e1b72 100644 --- a/src/hyp3_autorift/vend/README.md +++ b/src/hyp3_autorift/vend/README.md @@ -24,7 +24,7 @@ Changes, as listed in `CHANGES.diff`, were done to: * use the full Sentinel-2 COG id in the output netCDF product filename to ensure unique names **Note:** The `topsinsar_filename.py` included here is not used, but retained for reference. -We've replaced it with `hyp3_autorift.utils.get_topsinsar_config`. +We've replaced it with `hyp3_autorift.s1_isce2.get_topsinsar_config`. ## Additional Patches From 187068c212c7298cd0b367ccc586c23c6c2f7e14 Mon Sep 17 00:00:00 2001 From: Joseph H Kennedy <me@jhkennedy.org> Date: Mon, 3 Jun 2024 14:55:53 -0800 Subject: [PATCH 34/35] Update CHANGES.diff --- src/hyp3_autorift/vend/CHANGES.diff | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hyp3_autorift/vend/CHANGES.diff b/src/hyp3_autorift/vend/CHANGES.diff index 0424d0ae..2ddf2a3a 100644 --- a/src/hyp3_autorift/vend/CHANGES.diff +++ b/src/hyp3_autorift/vend/CHANGES.diff @@ -134,7 +134,7 @@ - slave_filename = conts['slave_filename'][0] - master_dt = conts['master_dt'][0] - slave_dt = conts['slave_dt'][0] -+ from hyp3_autorift.utils import get_topsinsar_config ++ from hyp3_autorift.s1_isce2 import get_topsinsar_config + conts = get_topsinsar_config() + master_filename = conts['reference_filename'] + slave_filename = conts['secondary_filename'] From b0aa1ba352ef44ae462aef94cadadc1cf6d14706 Mon Sep 17 00:00:00 2001 From: Joseph H Kennedy <me@jhkennedy.org> Date: Tue, 4 Jun 2024 15:19:51 -0800 Subject: [PATCH 35/35] Update CHANGELOG.md --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 148810a5..9c60d4c4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,7 +7,7 @@ and this project adheres to [PEP 440](https://www.python.org/dev/peps/pep-0440/) and uses [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [0.16.1] +## [0.17.0] ## Changed * In preparation for a major update, the Sentinel-1 processing workflow has been isolated to a new `hyp3_autorift.s1_isce2` module.