Domain#
- class hydromodpy.spatial.Domain(config=None, *, surface_topo)[source]#
Bases:
objectDomain object holding geometry and thematic zones.
Responsibilities#
store the topographic surface support of the domain,
build the lower surface (substratum) from depth_model,
keep a lightweight georeferencing mapping for legacy consumers,
store declared thematic zones (such as geology) once they are built outside.
Main public attributes#
surface_topo
substratum
zones
georeferencing
- param config:
- type config:
- param surface_topo:
- type surface_topo:
- property z_interfaces: ndarray#
Scalar layer interfaces derived from topography and depth model.
For a single-layer aquifer the returned array is
[top, bottom]where both values are the mean elevation of the corresponding surface. Raises if substratum has not been built or carries NaN everywhere.
- set_zone(zone_id, zone_obj)[source]#
Register one externally-built zone object inside the domain.
Domain no longer constructs thematic zones itself. The caller builds them explicitly (for example a GeologyField) and stores them here under one declared zone_id.
- resolve_spatial_support(support_id)[source]#
Resolve one spatial support from zone id or field identifier.
The launcher stores heterogeneous supports in
Domain.zonesunder a semantic zone key (for example"geology"), while field parameters reference the support throughfield_spatial_id(for example"field_geology"). This method bridges both naming schemes.