openKARST: A novel open-source flow simulator for karst systems
Jannes Kordilla, Marco Dentz, Juan J. Hidalgo
TL;DR
The paper presents openKARST, a Python-based, open-source solver for fully transient conduit-flow in karst networks by solving the dynamic Saint-Venant equations for both free-surface and pressurized regimes. It combines a Preissmann slot mechanism with Churchill's friction formulation to enable smooth transitions across flow states and Reynolds regimes, while employing Crank-Nicholson and backward-Euler time integration with an adaptive timestep strategy. The approach is validated against analytical benchmarks and laboratory data, and demonstrated on a large-scale Ox Bel Ha cave network to illustrate scalability and the ability to capture rapid recharge and discharge dynamics. This tool advances karst hydrology by enabling high-resolution, transient simulations of complex conduit networks and lays groundwork for future coupling with matrix flow and solute transport analyses.
Abstract
We introduce the open-source Python-based code openKARST for flow in karst conduit networks. Flow and transport in complex karst systems remain a challenging area of hydrogeological research due to the heterogeneous nature of conduit networks. Flow regimes in these systems are highly dynamic, with transitions from free-surface to fully pressurized and laminar to turbulent flow conditions and Reynolds numbers often exceeding one million. These transitions can occur simultaneously within a network, depending on conduit roughness properties and diameter distributions. openKARST solves the transient dynamic wave equation using an iterative scheme and is optimized through an efficient vectorized structure. Transitions from free-surface to pressurized flows in smooth and rough circular conduits are realized via a Preissmann slot approach in combination with an implementation of the Darcy--Weisbach and Manning equations to compute friction losses. To mitigate numerical fluctuations commonly encountered in the Colebrook--White equation, the dynamic switching from laminar to turbulent flows is modeled with a continuous Churchill formulation for the friction factor computation. openKARST supports common boundary conditions encountered in karst systems, as and includes functionalities for network import, export and visualization. The code is verified via comparison against several analytical solutions and validated against a laboratory experiment. Finally, we demonstrate the application of openKARST by simulating a synthetic recharge event in one of the largest explored karst networks, the Ox Bel Ha system in Mexico.
