Issue 4, 2022

AbspectroscoPY, a Python toolbox for absorbance-based sensor data in water quality monitoring


The long-term trend of increasing natural organic matter (NOM) in boreal and north European surface waters represents an economic and environmental challenge for drinking water treatment plants (DWTPs). High-frequency measurements from absorbance-based online spectrophotometers are often used in modern DWTPs to measure the chromophoric fraction of dissolved organic matter (CDOM) over time. These data contain valuable information that can be used to optimise NOM removal at various stages of treatment and/or diagnose the causes of underperformance at the DWTP. However, automated monitoring systems generate large datasets that need careful preprocessing, followed by variable selection and signal processing before interpretation. In this work we introduce AbspectroscoPY (“Absorbance spectroscopic analysis in Python”), a Python toolbox for processing time-series datasets collected by in situ spectrophotometers. The toolbox addresses some of the main challenges in data preprocessing by handling duplicates, systematic time shifts, baseline corrections and outliers. It contains automated functions to compute a range of spectral metrics for the time-series data, including absorbance ratios, exponential fits, slope ratios and spectral slope curves. To demonstrate its utility, AbspectroscoPY was applied to 15-month datasets from three online spectrophotometers in a drinking water treatment plant. Despite only small variations in surface water quality over the time period, variability in the spectrophotometric profiles of treated water could be identified, quantified and related to lake turnover or operational changes in the DWTP. This toolbox represents a step toward automated early warning systems for detecting and responding to potential threats to treatment performance caused by rapid changes in incoming water quality.

Graphical abstract: AbspectroscoPY, a Python toolbox for absorbance-based sensor data in water quality monitoring

Supplementary files

Article information

Article type
16 Jun 2021
16 Feb 2022
First published
23 Feb 2022
This article is Open Access
Creative Commons BY license

Environ. Sci.: Water Res. Technol., 2022,8, 836-848

AbspectroscoPY, a Python toolbox for absorbance-based sensor data in water quality monitoring

C. Cascone, K. R. Murphy, H. Markensten, J. S. Kern, C. Schleich, A. Keucken and S. J. Köhler, Environ. Sci.: Water Res. Technol., 2022, 8, 836 DOI: 10.1039/D1EW00416F

This article is licensed under a Creative Commons Attribution 3.0 Unported Licence. You can use material from this article in other publications without requesting further permissions from the RSC, provided that the correct acknowledgement is given.

Read more about how to correctly acknowledge RSC content.

Social activity