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 with labels from 0, … ,number of locations - 1. 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