Skip to content

v0.3.0

Choose a tag to compare

@jldz9 jldz9 released this 14 May 23:24
· 32 commits to main since this release

V0.3.0 ISCE2 Local Processor Support/HPC support

Changelog

[0.3.0] - 2026-05-14

New Features

  • ISCE_S1 local processor: New processor backend that runs ISCE2 stackSentinel locally. Supports sequential local execution and SLURM HPC mode (--hpc-mode). Bounding box is auto-filled from the map AOI in the GUI.
  • ISCE_SBAS analyzer: New MintPy SBAS analyzer for ISCE2 stackSentinel outputs. prep_data() auto-discovers interferogram, geometry, baseline, and metadata paths; MintPy outputs written to mintpy/ subdirectory.
  • HPC mode (SLURM): ISCE_S1 can submit each processing step as a separate sbatch job. Per-step resource configuration via sbatch_options.json, editable in the GUI via Sbatch Options modal.
  • Job Folders subfolder browser: The Jobs drawer now lists both folders and files. Click any folder to navigate into it; click ↑ Up to return to the parent. Breadcrumb path shown in the header.
  • Cancel button for local processors: A Cancel button appears in the ISCE_S1 processor panel to terminate the running background process (local) or scancel all active SLURM jobs (HPC).
  • Refresh with per-command detail: ISCE_S1 refresh() now shows per-command status (cmd_NNNN RUNNING / SUCCEEDED / FAILED) for multi-command steps, matching the CLI output.

Bug Fixes

  • ISCE_S1 bbox not passed: Processor.create() was calling cls(cfg) which mapped the config to the pairs argument in ISCE_S1's two-argument constructor. Fixed by detecting pairs in the constructor signature via inspect.signature and using keyword arguments.
  • ISCE_SBAS diagnostic geocoding: avgPhaseVelocity.h5, numTriNonzeroIntAmbiguity.h5, and maskConnComp.h5 are now geocoded automatically after the geocode step. Existing radar-coordinate data is geocoded on demand in the render endpoint.
  • ISCE_SBAS timeseries filter: View Results now returns only geo/geo_timeseries*.h5 (geocoded) when present, not the radar-coordinate timeseries*.h5 files.
  • ISCE_SBAS .mintpy.cfg path: Analyzer route was writing .mintpy.cfg to the job folder root; ISCE_SBAS expects it at mintpy/.mintpy.cfg. Fixed by reading analyzer.cfg_path at runtime.
  • ISCE_S1 submit via GUI missing sbatch options: _run_folder_process now loads sbatch_options.json and calls processor.submit() directly for local processors, bypassing the HyP3-only SubmitCommand/SaveJobsCommand wrappers.
  • cmd index parsing crash: int() raised ValueError on malformed cmd_????.done/fail filenames. Fixed with a safe _idx() helper.
  • Job Folders empty workdir path traversal: An empty workdir in browse-subfolders resolved to CWD, allowing requests outside the workdir. Fixed with an early 400 response when workdir is not configured.
  • Job Folders has_children OSError: subfolder.iterdir() on restricted directories could raise OSError. Wrapped in try/except.

Full Changelog: v0.2.5...v0.3.0