The Iowater program started a tradition of watershed “snapshot” events, where volunteers test many streams in a watershed on the same day to get an idea of where pollution is more or less severe. Several organizations are continuing the tradition and are coordinating our efforts to get a snapshot of water quality across a larger portion of the state.
On September 19, 2023 the following organizations participated:
Polk County Conservation: 78 sites in Polk County
Prairie Rivers of Iowa (with Story County Conservation): 30 sites in Story, Boone, and Hamilton counties
Izaak Walton League, Panora Chapter: 12 sites in Greene County
An Izaak Walton League chapter in Minnesota also monitored 7 sites along the headwaters of the Cedar River on Sept 19, but the results are not included here.
A new volunteer learns how to measure transparency with a secchi tube during a break in thunderstorms.
Thunderstorms made it challenging to monitor but meant there was water flowing in some of our drought-stricken streams! The rain was patchy–ranging from more than 4 inches to less than 1 inch in the counties where we monitored.
In some areas, paved surfaces, compacted soil, or more intense rain
generated enough runoff to cause a swift rise in water levels.
However, in other areas, most of the rain soaked into thirsty ground, and creeks remained low.
Most of Iowa was suffering from moderate to extreme drought during
the week of the snapshot.
library(leaflet)
color_phosphate <- colorBin(c('green','yellow', 'red'), bins = c(0,0.5,2,10))
color_trans <- colorBin(c('red', 'yellow', 'green'), bins = c(0,15.5,35,65))
color_do <- colorBin(c('red', 'yellow', 'green', 'yellow'), bins = c(0,50,70,120,200))
color_chloride <- colorBin(c('green','yellow', 'red'), bins = c(0,50,250,1000))
color_nitrate <- colorBin(c('green','yellow', 'red'), bins = c(0,5,10,50))
color_acidity <- colorBin(c('red', 'yellow', 'green', 'yellow', 'red'), bins = c(0,6,7,8,10,12))
popper <- ~paste0(site_name,
"<br/>Phosphate (mg/L)): ",
phosphate,
"<br/>Transparency (cm)): ",
transparency,
"<br/>Dissolved oxygen (mg/L): ",
dissolved_oxygen,
"<br/>Dissolved oxygen (% saturation): ",
dissolved_oxygen_saturation,
"<br/>Chloride (mg/L): ",
chloride,
"<br/>Nitrate (mg/L): ",
nitrate_n,
"<br/>pH: ",
ph_units,
"<br/>Comments: ",
notes)
counties <- sf::st_read("GIS/county.shp") %>%
sf::st_transform('+proj=longlat +datum=WGS84')
Results from the snapshot event are shown in an interactive map. Use the radio buttons to select which water quality metric is used for color coding. Categories are adapted from the Izaak Walton League’s data sheets and Clean Water Hub.
Green = Good or excellent
Yellow = Fair.
Red = Poor.
Zoom in and click on a site to get a pop-up window with more detailed results. (Comments for Polk County sites could not be included). If pop-ups don’t respond, try toggling between water quality metrics first.
leaflet(combined) %>%
addTiles() %>%
addCircleMarkers(data = combined, group = "Transparency",
lng = ~lon, lat = ~lat,
color = ~color_trans(transparency),
radius = 6,
stroke = FALSE, fillOpacity = 100,
popup = popper) %>%
addCircleMarkers(data = combined, group = "Phosphate",
lng = ~lon, lat = ~lat,
color = ~color_phosphate(phosphate),
radius = 6,
stroke = FALSE, fillOpacity = 100,
popup = popper) %>%
addCircleMarkers(data = combined, group = "Dissolved oxygen",
lng = ~lon, lat = ~lat,
color = ~color_do(dissolved_oxygen_saturation),
radius = 6,
stroke = FALSE, fillOpacity = 100,
popup = popper) %>%
addCircleMarkers(data = combined, group = "Chloride",
lng = ~lon, lat = ~lat,
color = ~color_chloride(chloride),
radius = 6,
stroke = FALSE, fillOpacity = 100,
popup = popper) %>%
addCircleMarkers(data = combined, group = "Nitrate",
lng = ~lon, lat = ~lat,
color = ~color_nitrate(nitrate_n),
radius = 6,
stroke = FALSE, fillOpacity = 100,
popup = popper) %>%
addCircleMarkers(data = combined, group = "pH",
lng = ~lon, lat = ~lat,
color = ~color_acidity(ph_units),
radius = 6,
stroke = FALSE, fillOpacity = 100,
popup = popper) %>%
# Hydrography
addWMSTiles(
"https://basemap.nationalmap.gov/arcgis/services/USGSHydroCached/MapServer/WmsServer",
opt = WMSTileOptions(format = "image/png", transparent = TRUE),
layers = "0", group = "Rivers", attribution = "USGS Hydrography") %>%
# County lines
addPolygons(data =counties, color = "Black", weight = 2,
fillColor = "transparent", group = "Counties") %>%
# Layers control
addLayersControl(baseGroups = c("Phosphate", "Transparency", "Dissolved oxygen",
"Chloride", "Nitrate", "pH"),
overlayGroups = c("Counties", "Rivers"),
options = layersControlOptions(collapsed = FALSE))
Orthophosphate (a form of phosphorus) is a plant nutrient that can contribute to algae blooms and Gulf Hypoxia. It ranged from 0 mg/L at many sites to 6 mg/L at sites on Little Beaver Creek and Camp Creek. 87 sites had “good” phosphate (less than 0.5 mg/L) and 8 sites had “poor” (2 mg/L or greater).
When water levels are low, effluent from wastewater treatment plants, factories and other point sources of pollution makes up a larger fraction of the water in the stream and can have a large influence on water quality. High phosphate and chloride levels were observed at sites downstream of sewage treatment plants in Mitchellville (Camp Creek), Grimes (Little Beaver Creek) and Ames (the S. Skunk River).
Nitrate (a form of nitrogen) is a plant nutrient that can contribute to algae blooms and Gulf Hypoxia, and is a human health concern in drinking water. In central Iowa, nitrate tends to be highest in the spring when drainage tiles are flowing, and lowest during late summer and early fall when water levels are low. Nitrate was “good” (less than 5 mg/L) at 113 sites. below 5 mg/L at all sites. Nitrate was “fair” (5 mg/L) at 5 sites.
A transparency tube measures water clarity. Poor visibility and a muddy stream bottom makes for poor habitat for sensitive species of aquatic invertebrates and fish. Low transparency (muddy water) can be an indicator of erosion in the watershed, but sediment can also come stream banks and beds.
Transparency ranged from the clearest possible (60+ cm) at twenty sites to the murkiest possible (< 1 cm) at Worrell Creek in Ames. 19 sites had “poor” transparency (less than 15 cm). While ideally we would use this information to prioritize areas in need of erosion control practices, patchy rain complicates our interpretation of results from this snapshot.
Low levels of dissolved oxygen can harm sensitive species of aquatic invertebrates and fish and reduce the diversity of aquatic life in the stream. Dissolved oxygen was “poor” (less than 50% saturation) at 20 sites, including a site on Dunbar Creek in Greene County, Crooked Creek in Hamilton County, and site on Walnut and Rock Creeks in Polk County. Dissolved oxygen was “good” (greater than 70% saturation) at 47 sites.
High levels of chloride (salt) can harm freshwater aquatic invertebrates and fish and reduce the diversity of aquatic life in the stream. Chloride can come from road salts used in winter, but also water softeners and fertilizers.
Chloride was “good” at 73 sites. Note that the lower limit of detection for chloride strips is around 28-31 mg/L, and levels less than that may have been recorded as zero. Chloride was “poor” at two sites on Camp Creek in Polk County.
When water levels are low, effluent from wastewater treatment plants, factories and other point sources of pollution makes up a larger fraction of the water in the stream and can have a large influence on water quality. High phosphate and chloride levels were observed at sites downstream of sewage treatment plants in Mitchellville (Camp Creek), Grimes (Little Beaver Creek) and Ames (the S. Skunk River).