Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions .github/workflows/deploy-daac-prod.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,25 @@ jobs:
ami_id: /ngap/amis/image_id_ecs_al2023_x86
distribution_url: 'https://d3gm2hf49xd6jj.cloudfront.net'

- environment: hyp3-opera-prod
api_name: hyp3-opera-prod
template_bucket: cf-templates-118mtzosmrltk-us-west-2
image_tag: latest
product_lifetime_in_days: 14
default_credits_per_user: 0
default_application_status: APPROVED
cost_profile: EDC
opera_rtc_s1_end_date: 2026-01-01
job_files: >-
job_spec/OPERA_RTC_S1_SLC.yml
instance_types: c6i.2xlarge,c7i.2xlarge,c6id.2xlarge,c6id.4xlarge,c6id.8xlarge
default_max_vcpus: 10000
expanded_max_vcpus: 10000
required_surplus: 0
security_environment: EDC
ami_id: /ngap/amis/image_id_ecs_al2023_x86
distribution_url: 'https://d3gm2hf49xd6jj.cloudfront.net'

environment:
name: ${{ matrix.environment }}

Expand Down
18 changes: 18 additions & 0 deletions .github/workflows/deploy-daac-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,24 @@ jobs:
ami_id: /ngap/amis/image_id_ecs_al2023_x86
distribution_url: 'https://d1riv60tezqha9.cloudfront.net'

- environment: hyp3-opera-uat
api_name: hyp3-opera-test
template_bucket: cf-templates-118ylv0o6jp2n-us-west-2
image_tag: test
product_lifetime_in_days: 14
default_credits_per_user: 0
default_application_status: APPROVED
cost_profile: EDC
opera_rtc_s1_end_date: 2026-01-01
job_files: >-
job_spec/OPERA_RTC_S1_SLC.yml
instance_types: c6i.2xlarge,c7i.2xlarge,c6id.2xlarge,c6id.4xlarge,c6id.8xlarge
default_max_vcpus: 800
expanded_max_vcpus: 800
required_surplus: 0
security_environment: EDC
ami_id: /ngap/amis/image_id_ecs_al2023_x86
distribution_url: 'https://d1riv60tezqha9.cloudfront.net'
environment:
name: ${{ matrix.environment }}

Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/deploy-enterprise-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ jobs:
job_files: >-
job_spec/ARIA_AUTORIFT.yml
job_spec/ARIA_RAIDER.yml
job_spec/ARIA_S1_COSEIS.yml
job_spec/INSAR_ISCE.yml
instance_types: m6id.xlarge,m6id.2xlarge,m6id.4xlarge,m6id.8xlarge,m6idn.xlarge,m6idn.2xlarge,m6idn.4xlarge,m6idn.8xlarge
default_max_vcpus: 640
Expand All @@ -44,6 +45,7 @@ jobs:
job_files: >-
job_spec/ARIA_AUTORIFT.yml
job_spec/ARIA_RAIDER.yml
job_spec/ARIA_S1_COSEIS.yml
job_spec/INSAR_ISCE.yml
job_spec/OPERA_DIST_S1.yml
instance_types: m6id.xlarge,m6id.2xlarge,m6id.4xlarge,m6id.8xlarge,m6idn.xlarge,m6idn.2xlarge,m6idn.4xlarge,m6idn.8xlarge
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/deploy-enterprise.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ jobs:
job_files: >-
job_spec/ARIA_AUTORIFT.yml
job_spec/ARIA_RAIDER.yml
job_spec/ARIA_S1_COSEIS.yml
job_spec/INSAR_ISCE.yml
instance_types: m6id.xlarge,m6id.2xlarge,m6id.4xlarge,m6id.8xlarge,m6idn.xlarge,m6idn.2xlarge,m6idn.4xlarge,m6idn.8xlarge
default_max_vcpus: 4000 # Max: 13000
Expand All @@ -79,6 +80,7 @@ jobs:
job_files: >-
job_spec/ARIA_AUTORIFT.yml
job_spec/ARIA_RAIDER.yml
job_spec/ARIA_S1_COSEIS.yml
job_spec/INSAR_ISCE.yml
job_spec/OPERA_DIST_S1.yml
instance_types: m6id.xlarge,m6id.2xlarge,m6id.4xlarge,m6id.8xlarge,m6idn.xlarge,m6idn.2xlarge,m6idn.4xlarge,m6idn.8xlarge
Expand All @@ -99,6 +101,7 @@ jobs:
job_files: >-
job_spec/ARIA_AUTORIFT.yml
job_spec/ARIA_RAIDER.yml
job_spec/ARIA_S1_COSEIS.yml
job_spec/INSAR_ISCE.yml
job_spec/OPERA_DIST_S1.yml
instance_types: m6id.xlarge,m6id.2xlarge,m6id.4xlarge,m6id.8xlarge,m6idn.xlarge,m6idn.2xlarge,m6idn.4xlarge,m6idn.8xlarge
Expand Down
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,13 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [10.10.1]

### Added
- Added a new `ARIA_S1_COSEIS` job spec to ARIA JPL deployments.
- Added `OPERA_RTC_S1_SLC` job spec that processes all bursts in an SLC.
- Created new hyp3-opera-uat and hyp3-opera-prod deployments.

## [10.10.0]

### Added
Expand Down
163 changes: 163 additions & 0 deletions job_spec/ARIA_S1_COSEIS.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,163 @@
ARIA_S1_COSEIS:
required_parameters:
- granules
- secondary_granules
- frame_id
parameters:
granules:
api_schema:
type: array
minItems: 1
items:
description: The name of the Sentinel-1 SLC granules to use as reference scenes for InSAR processing
type: string
pattern: "^S1[AB]_IW_SLC__1S[SD]V"
minLength: 67
maxLength: 67
example: S1B_IW_SLC__1SDV_20210723T014947_20210723T015014_027915_0354B4_B3A9
secondary_granules:
api_schema:
type: array
minItems: 1
items:
description: The name of the Sentinel-1 SLC granules to use as secondary scenes for InSAR processing
type: string
pattern: "^S1[AB]_IW_SLC__1S[SD]V"
minLength: 67
maxLength: 67
example: S1B_IW_SLC__1SDV_20210711T014947_20210711T015013_027740_034F80_D404
frame_id:
api_schema:
description: Subset products to this frame. Standard products require frame id to be specified. When set to `-1`, no subsetting applied. If no frame specified (i.e. `-1`), then output is not a standard ARIA-S1-COSEIS-SAR.
type: integer
minimum: -1
min_frame_coverage:
api_schema:
description: Minimum amount of the frame that must be covered by the overlap between the reference and secondary granules; standard ARIA products require this to be set to 0.9.
default: 0.01
type: number
minimum: 0.0
maximum: 1.0
compute_solid_earth_tide:
api_schema:
default: true
type: boolean
description: Whether to compute a solid earth tide correction layer for ARIA-S1-COSEIS-SAR products; standard ARIA products must include this layer.
esd_coherence_threshold:
api_schema:
description: Coherence threshold value for determining which points to include when performing ESD. Must be any value between 0 and 1 (inclusive), or -1 for no ESD correction. Standard ARIA products do NOT include ESD.
default: -1.0
type: number
minimum: -1.0
maximum: 1.0
estimate_ionosphere_delay:
api_schema:
description: Whether to apply ionosphere correction to the ARIA-S1-COSEIS-SAR as an additional layer; standard ARIA products include the ionsphere correction to be turned on and include multiple ionosphere correction layers.
default: true
type: boolean
goldstein_filter_power:
api_schema:
description: The filter power of the adaptive goldsetin filter; 0 means no filter applied. Standard product requires strength to be set to 0.5.
default: 0.5
type: number
minimum: 0
output_resolution:
api_schema:
default: 30
description: Desired output resolution in meters of COSEIS_SAR product.
type: integer
enum:
- 30
- 90
unfiltered_coherence:
api_schema:
default: true
type: boolean
description: Whether to add unfiltered_coherence layer to ARIA-S1-GUNW products; standard ARIA products must include this layer.
dense_offsets:
api_schema:
default: true
type: boolean
description: Whether to include 2 extra layers (azimuth and range pixel offsets) that measure via patch cross-correlation the change between reference and secondary in radar coordinates; standard ARIA products do NOT include this layer.
weather_model:
api_schema:
description: Weather model used to generate tropospheric delay estimations.
default: None
type: string
enum:
- None
- ERA5
- ERA5T
- GMAO
- HRES
- HRRR
cost_profiles:
DEFAULT:
cost: 1.0
validators: []
steps:
- name: ''
image: ghcr.io/access-cloud-based-insar/dockerizedtopsapp
command:
- ++process
- coseis_sar
- ++omp-num-threads
- '4' # 8 vCPUs per 16 GB RAM for the C instance family; 4 for M; 2 for R
- --bucket
- '!Ref Bucket'
- --bucket-prefix
- Ref::job_id
- --reference-scenes
- Ref::granules
- --secondary-scenes
- Ref::secondary_granules
- --esd-coherence-threshold
- Ref::esd_coherence_threshold
- --estimate-ionosphere-delay
- Ref::estimate_ionosphere_delay
- --frame-id
- Ref::frame_id
- --min-frame-coverage
- Ref::min_frame_coverage
- --compute-solid-earth-tide
- Ref::compute_solid_earth_tide
- --output-resolution
- Ref::output_resolution
- --dense-offsets
- Ref::dense_offsets
- --goldstein-filter-power
- Ref::goldstein_filter_power
- --unfiltered-coherence
- Ref::unfiltered_coherence
timeout: 21600
compute_environment: InsarIsceAria
vcpu: 1
memory: 15500
secrets:
- EARTHDATA_USERNAME
- EARTHDATA_PASSWORD
- name: TROPOSPHERE
image: ghcr.io/dbekaert/raider
command:
- ++process
- calcDelaysGUNW
- --bucket
- '!Ref Bucket'
- --bucket-prefix
- Ref::job_id
- --weather-model
- Ref::weather_model
timeout: 10800
compute_environment: InsarIsceAria
vcpu: 1
memory: 7500
secrets:
- EARTHDATA_USERNAME
- EARTHDATA_PASSWORD
- ESA_USERNAME
- ESA_PASSWORD
- RAIDER_ECMWF_ERA5_UID
- RAIDER_ECMWF_ERA5_API_KEY
- RAIDER_HRES_EMAIL
- RAIDER_HRES_API_KEY
- RAIDER_HRES_URL
44 changes: 44 additions & 0 deletions job_spec/OPERA_RTC_S1_SLC.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
OPERA_RTC_S1_SLC:
required_parameters:
- granules
parameters:
granules:
api_schema:
type: array
minItems: 1
maxItems: 1
example:
- S1A_IW_SLC__1SSV_20150621T120220_20150621T120232_006471_008934_72D8
items:
anyOf:
- description: The name of the Sentinel-1 SLC granule to process
type: string
pattern: "^S1[ABC]_IW_SLC__1S[SD][VH]"
minLength: 67
maxLength: 67
example: S1A_IW_SLC__1SSV_20150621T120220_20150621T120232_006471_008934_72D8
cost_profiles:
EDC:
cost: 1.0
DEFAULT:
cost: 1.0
validators:
- check_opera_rtc_s1_bounds
steps:
- name: ''
image: ghcr.io/asfhyp3/hyp3-opera-rtc
command:
- Ref::granules
- --bucket
- '!Ref Bucket'
- --bucket-prefix
- Ref::job_id
- --num-workers
- '8'
timeout: 7200 # 2 hr
compute_environment: Default
vcpu: 8
memory: 15200
secrets:
- EARTHDATA_USERNAME
- EARTHDATA_PASSWORD
6 changes: 3 additions & 3 deletions requirements-all.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,14 @@
-r requirements-apps-start-execution.txt
-r requirements-apps-disable-private-dns.txt
-r requirements-apps-update-db.txt
boto3==1.39.4
boto3==1.39.10
jinja2==3.1.6
moto[dynamodb]==5.1.8
pytest==8.4.1
PyYAML==6.0.2
responses==0.25.7
ruff==0.12.3
mypy==1.16.1
ruff==0.12.4
mypy==1.17.0
setuptools==80.9.0
setuptools_scm==8.3.1
openapi-spec-validator==0.7.2
Expand Down
2 changes: 1 addition & 1 deletion requirements-apps-api.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
flask==3.1.1
Flask-Cors==6.0.1
jsonschema==4.24.0
jsonschema==4.25.0
openapi-core==0.19.5
prance==25.4.8.0
PyJWT==2.10.1
Expand Down
2 changes: 1 addition & 1 deletion requirements-apps-disable-private-dns.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
boto3==1.39.4
boto3==1.39.10
2 changes: 1 addition & 1 deletion requirements-apps-get-files.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
boto3==1.39.4
boto3==1.39.10
./lib/dynamo/
2 changes: 1 addition & 1 deletion requirements-apps-start-execution.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
boto3==1.39.4
boto3==1.39.10
./lib/dynamo/
./lib/lambda_logging/