Projects > river.watch
Modules Used


type: citizen science access: public license: proprietary feature: campaign/form builder

river.watch is an online repository of citizen science and water quality data from a number of environmental monitoring organizations in Minnesota, including the Red River Basin River Watch and the St. Louis River River Watch. Each River Watch team (typically based at a high school) is assigned to nearby stream sites which they visit several times throughout the year. Some teams collect macroinvertebrates, others measure chemistry data using an electronic probe (sonde), and others do both.

The river.watch site allows participating trained volunteers to directly enter their monitoring data via the web or by uploading an Excel spreadsheet. To promote use of the collected data (by third parties as well as those who collected it), the river.watch site provides extensive interactive analysis tools, including maps, time series charts, box plot charts, and tables. Most of the tools also provide export features (for use with existing software like Excel and Google Earth), and all are available to the public.

Implementation Notes

river.watch is heavily integrated with (and directly informed the design of) wq.db, in particular the various EAV-style design patterns. The identify pattern is used to track site and project identifiers across river.watch and third party databases (such as the Minnesota Pollution Control Agency). The relate pattern is used to track a number of inter-relationships, such as which sites are upstream/downstream from each other, and who is responsible for monitoring each site. The interactive charting tools (time series and boxplots) are powered by Django REST Pandas and the wq/chart.js library, while wq/map.js powers the interactive maps.

At the core of the river.watch database is the ERAV data model provided by vera, which is used together with the Django Data Wizard to facilitate the import of data from spreadsheets and sync with third party monitoring networks like CoCoRaHS. The flexible data model provided by vera also makes it possible to define project-specific data entry forms without any programming effort (e.g. the "campaign/form builder" approach).


Project Teams About Page Map 1 Map 2 Map 3 Site Detail Time Series Boxplot Use Support Map Data Import - Columns Data Import - Overview Data Import - Progress Bar Habitat Data Entry Macroinvertebrate Data Entry