library(stockassessment)
load("run/model.RData")
FC<-list()

Ry<-2020:2024     # latest 5 years as recommended from ADGdeep 2022 (wgdeep2023) 
Fsq<-0.824       # latest value from SAM 
yearbase<- 2025   # assessment year-1
 # gives exactly Fsq value
set.seed(12345)
FC[[length(FC)+1]]  <- forecast(fit, fscale=c(NA,NA,NA,NA,NA,NA), fval=c(Fsq, Fsq,Fsq,Fsq,Fsq,Fsq),rec.years=Ry, label="Rec 2020-2024, SQ all years", processNoise=FALSE,addTSB=TRUE, year.base=yearbase, savesim=TRUE) 
set.seed(12345)
FC[[length(FC)+1]] <- forecast(fit, fscale=c(NA,NA,NA,NA,NA,NA), fval=c(Fsq,Fsq,0.000001, 0.000001,0.000001, 0.000001), rec.years=Ry, label="Rec 2020-2024, SQ then zero", processNoise=FALSE, addTSB=TRUE, year.base=yearbase, savesim=TRUE)
set.seed(12345)
FC[[length(FC)+1]] <- forecast(fit, fscale=c(NA,NA,NA,NA,NA,NA), fval=c(Fsq,Fsq,0.23, 0.23,0.23, 0.23), rec.years=Ry, label="Rec 2020-2024, SQ then Fmsy", processNoise=FALSE, addTSB=TRUE, year.base=yearbase, savesim=TRUE)
set.seed(12345)
FC[[length(FC)+1]] <- forecast(fit, fscale=c(NA,NA,NA,NA,NA,NA), fval=c(Fsq,Fsq,0.60, 0.60,0.60, 0.60), rec.years=Ry, label="Rec 2020-2024, SQ then Fpa/Fp05", processNoise=FALSE, addTSB=TRUE, year.base=yearbase, savesim=TRUE)
#set.seed(12345)
#FC[[length(FC)+1]] <- forecast(fit, fscale=c(NA,NA,NA,NA), fval=c(Fsq,Fsq,0.62, 0.62), rec.years=Ry, label="Rec 2020-2024, SQ then Fpa", processNoise=FALSE, addTSB=TRUE, year.base=2023)
set.seed(12345)
FC[[length(FC)+1]] <- forecast(fit, fscale=c(NA,NA,NA,NA,NA,NA), fval=c(Fsq,Fsq,0.85, 0.85,0.85, 0.85), rec.years=Ry, label="Rec 2020-2024, SQ then Flim", processNoise=FALSE, addTSB=TRUE, year.base=yearbase, savesim=TRUE)
set.seed(12345)
FC[[length(FC)+1]] <- forecast(fit, fscale=c(NA,NA,NA,NA,NA,NA), fval=c(Fsq,Fsq,0.145, 0.145,0.145, 0.145), rec.years=Ry, label="Rec 2020-2024, SQ then Fmsy*SSB2026/MSYBtrigger", processNoise=FALSE, addTSB=TRUE, year.base=yearbase, savesim=TRUE)


Ry<-2020:2024     # latest 5 years -1 as recommended from ADGdeep 2022 (wgdeep2023) 
Fsq<-0.337        # latest 5 years -1 
yearbase<- 2025   # assessment year-1
 # gives exactly Fsq value
set.seed(12345)
FC[[length(FC)+1]]  <- forecast(fit, fscale=c(NA,NA,NA,NA,NA,NA), fval=c(Fsq, Fsq,Fsq,Fsq,Fsq,Fsq),rec.years=Ry, label="Rec&F 2020-2024, SQ all years*", processNoise=FALSE,addTSB=TRUE, year.base=yearbase, savesim=T) 
set.seed(12345)
FC[[length(FC)+1]] <- forecast(fit, fscale=c(NA,NA,NA,NA,NA,NA), fval=c(Fsq,Fsq,0.000001, 0.000001,0.000001, 0.000001), rec.years=Ry, label="Rec&F 2020-2024, SQ then zero*", processNoise=FALSE, addTSB=TRUE, year.base=yearbase, savesim=T)
set.seed(12345)
FC[[length(FC)+1]] <- forecast(fit, fscale=c(NA,NA,NA,NA,NA,NA), fval=c(Fsq,Fsq,0.23, 0.23,0.23, 0.23), rec.years=Ry, label="Rec&F 2020-2024, SQ then Fmsy*", processNoise=FALSE, addTSB=TRUE, year.base=yearbase, savesim=T)
set.seed(12345)
FC[[length(FC)+1]] <- forecast(fit, fscale=c(NA,NA,NA,NA,NA,NA), fval=c(Fsq,Fsq,0.60, 0.60,0.60, 0.60), rec.years=Ry, label="Rec&F 2020-2024, SQ then Fpa/Fp05*", processNoise=FALSE, addTSB=TRUE, year.base=yearbase, savesim=T)
#set.seed(12345)
#FC[[length(FC)+1]] <- forecast(fit, fscale=c(NA,NA,NA,NA,NA,NA), fval=c(Fsq,Fsq,0.62, 0.62), rec.years=Ry, label="Rec&F 2020-2024, SQ then Fpa", processNoise=FALSE, addTSB=TRUE, year.base=yearbase)
set.seed(12345)
FC[[length(FC)+1]] <- forecast(fit, fscale=c(NA,NA,NA,NA,NA,NA), fval=c(Fsq,Fsq,0.85, 0.85,0.85, 0.85), rec.years=Ry, label="Rec&F 2020-2024, SQ then Flim*", processNoise=FALSE, addTSB=TRUE, year.base=yearbase, savesim=T)
set.seed(12345)
FC[[length(FC)+1]] <- forecast(fit, fscale=c(NA,NA,NA,NA,NA,NA), fval=c(Fsq,Fsq,0.223, 0.223,0.223, 0.223), rec.years=Ry, label="Rec&F 2020-2024, SQ then Fmsy*SSB2026/MSYBtrigger*", processNoise=FALSE, addTSB=TRUE, year.base=yearbase, savesim=T)


Ry<-2015:2024     # latest 10 years -1  
Fsq<-0.336        # latest 10 years -1 
yearbase<- 2025   # assessment year-1
 # gives exactly Fsq value
set.seed(12345)
FC[[length(FC)+1]]  <- forecast(fit, fscale=c(NA,NA,NA,NA,NA,NA), fval=c(Fsq, Fsq,Fsq,Fsq,Fsq,Fsq),rec.years=Ry, label="Rec&F 2015-2024, SQ all years*", processNoise=FALSE,addTSB=TRUE, year.base=yearbase, savesim=F) 
set.seed(12345)
FC[[length(FC)+1]] <- forecast(fit, fscale=c(NA,NA,NA,NA,NA,NA), fval=c(Fsq,Fsq,0.000001, 0.000001,0.000001, 0.000001), rec.years=Ry, label="Rec&F 2015-2024, SQ then zero*", processNoise=FALSE, addTSB=TRUE, year.base=yearbase, savesim=F)
set.seed(12345)
FC[[length(FC)+1]] <- forecast(fit, fscale=c(NA,NA,NA,NA,NA,NA), fval=c(Fsq,Fsq,0.23, 0.23,0.23, 0.23), rec.years=Ry, label="Rec&F 2015-2024, SQ then Fmsy*", processNoise=FALSE, addTSB=TRUE, year.base=yearbase, savesim=F)
set.seed(12345)
FC[[length(FC)+1]] <- forecast(fit, fscale=c(NA,NA,NA,NA,NA,NA), fval=c(Fsq,Fsq,0.60, 0.60,0.60, 0.60), rec.years=Ry, label="Rec&F 2015-2024, SQ then Fpa/Fp05*", processNoise=FALSE, addTSB=TRUE, year.base=yearbase, savesim=F)
#set.seed(12345)
#FC[[length(FC)+1]] <- forecast(fit, fscale=c(NA,NA,NA,NA,NA,NA), fval=c(Fsq,Fsq,0.62, 0.62), rec.years=Ry, label="Rec&F 2015-2024, SQ then Fpa", processNoise=FALSE, addTSB=TRUE, year.base=yearbase)
set.seed(12345)
FC[[length(FC)+1]] <- forecast(fit, fscale=c(NA,NA,NA,NA,NA,NA), fval=c(Fsq,Fsq,0.85, 0.85,0.85, 0.85), rec.years=Ry, label="Rec&F 2015-2024, SQ then Flim*", processNoise=FALSE, addTSB=TRUE, year.base=yearbase, savesim=F)
set.seed(12345)
FC[[length(FC)+1]] <- forecast(fit, fscale=c(NA,NA,NA,NA,NA,NA), fval=c(Fsq,Fsq,0.223, 0.223,0.223, 0.223), rec.years=Ry, label="Rec&F 2015-2024, SQ then Fmsy*SSB2026/MSYBtrigger*", processNoise=FALSE, addTSB=TRUE, year.base=yearbase, savesim=F)


Ry<-1997:2024     # assessment year-1 
Fsq<-0.824        # latest value from SAM
yearbase<- 2025   # assessment year-1
 # gives exactly Fsq value
set.seed(12345)
FC[[length(FC)+1]]  <- forecast(fit, fscale=c(NA,NA,NA,NA), fval=c(Fsq, Fsq,Fsq,Fsq),rec.years=Ry, label="Rec 1997-2024, SQ all years", processNoise=FALSE,addTSB=TRUE, year.base=yearbase, savesim=TRUE) 
set.seed(12345)
FC[[length(FC)+1]] <- forecast(fit, fscale=c(NA,NA,NA,NA), fval=c(Fsq,Fsq,0.000001, 0.000001), rec.years=Ry, label="Rec 1997-2024, SQ then zero", processNoise=FALSE, addTSB=TRUE, year.base=yearbase, savesim=TRUE)
set.seed(12345)
FC[[length(FC)+1]] <- forecast(fit, fscale=c(NA,NA,NA,NA), fval=c(Fsq,Fsq,0.23, 0.23), rec.years=Ry, label="Rec 1997-2024, SQ then Fmsy", processNoise=FALSE, addTSB=TRUE, year.base=yearbase, savesim=TRUE)
set.seed(12345)
FC[[length(FC)+1]] <- forecast(fit, fscale=c(NA,NA,NA,NA), fval=c(Fsq,Fsq,0.60, 0.60), rec.years=Ry, label="Rec 1997-2024, SQ then Fpa/Fp05", processNoise=FALSE, addTSB=TRUE, year.base=yearbase, savesim=TRUE)
#set.seed(12345)
#FC[[length(FC)+1]] <- forecast(fit, fscale=c(NA,NA,NA,NA), fval=c(Fsq,Fsq,0.62, 0.62), rec.years=Ry, label="Rec 1997-2024, SQ then Fpa", processNoise=FALSE, addTSB=TRUE, year.base=2023)
set.seed(12345)
FC[[length(FC)+1]] <- forecast(fit, fscale=c(NA,NA,NA,NA), fval=c(Fsq,Fsq,0.85, 0.85), rec.years=Ry, label="Rec 1997-2024, SQ then Flim", processNoise=FALSE, addTSB=TRUE, year.base=yearbase, savesim=TRUE)
set.seed(12345)
FC[[length(FC)+1]] <- forecast(fit, fscale=c(NA,NA,NA,NA), fval=c(Fsq,Fsq,0.145, 0.145), rec.years=Ry, label="Rec 1997-2024, SQ then Fmsy*SSB2026/MSYBtrigger", processNoise=FALSE, addTSB=TRUE, year.base=yearbase, savesim=TRUE)



save(FC, file="run/forecast.RData")

