diff --git a/.ci/scripts/disp_s1/build_disp_s1.sh b/.ci/scripts/disp_s1/build_disp_s1.sh index 9d49a6e8..2b8d62d0 100755 --- a/.ci/scripts/disp_s1/build_disp_s1.sh +++ b/.ci/scripts/disp_s1/build_disp_s1.sh @@ -24,7 +24,7 @@ BUILD_DATE_TIME=$(date -u +'%Y-%m-%dT%H:%M:%SZ') # defaults, SAS image should be updated as necessary for new image releases from ADT [ -z "${WORKSPACE}" ] && WORKSPACE=$(realpath $(dirname $(realpath $0))/../../..) [ -z "${TAG}" ] && TAG="${USER}-dev" -[ -z "${SAS_IMAGE}" ] && SAS_IMAGE="artifactory-fn.jpl.nasa.gov:16001/gov/nasa/jpl/opera/adt/opera/disp-s1:0.5.1" +[ -z "${SAS_IMAGE}" ] && SAS_IMAGE="artifactory-fn.jpl.nasa.gov:16001/gov/nasa/jpl/opera/adt/opera/disp-s1:0.5.2" echo "WORKSPACE: $WORKSPACE" echo "IMAGE: $IMAGE" diff --git a/.ci/scripts/disp_s1/opera_pge_disp_s1_r6.0_final_algorithm_parameters_historical.yaml b/.ci/scripts/disp_s1/opera_pge_disp_s1_r6.2_final_algorithm_parameters_historical.yaml similarity index 98% rename from .ci/scripts/disp_s1/opera_pge_disp_s1_r6.0_final_algorithm_parameters_historical.yaml rename to .ci/scripts/disp_s1/opera_pge_disp_s1_r6.2_final_algorithm_parameters_historical.yaml index cfe857e2..49028e21 100644 --- a/.ci/scripts/disp_s1/opera_pge_disp_s1_r6.0_final_algorithm_parameters_historical.yaml +++ b/.ci/scripts/disp_s1/opera_pge_disp_s1_r6.2_final_algorithm_parameters_historical.yaml @@ -1,7 +1,7 @@ # JSON file containing frame-specific algorithm parameters to override the defaults passed # in the `algorithm_parameters.yaml`. # Type: string | null. -algorithm_parameters_overrides_json: /home/mamba/input_dir/static_ancillary_files/opera-disp-s1-algorithm-parameters-overrides-2024-10-14.json +algorithm_parameters_overrides_json: /home/mamba/input_dir/static_ancillary_files/opera-disp-s1-algorithm-parameters-overrides-2024-11-26.json ps_options: # Amplitude dispersion threshold to consider a pixel a PS. # Type: number. @@ -58,10 +58,10 @@ phase_linking: interferogram_network: # For single-reference network: Index of the reference image in the network. # Type: integer | null. - reference_idx: 0 + reference_idx: # Max `n` to form the nearest-`n` interferograms by index. # Type: integer | null. - max_bandwidth: + max_bandwidth: 3 # Maximum temporal baseline of interferograms. # Type: integer | null. max_temporal_baseline: @@ -128,7 +128,7 @@ unwrap_options: # If True, after unwrapping with multiple tiles, an additional post-processing unwrapping # step is performed to re-optimize the unwrapped phase using a single tile. # Type: boolean. - single_tile_reoptimize: false + single_tile_reoptimize: true tophu_options: # Number of tiles to split the inputs into. # Type: array. @@ -169,11 +169,11 @@ unwrap_options: target_points_for_generation: 120000 # Target points per tile when generating tiles. # Type: integer. - target_points_per_tile: 750000 + target_points_per_tile: 700000 # Dilation factor of non-overlapping tiles. 0.05 would lead to 5 percent dilation of the # tile. # Type: number. - dilation_factor: 0.05 + dilation_factor: 0.03 solver_settings: # Number of workers for temporal unwrapping in parallel. Set value to <=0 to let workflow # use default workers (ncpus - 1). @@ -182,7 +182,7 @@ unwrap_options: # Number of workers for spatial unwrapping in parallel. Set value to <=0 to let workflow use # (ncpus - 1). # Type: integer. - s_worker_count: 8 + s_worker_count: 5 # Temporal unwrapping operations over spatial links are performed in batches and each batch # is solved in parallel. # Type: integer. @@ -219,7 +219,7 @@ unwrap_options: # Number of interferograms to merge in one batch. Use zero to merge all interferograms in a # single batch. # Type: integer. - num_parallel_ifgs: 13 + num_parallel_ifgs: 39 timeseries_options: # Whether to run the inversion step after unwrapping, if more than a single-reference # network is used. @@ -228,7 +228,7 @@ timeseries_options: # Norm to use during timeseries inversion. # Type: string. # Options: ['L1', 'L2']. - method: L2 + method: L1 # Reference point (row, col) used if performing a time series inversion. If not provided, a # point will be selected from a consistent connected component with low amplitude # dispersion. diff --git a/.ci/scripts/disp_s1/opera_pge_disp_s1_r6.0_final_runconfig_historical.yaml b/.ci/scripts/disp_s1/opera_pge_disp_s1_r6.2_final_runconfig_historical.yaml similarity index 99% rename from .ci/scripts/disp_s1/opera_pge_disp_s1_r6.0_final_runconfig_historical.yaml rename to .ci/scripts/disp_s1/opera_pge_disp_s1_r6.2_final_runconfig_historical.yaml index 2bb58289..029e9e2d 100644 --- a/.ci/scripts/disp_s1/opera_pge_disp_s1_r6.0_final_runconfig_historical.yaml +++ b/.ci/scripts/disp_s1/opera_pge_disp_s1_r6.2_final_runconfig_historical.yaml @@ -83,7 +83,7 @@ RunConfig: PrimaryExecutable: ProductIdentifier: DISP_S1 - ProductVersion: "0.7" + ProductVersion: "0.9" ProgramPath: disp-s1 ProgramOptions: - run @@ -121,7 +121,7 @@ RunConfig: frame_id: 7091 dynamic_ancillary_file_group: - algorithm_parameters_file: /home/mamba/runconfig/opera_pge_disp_s1_r6.0_final_algorithm_parameters_historical.yaml + algorithm_parameters_file: /home/mamba/runconfig/opera_pge_disp_s1_r6.2_final_algorithm_parameters_historical.yaml static_layers_files: - /home/mamba/input_dir/dynamic_ancillary_files/static_layers/OPERA_L2_CSLC-S1-STATIC_T027-056725-IW1_20140403_S1A_v1.0.h5 - /home/mamba/input_dir/dynamic_ancillary_files/static_layers/OPERA_L2_CSLC-S1-STATIC_T027-056726-IW1_20140403_S1A_v1.0.h5 @@ -183,7 +183,7 @@ RunConfig: product_path: /home/mamba/output_dir scratch_path: /home/mamba/scratch_dir sas_output_path: /home/mamba/output_dir - product_version: "0.7" + product_version: "0.9" save_compressed_slc: true worker_settings: gpu_enabled: false diff --git a/.ci/scripts/disp_s1/test_int_disp_s1.sh b/.ci/scripts/disp_s1/test_int_disp_s1.sh index 6f41e760..973ca3c7 100755 --- a/.ci/scripts/disp_s1/test_int_disp_s1.sh +++ b/.ci/scripts/disp_s1/test_int_disp_s1.sh @@ -28,8 +28,8 @@ SAMPLE_TIME=15 # RUNCONFIG should be the name of the runconfig in s3://operasds-dev-pge/disp_s1/ [ -z "${WORKSPACE}" ] && WORKSPACE=$(realpath "$(dirname "$(realpath "$0")")"/../../..) [ -z "${PGE_TAG}" ] && PGE_TAG="${USER}-dev" -[ -z "${INPUT_DATA}" ] && INPUT_DATA="disp_s1_r6.0_final_expected_input.zip" -[ -z "${EXPECTED_DATA}" ] && EXPECTED_DATA="disp_s1_r6.0_final_expected_output.zip" +[ -z "${INPUT_DATA}" ] && INPUT_DATA="disp_s1_r6.2_final_expected_input.zip" +[ -z "${EXPECTED_DATA}" ] && EXPECTED_DATA="disp_s1_r6.2_final_expected_output.zip" [ -z "${RUNCONFIG}" ] && RUNCONFIG="opera_pge_disp_s1_r6.0_final_runconfig_forward.yaml" [ -z "${TMP_ROOT}" ] && TMP_ROOT="$DEFAULT_TMP_ROOT" @@ -60,7 +60,7 @@ echo "Input data directory: ${input_dir}" echo "Expected data directory: ${expected_data_dir}" # Copy the RunConfig for the historical workflow -historical_runconfig="opera_pge_disp_s1_r6.0_final_runconfig_historical.yaml" +historical_runconfig="opera_pge_disp_s1_r6.2_final_runconfig_historical.yaml" local_historical_runconfig="${SCRIPT_DIR}/${historical_runconfig}" echo "Copying runconfig file $local_historical_runconfig to $runconfig_dir" cp ${local_historical_runconfig} ${runconfig_dir} @@ -92,7 +92,7 @@ do mkdir -p --mode=777 "$scratch_dir" # Copy the Algorithm Parameters RunConfigs - algo_runconfig="opera_pge_disp_s1_r6.0_final_algorithm_parameters_${mode}.yaml" + algo_runconfig="opera_pge_disp_s1_r6.2_final_algorithm_parameters_${mode}.yaml" local_algo_runconfig="${SCRIPT_DIR}/${algo_runconfig}" echo "Copying runconfig file $local_algo_runconfig to $runconfig_dir" cp ${local_algo_runconfig} ${runconfig_dir} @@ -110,7 +110,7 @@ do -v ${output_dir}:/home/mamba/output_dir \ -v ${scratch_dir}:/home/mamba/scratch_dir \ -v ${expected_data_dir}/${mode}:/home/mamba/expected_output_dir \ - ${PGE_IMAGE}:"${PGE_TAG}" --file /home/mamba/runconfig/opera_pge_disp_s1_r6.0_final_runconfig_${mode}.yaml + ${PGE_IMAGE}:"${PGE_TAG}" --file /home/mamba/runconfig/opera_pge_disp_s1_r6.2_final_runconfig_${mode}.yaml docker_exit_status=$? diff --git a/src/opera/pge/disp_s1/disp_s1_pge.py b/src/opera/pge/disp_s1/disp_s1_pge.py index 2dc1c0af..8094d625 100644 --- a/src/opera/pge/disp_s1/disp_s1_pge.py +++ b/src/opera/pge/disp_s1/disp_s1_pge.py @@ -904,7 +904,7 @@ class DispS1Executor(DispS1PreProcessorMixin, DispS1PostProcessorMixin, PgeExecu PGE_VERSION = "3.0.0" """Version of the PGE (overrides default from base_pge)""" - SAS_VERSION = "0.5.1" # Final release https://github.com/opera-adt/disp-s1/releases/tag/v0.5.1 + SAS_VERSION = "0.5.2" # Final release https://github.com/opera-adt/disp-s1/releases/tag/v0.5.2 def __init__(self, pge_name, runconfig_path, **kwargs): super().__init__(pge_name, runconfig_path, **kwargs)