top of page

Streamlining QC for Water Quality Monitoring with Python

We here at AquaRealTime are always interested in clear, clean data, and know our customers are too. We also know that the large volumes of data generated from in situ sensor networks can quickly become overwhelming, especially when dealing with multiple monitoring sites across watersheds. Ensuring data integrity through rigorous quality control is paramount, but manual processes are often time-intensive, error-prone, and lack reproducibility. We’ve found an interesting software tool to learn more about that provides a framework for simple and thorough quality control.

Developed as an open-source application, ODM Tools Python streamlines quality control workflows for continuous water quality sensor data. By combining robust data visualization, interactive editing capabilities, and automated scripting, it empowers water resource managers, researchers, and environmental agencies to efficiently validate and quality-control their monitoring data streams.

At its core, ODM Tools Python integrates with the Observations Data Model (ODM) – a standardized database schema designed for storing and managing point observation data like water quality measurements. This integration allows users to leverage the querying and manipulation capabilities of relational databases while benefiting from ODM Tools Python's specialized quality control toolset.

Visualizing water quality data is critical for identifying anomalies, sensor drift, fouling, and other potential issues that can impact data reliability. ODM Tools Python excels in this area, enabling users to simultaneously plot and compare multiple parameter time series, such as pH, dissolved oxygen, turbidity, and conductivity. This cross-variable visualization is invaluable for detecting inconsistencies and pinpointing sources of error that may stem from factors like adverse site conditions or instrument failures.

ODM Tools Python Graphical User Interface

Interactive data editing is another powerful aspect of ODM Tools Python's workflow. Through an intuitive graphical interface, users can apply filters to select specific data points or date ranges, delete erroneous values, interpolate missing records, and perform variable data corrections to account for sensor drift or fouling. Crucially, these edits are automatically recorded as executable Python scripts, ensuring a comprehensive audit trail that maintains the provenance of all quality control adjustments.

The scripted approach not only promotes transparency and reproducibility but also enables seamless collaboration. Quality control scripts can be easily shared among teams, reviewed by domain experts, and re-executed as needed, ensuring consistency in data processing workflows across different monitoring projects or organizational units.

Once the quality control process is complete, users can save the revised, quality-controlled data versions directly back to the ODM database. This preserves the original raw data while ensuring traceability of the quality control process, enabling downstream data consumers to access both the quality-controlled and raw datasets as needed.

In the realm of water quality monitoring, time is critical. With ODM Tools Python, organizations can streamline their quality control processes, minimizing manual effort and reducing the time required to generate reliable, analysis-ready data products. This not only enhances operational efficiency but also enables more timely decision-making, whether for identifying potential water contamination events, assessing compliance with regulatory standards, or implementing mitigation strategies.

As the importance of safeguarding water resources continues to grow, the need for robust and reliable water quality monitoring data has never been greater. ODM Tools Python provides a comprehensive solution, empowering organizations to ensure the integrity of their continuous sensor data streams, enabling informed, data-driven decision-making for sustainable water management

For a deeper dive into the applicability of ODM Tools Python to in situ environmental monitoring, check out this 2015 paper in Environmental Modeling and Software: Open source software for visualization and quality control of continuous hydrologic and water quality sensor data


bottom of page