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.
Here we load and convert the X character to a datetime that can be plotted as a timeseries.
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.
## 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
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 |
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.
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.