This document was compiled in RMarkdown, and shows the
incremental results of the Chilean Jack Mackerel (Trachurus
murphyi) stock assessment update in 2022. The files associated with
this document can be found on Github.
Annoted data files can be found in the Excel spreadsheet
SC10_datfiles.xlsx on jjm/assessment/data.
The code to create the input files for this assessment and to run
these models can be found in jjm/assessment/R/SC10_Bridging.R.
Should you choose to run the models, please ensure that you have:
jjm/src/jjms.tpl
jjm/src folder in
your Terminal, and using the make commandjjmR package
R using the command
remotes::install_github("SPRFMO/jjmR")File naming conventions have been changed to reflect the stock
structure hypotheses associated with each run. The h1
denotes the single-stock hypothesis, while h2 denotes the
two-stock one.
| Model | Description |
|---|---|
| Models 0.x | Data introductions |
| 0.00 | Exact 2021 (single stock h1 and two-stock
h2) model and data set (model 1.14) from benchmark
SCW14. |
| 0.01 | As 0.00 but with revised catches through 2021 (currently still estimates) |
| 0.02 | As 0.01 but with updated 2021 fishery age composition data for N_Chile, SC_Chile, and Offshore_Trawl, and updated 2021 fishery length composition data for FarNorth |
| 0.03 | As 0.02 but with updated 2021 weight at age data for all fisheries and their associated CPUE indices |
| 0.04 | As 0.03 but replaced offshore CPUE up to 2021 |
| 0.05 | As 0.04 but with updated AcousN 2021 index, with associated age composition and weight at age |
| 0.06 | As 0.05 but with 2022 catch projections |
| 0.07 | As 0.06 but with updated 2022 fishery age composition data for N_Chile, SC_Chile, and Offshore_Trawl, and updated 2022 fishery length composition data for FarNorth |
| 0.08 | As 0.07 but with updated 2022 weight at age data for N_Chile, SC_Chile, and FarNorth fleets, and for their associated CPUE indices |
| 0.09 | As 0.08 but replaced SC_Chile_CPUE index (traditional absolute scaled CPUE by trip) |
| 0.10 | As 0.09 but replaced Peru_CPUE index |
| ———– | ————– |
| Models 1.x | Updated Model and Sensitivities |
| 1.00 | Update model (selectivity changes, recruitment) to 2022; 0.10 data file |
| 1.01 | As 1.00 but with correct growth parameters to reflect FL (Linf=73.56; L0=13.56; SC10-Doc27 Peru National Report - ANJ) |
| 1.02 | As 1.01 but with added flexibility for offshore fleet |
if(!'devtools' %in% installed.packages()) install.packages('devtools')
devtools::install_github("SPRFMO/jjmR")
if(!'kableExtra' %in% installed.packages()) install.packages('kableExtra')
You’ll need to be in the jjm/assessment directory in
order for the code here to run.
library(jjmR)
library(tidyverse)
library(kableExtra)
pwd <- getwd()
# if (!grepl(basename(pwd), "assessment", ignore.case = TRUE)) {
# stop(paste("Set working directory to jjm/assessment"))
# }
geth <- function(mod,h=hyp) paste0(h,"_", mod)
fn.plotind <- function(mods2compare, indname) {
fn.seldata <- function(x) {
x$data$Index[,i] %>%
bind_rows() %>%
pivot_longer(everything(), names_to="year") %>%
drop_na() %>%
mutate(year=as.numeric(year),
assessment_year=max(year))
}
mods <- compareModels(geth(mods2compare, "h1"))
i <- grep(indname,mods[[1]]$data$Inames)
dat2use <- list()
for(m in 1:length(mods)) {
dat2use[[m]] <- fn.seldata(mods[[m]])
}
p <- map_dfr(dat2use, ~as_tibble(.)) %>%
mutate(assessment_year=as.factor(assessment_year)) %>%
ggplot(aes(x=year,y=value,colour=assessment_year)) +
geom_line() +
theme_minimal() +
scale_x_continuous(breaks= scales::pretty_breaks())
print(p)
}
fixed_bmsy <- function(mod,refpt=5500){
old_rat <- (mod[[1]]$output[[1]]$msy_mt[,13])
new_rat <- (mod[[1]]$output[[1]]$msy_mt[,12]/ refpt)
mod[[1]]$output[[1]]$msy_mt[,13] <- new_rat
mod[[1]]$output[[1]]$msy_mt[,10] <- refpt
return(mod)
}
FinModName <- "1.02"
Re-running the 2021 model and comparing the results with that year’s SC meeting.
Plot comparing biomass estimated by last year’s model (mod_prev) with a re-run of the model this year (h1_0.00).
Plot comparing recruitment estimated by last year’s model (mod_prev) with a re-run of the model this year (h1_0.00).
Plot comparing fishing mortality estimated by last year’s model (mod_prev) with a re-run of the model this year (h1_0.00).
Plot comparing biomass estimated by last year’s model (mod_prev) with a re-run of the model this year (h2_0.00).
Plot comparing recruitment estimated by last year’s model (mod_prev) with a re-run of the model this year (h2_0.00).
Plot comparing fishing mortality estimated by last year’s model (mod_prev) with a re-run of the model this year (h2_0.00).
The most updated table of model runs can be found on Github.
The data updated to 2021 include catch estimates, age and length compositions, and indices of abundance.
Plot comparing biomass estimated by last year’s model (h1_0.00) with data updated to 2021.
Plot comparing recruitment estimated by last year’s model (h1_0.00) with data updated to 2021.
Plot comparing fishing mortality estimated by last year’s model (h1_0.00) with data updated to 2021.
Plot comparing biomass estimated by last year’s model (h2_0.00) with data updated to 2021.
Plot comparing recruitment estimated by last year’s model (h2_0.00) with data updated to 2021.
Plot comparing fishing mortality estimated by last year’s model (h2_0.00) with data updated to 2021.
The data updated to 2022 include projected catch estimates, age and length compositions, and indices of abundance.
Plot comparing biomass estimated with last year’s data using the same model (h1_0.05) but with data updated to 2022.
Plot comparing recruitment estimated with last year’s data using the same model (h1_0.05) but with data updated to 2022.
Plot comparing fishing mortality estimated with last year’s data using the same model (h1_0.05) but with data updated to 2022.
Plot comparing biomass estimated with last year’s data using the same model (h2_0.05) but with data updated to 2022.
Plot comparing recruitment estimated with last year’s data using the same model (h2_0.05) but with data updated to 2022.
Plot comparing fishing mortality estimated with last year’s data using the same model (h2_0.05) but with data updated to 2022.
This just shows the final data update, using the exact same model (i.e., with the same control files).
Plot comparing biomass estimated by last year’s model (h1_0.00) with data updated to 2022 (h1_0.10).
Plot comparing recruitment estimated by last year’s model (h1_0.00) with data updated to 2022 (h1_0.10).
Plot comparing fishing mortality estimated by last year’s model (h1_0.00) with data updated to 2022 (h1_0.10).
Plot comparing fishing mortality estimated by last year’s model (h2_0.00) with data updated to 2022 (h2_0.10).
Plot comparing recruitment estimated by last year’s model (h2_0.00) with data updated to 2022 (h2_0.10).
Plot comparing fishing mortality estimated by last year’s model (h2_0.00) with data updated to 2022 (h2_0.10).
These results are from updating the model to include selectivity changes in the most recent year, and to extend the recruitment regime shift time series. This was the same procedure that was applied to the previous year.
Plot comparing biomass estimates from last year’s model (h1_0.00) to this year’s (h1_1.00).
Plot comparing recruitment estimates from last year’s model (h1_0.00) to this year’s (h1_1.00).
Plot comparing fishing mortality estimates from last year’s model (h1_0.00) to this year’s (h1_1.00).
Plot comparing biomass estimated by last year’s model (h2_0.00) to this year’s (h2_1.00).
Plot comparing recruitment estimated by last year’s model (h2_0.00) to this year’s (h2_1.00).
Plot comparing fishing mortality estimated by last year’s model (h2_0.00) to this year’s (h2_1.00).
Peru found a mistake in the growth parameters- we had been applying growth parameters for Total Length to Fork Length data. Model 1.01 corrects this error.
Plot comparing biomass estimates using TL growth parameters (h1_1.00) to using FL parameters (h1_1.01).
Plot comparing recruitment estimates using TL growth parameters (h1_1.00) to using FL parameters (h1_1.01).
Plot comparing fishing mortality estimates using TL growth parameters (h1_1.00) to using FL parameters (h1_1.01).
Plot comparing biomass estimated using TL growth parameters (h2_1.00) to using FL parameters (h2_1.01).
Plot comparing recruitment using TL growth parameters (h2_1.00) to using FL parameters (h2_1.01).
Plot comparing fishing mortality estimated using TL growth parameters (h2_1.00) to using FL parameters (h2_1.01).
Downweighting the selectivity change penalty and upweighting the final year age comp data for offshore fleet.
Plot comparing biomass estimates for h1_1.01 and h1_1.02.
Plot comparing recruitment estimates for h1_1.01 and h1_1.02.
Plot comparing fishing mortality estimates for h1_1.01 and h1_1.02.
Plot comparing biomass estimated for h2_1.01 and h2_1.02.
Plot comparing recruitment for h2_1.01 and h2_1.02.
Plot comparing fishing mortality estimated for h2_1.01 and h2_1.02.
Model 1.02 was selected as the final model for 2022. This model incorporates:
| Multiplier of \(F_{2022}\) | \(B_{2024}\) | P(\(B_{2024}\) > \(B_{MSY}\)) % | \(B_{2028}\) | P(\(B_{2028}\) > \(B_{MSY}\)) % | \(B_{2032}\) | P(\(B_{2032}\) > \(B_{MSY}\)) % | Catch 2023 (kt) | Catch 2024 (kt) |
|---|---|---|---|---|---|---|---|---|
| 0 | 16447 | 100 | 17978 | 100 | 17868 | 99 | 0 | 0 |
| FMSY | 10568 | 95 | 6908 | 32 | 6112 | 20 | 3120 | 2659 |
| 0.75 | 14813 | 100 | 13485 | 98 | 12541 | 92 | 764 | 844 |
| 1 | 14323 | 100 | 12409 | 95 | 11404 | 87 | 1006 | 1083 |
| 1.25 | 13856 | 100 | 11484 | 91 | 10462 | 81 | 1243 | 1305 |
The BMSY for this year (an average of the most recent ten years) will be 7819kt.
| Multiplier of \(F_{2022}\) | \(B_{2024}\) | P(\(B_{2024}\) > \(B_{MSY}\)) % | \(B_{2028}\) | P(\(B_{2028}\) > \(B_{MSY}\)) % | \(B_{2032}\) | P(\(B_{2032}\) > \(B_{MSY}\)) % | Catch 2023 (kt) | Catch 2024 (kt) |
|---|---|---|---|---|---|---|---|---|
| 0 | 14976 | 100 | 16498 | 100 | 16371 | 100 | 0 | 0 |
| FMSY | 9994 | 100 | 6680 | 74 | 5865 | 58 | 2528 | 2175 |
| 0.75 | 13556 | 100 | 12531 | 99 | 11594 | 98 | 645 | 705 |
| 1 | 13128 | 100 | 11563 | 99 | 10558 | 96 | 849 | 905 |
| 1.25 | 12721 | 100 | 10724 | 98 | 9696 | 93 | 1048 | 1091 |
| Multiplier of \(F_{2022}\) | \(B_{2024}\) | P(\(B_{2024}\) > \(B_{MSY}\)) % | \(B_{2028}\) | P(\(B_{2028}\) > \(B_{MSY}\)) % | \(B_{2032}\) | P(\(B_{2032}\) > \(B_{MSY}\)) % | Catch 2023 (kt) | Catch 2024 (kt) |
|---|---|---|---|---|---|---|---|---|
| 0 | 1460 | 100 | 1374 | 100 | 1290 | 99 | 0 | 0 |
| FMSY | 1202 | 99 | 682 | 59 | 417 | 1 | 187 | 154 |
| 0.75 | 1352 | 99 | 1031 | 95 | 840 | 82 | 72 | 72 |
| 1 | 1321 | 99 | 947 | 92 | 734 | 67 | 94 | 91 |
| 1.25 | 1292 | 99 | 874 | 86 | 644 | 49 | 116 | 108 |
| h1_1.02 | h2_1.02 | |
|---|---|---|
| catch_like | 0.86 | 1.08 |
| age_like_fsh | 242.06 | 226.07 |
| length_like_fsh | 458.58 | 450.50 |
| sel_like_fsh | 300.27 | 180.96 |
| ind_like | 190.95 | 183.75 |
| age_like_ind | 57.75 | 63.52 |
| length_like_ind | 0.00 | 0.00 |
| sel_like_ind | 26.36 | 28.27 |
| rec_like | 0.35 | 7.65 |
| fpen | 0.01 | 0.03 |
| post_priors_indq | 0.23 | 0.21 |
| post_priors | 0.00 | 0.00 |
| residual | 0.03 | 0.08 |
| total | 1277.46 | 1142.12 |