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). Status (i.e., "L"ow, "M"oderate, "A"bundant) is based on cohort abundance. Pre-season status is based on agency forecasts of MU cohort abundance. The ER Cap on the Interior Fraser MU is 20% due to its Low MU status. ER Caps are not available for other Canadian MUs. ER Caps on each of the Inside US MUs (Skagit, Stillaguamish, Snohomish, Hood Canal, and US Strait JDF) are based on MU status, which is determined by cohort abundance. ER Caps on each of the Outside US MUs (Quillayute Fall, Queets, Hoh, Grays Harbor) are based on cohort abundance and the escapement goals for each MU. Outside US MUs are managed for an escapement range; the floor of the escapement range is used for MU status determination. Pre-season modelled ERs are the result of US and Canadian fishery planning processes. Cohort abundance is the ocean age-3 abundance and represents escapement plus fishery mortality, but not natural mortality.

t2 <- CreateTable1(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 <- CreateTable2(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_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"),  ~percent(.,accuracy = 0.1, suffix = "\\%")) %>%
  select(1:4, "us.pre.cap", "us.pre.model",  "us.pre.unused",  "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(3, "latex",), sep = " "), us.pre.cap ))%>%
  mutate(cdn.pre.cap = if_else(management.unit == "Interior Fraser", paste(cdn.pre.cap, footnote_marker_symbol(3, "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))

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 Southern Alaskan catch not included in this table (see table 2)."

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","US ER Cap", "US ER Model", "US Unused","Cdn 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(3, SusName), "Canadian" = 3), escape = FALSE)  %>%
  add_header_above(c(" ", "PreSeason" = 11)) %>%
  footnote(symbol = c(footnote3, "Southern U.S. is limited to US fisheries south of the Canadian border.", 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 March 26, 2022, 9:33 a.m.