https://github.com/asfhyp3/hyp3-event-monitoring
A software stack to allow users to enable event monitoring and processing of data as it becomes available
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (12.0%) to scientific vocabulary
Repository
A software stack to allow users to enable event monitoring and processing of data as it becomes available
Basic Info
Statistics
- Stars: 0
- Watchers: 9
- Forks: 0
- Open Issues: 0
- Releases: 18
Metadata Files
README.md
HyP3 Event Monitoring
A software stack that allows automatic submission of jobs to hyp3 over a specified area to easily monitor areas of interest.
Table of contents
Usage
Events represent an area of interest and a timeframe for which RTC and InSAR products will be generated. Events are
managed (manually) as records in a DynamoDB table:
json
{
"event_id": "myEvent",
"wkt": "POINT (0 0)",
"processing_timeframe": {
"start": "2021-02-01T00:00:00+00:00",
"end": "2021-03-01T00:00:00+00:00"
}
}
The processing_timeframe.end attribute is optional, and can extend into the future. Any additional attributes required
by a client application can be included in an event record.
Event monitoring routinely searches ASF's inventory for Sentinel-1 IW SLC granules matching any registered events. For each such granule, one RTC job two InSAR jobs (for nearest and next-nearest neighbors) is automatically submitted to HyP3. Output products of HyP3 jobs are automatically migrated to an S3 bucket with public read permissions for long term archival and distribution.
A public REST API is provided to query events and products:
- /events returns all registered events
- /events/<event_id> returns the requested event with a list of its products
- /recent_products returns all products processed in the last week
Deployment
Prerequisites
These resources are required for a successful deployment, but managed separately:
- HyP3 target deployment (e.g. https://hyp3-api.asf.alaska.edu)
- S3 bucket for CloudFormation deployment artifacts
- Earthdata Login account authorized to download data from ASF (For submitting jobs to HyP3)
- If submitting more jobs that the defualt hyp3 quota allows you may need to have an incresed quota
- IAM user and roles for automated CloudFormation deployments (if desired)
Stack Parameters
Review the parameters in cloudformation.yml for deploy time configuration options.
Deploy with CloudFormation
- Install dependencies for each component (requires pip for python 3.12)
sh
python -m pip install -r requirements-find-new.txt -t find_new/src
python -m pip install -r requirements-api.txt -t api/src
python -m pip install -r requirements-harvest-products.txt -t harvest_products/src
Package the CloudFormation template
sh aws cloudformation package \ --template-file cloudformation.yml \ --s3-bucket <CloudFormation artifact bucket> \ --output-template-file packaged.ymlDeploy to AWS with CloudFormation ```sh aws cloudformation deploy \ --stack-name
\ --template-file packaged.yml \ --role-arn \ --capabilities CAPABILITY_IAM \ --parameter-overrides \ "EDLUsername= " \ "EDLPassword= " \ "HyP3URL=<URL to a HyP3 deployment for the stack to use"
```
Testing
The HyP3 Event Monitoring source contains test files in tests/. To run them you need to do a bit of setup first.
- Add components to python path
sh export PYTHONPATH="${PYTHONPATH}:${PWD}/find_new/src:${PWD}/api/src:${PWD}/harvest_products/src" - Setup environment variables
sh export $(cat tests/cfg.env | xargs) Install test requirements
sh python -m pip install -r requirements-all.txtRun tests
sh pytest tests/
Owner
- Name: HyP3
- Login: ASFHyP3
- Kind: organization
- Location: Fairbanks, AK
- Website: https://hyp3-docs.asf.alaska.edu/
- Twitter: ASFHyP3
- Repositories: 36
- Profile: https://github.com/ASFHyP3
Alaska Satellite Facility's Hybrid Pluggable Processing Pipeline
GitHub Events
Total
- Release event: 2
- Delete event: 125
- Issue comment event: 28
- Push event: 171
- Pull request review comment event: 7
- Pull request event: 237
- Pull request review event: 107
- Create event: 126
Last Year
- Release event: 2
- Delete event: 125
- Issue comment event: 28
- Push event: 171
- Pull request review comment event: 7
- Pull request event: 237
- Pull request review event: 107
- Create event: 126
Issues and Pull Requests
Last synced: 10 months ago
All Time
- Total issues: 0
- Total pull requests: 101
- Average time to close issues: N/A
- Average time to close pull requests: 3 days
- Total issue authors: 0
- Total pull request authors: 4
- Average comments per issue: 0
- Average comments per pull request: 0.17
- Merged pull requests: 75
- Bot issues: 0
- Bot pull requests: 93
Past Year
- Issues: 0
- Pull requests: 101
- Average time to close issues: N/A
- Average time to close pull requests: 3 days
- Issue authors: 0
- Pull request authors: 4
- Average comments per issue: 0
- Average comments per pull request: 0.17
- Merged pull requests: 75
- Bot issues: 0
- Bot pull requests: 93
Top Authors
Issue Authors
- dependabot[bot] (2)
- asjohnston-asf (1)
Pull Request Authors
- dependabot[bot] (176)
- jtherrmann (14)
- AndrewPlayer3 (4)
- asjohnston-asf (1)
- jhkennedy (1)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- Flask-Cors *
- flask *
- flask_api *
- serverless_wsgi *
- asf-search ==3.1.3
- hyp3-sdk >=1.3.2
- python-dateutil *
- requests *
- hyp3-sdk >=1.3.2
- requests *
- boto3 *
- cfn-lint *
- flake8 *
- flake8-blind-except *
- flake8-builtins *
- flake8-import-order *
- moto >=1.3.17dev240
- pyYAML *
- pytest *
- responses >=0.12.1
- actions/checkout v2 composite
- actions/setup-python v1 composite
- aws-actions/configure-aws-credentials v1 composite
- actions/checkout v2 composite
- scottbrenner/cfn-lint-action master composite
- actions/checkout v2 composite
- actions/setup-python v1 composite