ExecutionRegistry#

class hydromodpy.simulation.ExecutionRegistry(simulation_plan=None, process_runs_by_id=<factory>, models_by_run_id=<factory>, output_dirs_by_run_id=<factory>, lightweight=False, rng=None)[source]#

Bases: object

Execution-oriented metadata and produced model registry.

lightweight is set to True when the pipeline runs inside a calibration trial: in that mode steps 06/07 skip Zarr / Parquet / provenance writes and the solver output is kept in RAM for scoring only. The flag is False for normal hmp run and for promoted trials.

output_dirs_by_run_id mirrors models_by_run_id and records the raw solver output directory emitted by each run. Calibration metric extractors read the solver binaries (.hds / .cbc) directly from these paths without touching the catalog.

rng is the master RngManager for the simulation. Stochastic consumers derive their own deterministic Generator from rng.child_rng(label). It is None when no master seed is declared in [simulation]: each consumer then uses np.random.default_rng() with a fresh entropy source.

Field types are Any because core cannot import from sibling layers. simulation_plan, process_runs_by_id values, and models_by_run_id values are produced by the simulation and solver layers respectively.

Parameters: