hydromodpy.calibration#

Calibration sub-system.

Public surface:
  • CalibrationEngine: the orchestrator

  • Optimizer / Objective / Evaluator: Protocol contracts

  • Calibrable: Pydantic-field annotation marking a calibrable parameter

  • discover_calibrable: auto-discover calibrable fields in a config tree

  • build_optimizer: adapter registry lookup

Modules

adapters

Optimizer adapters: scipy, optuna, grid.

cache

Content-addressable calibration cache.

cases

Reference calibration cases ported from the legacy analysis module.

cli_runner

CLI entry point hmp calibrate <calibration.toml>.

config

Pydantic model for the [calibration] TOML section.

diagnostics

Lightweight diagnostics helpers for calibration iteration traces.

engine

CalibrationEngine - orchestrates an ask/tell loop.

lumped

Lumped catchment models used as calibration targets.

materialize

Materialise a self-contained TOML overlay for one calibration candidate.

method_config

Discriminated union for the calibration method + optimizer kwargs.

metrics

RAM metric extraction for lightweight calibration trials.

natural_observations

Natural-observation helpers for network/discharge calibration.

network_transient_truth

Truth-package helpers for network/transient calibration prototypes.

objective

Objective Protocol - computes a cost from observed vs simulated data.

objective_mapping

Parse evaluated objective points from calibration iteration histories.

optimizer

Optimizer Protocol and registry.

parameters

Calibrable parameters: annotations, space, transforms, discovery.

persistence

DuckDB persistence for calibration sessions and iterations.

programmatic_runner

Programmatic entry point hmp.calibrate(project, cfg).

promotion

Top-N promotion of calibration trials.

report

Calibration session data structures and loaders.

reporting

Reusable calibration report builders.

runners

Calibration runners (trial drivers) layer.

state

Shared state primitives reused by both calibration runners.