DataPlanner#

class hydromodpy.data.DataPlanner[source]#

Bases: object

Infer the active data-manager families for one run.

The planner starts from DataManagersConfig.types and appends dependencies implied by domain supports or flow boundary conditions. The output is deterministic and carries human-readable reasons for inferred families.

build(config, *, domain_zone_ids=None, domain_support_provider_names=None, requested_spatial_support_ids=None, raw_toml=None, flow_active_bc=None)[source]#

Resolve data-manager types from explicit and inferred declarations.

Return type:

DataLoadPlan

Parameters:

Parameters#

config:

Validated declarative data config (data.types, nested sections).

domain_zone_ids:

Normalized domain.zone_ids list used for zone-driven inference.

domain_support_provider_names:

Provider names declared in domain.supports, used to infer data dependencies from explicit support declarations.

requested_spatial_support_ids:

Spatial support ids actually referenced by heterogeneous parameters. When provided, geology is inferred only if at least one support is requested.

raw_toml:

Raw untyped TOML dictionary used for custom-section inference (for example custom hook payloads).

flow_active_bc:

Validated flow.active_bc list used for boundary-condition-driven inference (stream/ocean).

param config:

type config:

DataManagersConfig

param domain_zone_ids:

type domain_zone_ids:

Sequence[str] | None

param domain_support_provider_names:

type domain_support_provider_names:

Sequence[str] | None

param requested_spatial_support_ids:

type requested_spatial_support_ids:

Sequence[str] | None

param raw_toml:

type raw_toml:

Mapping[str, Any] | None

param flow_active_bc:

type flow_active_bc:

Sequence[str] | None