StormReactor: An open-source Python package for the integrated modeling of urban water quality and water balance. (November 2021) - Mason, Brooke E.; Mullapudi, Abhiram; Kerkez, Branko
Abstract: Retrofitting watersheds with sensing and control technologies promises to enable autonomous water systems, which control themselves in real-time to improve water quality. To realize this vision, there is a need to improve the degree of fidelity in the underlying representation of pollutant processes. This paper presents an open-source Python package, StormReactor, which integrates the Stormwater Management Model's water balance engine with a new water quality module. StormReactor includes a variety of predefined pollutant generation and treatment processes, while allowing users to implement additional processes on their own. To demonstrate the range of possible water quality methodologies that can be modeled, we simulated suspended solids and nitrates in a real and anonymized stormwater network. To illustrate StormReactor 's real-time control capabilities, a control strategy was implemented to maximize denitrification. Case study results indicate a controlled asset can achieve the same pollutant improvements as an uncontrolled asset in a quarter of the spatial footprint. Graphical abstract: Image 1 Highlights: StormReactor is a new Python programming interface for simulating pollutants in SWMM. StormReactor enables modeling pollutant generation processes, like erosion in SWMM. StormReactor is customizable and requires only a few lines of Python code.