knitr::opts_chunk$set(echo = FALSE)

options(knitr.table.format = 'latex', knitr.kable.NA = '')

#load chunks from r script
# knitr::read_chunk("AnnualReportChunks.R")

\thispagestyle{empty}

Pre-season DB: r pre.season.db.name , Pre-season run name: r run.name \newline

Table 1: Summary of the r run.year pre-season return of natural spawning Coho Management Units. Total pre-season exploitation rate (ER) represents the sum of US and Canadian exploitation rates on each Management Unit (MU). Pre-season status (i.e., "L"ow, "M"oderate, "A"bundant) is based on agency forecasts of MU cohort abundance. For Canadian ER Caps on US MUs, the pre‐season ER Caps are the total allowable ER under the PSC Coho agreement. For Canadian ER Caps on Canadian MUs, a 10% ER Cap for Interior Fraser Coho is allowable under the PSC Coho agreement. Pre‐season ERs reflect combined US and Canadian pre‐season planning processes and do not include estimates of impacts in Canadian freshwater fisheries. Pre‐season unused ERs are the difference between the ER Caps and modeled values.

t2 <- CreateTable2(pre.season.data = pre.season.data, post.season.data = pre.season.data, run.year = run.year) %>%
  select(-contains('post'), -"cap.method")
# select(management.unit, us.pre.model, cdn.pre.model)

t1 <- CreateTable1(pre.season.data = pre.season.data, post.season.data = pre.season.data, run.year = run.year) %>%
  select(-contains('post')) %>%
  mutate_if(colnames(.) %in% c("pre.cap", "pre.model",  "pre.escapement", "pre.ocean.age"), ~as.double(as.character(.))) %>%
  mutate(pre.escapement = format(round(pre.escapement,0), big.mark = ",", trim = TRUE, na.encode = TRUE)) %>%
  mutate(pre.ocean.age = format(round(pre.ocean.age,0), big.mark = ",", trim = TRUE, na.encode = TRUE)) %>%
  left_join(t2, "management.unit") %>%

  mutate(us.base.pre.cap = if_else(management.unit %in% c("Skagit", "Stillaguamish", "Snohomish", "Hood Canal", "US Strait JDF", "Quillayute", "Hoh", "Queets", "Grays Harbor"), us.pre.cap - cdn.pre.unused,  us.pre.cap)) %>%

  mutate(cdn.base.pre.cap = if_else(management.unit == "Interior Fraser", cdn.pre.cap - us.pre.unused, cdn.pre.cap))  %>%

  mutate_if(colnames(.) %in% c("pre.cap", "pre.model", "us.pre.cap", "us.pre.model",  "us.pre.unused",  "cdn.pre.cap", "cdn.pre.model", "cdn.pre.unused", "cdn.base.pre.cap", "us.base.pre.cap"),  ~percent(.,accuracy = 0.1, suffix = "\\%")) %>%
  select(1:4,"us.base.pre.cap", "us.pre.cap", "us.pre.model",  "us.pre.unused", "cdn.base.pre.cap", "cdn.pre.cap", "cdn.pre.model", "cdn.pre.unused", everything())%>%
  mutate(us.pre.cap = if_else(management.unit %in% c("Skagit", "Stillaguamish", "Snohomish", "Hood Canal", "US Strait JDF", "Quillayute", "Hoh", "Queets", "Grays Harbor"), paste(us.pre.cap, footnote_marker_symbol(4, "latex",), sep = " "), us.pre.cap ))%>%
  mutate(cdn.pre.cap = if_else(management.unit == "Interior Fraser", paste(cdn.pre.cap, footnote_marker_symbol(4, "latex"), sep = " "), cdn.pre.cap)) %>%
  mutate(pre.escapement = ifelse(pre.escapement == "NA", NA, pre.escapement)) %>%
  mutate(pre.ocean.age = ifelse(pre.ocean.age == "NA", NA, pre.ocean.age)) %>%
  select(management.unit:us.pre.cap, us.base.pre.cap, everything()) %>%
  select(management.unit:cdn.pre.cap, cdn.base.pre.cap, everything(), -pre.status.y)


cdn_skag_unused <- t2$cdn.pre.unused[t1$management.unit == "Skagit"] %>%
  percent(., accuracy = 0.1)

us_skag_cap <- t2$us.pre.cap[t1$management.unit == "Skagit"] %>%
  percent(., accuracy = 0.1)

footnote3 <- "Including catch Southern Alaskan fisheries (see table 2 for details)."

footnote2 <- str_glue("Contains the base cap ER plus the unused portion of the intercepting party's ER. For example in the preseason, Skagit includes US share plus the unused {cdn_skag_unused} Canadian allocation, totalling {us_skag_cap} total US allocation.")

totalname <- paste("Total",footnote_marker_symbol(1, double_escape = T), sep=" ")
SusName <- paste("Southern US",footnote_marker_symbol(2, double_escape = T), sep=" ")



table1form <- kbl(t1, digits = 1,
                  col.names = c("Management unit", "Status", "ER Cap", "ER Model", paste0("US Base Cap", footnote_marker_symbol(3)),"US ER Cap", "US ER Model", "US Unused", paste0("Cdn Base Cap",  footnote_marker_symbol(3)),"Cdn ER Cap", "Cdn ER Model", "Cdn Unused",  "Escapement", "Recruitment (Ocean Age-3)"), escape = F,  linesep = "", booktabs = T, format = "latex") %>%
  # kableExtra::column_spec(8:8, "2.5cm") %>%
  kable_styling(latex_options = c("striped", "scale_down", "hold_position")) %>%
  add_header_above(c(" " = 2, setNames(2, totalname),   setNames(4, SusName), "Canadian" = 4), escape = FALSE)  %>%
  add_header_above(c(" ", "PreSeason" = 13)) %>%
  footnote(symbol = c(footnote3, "Southern U.S. is limited to US fisheries south of the Canadian border.", "ER Cap before the unused portion from the intercepting party is included.",  footnote2), threeparttable = T)




# table1form <- kable(t1, format = "latex", digits = c(0), format.args = list(big.mark =","), escape = T,
#                     col.names = c("Management unit", "Status", "ER Cap", "ER Model", "Southern US ER Model", "Cdn ER Model", "Escapement", "Recruitment (Ocean Age-3)"), label = "GUYUYUYUYUY",
#                     booktabs = T, linesep = "") %>%
#   kableExtra::column_spec(8:8, "2.5cm") %>%
#   kable_styling(latex_options = "striped") %>%
#   add_header_above(c(" ", "Pre-Season" = 7))




print(table1form)

\newpage \thispagestyle{empty}

Table 2: Pre-season summary exploitation rates, escapements, and cohort abundances for naturally spawning Coho MUs in r run.year.

t3_per <- CreateTable3(pre.season.data) %>%
  filter(psc.fishery.name %notin% c("escapement", "cohort")) %>%
  mutate_if(is.numeric, ~percent(.,accuracy = 0.1, suffix = "\\%"))

t3_cnt <-CreateTable3(pre.season.data)%>%
  filter(psc.fishery.name %in% c("escapement", "cohort")) %>%
  mutate_if(is.numeric, ~comma(.))


t3_cnt_GS <- select(t3_cnt, c("psc.fishery.name", starts_with("Georgia")))

t3_cnt_GS[1,2:ncol(t3_cnt_GS)] <- paste0(t3_cnt_GS[1,2:ncol(t3_cnt_GS)], footnote_marker_symbol(3))
t3_cnt_GS[2,2:ncol(t3_cnt_GS)] <- paste0(t3_cnt_GS[2,2:ncol(t3_cnt_GS)], footnote_marker_symbol(2))

t3_cnt_oth <- select(t3_cnt, -starts_with("Georgia")) %>%
  mutate(`Lower Fraser` = if_else(psc.fishery.name == "escapement",
                                  paste0(`Lower Fraser`, footnote_marker_symbol(1)," "),
                                  paste0(`Lower Fraser`, footnote_marker_symbol(2))))

t3_cnt <- left_join(t3_cnt_GS, t3_cnt_oth, "psc.fishery.name")


t3 <- bind_rows(t3_per, t3_cnt) %>%
  mutate(psc.fishery.name = str_replace(psc.fishery.name, "&", "\\\\&")) %>%
  rename(`Fishery Name` = "psc.fishery.name") 


table3form <-  kable(t3, escape = F, booktabs= T, linesep = "", row.names = FALSE, col.names = linebreak(c("Fishery name",  "Lower\nFraser","Interior\nFraser","Georgia\nStrait", "Skagit", "Stillaguamish", "Snohomish", "Hood Canal", "US Strait\nJDF", "Quillayute", "Hoh", "Queets", "Grays\nHarbor"))) %>%
  kable_styling(latex_options = c("scale_down", "hold_position")) %>%
  column_spec(1, bold = T) %>%
  row_spec(c(13, 23, 25), background = "#e3e7fc") %>%
  row_spec(0, bold = TRUE) %>%
  row_spec(c(seq(2, nrow(t3),2)), background = "#d6d6d6") %>%
  footnote(symbol = c("Modelled values of terminal run size occuring after lower Fraser in river fisheries", " Modelled values of terminal run size that are not directly estimated", "Modelled values that are not directly estimated"), threeparttable = T)


print(table3form)


PSC-CoTC/AnnualReport documentation built on Feb. 15, 2025, 8:34 p.m.