1 Introduction

Utilities are required to monitor drinking water quality throughout the distribution system to ensure public health. Monitoring is almost entirely done through manual sampling, where an operator drives to several points of the system, grabs a sample, and analyzes in-situ for safety parameters (usually residual disinfectant and turbidity). These efforts to monitor miles worth of distribution systems are not only costly in terms of time and money, but also come at the cost of missing important measurable water quality dynamics throughout the system. There is an opportunity to introduce technology to increase the monitoring capabilities of utilities so they can continue to provide safe, treated, quality drinking water. Technological advancements in sensors, microcontrollers, communication networks, and computing power laid way to the movement called Internet of Things (IoT). Now deployed wireless sensor networks are increasingly being used to study infrastructure and natural systems at spatial and temporal resolutions never captured before. Wireless sensor networks therefore are the perfect tool to monitor drinking water systems, however, these tools do not exist. In this project wireless sensor nodes were designed, built, and deployed in two full scale systems. ORP probes were used as a proxy measurement to residual disinfectant, conductivity, pH, pressure, and temperature were also measured. Results from the deployment highlight the importance of increased spatio-temporal resolution monitoring of drinking water systems by capturing both isolated and system-wide events. Additionally, the deployed network captured dynamics experienced in intermittent systems never captured before at this resolution.

1.1 Maps

2 Load and prepare the data

Here we load and convert the X character to a datetime that can be plotted as a timeseries.

2.1 Brushed Data Points Removal. ORP Only

2.2 Data Collection Interruption

To account for interruption windows, i.e. when data was not collected, we must insert NA’s into the data set to prevent a continuous line from being plotted. For this, select a minimum interval between readings, let’s say 1 hour in between data points.

Design a function that will add a column with a category number. This category will split the data between data interruption segments.

2.3 Tagging each node with a Pressure District Label

2.4 Cumulative Summary Statistics of Signals

2.5 Cumulative statistics per pressure district

##       Node Parameter PressureDistrict      Min       Mean      Max       StdDev
## 1   SKY001        pH        Northeast    8.290   9.217264    9.371   0.19026183
## 11  SKY003        pH             West    9.594   9.658644    9.743   0.03082833
## 14  SKY004        pH          Gravity    6.094   9.393231    9.474   0.17824547
## 20  SKY005        pH           Geddes    4.201   9.489372    9.742   0.29759273
## 24  SKY006        pH           Geddes    9.712   9.825072    9.945   0.03910774
## 28  SKY007        pH           Geddes    6.051   9.478464    9.604   0.19014319
## 29  SKY008        pH        Northeast    9.665   9.967322   10.205   0.10577338
## 46  SKY013        pH          Gravity    8.486   9.505233    9.828   0.21869799
## 50  SKY014        pH          Gravity    6.038   9.258250    9.571   0.22285468
## 54  SKY015        pH          Gravity    6.492   9.302664    9.526   0.22744862
## 12  SKY001  pressure        Northeast    0.000  24.035905   93.280  33.66786532
## 111 SKY003  pressure             West   72.250  88.047112   95.110   1.81735637
## 141 SKY004  pressure          Gravity    0.000  55.244073   70.780  19.78736081
## 201 SKY005  pressure           Geddes    0.000  69.259271   89.080   6.62812279
## 241 SKY006  pressure           Geddes   35.980  72.981423   86.200   5.14969154
## 281 SKY007  pressure           Geddes    0.000  49.766494   59.440   5.08605753
## 291 SKY008  pressure        Northeast    0.000  74.278945   99.370  19.79375656
## 461 SKY013  pressure          Gravity    0.000  59.839099   73.630   1.27864684
## 501 SKY014  pressure          Gravity    0.000  59.524476   63.430   1.77782425
## 541 SKY015  pressure          Gravity    0.000  59.277149   93.520   7.12460398
## 13  SKY001        EC        Northeast    0.000 754.620395 1845.000  55.11106796
## 112 SKY003        EC             West  127.600 743.794811  924.300 132.50262936
## 142 SKY004        EC          Gravity    0.000 739.974173  923.900  59.21812799
## 202 SKY005        EC           Geddes  645.700 716.693190  871.600  54.74061460
## 242 SKY006        EC           Geddes    0.000 731.866861  876.100  48.17007811
## 282 SKY007        EC           Geddes    0.000 587.756492  973.900 271.81220545
## 292 SKY008        EC        Northeast    0.000 774.017654  941.000  57.61817964
## 462 SKY013        EC          Gravity  738.000 832.285373  987.800  62.93878904
## 502 SKY014        EC          Gravity    0.000 736.959610  757.200  29.56730676
## 542 SKY015        EC          Gravity    0.000 997.101517 1880.000 351.82141576
## 15  SKY001       ORP        Northeast  129.400 505.173233  702.100 129.26996197
## 113 SKY003       ORP             West  194.300 408.887717  430.900  21.54686076
## 143 SKY004       ORP          Gravity -115.000 489.407853  759.500 132.17496797
## 203 SKY005       ORP           Geddes  163.000 541.120764  919.400  99.73007546
## 243 SKY006       ORP           Geddes  141.300 423.866121  511.900  39.69354632
## 283 SKY007       ORP           Geddes  160.100 355.917425  439.400  75.69891245
## 293 SKY008       ORP        Northeast  214.700 417.947697  452.500  13.83355272
## 463 SKY013       ORP          Gravity  282.900 554.802748  716.500  93.63883981
## 503 SKY014       ORP          Gravity  265.800 493.378228  578.300  65.72254250
## 543 SKY015       ORP          Gravity  195.500 669.264848  802.400 147.45224964
##              Var
## 1   3.619957e-02
## 11  9.503858e-04
## 14  3.177145e-02
## 20  8.856143e-02
## 24  1.529415e-03
## 28  3.615443e-02
## 29  1.118801e-02
## 46  4.782881e-02
## 50  4.966421e-02
## 54  5.173288e-02
## 12  1.133525e+03
## 111 3.302784e+00
## 141 3.915396e+02
## 201 4.393201e+01
## 241 2.651932e+01
## 281 2.586798e+01
## 291 3.917928e+02
## 461 1.634938e+00
## 501 3.160659e+00
## 541 5.075998e+01
## 13  3.037230e+03
## 112 1.755695e+04
## 142 3.506787e+03
## 202 2.996535e+03
## 242 2.320356e+03
## 282 7.388188e+04
## 292 3.319855e+03
## 462 3.961291e+03
## 502 8.742256e+02
## 542 1.237783e+05
## 15  1.671072e+04
## 113 4.642672e+02
## 143 1.747022e+04
## 203 9.946088e+03
## 243 1.575578e+03
## 283 5.730325e+03
## 293 1.913672e+02
## 463 8.768232e+03
## 503 4.319453e+03
## 543 2.174217e+04

2.6 Create a table of Deployments per pressure district

Table S1: Ann Arbor Water Quality Nodes Deployment
Summary statistics per pressure district in Ann Arbor
pH EC (uS/cm) ORP (mV) Pressure (psi)
Mean1 SD1 Mean SD Mean SD Mean SD
Northeast
9.2 0.2 755 55 505 129 24 34
10.0 0.1 774 58 418 14 74 20
West
9.7 0.0 744 133 409 22 88 2
Gravity
9.4 0.2 740 59 489 132 55 20
9.5 0.2 832 63 555 94 60 1
9.3 0.2 737 30 493 66 60 2
9.3 0.2 997 352 669 147 59 7
Geddes
9.5 0.3 717 55 541 100 69 7
9.8 0.0 732 48 424 40 73 5
9.5 0.2 588 272 356 76 50 5
1 Due to common probe malfunction pH statistics were calculated with first 5 days worth of data

3 Plots

3.1 EC

Next we plot the timeseries using ggplot2

The conductivity signals above all show an increase accross the city. All signals have the same trend, however, several signals are incomplete because of service/data interruption. The benefit of having the spatially-distributed wireless network is a) to have measurement redundancy in case one sensor stops working, and b) to have data on how the network is behaving hydraulically.

3.2 ORP

Next we want to plot the ORP signals

In the ORP plots we can see the base reading of ORP in Ann Arbor’s water is ~400 mV. The signals contain significant amount of noise mostly associated with “start up” conditioning values - meaning that under the current sampling protocol a stable ORP reading is not obtained until roughly 3-5 hours later. Start-up values start low and rapidly increase to 400. We also see from the color-coded signals (per pressure district) that all districts measure at the base ORP level, but in gravity high the probes start reading higher values, this might be related to change in the water chemistry in these particular location or it might be that the probes were not working correctly. No grab sample data is available.

3.3 Final plots for ORP and EC with maps included