[domain] DomainConfig#

TOML section: [domain]

Pydantic model: DomainConfig defined in hydromodpy.spatial.domain.domain_config.

Source on GitHub

Domain configuration.

Controls which zone providers are loaded in Domain.

Show fields:

Fields#

zone_ids

list[str] factory user source

Zone identifiers Domain.set_zone is allowed to register. It is an allowlist, not a request: nothing here causes a zone to be built. ā€˜catchment’ and ā€˜geology’ are appended by the runtime because the binders write under those fixed names, and every support id is appended too, so what belongs here is a project’s own zonations. Order is never read. Spatial-support declarations live under domain.supports.

supports in TOML: [domain.supports.<id>]

dict[str, GeneratedBandsSupportConfig | GeneratedRingsSupportConfig | CatchmentZonesSupportConfig | GeologySupportConfig] factory user source

Named spatial supports available to heterogeneous parameters. Each key is a support identifier referenced by field_spatial_id.

Fields of GeneratedBandsSupportConfig
kind

Literal[ā€˜generated_bands’] required user source

axis

str default = ā€œxā€ user source

One of: "x" "y"

coordinate_mode

str default = ā€œrelativeā€ dev source

One of: "relative" "absolute"

breaks

list[float | str] factory user source

Ordered break coordinates delimiting consecutive bands. With coordinate_mode=’relative’, values are fractions in ]0,1[. With coordinate_mode=’absolute’, values are converted to metres.

labels

list[str] factory user source

Ordered band labels. Length must be len(breaks)+1.

default_cell_samples_per_axis

int default = 8 dev source

Sub-sampling resolution per cell axis used when rasterizing band masks.

Fields of GeneratedRingsSupportConfig
kind

Literal[ā€˜generated_rings’] required user source

coordinate_mode

str default = ā€œrelativeā€ dev source

One of: "relative" "absolute"

radii

list[float | str] factory user source

Ordered ring radii delimiting consecutive concentric zones. With coordinate_mode=’relative’, values are fractions in ]0,1[ of the largest inscribed circle around the chosen center. With coordinate_mode=’absolute’, values are converted to metres.

labels

list[str] factory user source

Ordered ring labels. Length must be len(radii)+1.

center_x

Optional[float] default = None dev source

Optional x coordinate of the ring center (projected metres). Defaults to the domain midpoint. Accepts inline units, e.g. ā€˜500 m’.

center_y

Optional[float] default = None dev source

Optional y coordinate of the ring center (projected metres). Defaults to the domain midpoint. Accepts inline units.

default_cell_samples_per_axis

int default = 8 dev source

Sub-sampling resolution per cell axis used when rasterizing ring masks.

Fields of CatchmentZonesSupportConfig
kind

Literal[ā€˜catchment_zones’] required user source

source_zone_id

str default = ā€œcatchmentā€ user source

Domain zone id providing the source catchment zonation.

default_cell_samples_per_axis

int default = 8 dev source

Sub-sampling resolution per cell axis used when rasterizing zone masks.

Fields of GeologySupportConfig
kind

Literal[ā€˜geology’] required user source

depth_model in TOML: [domain.depth_model]

kind = ā€œconstant_thicknessā€ | ā€œflat_substratumā€ factory user source

Vertical domain model configuration. Use ā€˜constant_thickness’ or ā€˜flat_substratum’.

Pick a tab below: setting kind selects the matching schema.

TOML: [domain.depth_model] with kind = "constant_thickness" – model ConstantThicknessDepthModel.

thickness

float default = 50.0 user source

Constant aquifer thickness applied below topography (canonical metres). Accepts inline units, e.g. ā€˜0.2 km’.

TOML: [domain.depth_model] with kind = "flat_substratum" – model FlatSubstratumDepthModel.

substratum_elevation

float default = 0.0 user source

Flat substratum elevation applied over the full domain (canonical metres). Accepts inline units, e.g. ā€˜40 m’. This is an ABSOLUTE elevation, not a depth below topography: where the land surface drops under it, no aquifer is left. Use ā€˜constant_thickness’ to follow the relief instead.

Starter TOML snippet#

Click to expand a copy-pasteable [domain] TOML skeleton

Copy this block into your project.toml and uncomment the lines you want to set. Sub-tables ([parent.subfield]) appear in the order Pydantic expects them.

[domain]
# zone_ids = ...  # uses factory default
# [domain.supports.<id>]

[domain.depth_model]
# kind = "constant_thickness"
# thickness = 50.0

Cases using this section#

Validation gallery cases that reference fields from this section:

Entity-relationship diagram#

ER diagram for DomainConfig

Click to zoom and pan. Press Esc or click outside to close.