\clearpage \floatplacement{figure}{H}

Figures

Many more figures are available for the base model than what are included in this document. For easy viewing in your web browser please feel free to view them on the web at iantaylor-noaa.gthub.io/Lingcod_2021.

Data figures

Map of the U.S. west coast and the area included in this assessment (r ifelse(params$area == "South", "red", "blue")). The dashed line at \CapeM and colors delineate the northern (blue) from the southern (red) assessed area.\label{fig:map}{width=100% height=100% alt="Outline of coast and exclusive economic zone, which defines the border for the data included in this assessment."}

Length (cm) versus age (yr) and associated von Bertalanffy growth curves (lines) by latitude (colors). Models were fit to data from Lam research samples and \glsentrylong{s-wcgbt} data.\label{fig:Lam-vbgfcurves}{width=100% height=100% alt="Size-at-age increases with increasing latitude."}

Estimated smoother of latitude (decimal degrees) for age-7 female fish when fitting length-at-age data.\label{fig:Lam-kapurage7latitude}{width=100% height=100% alt="Change point was estimated at 38 degrees N latitude."}

add_figure_ling(csv=figurecsv, "data_plot$")
# Arrange figures in order of the time they were modified
add_figure_ling(dplyr::bind_rows(mapply(
  FUN = utils::read.csv,
  file = dir(file.path("..","figures"), pattern = "^catch-.+\\.csv",full.names=TRUE),
  SIMPLIFY = FALSE
)) %>% dplyr::arrange(file.info(filein)$mtime)
)
sa4ss::add_figure(
  filein = file.path("..", "figures", "WA_rec_catch_comparison_after_fix.png"),
  label = "wa-rec-catch-comparison",
  caption = "Comparison of catch in biomass (top) and numbers (bottom) for the Washington recreational fishery between the 2017 assessment, where catch was input in numbers, and the current assessment, where catch was converted from numbers to biomass outside the model. The 'estimate' lines in each panel respresent the results of internal calculation on the final base model based on the input values and the internally estimated values for growth, selectivity, and age composition in each year."
)
sa4ss::add_figure(
filein = file.path("..", mod_loc, "plots", "catch2 landings stacked.png"), 
caption = "Landings (mt) by fleet used in the base model.",
label = "catch-figures-r4ss"
)

sa4ss::add_figure(
filein = file.path("..", mod_loc, "plots", "catch16 landings + dead discards.png"), 
caption = "Landings plus dead discards (mt) by fleet as estimated in the base model.",
label = "catchdiscard-figures-r4ss"
)
# Use figures-cpue.csv to bring in ordered set of figures
figures_cpuedata <- utils::read.csv(file.path("..", "figures", "figures_cpue.csv"))
add_figure_ling(figures_cpuedata %>% dplyr::filter(grepl("cpue-commercialfixed", label)))
add_figure_ling(utils::read.csv(file.path("..", "figures", "reccpuewa.csv")))
add_figure_ling(figures_cpuedata %>% dplyr::filter(grepl("cpue-recreationalOregon", label)))
sa4ss::add_figure(
  filein = file.path("..", "figures", "OR_ORBS_CPUE", "ORBS_DataSummary.png"),
  label = "reccpueor-orbsdatasummary",
  caption = "Number of trips versus year, month, port, subregion, boat type, and effort (angler hours) from \\glsentrylong{orbs} data that was used to estimate \\glsentrylong{cpue} for the Oregon recreational fleet."
)

```{asis, opts.label="north"} (#fig:fig-dist-fits-crfspr)Quantile-quantile plot (top panel) of the positive observations for both lognormal and gamma distributions and fitted values vs residuals for the Gamma model (bottom panel) for the \glsentrylong{crfs} private rental dockside index representing the California recreational fleet.

(#fig:fig-Dbin-marginal-crfspr)Binomial marginal effects from the final model of \glsentrylong{crfs} private rental dockside data representing the California recreational fleet.

(#fig:fig-Dpos-marginal-crfspr)Positive model marginal effects from the final model of \glsentrylong{crfs} private rental dockside data representing the California recreational fleet.

```{asis, cpue-figures-south, opts.label = "south"}
![Quantile-quantile fits (upper panel) for the lognormal (orange) and gamma (green) distributions and residuals versus fitted values (bottom panel) for the \glsentrylong{mrfss} data used in the California recreational \glsentrylong{cpue} index.\label{fig:mrfssdistribution}](Indices_for_Kelli/lingcod_MRFSS_dockside_writeup_NCA_files/figure-latex/fig-dist-fits-mrfss-1.pdf){width=100% height=100% alt="Quantiles fit the theoretical distribution for both gamma and lognormal."}

![(\#fig:depthfished-cpfvonboard)Boxplots of depths fished by year in the filtered data \glsentrylong{cpfv} onboard observer data set used for the California recreational fishery \glsentrylong{cpue}.](Indices_for_Kelli/lingcod_CA_CPFV_onboard_writeup_SCA_files/figure-latex/fig-depthfished-cpfvonboard-1.pdf){width=100% height=100% alt="Histogram of depth by year."}
get_fleet("rec") %>%
  # Expand so each rec fleet has one row per sexes and types listed
  tidyr::crossing(sex = c("Sexed", "Unsexed"), type = c("Length", "Age")) %>%
  # Group lengths for a given fleet then ages
  dplyr::arrange(desc(type), order, sex) %>%
  # Keep only the appropriate fleets for the area
  dplyr::filter(!!as.name(paste0("used_", substr(Sys.Date(),1,4),".", tolower(substr(params$area,1,1))))) %>%
  # Create the caption and filename
  dplyr::mutate(
    alt_caption = "to do -- fill this in",
    filein = file.path(
      "..", "figures",
      paste0(
        ifelse(label_twoletter == "CA", paste(label_twoletter, params$area), label_twoletter),
        " Recreational - ",
        sex, "_", type,
        "_Frequency.png"
      )
    ),
    caption = paste0(stringr::str_to_title(type), "-composition data for the ", label_twoletter, " recreational fleet for ", tolower(sex), " fish."),
    label = paste0(tolower(label_twoletter), "-", substr(tolower(type), 1, 3), "comp-", tolower(sex))
  ) %>%
  dplyr::filter(file.exists(filein)) %>%
  dplyr::select(filein, caption, label, alt_caption) %>%
  add_figure_ling
do.call(
  sa4ss::add_figure,
  utils::read.csv(file.path("..", "figures", "rec_selectivity_illustration.csv"))
)
sa4ss::add_figure(
  filein = "Indices_for_Kelli/ORAtSeaCPFVIndex_writeup_files/figure-latex/fig-Dnbin-marginal-ORAtSea-1.pdf",
  label = "fig-Dnbin-marginal-ORAtSea",
  caption = "Marginal effects from the final model."
)
nm = "WCGBTS_presence_absence_by_depth_bin.png"
sa4ss::add_figure(
filein = file.path("..", "figures", nm),
caption = paste0("Presence/absence of ", spp, " in the  \\glsentrylong{s-wcgbt} (\\glsentryshort{s-wcgbt}) by 25 m depth increments"),
label = 'wcgbts-presAbs')
ignore <- mapply(
  FUN = add_figure_vast,
  SIMPLIFY = FALSE,
  file.path("..", "data-raw",
    sprintf("%s_%s_gamma", c("WCGBTS", "Triennial"), params$area)
  )
)
nm = "Triennial_cpueXdepth.png"
sa4ss::add_figure(
filein = file.path("..", "figures", nm),
caption = paste0("Raw catch per unit effort in  by depth in
                 the triennial survey. The black vertical line indicate
                 split in depth strata at 183 m,
                 and red vertical line shows end of depth strata at 350 m"),
label = 'tri-depthSplit')
sa4ss::add_figure(
  filein = "Indices_for_Kelli/HookandLine_Harms_CCA_Lingcod.png",
  caption = "Map of the NWFSC hook-and-line survey site with circle indicating location at which lingcod rockfish were observed at least once.",
  label = "spp-sites"
)
sa4ss::add_figure(
  filein = "Indices_for_Kelli/lingcod_NWFSC_HL_writeup_SCA_files/figure-latex/fig-posterior-mean-nwfschl-1.pdf",
  caption = "Posterior predictive draws of the mean by year with a vertical line of the raw data average.",
  label = "fig-posterior-mean-nwfschl"
)
sa4ss::add_figure(
  filein = "Indices_for_Kelli/lingcod_NWFSC_HL_writeup_SCA_files/figure-latex/fig-posterior-sd-nwfschl-1.pdf",
  caption = "Posterior predictive draws of the standard deviation by year with a vertical line representing the observed average.",
  label = "fig-posterior-sd-nwfschl"
)
sa4ss::add_figure(
  filein = "Indices_for_Kelli/lingcod_NWFSC_HL_writeup_SCA_files/figure-latex/fig-propzero-nwfschl-1.pdf",
  caption = "Posterior predictive distribution of the proportion of zero observations in replicate data sets generated by the logit normal model with a vertical line representing the observed average.",
  label = "fig-propzero-nwfschl"
)
sa4ss::add_figure(
  filein = "Indices_for_Kelli/lingcod_NWFSC_HL_writeup_SCA_files/figure-latex/marginal-nwfschl-1.pdf",
  caption = "Marginal effects from the final model logit normal model.",
  label = "marginal-nwfschl"
)
ignore <- mapply(FUN = sa4ss::add_figure,
  filein = file.path("..", "figures",
    paste0("WCGBTS - ", params$area, " _", c("Length", "Age"), "_Frequency.png")),
  caption = paste0(c("Length", "Age"), "-composition data for males and females in the \\glsentrylong{s-wcgbt} (\\glsentryshort{s-wcgbt})."),
  label = paste0("wcgbts-", c("len", "age"), "Comp")
)
# CAAL comps from r4ss
add_figure_ling(csv = figurecsv, "comp_condAALdat_bubflt7mkt0")
# triennial ages
ignore <- mapply(FUN = sa4ss::add_figure,
  filein = file.path("..", "figures",
    paste0("Triennial - ", params$area, " _", c("Length", "Age"), "_Frequency.png")),
  caption = paste0(c("Length", "Age"), "-composition data for males and females in the \\glsentrylong{s-tri} (\\glsentryshort{s-tri})."),
  label = paste0("tri-", c("len", "age"), "Comp")
)
ignore <- mapply(FUN = sa4ss::add_figure,
  filein = file.path("..", "figures",
    paste0(c(
      "HNL lengths Male-Female_Length",
      "HNL lengths Unsexed_Length",
      "Hook and Line_Age"
    ), "_Frequency.png")
  ),
  caption = paste0(
    c("Length", "Length", "Age"),
    "-composition data for ",
    c("males and females ", "unsexed fish ", "males and females "),
    "in the ", sprintf("\\glsentrylong{s-%1$s} (\\glsentryshort{s-%1$s}).", "hkl")
  ),
  label = paste0("hkl-", c("len", "len", "age"), "Comp", c("-sexed", "-unsexed", ""))
)
nm = "Lam Thesis lengths Male-Female South_Length_Frequency.png"
sa4ss::add_figure(
filein = file.path("..", "figures", nm),
caption = "Length-composition data for male and females from Lam Research data",
label = 'lam-lenComp')
nm = "Lam Thesis ages Male-Female South_Age_Frequency.png"
sa4ss::add_figure(
filein = file.path("..", "figures", nm),
caption = "Age-composition data for male and females from Lam Research data",
label = 'lam-ageComp')
add_figure_ling(utils::read.csv(file.path("..", "figures", "figures-fi-index-ormarres.csv")))

``{asis, opts.label = 'south', echo = TRUE} ![(\#fig:fig-areacpue-ccfrp)Arithmetic mean of \glsfirst{cpue} by region forr spp` from the filtered \glsfirst{s-ccfrp} data.](Indices_for_Kelli/lingcod_CCFRP_writeup_NCA_files/figure-latex/fig-areacpue-ccfrp-1.pdf)

(#fig:fig-sitecpue-ccfrp)Arithmetic mean of \glsfirst{cpue} inside (green) and outside (orange) \glsfirst{mpa} sample sites for r spp from the filtered \glsfirst{s-ccfrp} data.

(#fig:fig-cpue-ccfrp)Standardized index and arithmetic mean of the \glsfirst{cpue} from the filtered \glsfirst{s-ccfrp} data. Each timeseries is scaled to its respective mean.

(#fig:fig-dist-fits-ccfrp)A comparison of the observed to theoretical quantiles (Q-Q plot; top panel) suggesting the Lognormal distribution (orange) provides a better fit to the positive observations than a Gamma distribution (green). Residuals versus observations for the final, Lognormal, model (bottom panel) exhibit some trends in the extremes of the distribution (blue line is a smoother).

<!-- ====================================================================== -->
<!-- Biology Figures -->
<!-- ====================================================================== -->

## Biology figures

```r
sa4ss::add_figure(
  filein = file.path("..", "figures", paste0("WCGBTS - ", params$area, " _length_fraction_female.png")),
  caption = "Fraction of the biological data from the \\gls{s-wcgbt} subset to just the area included in this assessment that are female by length (cm).",
  label = "biology-sexratio-lengthfractionfemale"
)

sa4ss::add_figure(
  filein = file.path("..", "figures", "biology_exploration", "Length_by_Latitude_JustCombo.png"),
  caption = "Histograms of lengths for female (top panel), male (middle panel) and unsexed (bottom panel) fish by latitude, in half degree increments. Samples sizes (N) for each sex are displayed in the upper left of each panel. Histograms show the median (solid bar), quartiles (colored boxes), 1.5 times interquartile range from the closest quartile or the most extreme data point (whiskers), and data beyond 1.5 times the interquartile range from the closest quartile (points)",
  label = "biology-sexratio-lengthbylatitude"
)
add_figure_ling(figurecsv %>% dplyr::filter(grepl("bio6_maturity", label)))
sa4ss::add_figure(
  filein = file.path("..", "figures", "age_mat_forassessment.png"),
  caption = "Proportion mature versus age (left panel; years) and length (right panel; cm) from fishery-independent and -dependent data sources. See Section \\@ref(sec-biological-data-maturation-and-fecundity) for details on the analysis.",
  label = "age-mat-forassessment"
)

nm = paste0("Length_Weight_Combo_", params$area, ".png")
sa4ss::add_figure(
filein = file.path("..", "figures", "biology_exploration", nm),
caption = "Weight-length relationship for males and females from the \\gls{s-wcgbt}",
label = "len-weight"
)

add_figure_ling(utils::read.csv(file.path("..", "figures", "ageing-double-reads.csv")))
add_figure_ling(figurecsv%>%dplyr::filter(grepl("numbers10",label)))

Model results figures

Selectivity

do.call(
  sa4ss::add_figure,
  utils::read.csv(file.path(params$model, "custom_plots", "selectivity_comm.csv"))
)
add_figure_ling(utils::read.csv(file.path(params$model, "custom_plots", "selectivity_noncomm.csv")))

Fits to data

# index fits
add_figure_ling(utils::read.csv(file.path(params$model, "custom_plots", "index_fits_all_fleets.csv")))

# fits to length comp distributions
add_figure_ling(csv = figurecsv, "comp_lenfit__aggregated_across_time")

# pearson resids for length comps
add_figure_ling(csv = figurecsv, "comp_lenfit.*multi-fleet_comparison")

# CAAL residuals from WCGBT only
# to do this is showing all fleets, not just WCGBT
add_figure_ling(csv = figurecsv, "comp_condAALfit_resids")

# discard fits
add_figure_ling(csv = figurecsv, "discard_fit")

# mean body weight figs
add_figure_ling(csv = figurecsv, "bodywt")

Time series figures

add_figure_ling(csv = figurecsv, "ts7_.+with")
add_figure_ling(csv = figurecsv, "ts9_.+ls$")
add_figure_ling(csv = figurecsv, "ts1_Total")
# to do change to summary instead of total
add_figure_ling(csv = figurecsv, "ts11_.+ls$")
add_figure_ling(csv = figurecsv, "recdevs2_withbars")
add_figure_ling(csv = figurecsv, "SR_curve$")
add_figure_ling(csv = figurecsv, "SPR2")
add_figure_ling(csv = figurecsv, "SPR4")
add_figure_ling(csv = figurecsv, "yield2")

Sensitivity analyses and retrospectives

# Read in three separate csv files
# timeseries_[ns]_ will be changed by string_switchletter to be the appropriate area
# to do -- change the file name to no be specific to area b/c the file isn't in Figures
add_figure_ling(dplyr::bind_rows(mapply(
  SIMPLIFY = FALSE,
    FUN = utils::read.csv,
    file = file.path(params$model, "custom_plots", string_switchletter(newletter = params$area,
        x = c(
          "sens_timeseries_n_bio_rec.csv",
          "sens_timeseries_n_comp.csv",
          "sens_timeseries_n_index.csv",
          "sens_timeseries_n_sel.csv"
        )
    ))
)))
sa4ss::add_figure(
  filein = file.path("..", "figures", 
                     paste0("comp_weights_DM_vs_Francis_", tolower(params$area), ".png")),
  caption = "Weights applied to the length- and age-composition data by the Francis weighting used in the base model vs the Dirichlet-multinomial weighting used in a sensitivity analyses.",
  label = "weights-DM-vs-Francis",
  width = 100*4/6.5
)
add_figure_retro(params$model, 5)

Likelihood profiles

add_figure_profile(params$model, "NatM", "like_1")
add_figure_profile(params$model, "steep")
add_figure_profile(params$model, "R0")

Reference points and forecasts

Comparisons of north and south models

add_figure_ling(utils::read.csv(file.path("..", "figures", "figures_compare_north_vs_south.csv")))
add_figure_ling(utils::read.csv(file.path("..", "figures", "north_vs_south_timeseries.csv")))


iantaylor-NOAA/Lingcod_2021 documentation built on Oct. 30, 2024, 6:42 p.m.