Skip to content

Commit 6402232

Browse files
committed
updates
1 parent c7dc933 commit 6402232

9 files changed

Lines changed: 584 additions & 67 deletions

R/data_processing.R

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -401,8 +401,8 @@ get_reference_points <- function(model_runs, extra_columns, hcr_filter, om_filte
401401
get_b40_timeseries <- function(model_runs, extra_columns, hcr_filter, om_filter){
402402

403403
get_rps <- function(om_name, hcr_name, recruitment, prop_fs){
404-
om <- om_list[which(om_names == om_name)]
405-
hcr <- hcr_list[which(hcr_names == hcr_name)]
404+
om <- om_list[which(publication_oms == om_name)]
405+
hcr <- hcr_list[which(publication_hcrs == hcr_name)]
406406

407407
om <- om[[1]]
408408

@@ -425,13 +425,13 @@ get_b40_timeseries <- function(model_runs, extra_columns, hcr_filter, om_filter)
425425
return(ref_pts$Bref)
426426
}
427427

428-
avg_recruitment <- get_recruits(model_runs, extra_columns2, hcr_filter, om_filter) %>%
428+
avg_recruitment <- get_recruits(model_runs, extra_columns, hcr_filter, om_filter) %>%
429429
filter(L1 == "naa") %>%
430430
group_by(sim, om, hcr) %>%
431431
mutate(avg_rec = unlist(lapply(slide(rec, ~.x, .before=Inf), \(x) mean(x)))) %>%
432432
arrange(hcr, om, sim)
433433

434-
prop_fs_df <- get_fishing_mortalities(model_runs, extra_columns2, hcr_filter, om_filter) %>%
434+
prop_fs_df <- get_fishing_mortalities(model_runs, extra_columns, hcr_filter, om_filter) %>%
435435
filter(L1 != "faa_est") %>%
436436
group_by(time, sim, om, hcr, fleet) %>%
437437
mutate(

R/data_utils.R

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,13 +72,16 @@ relativize_performance <- function(data, rel_column, value_column, rel_value, gr
7272
if(is.null(rel_value)){
7373
return(data)
7474
}
75+
76+
total_cols <- ncol(data)-1
7577

7678
return(
7779
data %>%
7880
group_by(across(all_of(grouping))) %>%
7981
pivot_wider(names_from=rel_column, values_from = value_column) %>%
8082
mutate(across(everything(), ~ . / eval(rlang::parse_expr(rel_value)))) %>%
81-
pivot_longer((length(grouping)+1):(ncol(.)), names_to=rel_column, values_to=value_column)
83+
# pivot_longer((length(grouping)+1):(ncol(.)), names_to=rel_column, values_to=value_column)
84+
pivot_longer(total_cols:(ncol(.)), names_to=rel_column, values_to=value_column)
8285
)
8386
}
8487

@@ -175,7 +178,7 @@ scale_and_rank <- function(data, col_name){
175178
rank = ifelse(
176179
name %in% c(
177180
"Catch AAV",
178-
"Proportion of Years with Low SSB",
181+
"Proportion of Years SSB < B35",
179182
"Recovery Time"
180183
),
181184
factor(desc(row_number())),

R/performance_metrics.R

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -321,11 +321,12 @@ prop_low_biomass <- function(
321321
total_low_bio = sum(low_bio),
322322
prop_years = total_low_bio/(time_horizon[2]-time_horizon[1])
323323
) %>%
324+
select(-c("total_low_bio")) %>%
324325
relativize_performance(
325326
rel_column = "hcr",
326327
value_column = "prop_years",
327328
rel_value = relative,
328-
grouping = group_columns
329+
grouping = c("sim", "om")
329330
)
330331

331332
if(!is.null(extra_filter)){
@@ -915,7 +916,8 @@ average_annual_value <- function(
915916
time_horizon = c(65, NA),
916917
extra_filter=NULL,
917918
relative=NULL,
918-
summarise_by=c("om", "hcr")
919+
summarise_by=c("om", "hcr"),
920+
summary_out=TRUE
919921
){
920922

921923
group_columns <- c("sim", summarise_by)
@@ -953,11 +955,14 @@ average_annual_value <- function(
953955
avg_rel_value <- avg_rel_value %>% filter(eval(extra_filter))
954956
}
955957

956-
return(
957-
avg_rel_value %>%
958+
out <- avg_rel_value
959+
if(summary_out){
960+
out <- avg_rel_value %>%
958961
group_by(across(all_of(summarise_by))) %>%
959962
median_qi(annual_value, .width=interval_widths, .simple_names=FALSE)
960-
)
963+
}
964+
965+
return(out)
961966
}
962967

963968
#' Compute Average Annual Dynamic Value of Catch across projection period
@@ -992,7 +997,8 @@ average_annual_dynamic_value <- function(
992997
time_horizon = c(65, NA),
993998
extra_filter=NULL,
994999
relative=NULL,
995-
summarise_by=c("om", "hcr")
1000+
summarise_by=c("om", "hcr"),
1001+
summary_out=TRUE
9961002
){
9971003

9981004
compute_dynamic_value <- function(landings, min_price_age, max_price_age, breakpoints=c(15, 30)){
@@ -1057,11 +1063,14 @@ average_annual_dynamic_value <- function(
10571063
dyn_value <- dyn_value %>% filter(eval(extra_filter))
10581064
}
10591065

1060-
return(
1061-
dyn_value %>%
1066+
out <- dyn_value
1067+
if(summary_out){
1068+
out <- dyn_value %>%
10621069
group_by(across(all_of(summarise_by))) %>%
10631070
median_qi(dyn_annual_value, .width=interval_widths, .simple_names=FALSE)
1064-
)
1071+
}
1072+
1073+
return(out)
10651074

10661075
}
10671076

R/plotting.R

Lines changed: 25 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -319,17 +319,17 @@ plot_ssb_catch <- function(ssb_data, catch_data, v1="hcr", v2=NA, v3=NA, common_
319319

320320
plot <- ggplot(d) +
321321
geom_line(data = base_hcr, aes(x=time, y=median, group=.data[[v1]], color=.data[[v1]]), size=0.85)+
322-
geom_line(aes(x=time, y=median, group=.data[[v1]], color=color_group, size=color_group))+
323-
geom_line(
324-
data = d %>% filter(color_group != "Other", time > common_trajectory-1),
325-
aes(x=time, y=median, ymin=lower, ymax=upper, group=.data[[v1]], color=color_group, size=color_group)
326-
)+
322+
geom_line(aes(x=time, y=median, group=.data[[v1]], color=hcr), size=0.85)+
323+
# geom_line(
324+
# data = d %>% filter(color_group != "Other", time > common_trajectory-1),
325+
# aes(x=time, y=median, ymin=lower, ymax=upper, group=.data[[v1]], color=color_group, size=color_group)
326+
# )+
327327
geom_line(data = common, aes(x=time, y=median), size=0.85)+
328328
geom_vline(data=common, aes(xintercept=common), linetype="dashed")+
329329
# geom_hline(yintercept=121.4611, linetype="dashed")+
330330
scale_fill_brewer(palette="Blues")+
331331
scale_color_manual(values=colors)+
332-
scale_size_manual(values=sizes)+
332+
# scale_size_manual(values=sizes)+
333333
# scale_y_continuous(limits=c(0, 320))+
334334
labs(x="Year", y="1000s Metric Tons")+
335335
coord_cartesian(expand=0)+
@@ -666,7 +666,23 @@ plot_performance_metric_summary <- function(perf_data, v1="hcr", v2="om", is_rel
666666
metric_minmax = perf_data %>% group_by(name) %>% summarise(min=min(lower), max=max(upper))
667667
axis_scalar <- c(0.9, 1.1)
668668

669+
# hist_abcs <- c(44200, 37100, 33400, 28800, 25200, 25000, 28800, 25300, 19600, 17200, 16800, 15900, 17200, 16900, 17300, 20900, 23000, 21000, 21000, 20100, 18000, 16100, 15200, 16000, 17200, 16200, 13700, 13700, 11800, 13100, 15000, 15100, 22000, 29600, 34500, 40500)
670+
669671
summary <- perf_data %>% filter(!is.infinite(median), hcr != "No Fishing") %>% summarise(median=mean(median))
672+
# summary$median <- rep(
673+
# c(
674+
# 18538/1000,#median(assessment$t.series[,"Catch_HAL"]+assessment$t.series[,"Catch_TWL"]),
675+
# perf_data %>% ungroup() %>% filter(!is.infinite(median), hcr != "No Fishing", name=="Catch AAV") %>% summarise(median=mean(median)) %>% as.numeric,
676+
# # median(assessment$t.series[,"spbiom"]),
677+
# 105.935,
678+
# median(apply(assessment$natage.female, 1, \(x) compute_average_age(x, 2:31))),
679+
# sum(assessment$t.series[,"spbiom"] < 105)/length(assessment$t.series[,"spbiom"])
680+
# ),
681+
# length(perf_data$om %>% unique)*2
682+
# )
683+
if(is_relative){
684+
summary$median <- rep(1, nrow(summary))
685+
}
670686

671687
perf_data <- perf_data %>% mutate(color_group = as.character(hcr))
672688
if(!is.null(highlight)){
@@ -691,12 +707,12 @@ plot_performance_metric_summary <- function(perf_data, v1="hcr", v2="om", is_rel
691707
color_var <- ifelse(is.null(highlight), "rank", "color_group")
692708

693709
plot <- ggplot(perf_data)+
694-
geom_vline(data=summary, aes(xintercept = median), color="black")+
710+
geom_vline(data=summary, aes(xintercept = median), color="grey50", linetype="dashed")+
695711
scale_shape_discrete()+
696712
scale_color_manual(values=colors)+
697713
# scale_color_manual(values=hcr_colors)+
698714
# facet_wrap(vars(name), scales="free_x")+
699-
labs(y="", x="", shape="OM", color="Performance Order")+
715+
labs(y="", x="", shape="OM", color="Relative MS Order")+
700716
coord_cartesian(expand=0)+
701717
guides(shape="none", color=guide_legend(nrow=1))+
702718
theme(
@@ -721,7 +737,7 @@ plot_performance_metric_summary <- function(perf_data, v1="hcr", v2="om", is_rel
721737
ggh4x::facetted_pos_scales(
722738
x = list(
723739
scale_x_continuous(limits=c(0, 55)),
724-
scale_x_continuous(limits=c(0, 0.06), breaks=c(0, 0.02, 0.04, 0.06)),
740+
scale_x_continuous(limits=c(0, 0.08), breaks=c(0, 0.025, 0.05, 0.075)),
725741
# scale_x_continuous(limits=c(0, 1), breaks=c(0, 0.50, 1.0)),
726742
scale_x_continuous(limits=c(0, 550), breaks=c(0, 150, 300, 450)),
727743
scale_x_continuous(limits=c(0, 15)),

R/run_mse.R

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ run_mse <- function(om, mp, mse_options, nyears_input=NA, seed=1120, file_suffix
141141
}
142142

143143
prev_naa <- naa[y,,,, drop = FALSE]
144-
out_vars <- project(
144+
out_vars <- project_single(
145145
removals = removals_input,
146146
dem_params=dp_y,
147147
prev_naa=prev_naa,

R/run_mse_multiple.R

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ run_mse_multiple <- function(om_list, hcr_list, seed_list, mse_options_list, nye
5050
mse_run <- run_mse_parallel(nsims2, seeds, om, hcr, mse_options=opt, nyears=nyears, diagnostics=diagnostics)
5151

5252
counter <- counter+1
53-
mse_objects[[j]] <- mse_run
53+
mse_objects[[ifelse(nsim_iters > 1, j, i)]] <- mse_run
5454

5555
print(save)
5656
if(save || nsim_iters>1){
@@ -72,4 +72,4 @@ run_mse_multiple <- function(om_list, hcr_list, seed_list, mse_options_list, nye
7272

7373
return(mse_objects)
7474

75-
}
75+
}

0 commit comments

Comments
 (0)