Thanks to Thomas Slawski for the opportunity to present our water array project at the 2017 Fox River Summit. We made connections with several area groups and identified potential sites for semi-permanent installations of our device.
One of the requirements of the Testing the Waters’s grant with WI DNR was to conduct a comparison of our array with a conventional, trusted unit. We finally got access to a professional-grade unit, a YSI Professional Plus (thanks Dr. Dale Splinter!). This unit is around $3,000 for the dissolved oxygen, conductivity, temperature, and pH probes that it has with it.
For the latest Rock River Coalition newsletter, I finally got around to doing an initial analysis of the Testing the Waters data that we collected over 11 days of paddling. The full article is available here: Testing the Waters: What did we learn? Read more…
Jeffrey Pohorski, one of the video producers in Media & Marketing at UW-Whitewater, did a great job telling the story of our adventure down the Rock River this May:
We’ve conducted some initial analysis of our data from last Friday (more here). Our goal was to be able to better visualize our sample data along the stream corridor. As a geographer, I turn to a map as my first impulse, but in this case, it’s certainly not the only way of viewing our data. In particular, we were interested in comparing the values from each of our units and better visualizing trends on our metrics along the stream corridor.
So, from our magic GIS hat, we pulled out some dynamic segmentation tools to “linearize” the data we’ve collected. Put simply, we moved each data point to a stream center line as defined by USGS’s National Hydrography Dataset (NHD) yielding a distance along the stream. We could then plot our metrics, e.g. dissolved oxygen, versus distance along the stream in a conventional scatterplot allowing us to compare our two sample units and samples through time.
Here’s a visualization of the “linearization” of our data:
In ArcGIS, each data point (in red) was moved to the NHD stream center line (points in blue) if it was within 100 meters of the center line. In addition, each new blue point was given a distance along the stream stretch.
As of yet, these data are unfiltered. We haven’t removed known extraneous and/or invalid readings.
First, data from the Kinnickinnic
(which can be compared to the map here)
Note that the blip in temperature is due to Unit #2’s temperature element being removed from the water for a time. Temperature is almost the same for both units.
Dissolved oxygen is also very similar (thankfully, after quite a struggle) between the two units. The mess to the left in the graph is explained below.
Electrical conductivity also shows close correspondence between the two units except with fairly high values. We use a two point calibration at 84 uS and 1,413 uS, so this divergence outside the calibration range is not all that surprising.
Our pH values, while still exhibiting similar trends, show the greatest discrepancy between the two units that, disconcertingly, varies throughout the sample. We’ll be revisiting our calibration procedure for the pH probe to make sure we’re consistent with each unit.
For the Menomonee River
For the Menomonee, our units again performed similarly, with all but pH matching fairly closely.
Why the jagged or seemingly noisy segments? This is due to including both the paddle out and back along each segment on the same graph. So, for dissolved oxygen on the Menomonee for example, Unit #3 (in orange) returned significantly different values on the way out as compared to the way back in the 6,200 to 6,700 meter range. Mike, paddling Unit #3, took a different path on the way back in this segment and there appears to have been a significant cross-sectional change in the DO across the stream profile. Since we’re linearizing and combining both in- and out-paddles, our line graph bounces back and forth across these values.
Obviously, we still have a lot of explaining to do for each of these trends. We’ll leave that for another post for now.
Mike, Karl, and I had our first big day with the water quality arrays. With everything working fairly smoothly, we headed to Milwaukee for a long day of kayaking. Our goal was to paddle up and down the Kinnickinnic, the Menominee, and Milwaukee Rivers starting from the Milwaukee County boat ramp at River Front (at the east side of the Kinnickinnic and Milwaukee confluence). We were hoping to see differences between the freshwater estuary areas of the lower river reaches to the more stream-dominated upper sections.
Starting around 10am, we paddled all day (mostly into a stiff wind) to cover almost all the ground we were hoping to. We stopped around 6pm after one of Mike’s arms fell off (well, nearly) and around 14 miles of paddling. Both Mike and Karl had units on their boats running all the time, so any stretch of water was sampled four times — a good opportunity to see how our units compared with themselves and each other.
Here’s a look at the raw data from our units starting with dissolved oxygen (DO). Click on the Legend and Layers icons in the upper right to view the legend and to switch between temperature, pH, dissolved oxygen, and electrical conductivity (I’d suggest using the link to full screen map to explore the data in detail). Also, once you’re zoomed in, you can click on any point for detailed sample information.
(Note that the map refreshes itself every minute — this is for when we’re collecting data in real time.)
The map shows considerable variability for most of the metrics we measured. The most significant changes — seen best in the temperature layer — is from the lake-influenced section of each “river” (colder water) to the stream-influenced section of each (warmer water). We were somewhat surprised, though, in how smooth this transition was, particularly in the greater surface flow from the Milwaukee and Menominee Rivers.
The second noticeable change was the increase in electrical conductivity (EC) as we moved upstream. Both the Kinnickinnic and Menominee Rivers showed increases in EC as we moved into surface-dominated waters (particularly when the river current was noticeable) indicating high amounts of dissolved solids in this largely urban watershed (more info at Milwaukee Riverkeepers and SEWRPC) (likely salts from roadways, runoff from Mitchell Field, nutrients from urban yards, and industrial waste water). The Kinnickinnic, in particular, had a region of very poor water quality with high EC values and very low DO (lowest reading of 0.97 mg/L!).
We also were very pleased with the consistency of the measurements we were getting from each unit. They both matched fairly well at initial glance with a couple of discrepancies along a couple stream reaches. We also encountered problems with our server as we paddled the Kinnickinnic, so there are a few gaps in this sample stretch (which is recorded on backup files on the phones that we haven’t retrieved yet).
Stay tuned — we have additional analysis planned to explorer values from both units and other ways of visualizing trends.
With the rebuilt arrays, time for more in-depth testing… Again, I’m growing more dubious of the claims of Atlas Scientific and how easy it is to obtain high-quality metrics from their probes.
For this test, I was interested in seeing the influence of each probe on the other in the same body of water. In other words, does one probe change the value of another when they’re near each other in the water? With our kayak mount, we can place probes on either side of the boat and wanted to know the optimal configuration.
- Arduino Nano connected to I2C board with pH and DO, EC through PWR-ISO, and Bluetooth (HC-06). Ground wire bridge between PGND on pH and DO (as per Atlas-Scientific instructions)
- All probes EZO version in I2C mode
- Bluetooth in connected mode with phone app
- All probes calibrated via Altas-Scientific methods. 3 point for pH (4,7,10), 1 point for DO (100%), 2 point for EC (dry and 84µS)
- Three buckets of equal amounts of tap water (~3.5 gallons) drawn from tap at same time and let setting for two hours
- Calibrate probes immediately before test
- Place each probe in separate buckets to start.
- Record values for 5 minute with each of the following combinations (isolated, in pairs, all three):
Table of testing probe combinations (number of sample bucket probe placed in)
It’s clear that we are getting interference from some of the probes. In particular, the pH and DO probes influence one another. When they’re both first added to the same vessel, their values are thrown off by a considerable amount for several readings and then both stabilize. The DO readings are close to initial readings (off by ~0.5) after 2-3 minutes; however, the pH values stay considerably lower (by ~1.25).
And, somewhat as expected, the DO probe also appears to be influence by moving it from one vessel to the next (so, it does matter which probe is moved to another vessel). As it’s exposed to the air, it rises approximate half a point and then gradually declines to its previous value. Note that this effect alters values for almost the whole 5 minute sample period.
I did some additional ad-hoc testing of the each probe moving through the water. Only the DO probe shows any noticeable changes in values, and it’s showing about a 1 mg/l increase if any air bubbles are present when moving.
- pH and DO can’t operate near each other — they’ll go on opposite sides of the boat. The connected grounds suggested by AS didn’t eliminate the interaction.
- The isolated EC didn’t appear to influence any other probe. I assume this is due to the power isolator, but this hasn’t been explicitly tested.
- All three probes can’t work near each other — need to separate
- DO needs to stay underwater — any surfacing can influence quite a few readings
- temperature doesn’t appear to influence any of the other probe’s values
We’ll go with DO and temperature on one side of the boat and pH and EC on the other.
In trying to get our two units to agree, we noticed that the DS18S20 temperature probes seem to be off 0.5 to 0.75 C from one another. Given that all probes use temperature compensation (and the dissolved oxygen uses it for calibration), this slight difference could be exacerbating any differences we were noticing.
So, we placed both temperature sensors in a cooler of ice water to generate a manual, one-point temperature compensation for each of our units. For each unit, we let the probe sit in ice water for at least 5 minutes and then took five consecutive readings one minute apart from one another.
After the data quality issue with the first array design, I contacted Atlas Scientific(AS) about our problems. Jordan at AS suggested that we make two changes: 1) connect the probe grounds on both the dissolved oxygen and pH probes, and 2) isolate the electrical conductivity probe from the rest of the probe using their power isolator. Since neither of these changes are documented on their website or support materials, I was frankly growing a bit concerned about the claims made on AS’s website — was this really our problem?
- One of our probe arrays was a year old; the DO probe was showing some non-linearity in its readings
- The probes electronics were interactions with one another on the microcontroller board
- The probes were interacting with one another in the water (very likely with the EC probe)
- The power draw from the Bluetooth device was interacting with one or more of the probe’s electronics
We addressed issue one by using a third set of probes that were still in the box (purchased within a month of array #2) and retired array #1 for now. For two and three, we followed the suggestions of AS above. In addition, we switched from the 3.3v Teensy 3.1 microcontroller to the 5v Arduino Nano. Jordan at AS has expressed some concern that the probes kits may be underpowered at 3.3v and the power isolator would only work at 5v. Effectively, we rebuilt the array from scratch:
As for issue #4, preliminary testing is showing that whether the Bluetooth is in “discovery” mode (light flashing, higher power draw) or connected impacts the EC value but not the other measurements. In “discovery” mode, the EC value is approximately 0.5 µS lower than when the device is either connected or unplugged (why? common ground? power drop?). This seems to indicated that the connected mode is similar to not having a Bluetooth device is likely to have minimal impact on the EC values. It does indicate, though, that calibration should only be conducted with the Bluetooth unplugged or connected to the phone app.