Skip to content

v0.8.4

Choose a tag to compare

@DarriEy DarriEy released this 26 May 13:14
· 235 commits to main since this release

What's New in v0.8.4

Features

Parallel Execution

  • Add configurable SUMMA parallel backend (local / slurm) with automatic fallback when SLURM is unavailable (#121)
  • Add intra-iteration parallel GRU execution for SUMMA calibration (#118)
  • Add local ThreadPoolExecutor backend as alternative to SLURM for parallel SUMMA runs

Routing & Model Integration

  • Add mizuRoute routing support for ngen SAC-SMA and TOPMODEL modules (#117)
  • Add SUMMA+mizuRoute glacier configuration for Iceland national model
  • Route mizuRoute final-evaluation output into the correct output tree (#119, #122)
  • Allow log transforms on SUMMA calibration parameter bounds via config-level overrides (#122)

Calibration & Optimization

  • Generalize multi-gauge calibration infrastructure for HYPE, FUSE, and SUMMA
  • Add SCE-UA contraction step and per-complex parallelization strategy (#110)
  • Add option to specify initial guess for optimizer (#114)
  • Improve regionalization transfer function attribute mappings for SUMMA and HYPE (#113)

Data & Attributes

  • Add ATTRIBUTE_PROFILE config with CAMELS-SPAT and full profile presets (#108, #109)
  • Add glacier fraction to climate statistics and HYPE regionalization
  • Add glacier_fraction column to HYPE GeoData.txt

Infrastructure

  • Add Docker Compose file and per-method install Dockerfiles for validation
  • Add CI lint guards to pre-commit hooks

Bug Fixes

SUMMA

  • Enforce k_macropore >= k_soil physical constraint
  • Guard empty time dimension in worker time precision fix
  • Tighten parameter bounds to prevent SIGSEGV crashes
  • Resolve mizuRoute output path in final evaluation

HYPE

  • Align Pobs subbasin IDs with GeoData +1 shift
  • Use coastal basins for GeoData + disable readobsid for multi-gauge
  • Include all IGBP attributes in land-use regionalization loader

Calibration

  • Fix async-DDS: NUMBER_OF_ITERATIONS now means total batches, not per-process target (#116)
  • SCE-UA: CCE always accepts random point if reflection and contraction both fail
  • Fix number_of_evolution_steps config returning None instead of falling through to default

Other

  • Filter forcing files by dataset name to prevent grid mismatch
  • Fix ngen Snow-17 BMI library filename; stop SLoTH sub-build from falsely failing
  • Fix FUSE: use equal-area projection (EPSG:6933) for catchment area calculation
  • Docker: pin GDAL Python bindings, align apt lists across install methods

Performance

  • Vectorize climate statistics computation across all HRUs

Workshop & Examples

  • Revised Logan River workshop notebooks for lumped HBV, SUMMA, async-DDS, and distributed workflows
  • Add /tmp redirect and emergency fallback to 04a notebook for environments with limited disk
  • Corrected Bow at Banff bounding box in lumped config example

Contributors