An online self-directed course and python module for StorAge Selection (SAS) modeling of tracer transport through time-variable hydrodynamic systems

Tuesday, 8 December 2020: 07:34
Ciaran J Harman, Johns Hopkins University, Environmental Health and Engineering, Baltimore, MD, United States
StorAge Selection functions offer considerable advantages over traditional approaches based on transit time distributions for interpreting tracer data in lumped systems. Despite this, published work using SAS functions has been limited to a relatively small group of researchers, while others continue to use older methods. Reasons often given for doing so include that the SAS approach is too difficult to implement, data-hungry, or hard to understand – though, arguably, none of these are the case.

There is a clear need for easy-to-use tools and associated pedagogical material to support researchers interested in applying SAS to their tracer data. Here I will present the mesas.py python module, and an associated self-directed learning module on the HydroLearn platform: “StorAge Selection (SAS) and mesas.py: a gentle introduction”.

The mesas.py module has been packaged in Conda using Conda-Forge and can be easily installed on Windows, Mac and Linux systems with a single command, or installed by the user on the CUAHSI JupyterHub platform. Installations can also be easily updated as the module grows and matures. The module allows users to specify SAS functions using any probability distribution implemented in SciPy, or as a custom piecewise-linear function. Timeseries inputs and outputs are handled with Pandas. Visualization utilities are provided to assist the user in interpreting the results.

The HydroLearn SAS course is designed for an audience that prefers to understand intuitively, visually, and through examples before diving into rigorous derivations and proofs. Most fundamental concepts are explained using the visual analogy of the ‘transport column’. This visual interpretation of SAS functions is also used in learning activities, as mesas.py comes equipped with tools to construct static and animated visualizations of the transport column from model outputs. Real-world data sets of active (salt slug in a stream) and passive (meteoric chloride in a watershed) tracer observations are provided, and students are walked step-by-step through the process of inferring SAS functions for these data. The course can be taken as-is or adapted and customized by educators as a module for their own course.