hydromodpy.workflow.internals.derived#

Derived-field registry for the pipeline derive step.

Derived fields (watertable elevation/depth, seepage mask, cell-averaged fluxes) are computed from primary solver outputs already persisted in the Zarr store (head, budget, mesh). This module exposes:

  • DerivedComputation - a Protocol that any derivation must implement. A computation declares its output name, its required input fields, an optional set of upstream derivations, and a compute method.

  • DerivedRegistry - an ordered registry of computations with register, get, list, and an apply helper that honours topological order and skips entries whose inputs are missing.

  • registry - the module-level singleton pre-populated with the canonical derivations (watertable elevation/depth, seepage mask, cell-averaged fluxes).

Heavy solver-specific post-processing (flopy multilayer water-table, whitebox drain routing) stays in hydromodpy.simulation.extraction.derivation.derived. This registry provides the portable, pure-Python derivations that the canonical DeriveStep consumes; the two paths cooperate without duplicating.

Classes

DerivedComputation(*args, **kwargs)

Contract for a derived-field computation.

DerivedRegistry([_entries])

Ordered registry of DerivedComputation objects.

DerivedResult(name, status[, reason])

Outcome of a single derived computation run.