CalibrationReport#

class hydromodpy.calibration.CalibrationReport(session_id, method, n_iterations, best_objective, best_sim_id, duration_s, save_runs, promoted, best_parameters=None, parameter_uncertainty=(), workspace=None, extra=<factory>, store_factory=None)[source]#

Bases: object

Structured summary of one calibration session.

Returned by Project.calibrate and by the run_calibration_cli helper (both keep a to_dict shim so existing callers keep working).

Attributes#

session_id

UUID (hex) of the calibration session in the catalog.

method

Optimizer method name (e.g. "optuna").

n_iterations

Number of iterations actually run (could be < max_iter if the optimizer converged).

best_objective

Best (minimum) objective value achieved.

best_sim_id

UUID of the promoted best run when save_runs != "none", otherwise None.

best_parameters

Physical values of the best candidate, keyed by calibrated parameter name. None when no candidate was evaluated. A staged calibration reads it to freeze what a phase calibrated.

duration_s

Wall-clock duration of the calibration loop in seconds.

save_runs

The save_runs mode used ("none", "best_n" or "all").

promoted

Count of iterations promoted to full simulations after the loop.

workspace

Workspace root the session was written to.

extra

Free-form metadata (callers may attach anything extra here).

param session_id:

type session_id:

str

param method:

type method:

str

param n_iterations:

type n_iterations:

int

param best_objective:

type best_objective:

float | None

param best_sim_id:

type best_sim_id:

str | None

param duration_s:

type duration_s:

float

param save_runs:

type save_runs:

str

param promoted:

type promoted:

int

param best_parameters:

type best_parameters:

dict[str, float] | None

param parameter_uncertainty:

type parameter_uncertainty:

tuple[Any, ...]

param workspace:

type workspace:

Path | None

param extra:

type extra:

dict[str, Any]

param store_factory:

type store_factory:

Callable[[Path], Any] | None

parameter_uncertainty: tuple[Any, ...] = ()#

Width beside each calibrated value, when the file asked for one.

Empty unless [calibration.uncertainty] declared a method that produces it. The values themselves are in best_parameters and are never touched by it.

property iterations#

Return the iteration history as a pandas.DataFrame.

Loads lazily through the configured calibration store.

property best#

Return the best promoted Run or None.

to_dict()[source]#

Return a JSON-friendly summary matching the legacy CLI output.

Return type:

dict[str, Any]

Parameters: