diff --git a/.github/workflows/test-models-mac-14.yml b/.github/workflows/test-models-mac-14.yml new file mode 100644 index 0000000..23ff7b5 --- /dev/null +++ b/.github/workflows/test-models-mac-14.yml @@ -0,0 +1,90 @@ +name: update-ss3-test-models-mac +on: + push: + +jobs: + update-ss3-test-models-mac: + runs-on: macos-14 + env: + R_REMOTES_NO_ERRORS_FROM_WARNINGS: true + GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} + R_KEEP_PKG_SOURCE: yes + + steps: + + - name: Checkout repo + uses: actions/checkout@v4 + + - name: install libcurl + run: | + sudo apt-get update + sudo apt-get install -y libcurl4-openssl-dev + + - name: setup R + uses: r-lib/actions/setup-r@v2 + + - name: install remotes + run: Rscript -e 'install.packages("remotes")' + + - name: install r4ss + run: Rscript -e 'remotes::install_github("r4ss/r4ss")' + + - name: install other r packages + run: Rscript -e 'install.packages("purrr","furrr","parallely","future")' + + - name: Get the latest SS3 executable + run: | + wget -O ss3 https://github.com/nmfs-ost/ss3-source-code/releases/latest/download/ss3_osx + sudo chmod a+x ss3 + mv ss3 /usr/local/bin/ss3 + export PATH=/usr/local/bin/ss3:$PATH + echo "/usr/local/bin/ss3" >> $GITHUB_PATH + + - name: Run models + run: | + mod_names <- list.dirs(file.path("models"), full.names = FALSE, recursive = FALSE) + mod_paths <- list.dirs(file.path("models"), full.names = TRUE, recursive = FALSE) + print(mod_names) + run_ss <- function(dir) { + wd <- getwd() + print(wd) + on.exit(system(paste0("cd ", wd))) + # rename the reference files + file.rename(file.path(dir, "ss_summary.sso"), + file.path(dir, "ss_summary_ref.sso")) + file.rename(file.path(dir, "warning.sso"), + file.path(dir, "warning_ref.sso")) + file.copy(file.path(dir, "ss3.par"), file.path(dir, "ss3_ref.par")) + # run the models with estimation and see if model finishes without error + message("running ss on ", basename(dir)) + system(paste0("cd ", dir, " && ../ss3 -nox")) + model_ran <- file.exists(file.path(dir, "control.ss_new")) + return(model_ran) + } + + mod_ran <- furrr::future_map(mod_paths, function(x){tryCatch(run_ss(x), + error = function(e) print(e))}) + + mod_errors <- mod_names[unlist(lapply(mod_ran, function(x) "simpleError" %in% class(x)))] + success <- TRUE + if(length(mod_errors) > 0) { + message("Model code with errors were: ", paste0(mod_errors, collapse = ", "), + ". See error list above for more details.") + success <- FALSE + } else { + message("All code ran without error, but model runs may still have failed.") + } + mod_no_run <- mod_names[unlist(lapply(mod_ran, function(x) isFALSE(x)))] # false means model didn't run + if(length(mod_no_run) > 0) { + message("Models that didn't run are ", paste0(mod_no_run, collapse = ", ")) + success <- FALSE + } else { + message("All models ran without error.") + } + # determine if job fails or passes + if(success == FALSE) { + stop("Job failed due to code with errors or models that didn't run.") + } else { + message("All models successfully ran.") + } + shell: Rscript {0} \ No newline at end of file diff --git a/.github/workflows/update-ss3-models.yml b/.github/workflows/update-ss3-models.yml index 7ac4bc7..6ceb8a9 100644 --- a/.github/workflows/update-ss3-models.yml +++ b/.github/workflows/update-ss3-models.yml @@ -13,7 +13,7 @@ jobs: steps: - name: Checkout repo - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: install libcurl run: | diff --git a/models/Boarfish/BOC.ctl b/models/Boarfish/BOC.ctl new file mode 100644 index 0000000..d632bb0 --- /dev/null +++ b/models/Boarfish/BOC.ctl @@ -0,0 +1,486 @@ +#V3.30.20.00;_safe;_compile_date:_Sep 30 2022;_Stock_Synthesis_by_Richard_Methot_(NOAA)_using_ADMB_13.0 +#_Stock_Synthesis_is_a_work_of_the_U.S._Government_and_is_not_subject_to_copyright_protection_in_the_United_States. +#_Foreign_copyrights_may_apply._See_copyright.txt_for_more_information. +#_User_support_available_at:NMFS.Stock.Synthesis@noaa.gov +#_User_info_available_at:https://vlab.noaa.gov/group/stock-synthesis +#_Source_code_at:_https://github.com/nmfs-stock-synthesis/stock-synthesis + +# Control file for Boarfish +# Data_and_control_files: BOCV1.dat // BOCV1.ctl + +# 0 means do not read wtatage.ss; 1 means read and use wtatage.ss and also read and use growth parameters +0 +#_N_Growth_Patterns (Growth Patterns, Morphs, Bio Patterns, GP are terms used interchangeably in SS3) +1 +#_N_platoons_Within_GrowthPattern +1 +#_Cond 1 #_Platoon_within/between_stdev_ratio (no read if N_platoons=1) +#_Cond 1 # vector_platoon_dist_(-1_in_first_val_gives_normal_approx) +# +# recr_dist_method for parameters: 2=main effects for GP, Area, Settle timing; 3=each Settle entity; 4=none (only when N_GP*Nsettle*pop==1) +4 +# not yet implemented; Future usage: Spawner-Recruitment: 1=global; 2=by area +1 +# number of recruitment settlement assignments +1 +# unused option +0 +# +# GPattern month area age (for each settlement assignment) +1 1 1 0 +# +#_Cond 0 # N_movement_definitions goes here if Nareas > 1 +#_Cond 1.0 # first age that moves (real age at begin of season, not integer) also cond on do_migration>0 +#_Cond 1 1 1 2 4 10 # example move definition for seas=1, morph=1, source=1 dest=2, age1=4, age2=10 +# +#_Nblock_Patterns +0 +#_Cond 0 #_blocks_per_pattern +# begin and end years of blocks +# +# controls for all timevary parameters +#_time-vary parm bound check (1=warn relative to base parm bounds; 3=no bound check); Also see env (3) and dev (5) options to constrain with base bounds +1 +# +# AUTOGEN +# autogen: 1st element for biology, 2nd for SR, 3rd for Q, 4th reserved, 5th for selex +# where: 0 = autogen time-varying parms of this category; 1 = read each time-varying parm line; 2 = read then autogen if parm min==-12345 +1 1 1 1 1 +# +#_Available timevary codes +#_Block types: 0: P_block=P_base*exp(TVP); 1: P_block=P_base+TVP; 2: P_block=TVP; 3: P_block=P_block(-1) + TVP +#_Block_trends: -1: trend bounded by base parm min-max and parms in transformed units (beware); -2: endtrend and infl_year direct values; -3: end and infl as fraction of base range +#_EnvLinks: 1: P(y)=P_base*exp(TVP*env(y)); 2: P(y)=P_base+TVP*env(y); 3: P(y)=f(TVP,env_Zscore) w/ logit to stay in min-max; 4: P(y)=2.0/(1.0+exp(-TVP1*env(y) - TVP2)) +#_DevLinks: 1: P(y)*=exp(dev(y)*dev_se; 2: P(y)+=dev(y)*dev_se; 3: random walk; 4: zero-reverting random walk with rho; 5: like 4 with logit transform to stay in base min-max +#_DevLinks(more): 21-25 keep last dev for rest of years +# +#_Prior_codes: 0=none; 6=normal; 1=symmetric beta; 2=CASAL's beta; 3=lognormal; 4=lognormal with biascorr; 5=gamma +# +# setup for M, growth, wt-len, maturity, fecundity, (hermaphro), recr_distr, cohort_grow, (movement), (age error), (catch_mult), sex ratio +# Natural Mortality +# _natM_type:_0=1Parm; 1=N_breakpoints;_2=Lorenzen;_3=agespecific;_4=agespec_withseasinterpolate;_5=BETA:_Maunder_link_to_maturity;_6=Lorenzen_range +0 +# _N_breakpoints +#6 +# age (real) at M breakpoints +#0.5 2 4 6 8 29 +# +# GrowthModel: 1=vonBert with L1&L2; 2=Richards with L1&L2; 3=age_specific_K_incr; 4=age_specific_K_decr; 5=age_specific_K_each; 6=NA; 7=NA; 8=growth cessation +1 +# Age(post-settlement)_for_L1;linear growth below this +1 +#_Growth_Age_for_L2 (999 to use as Linf) +999 +#_exponential decay for growth above maxage (value should approx initial Z; -999 replicates 3.24; -998 to not allow growth above maxage) +-999 +#_placeholder for future growth feature +0 +# +#_SD_add_to_LAA (set to 0.1 for SS2 V1.x compatibility) +0 +#_CV_Growth_Pattern: 0 CV=f(LAA); 1 CV=F(A); 2 SD=F(LAA); 3 SD=F(A); 4 logSD=F(A) +1 +# +# maturity_option: 1=length logistic; 2=age logistic; 3=read age-maturity matrix by growth_pattern; 4=read age-fecundity; 5=disabled; 6=read length-maturity +1 +# First_Mature_Age +2 +# fecundity_at_length option:(1)eggs=Wt*(a+b*Wt);(2)eggs=a*L^b;(3)eggs=a*Wt^b; (4)eggs=a+b*L; (5)eggs=a+b*W +1 +# hermaphroditism option: 0=none; 1=female-to-male age-specific fxn; -1=male-to-female age-specific fxn +0 +# parameter_offset_approach for M, G, CV_G: 1- direct, no offset**; 2- male=fem_parm*exp(male_parm); 3: male=female*exp(parm) then old=young*exp(parm) +# ** in option 1, any male parameter with value = 0.0 and phase <0 is set equal to female parameter +1 +# +# growth_parms +# LO HI INIT PRIOR PR_SD PR_type PHASE env_var&link dev_link dev_minyr dev_maxyr dev_PH Block Block_Fxn +# Sex: 1 BioPattern: 1 NatMort +#const +0.1 0.2 0.174 0.15 0.8 0 -1 0 0 0 0 0 0 0 # NatM_break_1_Fem_GP_1 +#Gislason +#0.03 2.4 1.0199556 0.15 0.8 0 -1 0 0 0 0 0 0 0 # NatM_break_1_Fem_GP_1 +#0.1 2.4 0.5566928 0.15 0.8 0 -1 0 0 0 0 0 0 0 # NatM_break_2_Fem_GP_1 +#0.1 2.4 0.4338750 0.15 0.8 0 -1 0 0 0 0 0 0 0 # NatM_break_3_Fem_GP_1 +#0.1 2.4 0.3145245 0.15 0.8 0 -1 0 0 0 0 0 0 0 # NatM_break_4_Fem_GP_1 +#0.1 2.4 0.2422301 0.15 0.8 0 -1 0 0 0 0 0 0 0 # NatM_break_5_Fem_GP_1 +#0.1 2.4 0.1782075 0.15 0.8 0 -1 0 0 0 0 0 0 0 # NatM_break_6_Fem_GP_1 +#Charnov +#0.03 2.4 0.812053249 0.15 0.8 0 -1 0 0 0 0 0 0 0 # NatM_break_1_Fem_GP_1 +#0.1 2.4 0.483882421 0.15 0.8 0 -1 0 0 0 0 0 0 0 # NatM_break_2_Fem_GP_1 +#0.1 2.4 0.330972184 0.15 0.8 0 -1 0 0 0 0 0 0 0 # NatM_break_3_Fem_GP_1 +#0.1 2.4 0.265509415 0.15 0.8 0 -1 0 0 0 0 0 0 0 # NatM_break_4_Fem_GP_1 +#0.1 2.4 0.231187105 0.15 0.8 0 -1 0 0 0 0 0 0 0 # NatM_break_5_Fem_GP_1 +#0.1 2.4 0.174212797 0.15 0.8 0 -1 0 0 0 0 0 0 0 # NatM_break_6_Fem_GP_1 + +# Sex: 1 BioPattern: 1 Growth +#0 20 6.63 16 -1 0 2 0 0 0 0 0 0 0 # L_at_Amin_Fem_GP_1 +0 20 6.63 6.6 1 6 1 0 0 0 0 0 0 0 # L_at_Amin_Fem_GP_1 +10 40 15.205 34.1 -1 0 -2 0 0 0 0 0 0 0 # L_at_Amax_Fem_GP_1 +0.05 0.36 0.176 0.36 2 0 -2 0 0 0 0 0 0 0 # VonBert_K_Fem_GP_1 +0.01 0.4 0.1 0.5 -1 0 2 0 0 0 0 0 0 0 # CV_young_Fem_GP_1 +0.01 0.4 0.15 0.5 -1 0 -2 0 0 0 0 0 0 0 # CV_old_Fem_GP_1 + +# Sex: 1 BioPattern: 1 WtLen +-1 1 0.000022 2.27e-05 -1 0 -99 0 0 0 0 0 0 0 # Wtlen_1_Fem_GP_1 +-3 5 2.94 2.946 -1 0 -99 0 0 0 0 0 0 0 # Wtlen_2_Fem_GP_1 + +# Sex: 1 BioPattern: 1 Maturity and Fecundity +#0 25 8.9 15 -1 0 -99 0 0 0 0 0 0 0 # Mat50%_GP_1 +#-3 3 -1.6 -0.2 -1 0 -99 0 0 0 0 0 0 0 # Mat_slope_GP_1 +0 25 8.78 15 -1 0 -99 0 0 0 0 0 0 0 # Mat50%_GP_1 +-3 3 -2.34 -0.2 -1 0 -99 0 0 0 0 0 0 0 # Mat_slope_GP_1 +-3 3 1 1 -1 0 -99 0 0 0 0 0 0 0 # Eggs/kg_inter_GP_1 +-3 3 0 0 -1 0 -99 0 0 0 0 0 0 0 # Eggs/kg_slope_wt_GP_1 + +# Hermaphroditism + +# Recruitment Distribution + +# Cohort growth dev base +0.1 10 1 1 1 0 -1 0 0 0 0 0 0 0 # CohortGrowDev + +# Movement +# Age Error from parameters +# catch multiplier +# fraction female, by GP +1e-06 0.999999 0.5 0.5 0.5 0 -99 0 0 0 0 0 0 0 # FracFemale_GP_1 +# M2 parameter for each predator fleet +# +#_no timevary MG parameters +# +# seasonal_effects_on_biology_parms +# femwtlen1,femwtlen2,mat1,mat2,fec1,fec2,Malewtlen1,malewtlen2,L1,K +0 0 0 0 0 0 0 0 0 0 +# LO HI INIT PRIOR PR_SD PR_type PHASE +#_Cond -2 2 0 0 -1 99 -2 #_placeholder when no seasonal MG parameters +# +#_Spawner-Recruitment; Options: 1=NA; 2=Ricker; 3=std_B-H; 4=SCAA; 5=Hockey; 6=B-H_flattop; 7=survival_3Parm; 8=Shepherd_3Parm; 9=RickerPower_3parm +3 +# 0/1 to use steepness in initial equ recruitment calculation +0 +# future feature: 0/1 to make realized sigmaR a function of SR curvature +0 +# LO HI INIT PRIOR PR_SD PR_type PHASE env-var use_dev dev_mnyr dev_mxyr dev_PH Block Blk_Fxn # parm_name +3 45 28.9747 12.545 2 0 1 0 0 0 0 0 0 0 # SR_LN(R0) +0.1 1 0.7 0.74 0.113 -2 -1 0 0 0 0 0 0 0 # SR_BH_steep +0 2 1.2 0.23 0.05 0 -2 0 0 0 0 0 0 0 # SR_sigmaR +-5 5 0 0 1 0 -1 0 0 0 0 0 0 0 # SR_regime +0 1 0 0.456 0.054 0 -2 0 0 0 0 0 0 0 # SR_autocorr +# timevary SR parameters +# 0.0001 20 5 0.02 0.5 0 -5 # SR_regime_dev_se +# -0.99 0.99 0 0.89 0.5 0 -6 # SR_regime_dev_autocorr +# do_recdev: 0=none; 1=devvector (R=F(SSB)+dev); 2=deviations (R=F(SSB)+dev); 3=deviations (R=R0*dev; dev2=R-f(SSB)); 4=like 3 with sum(dev2) adding penalty +2 +# first year of main recr_devs; early devs can preceed this era +2002 +# last year of main recr_devs; forecast devs start in following year +2020 +# recdev phase +3 +# (0/1) to read 13 advanced options +1 +-15 #_recdev_early_start (0=none; neg value makes relative to recdev_start) +-4 #_recdev_early_phase +-1 #_forecast_recruitment phase (incl. late recr) (0 value resets to maxphase+1) +1 #_lambda for Fcast_recr_like occurring before endyr+1 + +1964.0 #_last_early_yr_nobias_adj_in_MPD +2000.0 #_first_yr_fullbias_adj_in_MPD +2020.0 #_last_yr_fullbias_adj_in_MPD +2028.3 #_first_recent_yr_nobias_adj_in_MPD +0.4511 #_max_bias_adj_in_MPD (1.0 to mimic pre-2009 models) + +#1995 #_last_yr_nobias_adj_in_MPD; begin of ramp +#2010 #_first_yr_fullbias_adj_in_MPD; begin of plateau +#2020 #_last_yr_fullbias_adj_in_MPD +#2022 #_end_yr_for_ramp_in_MPD (can be in forecast to shape ramp, but SS3 sets bias_adj to 0.0 for fcast yrs) +#0.76 #_max_bias_adj_in_MPD (typical ~0.8; -3 sets all years to 0.0; -2 sets all non-forecast yrs w/ estimated recdevs to 1.0; -1 sets biasadj=1.0 for all yrs w/ recdevs) + +0 #_period of cycles in recruitment (N parms read below) +-10 # min rec_dev +10 # max rec_dev +0 #_read_recdevs +#_end of advanced SR options +# +#_placeholder for full parameter lines for recruitment cycles +# read specified recr devs +#_Yr Input_value +# +# all recruitment deviations +# 1994E 1995E 1996E 1997E 1998E 1999R 2000R 2001R 2002R 2003R 2004R 2005R 2006R 2007R 2008R 2009R 2010R 2011R 2012R 2013R 2014R 2015R 2016R 2017R 2018R 2019R 2020R 2021F 2022F 2023F 2024F +# 0.00653982 0.00764329 0.00806797 0.00673583 0.00336529 1.55563 -0.0244111 -0.024667 -0.0264682 -0.0339323 -0.0622268 -0.158955 -0.554279 -1.27955 -1.3175 -1.54533 -1.84677 0.263643 -1.72935 3.01691 -1.93438 0.141481 -2.27661 1.3492 1.14004 2.1719 3.1756 0 0 0 0 +# +#Fishing Mortality info +# F ballpark value in units of annual_F +0.23 +# F ballpark year (neg value to disable) +-2008 +# F_Method: 1=Pope midseason rate; 2=F as parameter; 3=F as hybrid; 4=fleet-specific parm/hybrid (#4 is superset of #2 and #3 and is recommended) +4 +# max F (methods 2-4) or harvest fraction (method 1) +10 +# read list of fleets that do F as parameter; unlisted fleets stay hybrid, bycatch fleets must be included with start_PH=1, high F fleets should switch early +# (A) fleet, (B) F_starting_value (used if start_PH=1), (C) start_PH for parms (99 to stay in hybrid, <0 to stay at starting value) +# (A) (B) (C) (terminate list with -9999 for fleet) +#1 0.05 1 # Fleet +1 0.05 99 # Fleet +-9999 1 1 +# end of list +# +#_number of loops for hybrid tuning; 4 good; 3 faster; 2 enough if switching to parms is enabled +4 +# +# initial_F_parms; for each fleet x season that has init_catch; nest season in fleet; count = 0 +# for unconstrained init_F, use an arbitrary initial catch and set lambda=0 for its logL +# LO HI INIT PRIOR PR_SD PR_type PHASE +# +# F rates by fleet x season +# Yr: 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 +# seas: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +# Fleet 7.3266e-06 4.45375e-06 4.66409e-06 5.47506e-06 0.00329309 0.00403609 0.0130222 0.0498658 0.428901 1.0036 3.76649 8.82148 3.25027 10 10 6.6589 6.60317 9.46929 10 7.89287 9.96882 6.54502 1 1 1 1 +# +# Catchabilities +# Q_setup for fleets with cpue or survey data +# 1: fleet number +# 2: link type: (1=simple q, 1 parm; 2=mirror simple q, 1 mirrored parm; 3=q and power, 2 parm; 4=mirror with offset, 2 parm) +# 3: extra input for link, i.e. mirror fleet# or dev index number +# 4: 0/1 to select extra sd parameter +# 5: 0/1 for biasadj or not +# 6: 0/1 to float +# fleet link link_info extra_se biasadj float + 2 1 0 1 0 0 # Acoustic + 3 1 0 1 0 0 # IBTS +-9999 0 0 0 0 0 +# +# Q_parms;Qunits_are_ln(q) +# LO HI INIT PRIOR PR_SD PR_type PHASE env-var use_dev dev_mnyr dev_mxyr dev_PH Block Blk_Fxn +-25 25 -0.14 -0.1 0.1 6 1 0 0 0 0 0 0 0 #LnQ_base_Acoustic +0 1 0 0.1 0.1 0 -4 0 0 0 0 0 0 0 #Q_extraSD_Acoustic +#-25 25 -0.29 -0.2 0.2 6 1 0 0 0 0 0 0 0 #LnQ_base_IBTS +-25 25 -0.29 -0.2 0.2 0 1 0 0 0 0 0 0 0 #LnQ_base_IBTS +0 1 0 0.1 0.1 0 -4 0 0 0 0 0 0 0 #Q_extraSD_IBTS + +# no timevary Q parameters +# +# size_selex_patterns +# Pattern:_0; parm=0; selex=1.0 for all sizes +# Pattern:_1; parm=2; logistic; with 95% width specification +# Pattern:_5; parm=2; mirror another size selex; PARMS pick the min-max bin to mirror +# Pattern:_11; parm=2; selex=1.0 for specified min-max population length bin range +# Pattern:_15; parm=0; mirror another age or length selex +# Pattern:_6; parm=2+special; non-parm len selex +# Pattern:_43; parm=2+special+2; like 6, with 2 additional param for scaling (average over bin range) +# Pattern:_8; parm=8; double_logistic with smooth transitions and constant above Linf option +# Pattern:_9; parm=6; simple 4-parm double logistic with starting length; parm 5 is first length; parm 6=1 does desc as offset +# Pattern:_21; parm=2+special; non-parm len selex, read as pairs of size, then selex +# Pattern:_22; parm=4; double_normal as in CASAL +# Pattern:_23; parm=6; double_normal where final value is directly equal to sp(6) so can be >1.0 +# Pattern:_24; parm=6; double_normal with sel(minL) and sel(maxL), using joiners +# Pattern:_2; parm=6; double_normal with sel(minL) and sel(maxL), using joiners, back compatibile version of 24 with 3.30.18 and older +# Pattern:_25; parm=3; exponential-logistic in length +# Pattern:_27; parm=special+3; cubic spline in length; parm1==1 resets knots; parm1==2 resets all +# Pattern:_42; parm=special+3+2; cubic spline; like 27, with 2 additional param for scaling (average over bin range) +# discard_options:_0=none;_1=define_retention;_2=retention&mortality;_3=all_discarded_dead;_4=define_dome-shaped_retention +# Pattern Discard Male Special +1 0 0 0 # 1 Fishery #logistic +#0 0 0 0 # 2 Acoustic selex=1 +11 0 0 0 # 2 Acoustic sel=1 for range +#15 0 0 1 # 2 Acoustic mirror fishery +#1 0 0 0 # 2 Acoustic +#24 0 0 0 # 3 Acoustic double normal +#27 0 0 4 # 2 Acoustic cubic spline +#0 0 0 0 # 3 IBTS selex=1 +#11 0 0 0 # 3 IBTS sel=1 for range +#15 0 0 1 # 3 IBTS mirror fishery +#1 0 0 0 # 3 IBTS +#24 0 0 0 # 3 IBTS double normal +27 0 0 4 # 3 IBTS cubic spline +# +# +# age_selex_patterns +# Pattern:_0; parm=0; selex=1.0 for ages 0 to maxage +# Pattern:_10; parm=0; selex=1.0 for ages 1 to maxage +# Pattern:_11; parm=2; selex=1.0 for specified min-max age +# Pattern:_12; parm=2; age logistic +# Pattern:_13; parm=8; age double logistic. Recommend using pattern 18 instead. +# Pattern:_14; parm=nages+1; age empirical +# Pattern:_15; parm=0; mirror another age or length selex +# Pattern:_16; parm=2; Coleraine - Gaussian +# Pattern:_17; parm=nages+1; empirical as random walk N parameters to read can be overridden by setting special to non-zero +# Pattern:_41; parm=2+nages+1; // like 17, with 2 additional param for scaling (average over bin range) +# Pattern:_18; parm=8; double logistic - smooth transition +# Pattern:_19; parm=6; simple 4-parm double logistic with starting age +# Pattern:_20; parm=6; double_normal,using joiners +# Pattern:_26; parm=3; exponential-logistic in age +# Pattern:_27; parm=3+special; cubic spline in age; parm1==1 resets knots; parm1==2 resets all +# Pattern:_42; parm=2+special+3; // cubic spline; with 2 additional param for scaling (average over bin range) +# Age patterns entered with value >100 create Min_selage from first digit and pattern from remainder +# Pattern Discard Male Special +0 0 0 0 # 1 Fishery +0 0 0 0 # 2 Acoustic +0 0 0 0 # 3 IBTS + +# 1 Fishery LenSelex +# Logistic +# LO HI INIT PRIOR PR_SD PR_type PHASE env-var use_dev dev_mnyr dev_mxyr dev_PH Block Blk_Fxn # parm_name +# 5 20 11 18 0 0 4 0 0 0 0 0 0 0 # Size_Inflection_Fishery + 5 20 11 18 0 0 4 0 23 2002 2022 5 0 0 # Size_Inflection_Fishery +-2 20 1 0.1 10 0 5 0 0 0 0 0 0 0 # Size_95%width_Fishery + +# 2 Acoustic LenSelex +# Logistic +# LO HI INIT PRIOR PR_SD PR_type PHASE env-var use_dev dev_mnyr dev_mxyr dev_PH Block Blk_Fxn # parm_name +# 5 20 11 18 0 0 4 0 0 0 0 0 0 0 # Size_Inflection_Acoustic +#-2 20 1 0.1 10 0 5 0 0 0 0 0 0 0 # Size_95%width_Acoustic + +# Range +# LO HI INIT PRIOR PR_SD PR_type PHASE env-var use_dev dev_mnyr dev_mxyr dev_PH Block Blk_Fxn # parm_name +1 7 5 2 0 0 -4 0 0 0 0 0 0 0 #SizeSel_P1_Acoustic +17 19 18 18 0 0 -4 0 0 0 0 0 0 0 #SizeSel_P2_Acoustic + +#Double Normal (24) +#P1 peak: beginning size for the plateau +#P2 top: width of plateau, as logistic between peak and max length +#P3 ascending width (ln) +#P4 descending width (ln) +#P5 initial: selectivity for first bin +#P6 final: selectivity for last bin +# LO HI INIT PRIOR PR_SD PR_type PHASE env-var use_dev dev_mnyr dev_mxyr dev_PH Block Blk_Fxn # parm_name +# 2.5 20 10.0001 18 0 0 4 0 0 0 0 0 0 0 #SizeSel_P1_Acoustic +#-15 3 -12.5094 -2.2 0 0 -5 0 0 0 0 0 0 0 #SizeSel_P2_Acoustic +#-2 6 2.23739 2.5 0 0 5 0 0 0 0 0 0 0 #SizeSel_P3_Acoustic +#-12 20 20 3.8 0 0 -5 0 0 0 0 0 0 0 #SizeSel_P4_Acoustic +#-999 9 -999 -999 -99 0 -4 0 0 0 0 0 0 0 #SizeSel_P5_Acoustic +#-999 9 -999 -999 -99 0 -5 0 0 0 0 0 0 0 #SizeSel_P6_Acoustic + +#Cubic Spline (27) - 4 nodes +# LO HI INIT PRIOR PR_SD PR_type PHASE env-var use_dev dev_mnyr dev_mxyr dev_PH Block Blk_Fxn # parm_name +# 0 2 0 0 1 0 -99 0 0 0 0 0 0 0 # SizeSpline_Code_Acoustic(2) +# -0.001 10 0.53674 0 0.001 0 4 0 0 0 0 0 0 0 # SizeSpline_GradLo_Acoustic(2) +# -1 1 -0.0968763 0 0.001 0 5 0 0 0 0 0 0 0 # SizeSpline_GradHi_Acoustic(2) +# 1 22 4.81197 11 1 0 -99 0 0 0 0 0 0 0 # SizeSpline_Knot_1_Acoustic(2) +# 1 22 10.2054 11 1 0 -99 0 0 0 0 0 0 0 # SizeSpline_Knot_2_Acoustic(2) +# 1 22 12.9836 11 1 0 -99 0 0 0 0 0 0 0 # SizeSpline_Knot_3_Acoustic(2) +# 1 22 15.5619 11 1 0 -99 0 0 0 0 0 0 0 # SizeSpline_Knot_4_Acoustic(2) +# -9 7 -2.73206 0 0.001 0 5 0 0 0 0 0 0 0 # SizeSpline_Val_1_Acoustic(2) +# -9 7 -2.51502 0 0.001 0 5 0 0 0 0 0 0 0 # SizeSpline_Val_2_Acoustic(2) +# -9 7 -1 0 1 0 -99 0 0 0 0 0 0 0 # SizeSpline_Val_3_Acoustic(2) +# -9 7 -0.00910631 0 0.001 0 5 0 0 0 0 0 0 0 # SizeSpline_Val_4_Acoustic(2) + +# 3 IBTS Len Selex +# LO HI INIT PRIOR PR_SD PR_type PHASE env-var use_dev dev_mnyr dev_mxyr dev_PH Block Blk_Fxn # parm_name +# 5 20 11 18 0 0 4 0 0 0 0 0 0 0 # Size_Inflection_IBTS +#-2 20 1 0.1 10 0 5 0 0 0 0 0 0 0 # Size_95%width_IBTS + +# Range +# LO HI INIT PRIOR PR_SD PR_type PHASE env-var use_dev dev_mnyr dev_mxyr dev_PH Block Blk_Fxn # parm_name +#1 3 2 2 0 0 -4 0 0 0 0 0 0 0 #SizeSel_P1_IBTS +#17 19 18 18 0 0 -4 0 0 0 0 0 0 0 #SizeSel_P2_IBTS + +#Double Normal +#P1 peak: beginning size for the plateau +#P2 top: width of plateau, as logistic between peak and max length +#P3 ascending width (ln) +#P4 descending width (ln) +#P5 initial: selectivity for first bin +#P6 final: selectivity for last bin +# LO HI INIT PRIOR PR_SD PR_type PHASE env-var use_dev dev_mnyr dev_mxyr dev_PH Block Blk_Fxn # parm_name +# 2.5 20 10.0001 18 0 0 4 0 0 0 0 0 0 0 #SizeSel_P1_IBTS +#-15 3 -12.5094 -2.2 0 0 -5 0 0 0 0 0 0 0 #SizeSel_P2_IBTS +#-2 6 2.23739 2.5 0 0 5 0 0 0 0 0 0 0 #SizeSel_P3_IBTS +#-12 20 20 3.8 0 0 -5 0 0 0 0 0 0 0 #SizeSel_P4_IBTS +#-999 9 -999 -999 -99 0 -4 0 0 0 0 0 0 0 #SizeSel_P5_IBTS +#-999 9 -999 -999 -99 0 -5 0 0 0 0 0 0 0 #SizeSel_P6_IBTS + +#Cubic Spline (27) - 4 nodes +# LO HI INIT PRIOR PR_SD PR_type PHASE env-var use_dev dev_mnyr dev_mxyr dev_PH Block Blk_Fxn # parm_name + 0 2 0 0 1 0 -99 0 0 0 0 0 0 0 # SizeSpline_Code_IBTS(4) +-0.001 10 1 0 0.001 0 4 0 0 0 0 0 0 0 # SizeSpline_GradLo_IBTS(4) +-1 0.001 -0.894674 0 0.001 0 5 0 0 0 0 0 0 0 # SizeSpline_GradHi_IBTS(4) + 1 22 5.04789 11 1 0 -99 0 0 0 0 0 0 0 # SizeSpline_Knot_1_IBTS(4) + 1 22 8.97694 11 1 0 -99 0 0 0 0 0 0 0 # SizeSpline_Knot_2_IBTS(4) + 1 22 12.5888 11 1 0 -99 0 0 0 0 0 0 0 # SizeSpline_Knot_3_IBTS(4) + 1 22 15.2556 11 1 0 -99 0 0 0 0 0 0 0 # SizeSpline_Knot_4_IBTS(4) +-9 7 -4.19142 0 0.001 0 5 0 0 0 0 0 0 0 # SizeSpline_Val_1_IBTS(4) +-9 7 -2.17355 0 0.001 0 5 0 0 0 0 0 0 0 # SizeSpline_Val_2_IBTS(4) +-9 7 -1 0 1 0 -99 0 0 0 0 0 0 0 # SizeSpline_Val_3_IBTS(4) +-9 7 -0.135724 0 0.001 0 5 0 0 0 0 0 0 0 # SizeSpline_Val_4_IBTS(4) + +# 1 Fishery AgeSelex +# 2 Acoustic AgeSelex +#_No_Dirichlet parameters +# LO HI INIT PRIOR PR_SD PR_type PHASE env-var use_dev dev_mnyr dev_mxyr dev_PH Block Blk_Fxn # parm_name + -5 10 5.73579 0 1.813 6 6 0 0 0 0 0 0 0 # ln(DM_theta)_1 + -5 10 5.76823 0 1.813 6 6 0 0 0 0 0 0 0 # ln(DM_theta)_2 + -5 10 5.76823 0 1.813 6 6 0 0 0 0 0 0 0 # ln(DM_theta)_3 + +# +# Timevary selex parameters +# +#Annual deviations +#LO HI INIT PRIOR PR_SD PR_type PHASE + 0.0001 20 5 0.02 0.5 0 -5 # PEAK value_FLEET1_dev_se +-0.99 0.99 0.00 0.89 0.5 0 -6 # PEAK value_FLEET1_dev_autocorr + +# use 2D_AR1 selectivity (0/1) +0 +#_no 2D_AR1 selex offset used +# +# Tag loss and Tag reporting parameters go next +# TG_custom: 0=no read and autogen if tag data exist; 1=read +0 +#_Cond -6 6 1 1 2 0.01 -4 0 0 0 0 0 0 0 #_placeholder if no parameters +# +# deviation vectors for timevary parameters +# base base first block block env env dev dev dev dev dev +# type index parm trend pattern link var vectr link _mnyr mxyr phase dev_vector +# 2 4 1 0 0 0 0 1 3 1999 2000 2 1.04955 -2.0365 +# +# Input variance adjustments factors: +# 1=add_to_survey_CV +# 2=add_to_discard_stddev +# 3=add_to_bodywt_CV +# 4=mult_by_lencomp_N +# 5=mult_by_agecomp_N +# 6=mult_by_size-at-age_N +# 7=mult_by_generalized_sizecomp +# Factor Fleet Value + 5 1 1 + 5 2 1 + -9999 1 0 # terminator +# +# maxlambdaphase +4 +# sd_offset; must be 1 if any growthCV, sigmaR, or survey extraSD is an estimated parameter +1 +# read 2 changes to default Lambdas (default value is 1.0) +# Like_comp codes: 1=surv; 2=disc; 3=mnwt; 4=length; 5=age; 6=SizeFreq; 7=sizeage; 8=catch; 9=init_equ_catch; +# 10=recrdev; 11=parm_prior; 12=parm_dev; 13=CrashPen; 14=Morphcomp; 15=Tag-comp; 16=Tag-negbin; 17=F_ballpark; 18=initEQregime +# like_comp fleet phase value sizefreq_method +4 1 1 1 1 +4 2 1 1 1 +4 3 1 1 1 +-9999 1 1 1 1 # terminator +# +# lambdas (for info only; columns are phases) +# 0 0 0 0 #_CPUE/survey:_1 +# 1 1 1 1 #_CPUE/survey:_2 +# 1 1 1 1 #_lencomp:_1 +# 1 1 1 1 #_lencomp:_2 +# 1 1 1 1 #_init_equ_catch1 +# 1 1 1 1 #_init_equ_catch2 +# 1 1 1 1 #_recruitments +# 1 1 1 1 #_parameter-priors +# 1 1 1 1 #_parameter-dev-vectors +# 1 1 1 1 #_crashPenLambda +# 0 0 0 0 # F_ballpark_lambda +#(0/1/2) read specs for more stddev reporting: 0 = skip, 1 = read specs for reporting stdev for selectivity, size, and numbers, 2 = add options for M,Dyn. Bzero, SmryBio +0 +# 0 2 0 0 # Selectivity: (1) fleet, (2) 1=len/2=age/3=both, (3) year, (4) N selex bins +# 0 0 # Growth: (1) growth pattern, (2) growth ages +# 0 0 0 # Numbers-at-age: (1) area(-1 for all), (2) year, (3) N ages +# -1 # list of bin #'s for selex std (-1 in first bin to self-generate) +# -1 # list of ages for growth std (-1 in first bin to self-generate) +# -1 # list of ages for NatAge std (-1 in first bin to self-generate) +999 diff --git a/models/Boarfish/BOC.dat b/models/Boarfish/BOC.dat new file mode 100644 index 0000000..2f2f748 --- /dev/null +++ b/models/Boarfish/BOC.dat @@ -0,0 +1,188 @@ +#V3.30 +#C data file created using the SS_writedat function in the R package r4ss +#C file write time: 2024-03-28 12:06:53.544313 +# +1997 #_styr +2023 #_endyr +1 #_nseas +12 #_months_per_seas +2 #_Nsubseasons +1 #_spawn_month +1 #_Nsexes +30 #_Nages +1 #_N_areas +3 #_Nfleets +#_fleetinfo +#_type surveytiming area units need_catch_mult fleetname +1 -1 1 1 0 Fishery #_1 +3 6 1 1 0 Acoustic #_2 +3 11 1 1 0 IBTS #_3 +#_Catch data +#_year season fleet catch catch_se + -999 1 1 0 0.2 #_1 + 1997 1 1 63 0.1 #_2 + 1998 1 1 63 0.1 #_3 + 1999 1 1 63 0.1 #_4 + 2000 1 1 458 0.1 #_5 + 2001 1 1 120 0.1 #_6 + 2002 1 1 267.333 0.1 #_7 + 2003 1 1 10882.8 0.1 #_8 + 2004 1 1 4644.04 0.1 #_9 + 2005 1 1 5814.17 0.1 #_10 + 2006 1 1 7836 0.1 #_11 + 2007 1 1 21122.7 0.1 #_12 + 2008 1 1 33957.9 0.1 #_13 + 2009 1 1 89288.4 0.1 #_14 + 2010 1 1 145927 0.1 #_15 + 2011 1 1 37108.8 0.1 #_16 + 2012 1 1 86508.2 0.1 #_17 + 2013 1 1 71046.2 0.1 #_18 + 2014 1 1 44995.3 0.1 #_19 + 2015 1 1 17597.8 0.1 #_20 + 2016 1 1 17502.2 0.1 #_21 + 2017 1 1 17132.3 0.1 #_22 + 2018 1 1 10846.3 0.1 #_23 + 2019 1 1 11572 0.1 #_24 + 2020 1 1 16211.3 0.1 #_25 + 2021 1 1 19165.1 0.1 #_26 + 2022 1 1 21116.2 0.1 #_27 + 2023 1 1 27349 0.1 #_28 +-9999 0 0 0 0 #_terminator +#_CPUE_and_surveyabundance_observations +#_Units: 0=numbers; 1=biomass; 2=F; >=30 for special types +#_Errtype: -1=normal; 0=lognormal; >0=T +#_SD_Report: 0=no sdreport; 1=enable sdreport +#_Fleet Units Errtype SD_Report +1 1 0 0 #_Fishery +2 1 0 0 #_Acoustic +3 1 0 0 #_IBTS +# +#_CPUE_data +#_year seas index obs se_log + 2011 6 2 212797 0.17 #_1 + 2012 6 2 248001 0.22 #_2 + 2013 6 2 135602 0.17 #_3 + 2014 6 2 161582 0.14 #_4 + 2015 6 2 246687 0.15 #_5 + 2016 6 2 74165 0.16 #_6 + 2017 6 2 235234 0.21 #_7 + 2018 6 2 189630 0.2 #_8 + 2019 6 2 193293 0.25 #_9 + 2020 6 2 399872 0.35 #_10 + 2021 6 2 574963 0.3 #_11 + 2022 6 2 527443 0.23 #_12 + 2023 6 2 596491 0.13 #_13 + 2003 11 3 90951 0.23 #_14 + 2004 11 3 80945 0.25 #_15 + 2005 11 3 114079 0.24 #_16 + 2006 11 3 148407 0.23 #_17 + 2007 11 3 223024 0.23 #_18 + 2008 11 3 291278 0.27 #_19 + 2009 11 3 150122 0.27 #_20 + 2010 11 3 377026 0.31 #_21 + 2011 11 3 271419 0.32 #_22 + 2012 11 3 196437 0.31 #_23 + 2013 11 3 228460 0.3 #_24 + 2014 11 3 333864 0.29 #_25 + 2015 11 3 561608 0.34 #_26 + 2016 11 3 819276 0.35 #_27 + 2017 11 3 428722 0.42 #_28 + 2018 11 3 647878 0.34 #_29 + 2019 11 3 405350 0.33 #_30 + 2020 11 3 656289 0.34 #_31 + 2021 11 3 978025 0.41 #_32 + 2022 11 3 665638 0.34 #_33 +-9999 0 0 0 0 #_terminator +0 #_N_discard_fleets +#_discard_units (1=same_as_catchunits(bio/num); 2=fraction; 3=numbers) +#_discard_errtype: >0 for DF of T-dist(read CV below); 0 for normal with CV; -1 for normal with se; -2 for lognormal +# +#_discard_fleet_info +# +#_discard_data +# +#_meanbodywt +0 #_use_meanbodywt + #_DF_for_meanbodywt_T-distribution_like +# +#_population_length_bins +1 # length bin method: 1=use databins; 2=generate from binwidth,min,max below; 3=read vector +1 #_use_lencomp +# +#_len_info +#_mintailcomp addtocomp combine_M_F CompressBins CompError ParmSelect minsamplesize +-1 1e-07 0 5 1 1 0.01 #_Fishery +-1 1e-07 0 5 1 2 0.01 #_Acoustic +-1 1e-07 0 5 1 3 0.01 #_IBTS +22 #_N_lbins +#_lbin_vector +1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 #_lbin_vector +# +#_lencomp +#_Yr Seas FltSvy Gender Part Nsamp l1 l2 l3 l4 l5 l6 l7 l8 l9 l10 l11 l12 l13 l14 l15 l16 l17 l18 l19 l20 l21 l22 + 2002 7 1 0 0 10 0 0 0 0 0 0 0 0.0399 0.2324 0.1409 0.1786 0.1586 0.1197 0.0836 0.0463 0 0 0 0 0 0 0 #_1 + 2003 7 1 0 0 10 0 0 0 0 1e-04 1e-04 5e-04 0.0087 0.0154 0.0413 0.0593 0.1342 0.3205 0.276 0.1245 0.0192 2e-04 0 0 0 0 0 #_2 + 2004 7 1 0 0 10 0 0 0 0.0247 0.0263 0.0099 0.0065 0.0029 0.0058 0.0126 0.079 0.164 0.1897 0.2159 0.1655 0.0887 0.0085 0 0 0 0 0 #_3 + 2005 7 1 0 0 10 0 0 0.0033 0.0155 0.0211 0.0218 0.0099 0.0158 0.0816 0.043 0.027 0.1434 0.2251 0.2189 0.1278 0.0382 0.006 0.0015 2e-04 0 0 0 #_4 + 2006 7 1 0 0 10 0 0 0 0 0 0 0.0045 0.0513 0.0766 0.0671 0.0573 0.0763 0.1196 0.2987 0.2263 0.0212 0.001 0 0 0 0 0 #_5 + 2007 7 1 0 0 10 0 0 0 0 0 0 0 0 0.0045 0.0266 0.2109 0.1101 0.1883 0.2566 0.147 0.047 0.0075 0.0015 0 0 0 0 #_6 + 2008 7 1 0 0 10 0 0 0 0 0 1e-04 2e-04 1e-04 0.0176 0.083 0.222 0.31 0.1519 0.0812 0.0892 0.0366 0.0079 1e-04 0 0 0 0 #_7 + 2009 7 1 0 0 9 0 0 0 0 0 0 5e-04 0.0117 0.0644 0.2186 0.2773 0.2113 0.1184 0.0575 0.0313 0.0085 3e-04 1e-04 0 0 0 0 #_8 + 2010 7 1 0 0 50 0 0 0 1e-04 1e-04 2e-04 8e-04 6e-04 0.0033 0.0357 0.2228 0.3481 0.1876 0.114 0.0714 0.0136 0.0013 4e-04 1e-04 0 0 0 #_9 + 2011 7 1 0 0 11 0 0 0 0 1e-04 0 0 0.0017 0.0106 0.0632 0.2082 0.3376 0.2059 0.0982 0.0522 0.0182 0.0035 5e-04 2e-04 0 0 0 #_10 + 2012 7 1 0 0 50 0 0 0 0 0 0 2e-04 2e-04 0.0022 0.0196 0.067 0.3435 0.3376 0.1588 0.0492 0.0203 0.0012 1e-04 0 0 0 0 #_11 + 2013 7 1 0 0 50 0 1e-04 0 0 0 0 0 7e-04 0.0333 0.0974 0.0239 0.1888 0.3708 0.2039 0.0651 0.014 0.0013 5e-04 0 0 0 0 #_12 + 2014 7 1 0 0 43 0 0 0 0 0 0 0 0.0014 0.0129 0.1379 0.1877 0.1661 0.2662 0.1658 0.0524 0.008 0.0015 1e-04 0 1e-04 1e-04 1e-04 #_13 + 2015 7 1 0 0 31 0 0 0 1e-04 0.0096 0.0049 0.0426 0.273 0.0247 0.0082 0.0646 0.148 0.2045 0.1576 0.0483 0.0117 0.0014 5e-04 2e-04 0 0 0 #_14 + 2016 7 1 0 0 27 0 0 0 0 3e-04 0.0021 0.0122 0.0782 0.1174 0.1462 0.0484 0.1729 0.2218 0.1542 0.0415 0.0032 6e-04 4e-04 2e-04 2e-04 1e-04 1e-04 #_15 + 2017 7 1 0 0 41 0 0 0 0 1e-04 0.0061 0.0459 0.0317 0.0258 0.171 0.1546 0.1454 0.2289 0.1467 0.0379 0.0048 6e-04 2e-04 1e-04 0 0 0 #_16 + 2018 7 1 0 0 37 0 0 0 0 0 4e-04 0.0135 0.0395 0.0381 0.0412 0.1356 0.1629 0.2289 0.2195 0.0971 0.0211 0.0018 1e-04 0 0 0 0 #_17 + 2019 7 1 0 0 18 0 0 5e-04 0.001 5e-04 0.1947 0.375 0.2543 0.0242 0.014 0.0213 0.033 0.038 0.0326 0.0092 0.0013 2e-04 1e-04 0 0 0 0 #_18 + 2020 7 1 0 0 22 0 0 0 0 0.0029 0.1235 0.3035 0.0967 0.2245 0.1659 0.0141 0.0055 0.019 0.022 0.0182 0.0034 8e-04 0 0 0 0 0 #_19 + 2021 7 1 0 0 17 0 0 0 0 0.001 0.0114 0.0502 0.0923 0.3268 0.3047 0.1311 0.0304 0.0171 0.02 0.0121 0.0026 2e-04 0 0 0 0 0 #_20 + 2022 7 1 0 0 20 0 0 0 0 0 0.0071 0.0494 0.0514 0.2018 0.3736 0.2137 0.0459 0.0136 0.0211 0.0199 0.0023 2e-04 0 0 0 0 0 #_21 + #2011 6 2 0 0 16 0 0 0 0 0 0 5e-04 7e-04 0.0031 0.0126 0.0612 0.2751 0.3023 0.1806 0.1002 0.0551 0.0086 1e-04 0 0 0 0 #_22 + #2012 6 2 0 0 23 0 0 0 0 0 1e-04 5e-04 0 0.0135 0.0388 0.0296 0.1671 0.3432 0.2593 0.1001 0.0408 0.0066 3e-04 0 0 0 0 #_23 + #2013 6 2 0 0 18 0 0 0 0 0 0 0 2e-04 0.0437 0.112 0.036 0.1289 0.2951 0.2455 0.1023 0.0316 0.0047 0 0 0 0 0 #_24 + #2014 6 2 0 0 11 0 0 0 0 0 0 9e-04 0.0018 0.0057 0.0264 0.0863 0.1064 0.2608 0.2893 0.1637 0.0492 0.0094 0 0 0 0 0 #_25 + #2015 6 2 0 0 17 0 0 0 0 0 0.1589 0.4088 0.0338 0.0012 0.0015 0.0107 0.048 0.0933 0.1222 0.0765 0.0347 0.0089 0.0016 0 0 0 0 #_26 + #2016 6 2 0 0 12 0 0 0 0 0 0 0.0085 0.0316 0.0709 0.0723 0.0095 0.0685 0.1597 0.266 0.2239 0.0739 0.0133 0.0018 0 0 0 0 #_27 + #2017 6 2 0 0 19 0 0 0 0 7e-04 0.01 0.0317 0.0137 0.0192 0.0765 0.1185 0.0843 0.1816 0.2375 0.1642 0.0543 0.0075 3e-04 0 0 0 0 #_28 + #2018 6 2 0 0 21 0 0 0 0 0.0057 0.0058 0.0118 0.0173 0.0177 0.0144 0.0748 0.0915 0.1525 0.2825 0.2355 0.0817 0.0085 0 1e-04 3e-04 0 0 #_29 + #2019 6 2 0 0 19 0 0 0 0.0018 0.0605 0.1138 0.1895 0.0401 0.0085 0.0202 0.0382 0.074 0.1067 0.1543 0.1219 0.0616 0.0087 0 0 0 0 0 #_30 + #2020 6 2 0 0 14 0 0 0 0.006 0.1042 0.0574 0.0405 0.1246 0.0753 0.0115 0.0227 0.0863 0.1267 0.1796 0.132 0.0301 0.0032 0 0 0 0 0 #_31 + #2021 6 2 0 0 36 0 0 1e-04 0.0071 0.2088 0.363 0.0366 0.1142 0.065 0.0665 0.0404 0.0106 0.0191 0.0311 0.0246 0.0112 0.0017 1e-04 0 0 0 0 #_32 + #2022 6 2 0 0 27 0 0 0 0 0.0019 0.0138 0.0797 0.2998 0.1908 0.1901 0.1387 0.0381 0.0173 0.0154 0.0108 0.0033 3e-04 0 0 0 0 0 #_33 + #2023 6 2 0 0 29 0 0 0 0 0 7e-04 5e-04 0.0262 0.1829 0.2741 0.2753 0.1288 0.0367 0.0347 0.0255 0.0118 0.0027 0 0 0 0 0 #_34 + 2003 11 3 0 0 15 0 0 0.0083 0.0052 2e-04 0.0011 0.0054 0.0124 0.0524 0.1495 0.1777 0.153 0.1814 0.1502 0.0827 0.0188 0.0013 3e-04 0 0 0 0 #_35 + 2004 11 3 0 0 15 0 3e-04 0.0012 0.0052 0.0042 0.0304 0.0646 0.0316 0.0179 0.0156 0.0409 0.1399 0.2103 0.2123 0.1703 0.0515 0.0038 1e-04 0 0 0 0 #_36 + 2005 11 3 0 0 17 0 3e-04 0.0067 0.0095 0.0114 0.0121 0.0321 0.0282 0.015 0.0234 0.034 0.1547 0.262 0.2255 0.1445 0.0349 0.005 7e-04 0 0 0 0 #_37 + 2006 11 3 0 0 19 0 4e-04 0.0015 0.0013 7e-04 0.0758 0.1979 0.0695 0.0238 0.0249 0.0375 0.0463 0.1215 0.1921 0.1439 0.052 0.0092 0.0018 0 0 0 0 #_38 + 2007 11 3 0 0 19 0 2e-04 7e-04 0.0013 0.001 0.0146 0.0908 0.3979 0.1927 0.0219 0.0262 0.0295 0.0523 0.0855 0.064 0.0197 0.0017 0 0 0 0 0 #_39 + 2008 11 3 0 0 19 0 0 6e-04 0.0031 9e-04 0.007 0.0619 0.2832 0.1899 0.1828 0.0868 0.057 0.0374 0.0425 0.03 0.0141 0.0026 1e-04 0 0 0 0 #_40 + 2009 11 3 0 0 18 0 2e-04 0.0016 0.0023 6e-04 0.0243 0.1364 0.2275 0.0346 0.0293 0.1061 0.1209 0.095 0.1217 0.0849 0.0139 8e-04 0 0 0 0 0 #_41 + 2010 11 3 0 0 18 0 2e-04 0.0012 2e-04 8e-04 0.0399 0.1352 0.1476 0.055 0.028 0.0931 0.1939 0.1408 0.1066 0.0487 0.0075 0.0012 0 0 0 0 0 #_42 + 2011 11 3 0 0 18 0 2e-04 0.001 8e-04 2e-04 0.0097 0.0224 0.0235 0.0362 0.0765 0.0764 0.1679 0.2369 0.1794 0.1088 0.0526 0.0058 0.0017 1e-04 0 0 0 #_43 + 2012 11 3 0 0 19 0 1e-04 0.001 0.0017 0.0024 0.035 0.1053 0.0775 0.0191 0.0388 0.0418 0.1001 0.2328 0.216 0.0988 0.0278 0.0018 0 0 0 0 0 #_44 + 2013 11 3 0 0 18 0 0 2e-04 3e-04 6e-04 0.0099 0.0258 0.0109 0.0122 0.0499 0.0418 0.1067 0.2764 0.301 0.1201 0.0405 0.0034 1e-04 0 0 0 0 #_45 + 2014 11 3 0 0 22 0 4e-04 0.0035 0.0046 0.0015 0.0011 0.0048 0.0024 0.0084 0.0226 0.0718 0.1148 0.2886 0.3155 0.1311 0.0262 0.0015 0.0013 0 0 0 0 #_46 + 2015 11 3 0 0 20 0 0 3e-04 0.0063 0.0041 0.0036 0.0282 0.2158 0.1453 0.0199 0.0226 0.0828 0.1637 0.1955 0.0807 0.0274 0.0028 0.0011 0 0 0 0 #_47 + 2016 11 3 0 0 21 0 1e-04 9e-04 0.0014 2e-04 0.0029 0.0203 0.0312 0.0564 0.067 0.0378 0.1026 0.2327 0.2722 0.129 0.0384 0.0068 1e-04 0 0 0 0 #_48 + 2017 11 3 0 0 15 0 8e-04 0.0011 0.0014 4e-04 0.0057 0.0187 0.0104 0.0631 0.1185 0.044 0.0383 0.1457 0.2547 0.1938 0.0855 0.0161 0.0017 0 0 0 0 #_49 + 2018 11 3 0 0 19 0 1e-04 0.0043 0.1647 0.1477 9e-04 0.0105 0.059 0.0379 0.0272 0.0532 0.0817 0.1408 0.1761 0.0714 0.0223 0.0021 1e-04 0 0 0 0 #_50 + 2019 11 3 0 0 20 0 6e-04 0.0039 3e-04 0.0062 0.318 0.3224 0.1799 0.0327 0.0032 0.0061 0.0134 0.0248 0.0476 0.0305 0.009 0.0012 2e-04 0 0 0 0 #_51 + 2020 11 3 0 0 18 0 3e-04 6e-04 3e-04 0.008 0.1539 0.2241 0.0599 0.1209 0.1862 0.0825 0.0299 0.0329 0.0476 0.0371 0.0141 0.0018 0 0 0 0 0 #_52 + 2021 11 3 0 0 18 0 0 1e-04 0 0.0083 0.2445 0.241 0.0958 0.2026 0.0875 0.0411 0.018 0.0262 0.0219 0.0104 0.0024 4e-04 0 0 0 0 0 #_53 + 2022 11 3 0 0 20 0 0 1e-04 1e-04 0 0.0032 0.0368 0.126 0.1887 0.2736 0.2 0.0868 0.0332 0.0261 0.0183 0.006 0.001 1e-04 0 0 0 0 #_54 +-9999 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 #_terminator +0 #_N_agebins +# +#_MeanSize_at_Age_obs +0 #_use_MeanSize_at_Age_obs +0 #_N_environ_variables +0 #_N_sizefreq_methods +0 #_do_tags +0 #_morphcomp_data +0 #_use_selectivity_priors +# +999 diff --git a/models/Boarfish/forecast.ss b/models/Boarfish/forecast.ss new file mode 100644 index 0000000..897d795 --- /dev/null +++ b/models/Boarfish/forecast.ss @@ -0,0 +1,45 @@ +#C forecast file written by R function SS_writeforecast +#C rerun model to get more complete formatting in forecast.ss_new +#C should work with SS version: 3.3 +#C file write time: 2024-03-28 12:06:53.519813 +# +1 #_benchmarks +3 #_MSY +0.4 #_SPRtarget +0.4 #_Btarget +#_Bmark_years: beg_bio, end_bio, beg_selex, end_selex, beg_relF, end_relF, beg_recr_dist, end_recr_dist, beg_SRparm, end_SRparm (enter actual year, or values of 0 or -integer to be rel. endyr) +0 0 -999 0 -999 0 -999 0 -999 0 +1 #_Bmark_relF_Basis +3 #_Forecast +4 #_Nforecastyrs +1 #_F_scalar +#_Fcast_years: beg_selex, end_selex, beg_relF, end_relF, beg_recruits, end_recruits (enter actual year, or values of 0 or -integer to be rel. endyr) +-2 0 -2 0 -2 0 +0 #_Fcast_selex +1 #_ControlRuleMethod +0.004 #_BforconstantF +0.001 #_BfornoF +1 #_Flimitfraction +3 #_N_forecast_loops +0 #_First_forecast_loop_with_stochastic_recruitment +0 #_fcast_rec_option +1 #_fcast_rec_val +0 #_Forecast_loop_control_5 +2023 #_FirstYear_for_caps_and_allocations +0 #_stddev_of_log_catch_ratio +0 #_Do_West_Coast_gfish_rebuilder_output +2000 #_Ydecl +2003 #_Yinit +1 #_fleet_relative_F +# Note that fleet allocation is used directly as average F if Do_Forecast=4 +2 #_basis_for_fcast_catch_tuning +# enter list of fleet number and max for fleets with max annual catch; terminate with fleet=-9999 +-9999 -1 +# enter list of area ID and max annual catch; terminate with area=-9999 +-9999 -1 +# enter list of fleet number and allocation group assignment, if any; terminate with fleet=-9999 +-9999 -1 +99 #_InputBasis +-9999 0 0 0 +# +999 # verify end of input diff --git a/models/Boarfish/starter.ss b/models/Boarfish/starter.ss new file mode 100644 index 0000000..baa8c58 --- /dev/null +++ b/models/Boarfish/starter.ss @@ -0,0 +1,36 @@ +#C starter file written by R function SS_writestarter +#C rerun model to get more complete formatting in starter.ss_new +#C should work with SS version: 3.30 +#C file write time: 2024-03-28 12:06:53.524918 +# +BOC.dat #_datfile +BOC.ctl #_ctlfile +0 #_init_values_src +1 #_run_display_detail +1 #_detailed_age_structure +0 #_checkup +1 #_parmtrace +0 #_cumreport +1 #_prior_like +1 #_soft_bounds +1 #_N_bootstraps +10 #_last_estimation_phase +1 #_MCMCburn +1 #_MCMCthin +0 #_jitter_fraction +-1 #_minyr_sdreport +-2 #_maxyr_sdreport +0 #_N_STD_yrs +1e-04 #_converge_criterion +0 #_retro_yr +0 #_min_age_summary_bio +2 #_depl_basis +1 #_depl_denom_frac +1 #_SPR_basis +5 #_F_report_units +4 14 #_F_age_range +0 #_F_report_basis +0 #_MCMC_output_detail +0 #_ALK_tolerance +# +3.3 #_final