Show code
if(!'devtools' %in% installed.packages()) install.packages('devtools')
devtools::install_github("SPRFMO/jjmR")
if(!'kableExtra' %in% installed.packages()) install.packages('kableExtra')This document was originally compiled in RMarkdown then converted into Quarto (a different flavor of markdown). It shows the incremental results of the Chilean Jack Mackerel (Trachurus murphyi) stock assessment update in 2026. The files associated with this document can be found on Github.
The code to create the input files for this assessment and to run these models can be found in jjm/assessment/R/SC14_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")if(!'devtools' %in% installed.packages()) install.packages('devtools')
devtools::install_github("SPRFMO/jjmR")
if(!'kableExtra' %in% installed.packages()) install.packages('kableExtra')library(jjmR)
library(tidyverse)
library(kableExtra)
library(patchwork)
theme_set(theme_jjm(base_size = 15))
pwd <- getwd()
fn_seldata <- function(x, i) {
x$data$Index[,i] %>%
bind_rows() %>%
pivot_longer(everything(), names_to = "year") %>%
drop_na() %>%
mutate(
year = as.numeric(year),
assessment_year = ifelse(
i==7,
max(year)+1,
max(year)
)
)
}
fn_plotind <- function(mods2compare, indname) {
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]],i)
}
p <- map_dfr(dat2use, ~as_tibble(.)) %>%
mutate(assessment_year=as.factor(assessment_year)) %>%
ggplot() +
geom_line(aes(x=year,y=value,colour=assessment_year)) +
scale_x_continuous(breaks= scales::pretty_breaks())
print(p)
}
finmodname <- "1.06"
yr_prev <- as.numeric(format(Sys.time(), "%Y"))-1
yr_curr <- as.numeric(format(Sys.time(), "%Y"))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 | Exact 2026 (single stock `h1` and two-stock `h2`) model and data set (model 0.16) from SCW17. |
| 0.01 | As 0.00 but with revised catches through 2025 (currently still estimates) |
| 0.02 | As 0.01 but with updated 2025 fishery age composition data for N_Chile, SC_Chile, and Offshore_Trawl, and updated 2025 fishery length composition data for FarNorth |
| 0.03 | As 0.02 but with updated 2025 weight at age data for all fisheries and their associated CPUE indices |
| 0.04 | As 0.03 but replaced offshore CPUE up to 2025 |
| 0.05 | As 0.04 but with 2026 catch projections |
| 0.06 | As 0.05 but with updated 2026 fishery age composition data for N_Chile, SC_Chile, and Offshore_Trawl, and updated 2026 fishery length composition data for FarNorth |
| 0.07 | As 0.06 but with updated 2026 weight at age data for N_Chile, SC_Chile, and FarNorth fleets, and for their associated CPUE indices |
| 0.08 | As 0.07 but replaced SC_Chile_CPUE index (updated index from SC14-JM10) |
| 0.09 | As 0.08 but replaced Peru_CPUE index |
| 0.1 | As 0.09 but updated 2026 AcousN index, with associated age composition and weight at age |
| Models 1.x | Updated Model and Sensitivities |
| 1 | As 0.10 but with updated model (selectivity changes, recruitment) to 2026; 0.10 data file |
| 1.01 | As 1.00 but removing early years (pre-2006) of Acoustic North survey data |
| 1.02 | As 1.01 but replaced SC_Chile_CPUE with one from fishing trip database (SC14-JM15) |
| 1.03 | As 1.02 but removing the 2026 data point for Chile CPUE |
| 1.04 | As 1.01 but replacing 2025/2026 weight-at-age for offshore fleet with mean across 2019-2024 |
| 1.05 | As 1.04 but adding 22799 tons from Chile high seas to N_Chile fleet for 2025 |
| 1.06 | As 1.05 but moving 10000 tons from FarNorth to offshore fleet for 2026 |
| Models 1.xx.yy | Base Model Projections |
| 1.xx.ls | As 1.xx but low steepness and short recruitment time series (2001-2015) |
You’ll need to be in the jjm/assessment directory in order for the code here to run.
Re-running the 2025 model and comparing the results with that year’s SC meeting.
The most updated table of model runs can be found on Github.
The data updated to 2025, includes catch estimates, age and length compositions, and indices of abundance.
The data updated to 2026 include projected catch estimates, age and length compositions, and indices of abundance.
Note that this time series ends in 2025.
This shows the final data update, using the exact same model (i.e., with the same control files).
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 is the same procedure that was applied in previous years.
How much of stock biomass trend is driven by incomplete fishery data? Only updates catch projections to 2026, using 2025 selectivity patterns and weights at age.
These years were very long ago (pre-2000) and the data still have an impact on the assessment. We don’t like them and want them to go away.
The Chile CPUE index was replaced during the 2026 benchmark SCW16. The new CPUE series has a strange trend in the most recent years, and we were interested to have a comparison with the old CPUE series calculated based on fishing trips (SC14-JM15).
The weights at age for the offshore fleet in 2025 and 2026 were unusually low. A mean of the previous five years (2019-2024) were used to replace those values, until the data can be re-examined and corrected.
In 2025, Chile caught 22,799 tons of jack mackerel in the SPRFMO Convention Area. Given the difference in selectivity patterns between the Chilean and the Offshore fleets, the proposal is to add that catch data to the Northern Chile fleet (model 1.05).
A similar occurrence happened in 2026, with Peru catching 10,000 tons of jack mackerel in the Convention Area.
Model 1.06 was selected as the final model for 2026. This model incorporates data updated to 2025, flexibility in selectivity patterns for the SC Chile and Offshore fleets in 2025, and increased confidence (decreased CV) for the 2025 age composition data from the same fleets. The early years of Chile acoustic north survey data were downweighted, and the changes in Peruvian weight at age for older fish were corrected.
The \(B_{MSY}\) for this year (an average of the most recent ten years) will be 6.869 million tons.
The dynamic reference point uses each year’s model-estimated \(B_{MSY}/B_0\) ratio multiplied by that year’s unfished spawning biomass. Fishing mortality remains relative to the model-estimated \(F_{MSY}\). The first model year is omitted because the saved unfished-biomass ratio begins in the following year.
The \(B_{MSY}\) for this year (an average of the most recent ten years) will be 6.524 million tons for the south stock and 1.305 million tons for the north stock.
| h1_1.06 | h2_1.06 | |
|---|---|---|
| catch_like | 1.46 | 0.63 |
| age_like_fsh | 290.83 | 262.10 |
| length_like_fsh | 572.38 | 481.54 |
| sel_like_fsh | 268.08 | 251.24 |
| ind_like | 163.02 | 137.70 |
| age_like_ind | 67.92 | 68.20 |
| length_like_ind | 0.00 | 0.00 |
| sel_like_ind | 16.86 | 16.50 |
| rec_like | 3.99 | 5.21 |
| fpen | 0.00 | 0.06 |
| post_priors_indq | 0.22 | 0.19 |
| post_priors | 0.00 | 0.00 |
| residual | 0.00 | 0.00 |
| total | 1384.75 | 1223.38 |