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.

../_images/catchment.gif

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.

../_images/subcatchment.gif
labelled_field = ekh.catchments.find(
    network,
    locations,
    overwrite=False
)

See also