How can we use tracers to learn something about the volume of storage in a control volume (like a catchment, stream reach, or something else)?
Tracers are an extremely useful tool for understanding flows through complicated systems. But once you've collected your tracer data, how can you analyze it in a way that will provide you with the most information?
One approach is to use StorAge Selection functions. This approach allows for time-variable input and output fluxes, and can even be used when the flow paths through the system are changing in time.
This module provides an introduction to the theory of StorAge Selection (SAS), and its application to the interpretation of tracer observations. The course is intended for scientists who collect timeseries of tracer data, and want to extract from that data an understanding of storage and transport dynamics.
This course is intended to give participants a hands-on introduction to SAS. A Python module (mesas.py) will be used throughout to illustrate the ideas, and how to apply them to data. This module runs in a Jupyter notebook, and can be installed with a single command. It may be most convenient to run this on the CUAHSI JupyterHub. Instructions for doing so are provided. In each section of the course, the main ideas will first be introduced qualitatively, then through some hands-on examples using mesas.py, and finally through more rigorous mathematical derivations.
Some calculus is needed to follow the mathematical derivations, and a little differential equations where we seek analytical solutions. However much of the conceptual and applied material should be accessible to those with only the equivalent of Calc I.
Some familiarity with Python is assumed, but anyone with a working knowledge of any coding language (particularly MATLAB or R) should be able to muddle through. Most of the time, code is provided here in the course, and can simply be copied and pasted into a Python script or Jupyter notebook.
By the end of this module, participants will gain an intuitive understanding of the SAS approach, the ability to apply their knowledge to tracer data using the Python package mesas.py, and a familiarity with the underlying mathematical framework. Put another way, by the end of this module:
- you will be able to explain the conceptual basis of SAS analysis
- you will be able to apply SAS analysis to synthetic and real tracer datasets
- you will be able to analyze the results to gain insight about systems
- you will be able to evaluate different options for SAS analysis
Ciaran J. Harman
Dr Ciaran J. Harman is Associate Professor and Russell Croft Faculty Scholar in the Department of Environmental Health and Engineering, a joint department in the Whiting School of Engineering and the Bloomberg School of Public Health at Johns Hopkins University, and holds a joint appointment in Earth and Planetary Science in the Krieger School of Arts and Sciences. Dr Harman's research address fundamental questions about physical, biological and chemical processes controlling, and controlled by, the movement of water through the landscape.
charman1 -at- jhu -dot- edu
The material is targeted at students who have collected tracer data and would like to use SAS to interpret it. These may be undergraduate or graduate students, postdocs, or professors.
Course Sharing and Adaptation
This course is available for export by clicking the "Export Link" at the top right of this page.
If you are an Instructor seeking the answer keys, please contact the course creator using your official University email account.
It is expected that the material can be completed in around 20 hours for those who seek a deep understanding.
Harman, C. J., (2020) StorAge Selection (SAS) and mesas.py : A gentle introduction. HydroLearn. https://edx.hydrolearn.org/courses/course-v1:JHU+570.412+Sp2020/about