Computing water flow through complex landscapes - Part 3: Fill-Spill-Merge: Flow routing in depression hierarchies

Richard Barnes, Kerry L Callaghan, Andrew D. Wickert

Research output: Contribution to journalArticlepeer-review

9 Scopus citations

Abstract

Depressions - inwardly draining regions - are common to many landscapes. When there is sufficient moisture, depressions take the form of lakes and wetlands; otherwise, they may be dry. Hydrological flow models used in geomorphology, hydrology, planetary science, soil and water conservation, and other fields often eliminate depressions through filling or breaching; however, this can produce unrealistic results. Models that retain depressions, on the other hand, are often undesirably expensive to run. In previous work we began to address this by developing a depression hierarchy data structure to capture the full topographic complexity of depressions in a region. Here, we extend this work by presenting the Fill-Spill-Merge algorithm that utilizes our depression hierarchy data structure to rapidly process and distribute runoff. Runoff fills depressions, which then overflow and spill into their neighbors. If both a depression and its neighbor fill, they merge. We provide a detailed explanation of the algorithm and results from two sample study areas. In these case studies, the algorithm runs 90-2600 times faster (with a reduction in compute time of 2000-63 000 times) than the commonly used Jacobi iteration and produces a more accurate output. Complete, well-commented, open-source code with 97 % test coverage is available on GitHub and Zenodo.

Original languageEnglish (US)
Article number7
Pages (from-to)105-121
Number of pages17
JournalEarth Surface Dynamics
Volume9
Issue number1
DOIs
StatePublished - Mar 2 2021

Bibliographical note

Publisher Copyright:
© Author(s) 2021.

Fingerprint

Dive into the research topics of 'Computing water flow through complex landscapes - Part 3: Fill-Spill-Merge: Flow routing in depression hierarchies'. Together they form a unique fingerprint.

Cite this