v0.3.0
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
stackSentinellocally. 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
stackSentineloutputs.prep_data()auto-discovers interferogram, geometry, baseline, and metadata paths; MintPy outputs written tomintpy/subdirectory. - HPC mode (SLURM): ISCE_S1 can submit each processing step as a separate
sbatchjob. Per-step resource configuration viasbatch_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
scancelall 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 callingcls(cfg)which mapped the config to thepairsargument in ISCE_S1's two-argument constructor. Fixed by detectingpairsin the constructor signature viainspect.signatureand using keyword arguments. - ISCE_SBAS diagnostic geocoding:
avgPhaseVelocity.h5,numTriNonzeroIntAmbiguity.h5, andmaskConnComp.h5are now geocoded automatically after thegeocodestep. 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-coordinatetimeseries*.h5files. - ISCE_SBAS
.mintpy.cfgpath: Analyzer route was writing.mintpy.cfgto the job folder root; ISCE_SBAS expects it atmintpy/.mintpy.cfg. Fixed by readinganalyzer.cfg_pathat runtime. - ISCE_S1 submit via GUI missing sbatch options:
_run_folder_processnow loadssbatch_options.jsonand callsprocessor.submit()directly for local processors, bypassing the HyP3-onlySubmitCommand/SaveJobsCommandwrappers. - cmd index parsing crash:
int()raisedValueErroron malformedcmd_????.done/failfilenames. Fixed with a safe_idx()helper. - Job Folders empty workdir path traversal: An empty workdir in
browse-subfoldersresolved to CWD, allowing requests outside the workdir. Fixed with an early 400 response when workdir is not configured. - Job Folders
has_childrenOSError:subfolder.iterdir()on restricted directories could raiseOSError. Wrapped intry/except.
Full Changelog: v0.2.5...v0.3.0