feat(isce2): harden managed production flow
- add one-time base DEM preparation utility and prepared-first DEM resolution - support geocode resume/full-geocode and guard large unprepared DEMs - repair missing completion files during in-place ISCE2 publish rebuild - add ISCE2 stabilization update log
This commit is contained in:
@@ -0,0 +1,69 @@
|
||||
# ISCE2 Stabilization Update Log
|
||||
|
||||
Date: `2026-04-27`
|
||||
|
||||
## Scope
|
||||
|
||||
This update hardens the managed `ISCE2` LT-1 stripmap D-InSAR production path against
|
||||
large raw DEM reuse, long geocode stalls, and incomplete recovered-run metadata.
|
||||
|
||||
## Delivered Changes
|
||||
|
||||
### 1. Managed ISCE2 pipeline hardening
|
||||
|
||||
- Added `--resume-from unwrap|geocode|export` support to the LT-1 pipeline.
|
||||
- Added `--full-geocode` support. The default path now geocodes only the export-critical
|
||||
products instead of ISCE2's full default list.
|
||||
- Added stage-aware logging with stdout flush to improve long-run observability.
|
||||
- Added geocode DEM subset preparation so resumed geocode/export runs do not reprocess the
|
||||
full base DEM.
|
||||
- Added a guard that blocks fresh runs when the selected DEM resolves to a very large raw
|
||||
base raster without a prepared `.wgs84` sibling.
|
||||
|
||||
### 2. Engine and runtime configuration fixes
|
||||
|
||||
- `ISCE2` now prefers an existing prepared `.wgs84` DEM over the raw base path.
|
||||
- `PyINT` DEM resolution now follows the same prepared-first preference.
|
||||
- The WSL ISCE2 runner now passes `resume_from` and `full_geocode` through to the pipeline.
|
||||
- The WSL runner now sets both `PROJ_DATA` and `PROJ_LIB`.
|
||||
|
||||
### 3. Recovery and catalog self-healing
|
||||
|
||||
- Added a completion-file repair helper for managed ISCE2 runs.
|
||||
- In-place ISCE2 publish/rebuild now repairs missing:
|
||||
- `execution_manifest.json`
|
||||
- `current/isce2__<profile>.json`
|
||||
- This allows recovered runs to be reintroduced into the managed result catalog without
|
||||
hand-editing completion markers.
|
||||
|
||||
### 4. One-time DEM preparation tooling
|
||||
|
||||
- Added `backend/app/isce2_pipeline/prepare_isce2_base_dem.py`.
|
||||
- The script resolves DEM paths from `.env`, validates existing prepared outputs, and can
|
||||
generate a reusable `WGS84` `.wgs84` DEM from an `EGM96` base DEM.
|
||||
- The script also auto-configures `PROJ` paths for standalone execution.
|
||||
|
||||
### 5. Configuration guidance
|
||||
|
||||
- Updated `.env.example` comments to distinguish:
|
||||
- raw SARscape/ENVI DEM source path
|
||||
- prepared ISCE2/PyINT `.wgs84` path
|
||||
|
||||
## Validation
|
||||
|
||||
- Python syntax validation was run for the modified ISCE2 pipeline, engine, runtime, and
|
||||
result-catalog modules.
|
||||
- The one-time full DEM preparation completed successfully and produced:
|
||||
- `.wgs84`
|
||||
- `.wgs84.xml`
|
||||
- `.wgs84.vrt`
|
||||
- The prepared DEM metadata was verified to report `WGS84`.
|
||||
|
||||
## Required Local Follow-Up
|
||||
|
||||
These operational steps are intentionally not committed:
|
||||
|
||||
- Point local `.env` `ISCE2_DEM_PATH` to the prepared `.wgs84` file.
|
||||
- Point local `.env` `PYINT_PREPARED_DEM_PATH` to the same prepared `.wgs84` file.
|
||||
- Restart the backend so the running process reloads the updated `.env`.
|
||||
|
||||
Reference in New Issue
Block a user