knitr::opts_chunk$set(echo = TRUE, warning = FALSE, message = FALSE, fig.pos = "!ht") # knitr::knit_hooks$set(inline = function(x) { # Add comma separator to 4-digit numeric values # prettyNum(x, big.mark=",") # })
dat <- suppressWarnings(import_format(params$input_data))
models <- model_escapement(dat) dat$escapement <- stats::predict(models$top_model, dat) boots <- boot_escapement(dat, models)
dat_daily <- dat %>% dplyr::mutate(day = as.Date(date), escapement = stats::predict(models$top_model, dat)) %>% dplyr::group_by(day, year) %>% dplyr::summarize(escapement = sum(escapement)) %>% dplyr::ungroup() peak <- dat_daily %>% dplyr::filter(year == max(dat_daily$year)) %>% dplyr::filter(escapement == max(escapement, na.rm = T))
peak <- dat_daily %>% dplyr::filter(year == max(dat_daily$year)) %>% dplyr::filter(escapement == max(escapement, na.rm = T))
title: |
| r params$title
|
| r params$subtitle
|
|
author: |
| r params$refuge
|
| r params$author
| r params$email
\newpage
A time-lapse photography and video recording system was used to enumerate adult sockeye salmon (Oncorhynchus nerka) entering Akalura Lake. In r max(dat$year)
, the system was installed on r format(min(subset(dat$date, dat$year == max(dat$year))), "%d %B, %Y")
and operated through r format(max(subset(dat$date, dat$year == max(dat$year))), "%d %B, %Y")
. The time-lapse photography camera recorded 3 sequential pictures at the start of each minute for the duration of the project. Following a double-sampling protocol, a r tolower(models$aic_table$Modnames[[1]])
model of the relationship between time-lapse and video counts was found to be the most parsimonious model to estimate salmon passage across the season. In r peak$year
, estimated daily salmon passage peaked at r round(peak$escapement, 0)
on r format(peak$day, "%B %d, %Y")
and by the end of the season a total of r round(last(boots$summary$escapement), 0)
(95% CI=r round(last(boots$summary$lower_ci), 0)
--r round(last(boots$summary$upper_ci), 0)
) sockeye were estimated to have migrated into Akalura Lake.
Management of salmon within the Kodiak Management Area (KMA) is the responsibility of Alaska Department of Fish and Game (ADF&G) who monitors escapement on many systems within Kodiak Refuge boundaries. Escapement goals for KMA salmon stocks are based on the Policy for the Management of Sustainable Salmon Fisheries (SSFP; 5 AAC 39.222) and the Policy for Statewide Salmon Escapement Goals (EGP; 5 AAC 39.223). These policies were adopted by the Alaska Board of Fisheries in 2000 and 2001, respectively, to ensure the state’s salmon stocks would be conserved, managed, and developed using the sustained yield principle. Escapement information provides the basis for ensuring biological integrity, and is the foundation for in season management actions that regulate commercial, sport, and subsistence harvest of salmon [@spalinger_2006]. Historical studies have documented salmon utilizing over 800 systems within the KMA [@johnson_and_keyse_2013], but only about 49 support yearly sockeye salmon spawning populations [@johnson_and_blanche_2010]. Of these 49, escapement is monitored in only 10 systems. During the annual review of escapement goals in 2005 by ADF&G, the Akalura, as well as Uganik and Little Rivers, escapement goals were eliminated. The elimination of these goals was based on reliable escapement estimates not being consistently collected due to budget constraints [@nelson_etal_2005].
Sockeye salmon data/information has been collected on Akalura Lake intermittently starting in 1923 [@edmundson_etal_1994], with the most recent study being conducted in 2002 [@sagalkin_2003]. Historical data (1992--2003) shows that at one time the Akalura sockeye salmon run was a bi-modal population with a small early run occurring in June. But over time the early run has disappeared. This system has been monitored between 1944--1958 and between 1987--2002, but due to lack of funding there was a 29-year period where no escapement data was collected. To help fill this data gap, we will provide the results from this study to ADF&G to aid in their management of sockeye salmon in the Alitak District. The lack of recent escapement data is not only a problem for managers focused on sustainable yield but also the energy and nutrients in spawning salmon provide critical inputs into riparian and terrestrial ecosystems [@wipfi_and_baxter_2010; @wilson_and_halupka_1995]. Thus, it is also important for Kodiak National Wildlife Refuge managers to have accurate escapement data to assess whether escapement is sufficient to maintain historical ecosystem productivity and function as well as subsistence needs.
Akalura Lake has a surface area of 4.9 km^2^, a mean depth of 10 m, and a maximum depth of 22 m [@schrof_etal_2000]. There are four main creeks that drain into the lake: Mud Creek, Falls Creek, Eagle Creek, and Crooked Creek [@edmundson_etal_1994]. The outlet stream (Akalura Creek) is 1.9 km long and drains into a small saltwater lagoon before entering Olga Bay. Akalura Creek is a small, clear-water creek and has a single 2.8 km tributary (Humpy Creek) (Figure \@ref(fig:study-area)).
knitr::include_graphics("./images/akalura_map.jpg")
Managers utilize several different methods, each with their own strengths and weaknesses, to monitor salmon escapement and passage. Examples of these methods include fixed or floating weirs, counting towers, or sonar, and aerial surveys which are used on many large rivers in Alaska. Although these methods collect the desired information, they are expensive and are relatively labor intensive. On small streams (<15 m wide), remote video methods can collect comparable data and are less expensive and labor intensive; however, the time required to review video footage can be prohibitive. To quantify the sockeye salmon run in Akalura River, a double-sampling time-lapse photo and video camera system approach was used @deacy_etal_2016. This method was developed and tested in 2012 and refined from 2013--2015 on 11 streams in southwest Kodiak, Alaska. The system has the benefits of a remote video system (i.e., low maintenance, low impact on passing salmon, inexpensive, and accurate counts), but labor costs for reviewing photo images is greatly reduced.
In an effort to utilize a remote camera system without time-consuming video enumeration, we utilized a double-sampling scheme. Double sampling is used when the variable of interest is expensive to quantify, but another variable is easily measured and has a predictable relationship with the variable of interest [@cochran_1977]. For our study the variable of interest is the number of sockeye salmon that migrate upstream each hour, which we can be accurately quantified with an above-water video camera. The more easily measured and related measurement is the number of salmon detected in time-lapse images each hour. Time-lapse photography is recorded for the entire study season, while the video recordings are only measured on a subsample of units in order to model the relationship between the variables. The total time required to review footage in this double-sampling scheme is low relative to video-only approaches because we only have to enumerate sockeye salmon in a subset of the hour long sample units. We determined the sockeye salmon passage for the remaining hours by modeling the relationship between the subsample of hourly video counts and photo counts and then used the model to predict sockeye salmon migration across the entire run. In addition, the time-lapse photo counts provide an understanding of general run timing over the field season.
The camera/video system was installed before the start of the sockeye salmon run, r format(min(subset(dat$date, dat$year == max(dat$year))), "%d %B, %Y")
(Figure \@ref(fig:system)). Due to the lack of information collected from this system over the past 10 years, it was imperative for the camera/video system to be installed early enough before the start of the sockeye salmon run, which according to historical data indicates this time to normally occur after late July to early August. In r format(max(dat$date), "%Y")
, the site was visited every 10 days, with the exception of one period lasting greater than 10 days. The purposes of site visits were to ensure all equipment was working, clean the panels, and change out SD memory cards. To record time lapse images of passing salmon, we used a ReconyxR Hyperfire PC800 camera (Reconynx Inc., Holmen, WI), programmed to take three photos in rapid succession (<1 sec between frames) each minute, 24 hrs/day. We followed the protocol of Deacy et al. 2016 for the use of time lapse and infrared lights to capture salmon movement.
knitr::include_graphics("./images/system.jpg")
To make passing salmon easier to see, we secured 50.8 cm--76.2 cm white High Density Polyethylene (HDPE) contrast panels to the bottom of the stream below the cameras by attaching them to a heavy chain (Figure \@ref(fig:timelapse-photo), Alaska Department of Fish and Game Permit # FH-14-II-0076). See @deacy_etal_2016 for details.
knitr::include_graphics("./images/contrast_panels.jpg")
At the end of the season, in mid-October, we separately counted the number of salmon moving up and downstream past the contrast panels during each three-photo burst. We only counted a salmon as passing if it moved at least 1/2 the length of the panels. We did not count stationary fish. Finally, we summed upstream and downstream counts separately for each hour of the monitoring season.
We used a model-based double sampling approach to estimate salmon escapement [@deacy_etal_2016] to predict annual salmon passage.
We selected hours that spanned the full range of hourly time-lapse salmon counts, including both periods with high numbers and periods with low numbers of salmon passing over the panels in both directions. Also, we selected hours where we were confident of nearly 100% detection, excluding hours where conditions, such as bad glare or poor lighting prevented accurate quantification. In total, we quantified salmon runs from 74 hrs of video in order to develop an accurate relationship between the numbers of salmon observed in the video versus the number counted in our time-lapse photos.
Next, we modeled video counts as a function of time-lapse photo counts for the subsample. All statistical analyses were conducted using the escapement package (https://github.com/mccrea-cobb/escapement) in R [@r_2020]. See "Session Information" for details. We compared four different models: first and second order linear regressions and first and second order segmented or “split-point" linear regression models [@muggeo_2008] (Table 2). The segmented regression allowed the slope to differ across ranges of the predictor variable. This makes sense for salmon swimming in a stream; salmon swimming upstream (positive values) might move slower, and thus have a greater chance of being detected in a time-lapse burst. In contrast, salmon swimming downstream (negative values) might move faster and have a lower likelihood of detection. To address this possibility, we including segmented regression models with the split-point (slope inflection point) constrained to zero.
To assess relative model fit, we compared Akaike's Information Criterion values (AICc; @akaike_1974). We calculated 95% confidence intervals around escapement point estimates using bootstrap resampling methods. Using the most parsimonious model, we predicted hourly salmon passage over the monitoring period. We summed hourly salmon passage sampling occasion to estimate daily salmon passage and annual salmon escapement. Because we did not use random sampling to select our modeling subsample, it is inappropriate to use the model variance to calculate confidence intervals for total escapement. Instead, we bootstrapped our subsample [@cante_and_ripley_2020] with replacement, refit our model using the top model structure, and re-predicted the total escapement [@efron_and_tibshirani_1993]. We repeated this r boots$raw_boots$boot_est$"2018"$R
times and used the 2.5 and 97.5 percentile values as upper and lower 95% confidence intervals of total escapement.
To validate models and test for overfitting, we performed leave one out cross-validation (LOOCV) [@kohavi_1985] and used the resulting predictions to calculate the precision (mean squared error, MSE) and accuracy (the percent difference between the predicted and actual escapement from the video).
In r boots$summary[nrow(boots$summary), "year"]
, we estimated the minimum escapement of sockeye salmon to be r round(last(boots$summary$escapement), 0)
(95% CI=r round(last(boots$summary$lower_ci), 0)
-r round(last(boots$summary$upper_ci), 0)
). In addition, we estimated the daily salmon passage peaked at r as.character(round(peak$escapement, 0))
on r format(peak$day, "%B %d, %Y")
. Based on $\Delta$AICc, the most parsimonious model to be the r tolower(models$aic_table$Modnames[[1]])
model (Table \@ref(tab:topmodel-table), Figure \@ref(fig:topmodel-plot)). Using the coefficient estimates from linear polynomial model, we were able to calculate and estimate the daily passage and total annual escapement for Sockeye Salmon. Using the statistical package R, we were able to combine data from r min(dat$year)
to r max(dat$year)
to calculate an estimator for the r boots$summary[nrow(boots$summary), "year"]
estimate.
models$top_model %>% broom::tidy() %>% dplyr::mutate(p.value = scales::pvalue(p.value)) %>% knitr::kable(caption = "Summary of the most parsimonious model using to minimum annual salmon escapement, Akalura River, Kodiak Island, Alaska.", col.names = c("Predictor", "B", "SE", "t", "p"), digits = c(0, 2, 3, 2, 3), booktabs = TRUE)
Using the most parsimonious model, we estimated escapement in r boots$summary[nrow(boots$summary)-1, "year"]
was r round(boots$summary[nrow(boots$summary)-1, "escapement"], 0)
salmon (Table \@ref(tab:summary-table)).
p.boots <- plot_boot_escapement(boots) p.boots[["min_escape"]]
knitr::kable(models$aic_table[c(1:4, 6, 8)], digits = 2, booktabs = TRUE, caption = "AICc table of the candidate model set for estimating minimum annual salmon escapement, Akalura River, Kodiak, Alaska.", col.names = c("Models", "K", "AICc", "Delta AICc", "AICc weight", "Cumulative weight"), row.names = FALSE )
knitr::kable(boots$summary, digits = 0, booktabs = TRUE, caption = "Annual escapement estimates based on the top model, Akalura River, Kodiak, Alaska.", col.names = c("Year", "Escapement", "Lower CI", "Upper CI"), row.names = NA )
plot_hourly(dat, models)
p <- plot_daily(dat, models) p[["daily"]]
plot_topmodel(models)
p <- plot_daily(dat, models) p[["cumul_daily"]]
\newpage
\newpage
The work conducted and analyses of the date in this report are the results of previous work conducted by Kodiak National Wildlife Refuge volunteers and employees. We would like to thank McCrea Cobb for his input into the analysis of the data. We would also like to thank those individuals who helped in the construction and maintenance of the camera system: Daniel Hernandez, ANSEP participants and FWS volunteers. We would also like to thank the numerous individuals within the Kodiak Refuge office for their support and dedication to this project, including Mike Brady, Cinda Childers, and Tevis Underwood.
\newpage
This reports was last compiled on r format(Sys.Date(), '%m/%d/%Y')
.
sessionInfo()
\newpage
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.