diff --git a/.github/workflows/deploy-enterprise-test.yml b/.github/workflows/deploy-enterprise-test.yml index 8a9769b0c..b8a332552 100644 --- a/.github/workflows/deploy-enterprise-test.yml +++ b/.github/workflows/deploy-enterprise-test.yml @@ -28,7 +28,6 @@ jobs: job_spec/INSAR_ISCE_TEST.yml job_spec/INSAR_ISCE_BURST.yml job_spec/WATER_MAP.yml - job_spec/WATER_MAP_TEST.yml job_spec/WATER_MAP_EQ.yml job_spec/S1_CORRECTION_ITS_LIVE.yml instance_types: r6id.xlarge,r6id.2xlarge,r6id.4xlarge,r6id.8xlarge,r6idn.xlarge,r6idn.2xlarge,r6idn.4xlarge,r6idn.8xlarge diff --git a/CHANGELOG.md b/CHANGELOG.md index f71a527a0..2769fdfc4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,12 @@ 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). +## [4.4.0] +### Changed +- The `WATER_MAP` job spec has been updated to the new interface described in the `WATER_MAP_TEST` job spec +### Removed +- The `WATER_MAP_TEST` job spec + ## [4.3.0] ### Added - An `iterative_min_size` parameter has been added to the `WATER_MAP_TEST` job spec. diff --git a/apps/step-function.json.j2 b/apps/step-function.json.j2 index 25938a7c1..17bb8f63e 100644 --- a/apps/step-function.json.j2 +++ b/apps/step-function.json.j2 @@ -103,10 +103,6 @@ { "Variable": "$.job_type", "StringEquals": "WATER_MAP_EQ" - }, - { - "Variable": "$.job_type", - "StringEquals": "WATER_MAP_TEST" } ] }, diff --git a/job_spec/WATER_MAP.yml b/job_spec/WATER_MAP.yml index 1c7b3d9ae..74103b04b 100644 --- a/job_spec/WATER_MAP.yml +++ b/job_spec/WATER_MAP.yml @@ -83,9 +83,10 @@ WATER_MAP: type: number known_water_threshold: api_schema: - description: Threshold for extracting known water area in percent. Ignored when flood_depth_estimator is None. - default: 30.0 + description: Threshold for extracting known water area in percent. A water threshold is computed when value is null. Ignored when flood_depth_estimator is None. + default: null type: number + nullable: true iterative_min: api_schema: description: Minimum bound used for iterative method. Ignored when flood_depth_estimator is None. @@ -96,6 +97,20 @@ WATER_MAP: description: Maximum bound used for iterative method. Ignored when flood_depth_estimator is None. default: 15 type: integer + iterative_min_size: + api_schema: + description: Minimum size of a connected waterbody in pixels for calculating flood depths with the iterative estimator + default: 0 + type: integer + minimum: 0 + minimization_metric: + api_schema: + description: Evaluation method to minimize during the iterative flood depth calculation. Options include a Fowlkes-Mallows index (fmi) or a threat score (ts). Only used when flood_depth_estimator is iterative. + default: ts + type: string + enum: + - fmi + - ts validators: - check_dem_coverage tasks: @@ -178,6 +193,10 @@ WATER_MAP: - Ref::iterative_min - --iterative-max - Ref::iterative_max + - --iterative-min-size + - Ref::iterative_min_size + - --minimization-metric + - Ref::minimization_metric timeout: 86400 vcpu: 1 memory: 126000 diff --git a/job_spec/WATER_MAP_TEST.yml b/job_spec/WATER_MAP_TEST.yml deleted file mode 100644 index f404fbee5..000000000 --- a/job_spec/WATER_MAP_TEST.yml +++ /dev/null @@ -1,202 +0,0 @@ -WATER_MAP_TEST: - required_parameters: - - granules - parameters: - granules: - default: '""' - api_schema: - type: array - minItems: 1 - maxItems: 1 - items: - anyOf: - - description: The name of the IW VV+VH Sentinel-1 GRDH granule to process - type: string - pattern: "^S1[AB]_IW_GRDH_1SDV" - minLength: 67 - maxLength: 67 - example: S1A_IW_GRDH_1SDV_20210413T235641_20210413T235706_037439_0469D0_3F2B - - description: The name of the IW VV+VH Sentinel-1 SLC granule to process - type: string - pattern: "^S1[AB]_IW_SLC__1SDV" - minLength: 67 - maxLength: 67 - example: S1A_IW_SLC__1SDV_20211110T234815_20211110T234842_040516_04CE0A_E717 - bucket_prefix: - default: '""' - resolution: - api_schema: - default: 30.0 - description: Desired output pixel spacing in meters - type: number - enum: - - 30.0 - - 20.0 - - 10.0 - speckle_filter: - api_schema: - description: Apply an Enhanced Lee speckle filter - default: false - type: boolean - max_vv_threshold: - api_schema: - description: Maximum threshold value to use for VV polarized raster in decibels (dB) - default: -15.5 - type: number - max_vh_threshold: - api_schema: - description: Maximum threshold value to use for VH polarized raster in decibels (dB) - default: -23.0 - type: number - hand_threshold: - api_schema: - description: The maximum height above nearest drainage in meters to consider a pixel valid - default: 15.0 - type: number - hand_fraction: - api_schema: - description: The minimum fraction of valid HAND pixels required in a tile for thresholding - default: 0.8 - type: number - membership_threshold: - api_schema: - description: The average membership to the fuzzy indicators required for a water pixel - default: 0.45 - type: number - flood_depth_estimator: - api_schema: - description: Flood depth estimation approach. A value of null or None indicates that flood depth estimation will not be performed. - default: null - type: string - nullable: true - enum: - - iterative - - logstat - - nmad - - null - - numpy - - None - water_level_sigma: - api_schema: - description: Standard deviation to estimate max water height for each object. Ignored when flood_depth_estimator is None. - default: 3.0 - type: number - known_water_threshold: - api_schema: - description: Threshold for extracting known water area in percent. A water threshold is computed when value is null. Ignored when flood_depth_estimator is None. - default: null - type: number - nullable: true - iterative_min: - api_schema: - description: Minimum bound used for iterative method. Ignored when flood_depth_estimator is None. - default: 0 - type: integer - iterative_max: - api_schema: - description: Maximum bound used for iterative method. Ignored when flood_depth_estimator is None. - default: 15 - type: integer - iterative_min_size: - api_schema: - description: Minimum size of a connected waterbody in pixels for calculating flood depths with the iterative estimator - default: 0 - type: integer - minimum: 0 - minimization_metric: - api_schema: - description: Evaluation method to minimize during the iterative flood depth calculation. Options include a Fowlkes-Mallows index (fmi) or a threat score (ts). Only used when flood_depth_estimator is iterative. - default: ts - type: string - enum: - - fmi - - ts - validators: - - check_dem_coverage - tasks: - - name: RTC - image: 845172464411.dkr.ecr.us-west-2.amazonaws.com/hyp3-gamma - command: - - ++process - - rtc - - ++omp-num-threads - - '4' - - --bucket - - '!Ref Bucket' - - --bucket-prefix - - Ref::bucket_prefix - - --resolution - - Ref::resolution - - --speckle-filter - - Ref::speckle_filter - - --scale - - 'power' - - --radiometry - - 'gamma0' - - --dem-matching - - 'false' - - --include-dem - - 'true' - - --include-inc-map - - 'false' - - --include-scattering-area - - 'false' - - --include-rgb - - 'true' - - --dem-name - - 'copernicus' - - Ref::granules - timeout: 36000 - vcpu: 1 - memory: 31500 - secrets: - - EARTHDATA_USERNAME - - EARTHDATA_PASSWORD - - name: '' - image: ghcr.io/asfhyp3/asf-tools - command: - - ++process - - water_map - - --bucket - - '!Ref Bucket' - - --bucket-prefix - - Ref::bucket_prefix - - --max-vv-threshold - - Ref::max_vv_threshold - - --max-vh-threshold - - Ref::max_vh_threshold - - --hand-threshold - - Ref::hand_threshold - - --hand-fraction - - Ref::hand_fraction - - --membership-threshold - - Ref::membership_threshold - timeout: 36000 - vcpu: 1 - memory: 126000 - - name: FLOOD_MAP - image: ghcr.io/asfhyp3/asf-tools - command: - - ++process - - flood_map - - --bucket - - '!Ref Bucket' - - --bucket-prefix - - Ref::bucket_prefix - - --estimator - - Ref::flood_depth_estimator - - --water-level-sigma - - Ref::water_level_sigma - - --known-water-threshold - - Ref::known_water_threshold - - --iterative-min - - Ref::iterative_min - - --iterative-max - - Ref::iterative_max - - --iterative-min-size - - Ref::iterative_min_size - - --minimization-metric - - Ref::minimization_metric - timeout: 86400 - vcpu: 1 - memory: 126000