setwd("C:/flrpapers/erp_nea_mackerel/Rmd")
Figure 1 Stock recruitment relationship fits
Figure 2 Production functions
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9 Catch
Figure 10 SSB
Figure 11 F
Figure 12 Recruits
Figure 13 BRebuild
Figure 14 Forage
Figure 15 ABI
Figure 16 ABI
[[1]]
geom_ribbon: na.rm = FALSE
stat_fl_quantiles: probs = c(0.25, 0.75), na.rm = FALSE
position_identity
[[2]]
geom_line: na.rm = FALSE
stat_fl_quantiles: probs = 0.5, na.rm = FALSE
position_identity
[[3]]
geom_ribbon: na.rm = FALSE
stat_fl_quantiles: probs = c(0.05, 0.95), na.rm = FALSE
position_identity
[[4]]
geom_line: na.rm = FALSE
stat_fl_quantiles: probs = 0.5, na.rm = FALSE
position_identity
[[5]]
mapping: x = ~year, y = ~data, colour = ~iter
geom_line: na.rm = TRUE, orientation = NA
stat_identity: na.rm = TRUE
position_identity
[[6]]
mapping: xmin = ~-Inf, xmax = 2020, ymin = ~-Inf, ymax = Inf
geom_rect: linejoin = mitre, na.rm = FALSE
stat_identity: na.rm = FALSE
position_identity
[[7]]
mapping: xmin = ~-Inf, xmax = 2018, ymin = ~-Inf, ymax = Inf
geom_rect: linejoin = mitre, na.rm = FALSE
stat_identity: na.rm = FALSE
position_identity
[[8]]
mapping: xmin = ~-Inf, xmax = 2010, ymin = ~-Inf, ymax = Inf
geom_rect: linejoin = mitre, na.rm = FALSE
stat_identity: na.rm = FALSE
position_identity
[[9]]
mapping: yintercept = 1
geom_hline: na.rm = FALSE
stat_identity: na.rm = FALSE
position_identity
[[10]]
mapping: yintercept = ~ref
geom_hline: na.rm = FALSE
stat_identity: na.rm = FALSE
position_identity
[[11]]
mapping: yintercept = ~ref
geom_hline: na.rm = FALSE
stat_identity: na.rm = FALSE
position_identity
Figure 17 SHiT plot
The SHiT plot (Figure 17) presents a traffic-light style visual summary of the performance of multiple reference points across scenarios, periods, and recruitment regimes. The colours—green, gold, and red—indicate the probability that each indicator meets or exceeds its management target or falls below its limit, thereby providing an intuitive assessment of stock and ecosystem status.
For each performance metric (SSB, F, Yield, ABI, Forage, Rebuild), simulated values were extracted from the Operating Model (OM) outputs for each combination of scenario, period, and recruitment regime. The data were grouped accordingly, and empirical cumulative distribution functions (ecdf) were computed to estimate the probability that the metric met or exceeded a predefined reference level.
Probabilities or median values were binned into three categories corresponding to management status:
Metric | Breakpoints (cut points) | Interpretation of Categories |
---|---|---|
SSB | \(c(0, 0.5, 0.66, 1)\) | Red (<0.5), Gold (0.5–0.66), Green (>0.66) |
F | \(c(0, 0.33, 0.5, 1)\) | Red (<0.33), Gold (0.33–0.5), Green (>0.5) (Note: low F is better) |
Yield | \(c(0, 0.8, 1, 10)\) (median relative to ref) | Red (<0.8), Gold (0.8–1), Green (>1) |
ABI | \(c(0, 0.5, 0.66, 1)\) | Same as SSB |
Forage | \(c(0, 0.5, 0.66, 1)\) | Same as SSB |
Rebuild | \(c(0, 0.95, 1)\) | Red (<0.95), Green (≥0.95) (two categories only) |
These breakpoints were chosen to reflect management risk tolerances and provide meaningful distinctions between poor, cautionary, and good performance.
Each category was assigned a colour for plotting:
The colour assignments were merged with the categorized data and used in the ggplot2 plotting call to colour the points accordingly.
The categorization and colour assignment were implemented using
cut()
on the ecdf results or median values, followed by
merging with a lookup table of colours. For example, for SSB:
tarS = ddply(dtS, .(Period,OM,SRR,Recruits), with, cut(ecdf(data)(1), breaks=c(0,0.5,0.66,1)))
tarS = merge(tarS, data.frame(V1=unique(tarS$V1), colour=c("red","gold","green")))
Similar code blocks were used for other metrics with metric-specific breakpoints.
Metric | Probability or Median Used | Breakpoints | Colours (Low to High) |
---|---|---|---|
SSB | Probability \(P(X \geq 1)\) | 0–0.5, 0.5–0.66, 0.66–1 | Red, Gold, Green |
F | Probability \(P(X \leq 1)\) | 0–0.33, 0.33–0.5, 0.5–1 | Red, Gold, Green |
Yield | Median relative to reference | 0–0.8, 0.8–1, >1 | Red, Gold, Green |
ABI | Probability \(P(X \geq 1)\) | Same as SSB | Red, Gold, Green |
Forage | Probability \(P(X \geq 1)\) | Same as SSB | Red, Gold, Green |
Rebuild | Probability \(P(\text{years} \leq 8.5)\) | 0–0.95, 0.95–1 | Red, Green (no gold) |
This approach provides a transparent, probabilistic basis for the traffic-light colours, facilitating rapid interpretation of complex simulation outcomes in the SHiT plot.
R version 4.4.2 (2024-10-31 ucrt)
FLCore: 2.6.20.9337
ggplotFL: 2.7.0.9139
FLBRP: 2.5.9.9051
plyr: 1.8.9
ggpubr: 0.6.0
scales: 1.4.0
Compiled: Wed Jul 2 18:45:44 2025
Git Hash: ‘9eb583b’