Willamette Falls fish passage time series summary

Overview

This analysis looks at fish passage data at Willamette Falls collected by the University of Washington’s Columbia Basin Research initiative. Data collection is ongoing and managed by a combination of federal, state, and tribal agencies. The tabs below include time series data, seasonal plots, and annual counts by species for fish ladder passage at Willamette Falls from 2001 to 2010.

# Adding image
knitr::include_graphics(here('img','salmon.png'))
Coho salmon Credit:Jessica Newley

Coho salmon Credit:Jessica Newley

Willamette Falls , West Linn, OR

ggmap(get_googlemap(center = c(lon = -122.620253, lat = 45.35171), zoom =15, maptype = "terrain", color = "color"), legend = "none") 
Willamette Falls , West Linn, OR

Willamette Falls , West Linn, OR

Summary

Seasonality trends were observed for both Coho & Steelhead at Willamette Falls. With Steelhead experiencing an upward spike during the months of September & October. Jack Coho’s passages were relatively consistent and didn’t display any seasonality across the years

Data source: ‘Columbia River DART (Data Access in Real Time) | Columbia Basin Research’ http://www.cbr.washington.edu/dart [accessed 6 March 2022] Columbia River DART (Data Access in Real Time) | Columbia Basin Research. http://www.cbr.washington.edu/dart. Accessed 10 Mar. 2022. D. Kahle and H. Wickham. ggmap: Spatial Visualization with ggplot2. The R Journal, 5(1), 144-161. URL http://journal.r-project.org/archive/2013-1/kahle-wickham.pdf

Data Wrangling

  1. We start by converting the date to a tsibble using the as_tsibble() function without using a key Variable(s) that uniquely determine time indices and setting date as the time index variable. First, we’ll need to convert the date to a date class, then convert to a tsibble:
williamette_fish <- read_csv(here("data", "willamette_fish_passage.csv")) %>%
    clean_names() %>%
    # date column to date class
mutate(date = lubridate::mdy(date)) %>%
    # date to tsibble class
as_tsibble(key = NULL, index = date)

We will use index_by() to group by a time index, then summarize() to specify what to calculate

# Subset data & replace NA's w/ zeros colnames(williamette_fish)

fish_sub <- williamette_fish %>%
    select(coho, jack_coho, steelhead, temp_c, date) %>%
    pivot_longer(c(coho, jack_coho, steelhead), names_to = "fish_species", values_to = "fish_count") %>%
    replace(is.na(.), 0) %>%
    mutate(fish_species = case_when(fish_species == "coho" ~ "Coho", fish_species ==
        "jack_coho" ~ "Jack Coho", fish_species == "steelhead" ~ "Steelhead"))

# Average annual count by month

fish_sub_month <- fish_sub %>%
    index_by(yr_mo = ~yearmonth(.)) %>%
    group_by(fish_species) %>%
    summarize(mean_fish_count = mean(fish_count, na.rm = TRUE), sum_fish = sum(fish_count))



# Annual count by month
fish_annual_count <- fish_sub %>%
    index_by(yr = ~year(.)) %>%
    group_by(fish_species) %>%
    summarize(fish_count = sum(fish_count, na.rm = TRUE, sort = TRUE))

Results

Time series

fish_sub_month %>%
    ggplot(aes(x = year(yr_mo), y = sum_fish, color = fish_species)) + geom_line() +
    scale_x_continuous(breaks = pretty_breaks(n = 4)) + facet_wrap(~month(yr_mo,
    label = TRUE)) + labs(x = "Year", y = "Annual mean salmon counts at Willamette Falls",
    color = element_blank(), title = "Williamette Falls Mean Annual Salmon Counts",
    subtitle = "2001-01-01 - 2010-12-31", caption = str_wrap("Figure 1. Annual counts of 3 different salmon species at Williamette's Falls in Oregon.Source:Columbia River DART (Data Access in Real Time) | Columbia Basin Research. http://www.cbr.washington.edu/dart")) +
    theme(plot.caption = element_text(hjust = 0, face = "bold.italic")) + theme(legend.position = "bottom")

Key Takeaways

  • Passage of Jack Coho at Willamette Falls remains relatively consistent across the years not much seasonality and very low number of passages.

  • Passage counts for Steelhead increase during April-June.

  • Coho passages spike during (upward and seasonal trend observed) the months of September & October.

Season Plots

Let’s look at seasonality over the years at Willamette Falls with a seasonplot, using the feasts::gg_season() function to look at the average count of adult passage for coho, jack coho and steelhead salmon

coho_plot <- fish_sub_month %>%
    filter(fish_species == "Coho") %>%
    gg_season(y = mean_fish_count) + scale_color_viridis_c() + labs(title = "Coho Passages",
    y = "Passage Counts", subtitle = "2001-01-01 - 2010-12-31") + theme(plot.caption = element_text(hjust = 0,
    face = "bold.italic")) + theme(legend.position = "none") + theme(axis.title.x = element_blank())

jack_plot <- fish_sub_month %>%
    filter(fish_species == "Jack Coho") %>%
    gg_season(y = mean_fish_count) + scale_color_viridis_c() + labs(title = "Jack Coho Passages",
    y = "Passage Counts", subtitle = "2001-01-01 - 2010-12-31") + theme(plot.caption = element_text(hjust = 0,
    face = "bold.italic")) + theme(legend.position = "none") + theme(axis.title.x = element_blank())

steel_plot <- fish_sub_month %>%
    filter(fish_species == "Steelhead") %>%
    gg_season(y = mean_fish_count) + scale_color_viridis_c() + labs(title = "Steelhead Passages",
    y = "Passage Counts", subtitle = "2001-01-01 - 2010-12-31", caption = str_wrap("Figure 2: Three annual time series graphs of adult passages of three salmon species per month.\nSource: Columbia River DART (Data Access in Real Time) | Columbia Basin Research. http://www.cbr.washington.edu/dart")) +
    theme(plot.caption = element_text(hjust = 0, face = "bold.italic")) + theme(legend.position = "bottom") +
    theme(axis.title.x = element_blank())

cowplot::plot_grid(coho_plot, jack_plot, steel_plot, cols = 1, nrow = 3)

Key Takeaways

  • Passages for Coho are concentrated in months (September - November) compared to Steelhead which pass through Willamette Falls throughout the first half of the year.

  • Jack Coho’s passage peaks in October.

Annual counts by species

ggplot(data = fish_annual_count, aes(x = year, y = fish_count)) + geom_line(aes(x = yr,
    y = fish_count, color = fish_species)) + scale_x_continuous(breaks = pretty_breaks(n = 5)) +
    labs(x = "Year", y = "Passage Counts", color = "Fish Species", caption = str_wrap("Figure 3: Annual fish passage counts for Coho, Jack Coho, and Steelhead at Williamette Falls. Source: Columbia River DART (Data Access in Real Time) | Columbia Basin Research. http://www.cbr.washington.edu/dart")) +
    theme(plot.caption = element_text(hjust = 0, face = "bold.italic")) + theme(legend.position = "bottom")

Key Takeaways

  • Starting in 2008 we see an upward trend of Coho that are passing through Willamette Falls after.

  • Steelhead passages are higher overall on the annual level with the exception of 2019 where Coho passages surpassed the Steelhead passages.

  • Jack Coho passages were relatively consistent and stayed below the level of passages for adult Coho.