Prairie Rivers of Iowa and its partners have wrapped up another year of monitoring in streams around Story County.
Grant Creek (and most other streams) were covered with thick ice in December.
# 2022-03-22 Started over with 2022 data
# Import csv file provided by City of Ames
# Skip unneeded columns for tidy format
library(tidyverse)
library(readr)
library(lubridate)
ameslab2022 <- read_csv("data/ameslab2022.csv", na = "NULL",
col_types = cols(CollectionDate = col_date(format = "%m/%d/%Y"),
CollectionTime = col_skip(), Comment = col_skip(),
MRL = col_skip(), LabID = col_integer(),
Method = col_skip(), Note = col_skip(),
Symbol = col_skip(), Unit = col_skip()))
# renames a column for clarity
ameslab2022 <- rename(ameslab2022, site = Description)
View(ameslab2022)
# Tidy the data, so each analyte is in a column
ames_tidy<- ameslab2022 %>%
pivot_wider( names_from = Analyte, values_from = Result) %>%
mutate(Year = year(CollectionDate), Month = month(CollectionDate, label = TRUE),
Day = day(CollectionDate))
# Adds a column from a lookup table to allow ordering sites from upstream to downstream
library(readr)
lookup_US_DS <- read_csv("data/lookup_US_DS.csv")
ames_tidy <- left_join(ames_tidy, lookup_US_DS, by = "site")
If you see a car stopped by a bridge in Story County with someone pulling up a milk jug of water on a rope, there’s a good chance it’s me or volunteer Rick Dietz, doing our monthly monitoring route. We collect water samples from 10 sites, and City of Ames staff cover another five. Laboratory Services for City of Ames Water and Pollution Control tests the samples for nitrate, total phosphorus, total suspended solids, and E. coli bacteria.
Flows in the South Skunk River below Ioway Creek were at or above normal from late March thru July, but Story County entered a drought in late summer.
December 28: Water monitoring was delayed a week. On December 28, water levels were very low and most streams were ice-covered. Our current protocol is not to punch a hole in the ice to collect a sample, both for safety reasons and to avoid stirring up sediment that might affect results.
November 16: Story County is still in drought, but it had snowed overnight and through the morning and streams were flowing at most sites. The sample at West Indian Creek in Nevada had to be discarded because of a quality control issue.
October 19: Cold temperatures–had to break ice to sample at East Indian Creek. Very low water levels. Six sites (the Ioway Creek tributaries, Ballard Creek, and W Indian Creek at Nevada) were dry or not flowing and could not be sampled.
September 21: Several large rain events in September but creeks were low or dry again at the time of sampling. Again, five sites were dry or not flowing and could not be sampled.
August 24: Parts of Story County reached moderate drought conditions–creeks at 5 sites were not flowing and could not be sampled.
Ballard Creek dried up in August, at least in this stretch near Cambridge.
July 27: Water levels were normal for summer, and no recent rain. College Creek and Worrell Creek were not sampled.
June 15: Flash flooding across the county. All sites were high and turbid. Bear Creek was over the bridge at Pleasant Valley Road and had to be sampled at W Maple St in Roland. Due to supply shortages, total phosphorus could not be tested.
Bear Creek was out of its banks in Roland.
April 20: Normal water levels and cool temperatures, sampled before heavy rains
March 16: Ice on creeks was melted except at shady areas. No rain for a week.
February 24: Ice was too thick to sample at some streams, but meltwater was flowing on top of the ice at Ballard Creek and East Indian Creek, giving the water a milky appearance.
Meltwater at Ballard Creek
Under high flow conditions, agricultural runoff can have a big influence on water quality. Under low flow conditions, effluent from wastewater treatment plants and industry (regulated point sources of pollution) have a greater influence.
The support of a certified lab provides a backstop for volunteer monitoring and allows us to make direct comparisons with laboratory data from DNR and other agencies. It also allows us to test for E. coli bacteria, an indicator of fecal contamination from human waste, livestock, pets, or wildlife.
Stagnant water in West Indian Creek last year. I sampled a ways downstream of this pool where the water was flowing. E. coli exceeded the secondary contact standard.
Single samples are evaluated using a threshold of 235 colonies per 100 mL in waters designated for primary contact recreation and children’s play, and a threshold of 2,880 colonies per 100mL is used for waters designated for secondary contact recreation.
The standards apply from March 15-November 15, when people are more likely to enter the water. This is also the period when most wastewater treatment plants run their disinfection equipment.
On November 16, 5/12 samples met the primary contact standard, but with snow on the ground, no one is likely to be in the water. June results were unusually high at all sites due to flash flooding.
ggplot(data = ames_tidy) +
geom_col(mapping = aes(x= US_DS_order, y = `E. coli`, fill = Month), position = "dodge2") +
geom_hline(yintercept = 235, color = 'red') +
scale_y_log10() +
annotate("text", x = 4, y = 200, color = 'red', label = "Primary contact standard") +
geom_hline(yintercept = 2880, color = 'brown')+
annotate("text", x = 4, y = 2500, color = 'brown', label = "Secondary contact standard") +
theme_light() +
theme(axis.text.x = element_text(angle = 90))+
labs(x = "Sites, arranged upstream to downstream", y = "E. coli (MPN/100mL), plotted on log scale", title = "E. coli in Story County streams, single samples") +
annotation_logticks(sides = "l")
In rainy weather, manure can be washed off the land surface. Under low flow conditions, E. coli could be from animals that are actually entering the water, or it could be from leaking septic and sewer systems. Wastewater treatment plants do a good job of removing solids, ammonia, and other nasty stuff, but some of the bacteria make it through, and smaller systems have only recently begun to install UV disinfection systems.
Phosphorus is an essential plant nutrient that contributes to algae blooms when it gets to the water. Total phosphorus includes forms of phosphorus that are bound to sediment, so phosphorus concentrations are usually highest shortly after heavy rains when runoff can wash sediment into rivers or high flows can erode streambanks. Phosphorus levels above 0.5 mg/L were seen in Ballard Creek and Grant Creek on May 18, the morning after a rainstorm. Phosphorus could not be tested in June.
Algae growth in West Indian Creek.
However, effluent from wastewater treatment plants (WWTPs) can have a large influence on phosphorus concentrations when streamflow is low and effluent is less diluted. In October, total phosphorus in West Indian Creek reached 6 mg/L, downstream from the Nevada WWTP.
ggplot(data = ames_tidy) +
geom_col(mapping = aes(x= US_DS_order, y = `Total Phosphorus as P`, fill = Month), position = position_dodge(0.5), width = 0.5) +
theme_light() +
theme(axis.text.x = element_text(angle = 90))+
labs(x = "Sites, arranged upstream to downstream", y = "Total Phosphorus (mg/L)", title = "Lab results from Story County monitoring route")
Total suspended solids (TSS) are a measure of water clarity that involves weighing the material that settles out the water. The material is usually sediment (mud) but can also include algae and other organic solids. More sediment can be carried when flows are high. Normally, TSS at our sites is less than 20 mg/L but during flash flooding on June 16, all sites exceeded 100 mg/L and five sites exceeded 1000 mg/L. In order to show this wide range, the graph is shown on a log scale–each tick mark is a ten-fold increased.
ggplot(data = ames_tidy) +
geom_col(mapping = aes(x= US_DS_order, y = `Total Suspended Solids`, fill = Month), position = "dodge2") +
scale_y_log10() +
annotation_logticks(sides = "l") +
theme_light() +
theme(axis.text.x = element_text(angle = 90))+
labs(x = "Sites, arranged upstream to downstream", y = "Total Suspended Solids (mg/L)", title = "Lab results from Story County monitoring route")
Nitrogen is a major contributor to the “dead zone” in the Gulf of Mexico. Nitrogen losses are usually highest in watersheds with a lot of tile-drained agriculture, and during times when tile lines are flowing. Read here to see this in action.
In May, nitrate concentrations exceeded 10 mg/L at thirteen of fifteen sites, but dropped off in late summer as water levels dropped and denitifying bacteria became more active.
In November, nitrate exceeded 10 mg/L in West Indian Creek downstream from the Nevada WWTP and in Ballard Creek downstream from the Huxley WWTP, but was low at all other sites. In December, nitrate at the sites that could be sampled was up from previous months.
ggplot(data = ames_tidy) +
geom_col(mapping = aes(x= US_DS_order, y = `Nitrate Nitrogen as N`, fill = Month), position = "dodge2") +
geom_hline(yintercept = 10, color = 'coral')+
theme_light() +
theme(axis.text.x = element_text(angle = 90))+
labs(x = "Sites, arranged upstream to downstream", y = "Nitrate-N (mg/L)", title = "Lab results from Story County monitoring route")