I attached a riffle-ito to my kayak and paddled around the Androscoggin River. I also had an Arduino Uno with a GPS Shield logging my location.
Here’s what the set up looked like:
To keep the enclosure submerged, I tied a bag of rocks to it.
Here is a video showing some highlights from the deployment.
Note: This is an Rmarkdown document. The data files and source code used to generate this document all the figures are available in the github repo.
Here’s what the GPS data looks like:
head(gps)
## DATETIME_UTC FIX FIX_QUALITY LATITUDE LONGITUDE SPEED ANGLE
## 1 2014-8-7 22:6:17.984 1 1 43.92 -69.96 0.15 0.0
## 2 2014-8-7 22:6:20.953 1 1 43.92 -69.96 1.01 348.1
## 3 2014-8-7 22:6:24.0 1 1 43.92 -69.96 0.34 346.2
## 4 2014-8-7 22:6:27.0 1 1 43.92 -69.96 0.16 346.2
## 5 2014-8-7 22:6:30.0 1 1 43.92 -69.96 0.12 346.2
## 6 2014-8-7 22:6:32.984 1 1 43.92 -69.96 0.08 346.2
## ALTITUDE NUM_SATELLITES DATETIME
## 1 11.3 10 2014-08-07 18:06:17
## 2 3.3 10 2014-08-07 18:06:20
## 3 2.7 9 2014-08-07 18:06:24
## 4 2.9 11 2014-08-07 18:06:27
## 5 2.9 11 2014-08-07 18:06:30
## 6 2.3 11 2014-08-07 18:06:32
This map shows the locations recorded by the GPS:
Here’s what the riffle-tio data look like.
head(riffle)
## DATETIME RTC_TEMP_C TEMP_C BATTERY_LEVEL
## 1 2014-08-07 17:58:59 23.25 24.16 706
## 2 2014-08-07 18:00:02 23.25 24.07 706
## 3 2014-08-07 18:01:04 23.25 24.07 706
## 4 2014-08-07 18:02:07 23.25 23.99 706
## 5 2014-08-07 18:03:09 23.00 23.81 706
## 6 2014-08-07 18:04:12 22.75 23.46 706
Here is a timeseries of the riffle-ito temperature. Note the high temperature at the beginning and low temperature at the end are not actually measurements of the water temperature, but rather the air temperature as I moved the riffle from my house to the kayak before setting out, and then back from the kayak to the house after returning.
To merge the GPS and Riffle-ito data (which are in separate data tables), I computed the mean location and mean temperature at 1-minute intervals. Then I joined the two tables by the 1-minute rounded timestamps.
The data now look like this:
head(df)
## DATETIME N.WQ TEMP_C N.GPS LATITUDE LONGITUDE
## 1 2014-08-07 18:06:00 1 23.03 4 43.92 -69.96
## 2 2014-08-07 18:07:00 1 22.94 20 43.92 -69.96
## 3 2014-08-07 18:08:00 1 22.59 20 43.92 -69.96
## 4 2014-08-07 18:09:00 1 21.81 20 43.92 -69.96
## 5 2014-08-07 18:10:00 1 22.42 20 43.92 -69.96
## 6 2014-08-07 18:11:00 NA NA 21 43.92 -69.96
This map shows the track with points colored by temperature. The data are filtered to only show values when the sensor was in the water.
I expected to see a change around the Brunswick Water Treatment Plant outfall. The following map zooms into this location (you can see the treatment plant in the lower left).
Here is a photo of the outfall.
Unfortunately, I didn’t see much difference. The outfall temperature is probably similar to the water temperature at this time of year. However, the lowest temperature point (the green point) is located right next to the outfall.
You can however see how the temperature dropped on the return trip, which was close to sunset and thus probably reflects the cooling air temperature. This figure shows the temperature values, with the shapes of the symbols indicating whether the point was collected as I was heading out to the outfall or heading back to the house.
And this compares the same values as a timeseries. I’m not sure what caused the blips in this figure.