analysis#

hydromodpy.analysis groups the cross-run analytical workflows that consume the catalog: shared-case simulation comparison and controlled testbed variants (including the regional_lab profile). HTML composites built on top of these features now live in hydromodpy.reporting.

Sub-modules#

  • analysis/comparison/ – pairwise and N-way simulation comparison. Computes diff and stability metrics, renders maps and series, and feeds the reporting/comparison HTML composite.

  • analysis/testbed/ – controlled-variant matrix (mesh / flow). Generates child overlay configs, runs them, and collects evidence (plan, cases, metrics CSV). Hosts the regional_lab profile that plans multi-site campaigns.

  • analysis/capability_gallery.py – gallery rendering helpers.

  • analysis/catalog.py – catalog-side analysis helpers.

  • analysis/config.py – AnalysisConfig Pydantic root for the [analysis] TOML section (analysis.capability_gallery, analysis.comparison, analysis.testbed).

Workflow placement#

Each analysis subsystem is reachable through:

  • The CLI: hmp run dispatches on [workflow].mode = "comparison" or "testbed" and routes to the matching launcher under analysis/. Regional campaigns use "testbed" with [testbed].profile = "regional_lab".

  • The Python facade: hmp.run(toml) with [workflow].mode = "comparison" or "testbed".

  • Direct primitives under analysis/<subsystem>/ for embedding inside another analysis loop.

Key public symbols#

  • hydromodpy.analysis.comparison.{audit, dispatch, child_materialization, reporting}

  • hydromodpy.analysis.testbed.{pipeline, profiles, regional_lab}

  • hydromodpy.analysis.config.AnalysisConfig

Layer-matrix neighbours#

  • Allowed targets: core, schema, physics, data, results, display, analysis.

  • Documented tolerance: analysis -> reporting while the comparison launcher writes the final HTML report.

  • Allowed sources: workflow, reporting, project and cli.

See also#