hydromodpy.results.catalog.writes#

Per-simulation write operations.

WritesMixin is a thin facade that composes three concern mixins:

  • hydromodpy.results.catalog.writes_duckdb.WritesMixinDuckDB: parameters, metrics, stations, scientific objectives, run environment, geographic metadata, provenance, and tracked-input registration.

  • hydromodpy.results.catalog.writes_parquet.WritesMixinParquet: timeseries, observations, budgets, mass balance and GeoParquet writes, plus the shared _write_parquet_records plumbing.

  • hydromodpy.results.catalog.writes_zarr.WritesMixinZarr: field, time, CRS, mesh and geographic raster writes.

Shared helpers live in hydromodpy.results.catalog.writes_helpers. register_simulation lives in hydromodpy.results.catalog.registration.

In v2 every Parquet payload is built as a pyarrow.Table matching one of the schemas in hydromodpy.results.parquet_schemas, then dispatched to hydromodpy.results.parquet_io.write_table_atomic(). The legacy DuckDB COPY ... (FORMAT PARQUET) path is gone.

Classes

WritesMixin()

Mutating operations for SimulationCatalog.