Catchment delineation¶
A common task in hydrology is identifying the catchment area for a given point in a river network. Catchment delineation determines the area that drains into a specific outlet point.
In earthkit-hydro, you specify start locations and label all nodes flowing towards those locations. If start locations belong to the same catchment, the node furthest downstream takes priority and overwrites any upstream start locations.
import earthkit.hydro as ekh
network = ekh.river_network.load("efas", "5")
labelled_field = ekh.catchments.find(network, locations)
Subcatchments¶
Subcatchments can be found by setting overwrite=False, which preserves all subcatchment boundaries rather than letting downstream outlets overwrite upstream ones.
labelled_field = ekh.catchments.find(
network,
locations,
overwrite=False
)
See also¶
Catchment delineation — Tutorial walkthrough
Catchment concepts — Catchment concepts explained
Specifying locations — How to specify outlet locations
Catchment statistics — Compute statistics over catchments
earthkit.hydro.catchments — API reference