diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..fd27d975 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +length-dist/ss_sim/*yellow +length-dist/ss_sim/*cod +ss3sim_scalar.csv +ss3sim_ts.csv diff --git a/length-dist/ss_sim/cases/E100-cod.txt b/length-dist/ss_sim/cases/E100-cod.txt new file mode 100644 index 00000000..93fc8f93 --- /dev/null +++ b/length-dist/ss_sim/cases/E100-cod.txt @@ -0,0 +1,9 @@ +#description: *Deterministic* fixed M, no qSurvey, fixed steepness +natM_type; NULL +natM_n_breakpoints; NULL +natM_lorenzen; NULL +natM_val; NULL +par_name; c("LnQ_base_Fishery(1)","SR_sigmaR,NatM_p_1_Fem_GP_1") +par_int; c(NA,0.001,NA) +par_phase; c(-1,-1,-1) +forecast_num; 0 diff --git a/length-dist/ss_sim/cases/E100-yellow.txt b/length-dist/ss_sim/cases/E100-yellow.txt new file mode 100644 index 00000000..93fc8f93 --- /dev/null +++ b/length-dist/ss_sim/cases/E100-yellow.txt @@ -0,0 +1,9 @@ +#description: *Deterministic* fixed M, no qSurvey, fixed steepness +natM_type; NULL +natM_n_breakpoints; NULL +natM_lorenzen; NULL +natM_val; NULL +par_name; c("LnQ_base_Fishery(1)","SR_sigmaR,NatM_p_1_Fem_GP_1") +par_int; c(NA,0.001,NA) +par_phase; c(-1,-1,-1) +forecast_num; 0 diff --git a/length-dist/ss_sim/cases/F0-cod.txt b/length-dist/ss_sim/cases/F0-cod.txt new file mode 100644 index 00000000..0d1be596 --- /dev/null +++ b/length-dist/ss_sim/cases/F0-cod.txt @@ -0,0 +1,6 @@ +# Casefile autogenerated using create_f.R, a script in +# ss3sim/ss3models/extra +# Constant F, at Fmsy for 75 years +years; c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100) +fisheries; 1 +fvals; c(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.1052, 0.1052, 0.1052, 0.1052, 0.1052, 0.1052, 0.1052, 0.1052, 0.1052, 0.1052, 0.1052, 0.1052, 0.1052, 0.1052, 0.1052, 0.1052, 0.1052, 0.1052, 0.1052, 0.1052, 0.1052, 0.1052, 0.1052, 0.1052, 0.1052, 0.1052, 0.1052, 0.1052, 0.1052, 0.1052, 0.1052, 0.1052, 0.1052, 0.1052, 0.1052, 0.1052, 0.1052, 0.1052, 0.1052, 0.1052, 0.1052, 0.1052, 0.1052, 0.1052, 0.1052, 0.1052, 0.1052, 0.1052, 0.1052, 0.1052, 0.1052, 0.1052, 0.1052, 0.1052, 0.1052, 0.1052, 0.1052, 0.1052, 0.1052, 0.1052, 0.1052, 0.1052, 0.1052, 0.1052, 0.1052, 0.1052, 0.1052, 0.1052, 0.1052, 0.1052, 0.1052, 0.1052, 0.1052, 0.1052, 0.1052) diff --git a/length-dist/ss_sim/cases/F0-yellow.txt b/length-dist/ss_sim/cases/F0-yellow.txt new file mode 100644 index 00000000..0b54b458 --- /dev/null +++ b/length-dist/ss_sim/cases/F0-yellow.txt @@ -0,0 +1,6 @@ +# Casefile autogenerated using create_f.R, a script in +# ss3sim/ss3models/extra +# Constant F, at Fmsy for 75 years +years; c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100) +fisheries; 1 +fvals; c(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.0484266666666667, 0.0484266666666667, 0.0484266666666667, 0.0484266666666667, 0.0484266666666667, 0.0484266666666667, 0.0484266666666667, 0.0484266666666667, 0.0484266666666667, 0.0484266666666667, 0.0484266666666667, 0.0484266666666667, 0.0484266666666667, 0.0484266666666667, 0.0484266666666667, 0.0484266666666667, 0.0484266666666667, 0.0484266666666667, 0.0484266666666667, 0.0484266666666667, 0.0484266666666667, 0.0484266666666667, 0.0484266666666667, 0.0484266666666667, 0.0484266666666667, 0.0484266666666667, 0.0484266666666667, 0.0484266666666667, 0.0484266666666667, 0.0484266666666667, 0.0484266666666667, 0.0484266666666667, 0.0484266666666667, 0.0484266666666667, 0.0484266666666667, 0.0484266666666667, 0.0484266666666667, 0.0484266666666667, 0.0484266666666667, 0.0484266666666667, 0.0484266666666667, 0.0484266666666667, 0.0484266666666667, 0.0484266666666667, 0.0484266666666667, 0.0484266666666667, 0.0484266666666667, 0.0484266666666667, 0.0484266666666667, 0.0484266666666667, 0.0484266666666667, 0.0484266666666667, 0.0484266666666667, 0.0484266666666667, 0.0484266666666667, 0.0484266666666667, 0.0484266666666667, 0.0484266666666667, 0.0484266666666667, 0.0484266666666667, 0.0484266666666667, 0.0484266666666667, 0.0484266666666667, 0.0484266666666667, 0.0484266666666667, 0.0484266666666667, 0.0484266666666667, 0.0484266666666667, 0.0484266666666667, 0.0484266666666667, 0.0484266666666667, 0.0484266666666667, 0.0484266666666667, 0.0484266666666667, 0.0484266666666667) diff --git a/length-dist/ss_sim/cases/O0-cod.txt b/length-dist/ss_sim/cases/O0-cod.txt new file mode 100644 index 00000000..35c1032a --- /dev/null +++ b/length-dist/ss_sim/cases/O0-cod.txt @@ -0,0 +1,5 @@ +# A sample case file for OM change_o() arguments + +par_name; c("SizeSel_P1_Fishery(1)") + +par_int; c(100.8) diff --git a/length-dist/ss_sim/cases/O0-yellow.txt b/length-dist/ss_sim/cases/O0-yellow.txt new file mode 100644 index 00000000..577af0d8 --- /dev/null +++ b/length-dist/ss_sim/cases/O0-yellow.txt @@ -0,0 +1,5 @@ +# A sample case file for OM change_o() arguments + +par_name; c("SizeSel_P1_Fishery(1)") + +par_int; c(46) diff --git a/length-dist/ss_sim/cases/O1-cod.txt b/length-dist/ss_sim/cases/O1-cod.txt new file mode 100644 index 00000000..ded54c43 --- /dev/null +++ b/length-dist/ss_sim/cases/O1-cod.txt @@ -0,0 +1,5 @@ +# A sample case file for OM change_o() arguments + +par_name; c("SizeSel_P1_Fishery(1)") + +par_int; c(10.8) diff --git a/length-dist/ss_sim/cases/O1-yellow.txt b/length-dist/ss_sim/cases/O1-yellow.txt new file mode 100644 index 00000000..ea648a2d --- /dev/null +++ b/length-dist/ss_sim/cases/O1-yellow.txt @@ -0,0 +1,5 @@ +# A sample case file for OM change_o() arguments + +par_name; c("SizeSel_P1_Fishery(1)") + +par_int; c(30) diff --git a/length-dist/ss_sim/cases/agecomp0-cod.txt b/length-dist/ss_sim/cases/agecomp0-cod.txt new file mode 100644 index 00000000..9cf5069d --- /dev/null +++ b/length-dist/ss_sim/cases/agecomp0-cod.txt @@ -0,0 +1,4 @@ +fleets; NULL +Nsamp; NULL +years; NULL +cpar; NULL diff --git a/length-dist/ss_sim/cases/agecomp0-yellow.txt b/length-dist/ss_sim/cases/agecomp0-yellow.txt new file mode 100644 index 00000000..9cf5069d --- /dev/null +++ b/length-dist/ss_sim/cases/agecomp0-yellow.txt @@ -0,0 +1,4 @@ +fleets; NULL +Nsamp; NULL +years; NULL +cpar; NULL diff --git a/length-dist/ss_sim/cases/index0-cod.txt b/length-dist/ss_sim/cases/index0-cod.txt new file mode 100644 index 00000000..1c8cad58 --- /dev/null +++ b/length-dist/ss_sim/cases/index0-cod.txt @@ -0,0 +1,3 @@ +fleets; 2 +years; list(c(76,78,80,82,84,86,88,90,92,94,96,98,100)) +sds_obs; list(0.2) diff --git a/length-dist/ss_sim/cases/index0-yellow.txt b/length-dist/ss_sim/cases/index0-yellow.txt new file mode 100644 index 00000000..1c8cad58 --- /dev/null +++ b/length-dist/ss_sim/cases/index0-yellow.txt @@ -0,0 +1,3 @@ +fleets; 2 +years; list(c(76,78,80,82,84,86,88,90,92,94,96,98,100)) +sds_obs; list(0.2) diff --git a/length-dist/ss_sim/cases/lcomp0-cod.txt b/length-dist/ss_sim/cases/lcomp0-cod.txt new file mode 100644 index 00000000..e8da0ed7 --- /dev/null +++ b/length-dist/ss_sim/cases/lcomp0-cod.txt @@ -0,0 +1,4 @@ +fleets; c(1) +Nsamp; list(c(500,500,500,500,500,500,500,500,500,500,500,500,500,500,500)) +years; list(c(26,36,46,56,60,64,68,72,76,80,84,88,92,96,100)) +cpar; c(2) diff --git a/length-dist/ss_sim/cases/lcomp0-yellow.txt b/length-dist/ss_sim/cases/lcomp0-yellow.txt new file mode 100644 index 00000000..e8da0ed7 --- /dev/null +++ b/length-dist/ss_sim/cases/lcomp0-yellow.txt @@ -0,0 +1,4 @@ +fleets; c(1) +Nsamp; list(c(500,500,500,500,500,500,500,500,500,500,500,500,500,500,500)) +years; list(c(26,36,46,56,60,64,68,72,76,80,84,88,92,96,100)) +cpar; c(2) diff --git a/length-dist/ss_sim/models/cod-em/codEM.ctl b/length-dist/ss_sim/models/cod-em/codEM.ctl new file mode 100644 index 00000000..efa875d2 --- /dev/null +++ b/length-dist/ss_sim/models/cod-em/codEM.ctl @@ -0,0 +1,291 @@ +#V3.30.13.00-trans;_2019_03_09;_Stock_Synthesis_by_Richard_Methot_(NOAA)_using_ADMB_12.0 +#Stock Synthesis (SS) 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.ncep.noaa.gov/group/stock-synthesis +#_data_and_control_files: ss3.dat // codEM.ctl +0 # 0 means do not read wtatage.ss; 1 means read and use wtatage.ss and also read and use growth parameters +1 #_N_Growth_Patterns +1 #_N_platoons_Within_GrowthPattern +#_Cond 1 #_Morph_between/within_stdev_ratio (no read if N_morphs=1) +#_Cond 1 #vector_Morphdist_(-1_in_first_val_gives_normal_approx) +# +2 # recr_dist_method for parameters: 2=main effects for GP, Settle timing, Area; 3=each Settle entity; 4=none, only when N_GP*Nsettle*pop==1 +1 # not yet implemented; Future usage: Spawner-Recruitment: 1=global; 2=by area +1 # number of recruitment settlement assignments +0 # unused option +#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 +# +1 #_Nblock_Patterns + 1 #_blocks_per_pattern +# begin and end years of blocks + 0 0 +# +# controls for all timevary parameters +1 #_env/block/dev_adjust_method for all time-vary parms (1=warn relative to base parm bounds; 3=no bound check) +# +# AUTOGEN +0 0 0 0 0 # autogen: 1st element for biology, 2nd for SR, 3rd for Q, 4th reserved, 5th for selex +# where: 0 = autogen all time-varying parms; 1 = read each time-varying parm line; 2 = read then autogen if parm min==-12345 +# +#_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: null; 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; 21-24 keep last dev for rest of years +# +# +# +# setup for M, growth, maturity, fecundity, recruitment distibution, movement +# +0 #_natM_type:_0=1Parm; 1=N_breakpoints;_2=Lorenzen;_3=agespecific;_4=agespec_withseasinterpolate + #_no additional input for selected M option; read 1P per morph +# +1 # 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 +999 #_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) +0 #_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 +0 #_First_Mature_Age +1 #_fecundity 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 +0 #_hermaphroditism option: 0=none; 1=female-to-male age-specific fxn; -1=male-to-female age-specific fxn +1 #_parameter_offset_approach (1=none, 2= M, G, CV_G as offset from female-GP1, 3=like SS2 V1.x) +# +#_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 + 0.01 1.8 0.2 0.1 0.8 0 -3 0 0 0 0 0 0 0 # NatM_p_1_Fem_GP_1 +# Sex: 1 BioPattern: 1 Growth + 1 100 20 30.8 0.2 0 4 0 0 0 0 0 0 0 # L_at_Amin_Fem_GP_1 + 6.6 660 132 120.1 0.2 0 4 0 0 0 0 0 0 0 # L_at_Amax_Fem_GP_1 + 0.01 1 0.2 0.25 0.8 0 4 0 0 0 0 0 0 0 # VonBert_K_Fem_GP_1 + 0.01 0.5 0.1 0.1 0.8 0 5 0 0 0 0 0 0 0 # CV_young_Fem_GP_1 + 0.01 0.5 0.1 0.1 0.8 0 5 0 0 0 0 0 0 0 # CV_old_Fem_GP_1 +# Sex: 1 BioPattern: 1 WtLen + 0 3 6.8e-06 6.8e-06 0 0 -1 0 0 0 0 0 0 0 # Wtlen_1_Fem + 2.5 3.5 3.101 3.101 0.2 0 -3 0 0 0 0 0 0 0 # Wtlen_2_Fem +# Sex: 1 BioPattern: 1 Maturity&Fecundity + 10 50 38.18 0 0 0 -3 0 0 0 0 0 0 0 # Mat50%_Fem + -2 2 -0.276 0 0 0 -3 0 0 0 0 0 0 0 # Mat_slope_Fem + -3 3 1 0 0 0 -3 0 0 0 0 0 0 0 # Eggs/kg_inter_Fem + -3 4 0 0 0 0 -3 0 0 0 0 0 0 0 # Eggs/kg_slope_wt_Fem +# Hermaphroditism +# Recruitment Distribution + -4 4 0 0 0 0 -4 0 0 0 0 0 0 0 # RecrDist_GP_1 + -4 4 0 0 0 0 -4 0 0 0 0 0 0 0 # RecrDist_Area_1 + -4 4 0 0 0 0 -4 0 0 0 0 0 0 0 # RecrDist_timing_1 +# Cohort growth dev base + -4 4 1 0 0 0 -4 0 0 0 0 0 0 0 # CohortGrowDev +# Movement +# Age Error from parameters +# catch multiplier +# fraction female, by GP + 0.000001 0.999999 0.5 0.5 0.5 0 -99 0 0 0 0 0 0 0 # FracFemale_GP_1 +# +#_no timevary MG parameters +# +#_seasonal_effects_on_biology_parms + 0 0 0 0 0 0 0 0 0 0 #_femwtlen1,femwtlen2,mat1,mat2,fec1,fec2,Malewtlen1,malewtlen2,L1,K +#_ LO HI INIT PRIOR PR_SD PR_type PHASE +#_Cond -2 2 0 0 -1 99 -2 #_placeholder when no seasonal MG parameters +# +3 #_Spawner-Recruitment; Options: 2=Ricker; 3=std_B-H; 4=SCAA; 5=Hockey; 6=B-H_flattop; 7=survival_3Parm; 8=Shepherd_3Parm; 9=RickerPower_3parm +0 # 0/1 to use steepness in initial equ recruitment calculation +0 # future feature: 0/1 to make realized sigmaR a function of SR curvature +#_ LO HI INIT PRIOR PR_SD PR_type PHASE env-var use_dev dev_mnyr dev_mxyr dev_PH Block Blk_Fxn # parm_name + 4 20 18.7 10.3 10 0 1 0 0 0 0 0 0 0 # SR_LN(R0) + 0.2 1 0.65 0.7 0.05 0 -4 0 0 0 0 0 0 0 # SR_BH_steep + 0 2 0.4 0.8 0.8 0 -5 0 0 0 0 0 0 0 # SR_sigmaR + -5 5 0 0 1 0 -4 0 0 0 0 0 0 0 # SR_regime + 0 0 0 0 0 0 -99 0 0 0 0 0 0 0 # SR_autocorr +1 #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 +1 # first year of main recr_devs; early devs can preceed this era +100 # last year of main recr_devs; forecast devs start in following year +3 #_recdev phase +1 # (0/1) to read 13 advanced options + 0 #_recdev_early_start (0=none; neg value makes relative to recdev_start) + -4 #_recdev_early_phase + 0 #_forecast_recruitment phase (incl. late recr) (0 value resets to maxphase+1) + 1 #_lambda for Fcast_recr_like occurring before endyr+1 + 1 #_last_yr_nobias_adj_in_MPD; begin of ramp + 26 #_first_yr_fullbias_adj_in_MPD; begin of plateau + 99 #_last_yr_fullbias_adj_in_MPD + 100 #_end_yr_for_ramp_in_MPD (can be in forecast to shape ramp, but SS sets bias_adj to 0.0 for fcast yrs) + 0.9 #_max_bias_adj_in_MPD (-1 to override ramp and set biasadj=1.0 for all estimated recdevs) + 0 #_period of cycles in recruitment (N parms read below) + -5 #min rec_dev + 5 #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 +# 1R 2R 3R 4R 5R 6R 7R 8R 9R 10R 11R 12R 13R 14R 15R 16R 17R 18R 19R 20R 21R 22R 23R 24R 25R 26R 27R 28R 29R 30R 31R 32R 33R 34R 35R 36R 37R 38R 39R 40R 41R 42R 43R 44R 45R 46R 47R 48R 49R 50R 51R 52R 53R 54R 55R 56R 57R 58R 59R 60R 61R 62R 63R 64R 65R 66R 67R 68R 69R 70R 71R 72R 73R 74R 75R 76R 77R 78R 79R 80R 81R 82R 83R 84R 85R 86R 87R 88R 89R 90R 91R 92R 93R 94R 95R 96R 97R 98R 99R 100R 101F +# 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 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 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +# implementation error by year in forecast: 0 +# +#Fishing Mortality info +0.3 # F ballpark +-2001 # F ballpark year (neg value to disable) +3 # F_Method: 1=Pope; 2=instan. F; 3=hybrid (hybrid is recommended) +4 # max F or harvest rate, depends on F_Method +# no additional F input needed for Fmethod 1 +# if Fmethod=2; read overall start F value; overall phase; N detailed inputs to read +# if Fmethod=3; read N iterations for tuning for Fmethod 3 +4 # N iterations for tuning F in hybrid method (recommend 3 to 7) +# +#_initial_F_parms; count = 0 +#_ LO HI INIT PRIOR PR_SD PR_type PHASE +#101 121 +# F rates by fleet +# Yr: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 +# 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 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 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +# Fishery 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.00394216 0.00821986 0.0127379 0.0175303 0.0224623 0.0273799 0.0320614 0.0370941 0.0423413 0.0472003 0.0514631 0.0555735 0.0589583 0.0621394 0.0652058 0.0679005 0.0696028 0.070583 0.0723542 0.0750612 0.078532 0.0815346 0.0872786 0.0935168 0.100223 0.106084 0.115392 0.124893 0.131525 0.134401 0.136944 0.138767 0.13901 0.136571 0.139992 0.142439 0.153104 0.164131 0.169577 0.172572 0.17272 0.175831 0.183455 0.186973 0.18732 0.182303 0.176808 0.171054 0.168999 0.170439 0.173807 0.185962 0.194704 0.196294 0.191128 0.187265 0.179259 0.177682 0.178794 0.177131 0.170516 0.162271 0.153322 0.143143 0.135641 0.13551 0.135598 0.133283 0.129538 0.122796 0.115747 0.109109 0.103491 0.0993401 0 +# +#_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 # fleetname + 1 1 0 0 0 0 # Fishery + 2 1 0 0 0 0 # Survey +-9999 0 0 0 0 0 +# +#_Q_parms(if_any);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 # parm_name + -20 20 0 0 99 0 5 0 0 0 0 0 0 0 # LnQ_base_Fishery(1) + -20 20 0 0 99 0 5 0 0 0 0 0 0 0 # LnQ_base_Survey(2) +#_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:_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; New doublelogistic 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:_25; parm=3; exponential-logistic in size +#Pattern:_27; parm=3+special; cubic spline +#Pattern:_42; parm=2+special+3; // 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 + 24 0 0 0 # 1 Fishery + 24 0 0 0 # 2 Survey +# +#_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 +#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 +#Pattern:_42; parm=2+special+3; // cubic spline; with 2 additional param for scaling (average over bin range) +#_Pattern Discard Male Special + 11 0 0 0 # 1 Fishery + 11 0 0 0 # 2 Survey +# +#_ 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 Fishery LenSelex + 5.08 101.6 50.8 50.8 0.05 0 2 0 0 0 0 0 0 0 # SizeSel_P1_Fishery(1) + -5 3 -3 -3 0.05 0 -99 0 0 0 0 0 0 0 # SizeSel_P2_Fishery(1) + 0 25.5 5.1 5.1 0.05 0 3 0 0 0 0 0 0 0 # SizeSel_P3_Fishery(1) + -2 16 15 15 0.05 0 -99 0 0 0 0 0 0 0 # SizeSel_P4_Fishery(1) + -15 5 -999 -999 0.05 0 -99 0 0 0 0 0 0 0 # SizeSel_P5_Fishery(1) + -5 1000 999 999 0.05 0 -99 0 0 0 0 0 0 0 # SizeSel_P6_Fishery(1) +# 2 Survey LenSelex + 4.18 83.6 41.8 41.8 0.05 0 2 0 0 0 0 0 0 0 # SizeSel_P1_Survey(2) + -5 3 -4 -4 0.05 0 -99 0 0 0 0 0 0 0 # SizeSel_P2_Survey(2) + 0 26 5.2 5.2 0.05 0 3 0 0 0 0 0 0 0 # SizeSel_P3_Survey(2) + -2 15 14 14 0.05 0 -99 0 0 0 0 0 0 0 # SizeSel_P4_Survey(2) + -100 100 -99 -99 0.05 0 -99 0 0 0 0 0 0 0 # SizeSel_P5_Survey(2) + -100 100 99 99 0.05 0 -99 0 0 0 0 0 0 0 # SizeSel_P6_Survey(2) +# 1 Fishery AgeSelex + 0 1 0.1 0.1 99 0 -3 0 0 0 0 0.5 0 0 # AgeSel_P1_Fishery(1) + 0 101 100 100 99 0 -3 0 0 0 0 0.5 0 0 # AgeSel_P2_Fishery(1) +# 2 Survey AgeSelex + 0 1 0.1 0.1 99 0 -3 0 0 0 0 0.5 0 0 # AgeSel_P1_Survey(2) + 0 101 100 100 99 0 -3 0 0 0 0 0.5 0 0 # AgeSel_P2_Survey(2) +#_no timevary selex parameters +# +0 # use 2D_AR1 selectivity(0/1): experimental feature +#_no 2D_AR1 selex offset used +# +# Tag loss and Tag reporting parameters go next +0 # TG_custom: 0=no read; 1=read if tags exist +#_Cond -6 6 1 1 2 0.01 -4 0 0 0 0 0 0 0 #_placeholder if no parameters +# +# no timevary parameters +# +# +# 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 + -9999 1 0 # terminator +# +4 #_maxlambdaphase +1 #_sd_offset; must be 1 if any growthCV, sigmaR, or survey extraSD is an estimated parameter +# read 0 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 +-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 +# 0 0 0 0 #_CPUE/survey:_3 +# 1 1 1 1 #_lencomp:_1 +# 1 1 1 1 #_lencomp:_2 +# 0 0 0 0 #_lencomp:_3 +# 1 1 1 1 #_agecomp:_1 +# 1 1 1 1 #_agecomp:_2 +# 0 0 0 0 #_agecomp:_3 +# 1 1 1 1 #_init_equ_catch +# 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 # (0/1) read specs for more stddev reporting + # 0 0 0 0 0 0 0 0 0 # placeholder for # selex_fleet, 1=len/2=age/3=both, year, N selex bins, 0 or Growth pattern, N growth ages, 0 or NatAge_area(-1 for all), NatAge_yr, N Natages + # placeholder for vector of selex bins to be reported + # placeholder for vector of growth ages to be reported + # placeholder for vector of NatAges ages to be reported +999 + diff --git a/length-dist/ss_sim/models/cod-em/forecast.ss b/length-dist/ss_sim/models/cod-em/forecast.ss new file mode 100644 index 00000000..b1812d50 --- /dev/null +++ b/length-dist/ss_sim/models/cod-em/forecast.ss @@ -0,0 +1,59 @@ +#V3.30.13.00-trans;_2019_03_09;_Stock_Synthesis_by_Richard_Methot_(NOAA)_using_ADMB_12.0 +#Stock Synthesis (SS) 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. +#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: SSv3.21_or_later +#C file write time: 2015-03-14 16:01:17 +# for all year entries except rebuilder; enter either: actual year, -999 for styr, 0 for endyr, neg number for rel. endyr +1 # Benchmarks: 0=skip; 1=calc F_spr,F_btgt,F_msy; 2=calc F_spr,F0.1,F_msy +2 # MSY: 1= set to F(SPR); 2=calc F(MSY); 3=set to F(Btgt) or F0.1; 4=set to F(endyr) +0.4 # SPR target (e.g. 0.40) +0.4 # Biomass target (e.g. 0.40) +#_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) + 100 100 100 100 100 100 1 100 1 100 +1 #Bmark_relF_Basis: 1 = use year range; 2 = set relF same as forecast below +# +4 # Forecast: 0=none; 1=F(SPR); 2=F(MSY) 3=F(Btgt) or F0.1; 4=Ave F (uses first-last relF yrs); 5=input annual F scalar +1 # N forecast years +0 # F scalar (only used for Do_Forecast==5) +#_Fcast_years: beg_selex, end_selex, beg_relF, end_relF, beg_mean recruits, end_recruits (enter actual year, or values of 0 or -integer to be rel. endyr) + 100 100 100 100 1 100 +0 # Forecast selectivity (0=fcast selex is mean from year range; 1=fcast selectivity from annual time-vary parms) +2 # Control rule method (1: ramp does catch=f(SSB), buffer on F; 2: ramp does F=f(SSB), buffer on F; 3: ramp does catch=f(SSB), buffer on catch; 4: ramp does F=f(SSB), buffer on catch) +0.4 # Control rule Biomass level for constant F (as frac of Bzero, e.g. 0.40); (Must be > the no F level below) +0.01 # Control rule Biomass level for no F (as frac of Bzero, e.g. 0.10) +0 # Control rule target as fraction of Flimit (e.g. 0.75), negative value invokes list of [year, scalar] with filling from year to YrMax +3 #_N forecast loops (1=OFL only; 2=ABC; 3=get F from forecast ABC catch with allocations applied) +3 #_First forecast loop with stochastic recruitment +0 #_Forecast recruitment: 0= spawn_recr; 1=value*spawn_recr_fxn; 2=value*VirginRecr; 3=recent mean from yr range above (need to set phase to -1 in control to get constant recruitment in MCMC) +1 # value is ignored +0 #_Forecast loop control #5 (reserved for future bells&whistles) +101 #FirstYear for caps and allocations (should be after years with fixed inputs) +0 # stddev of log(realized catch/target catch) in forecast (set value>0.0 to cause active impl_error) +0 # Do West Coast gfish rebuilder output (0/1) +100 # Rebuilder: first year catch could have been set to zero (Ydecl)(-1 to set to 1999) +100 # Rebuilder: year for current age structure (Yinit) (-1 to set to endyear+1) +1 # fleet relative F: 1=use first-last alloc year; 2=read seas, fleet, alloc list below +# Note that fleet allocation is used directly as average F if Do_Forecast=4 +2 # basis for fcast catch tuning and for fcast catch caps and allocation (2=deadbio; 3=retainbio; 5=deadnum; 6=retainnum) +# Conditional input if relative F choice = 2 +# enter list of: season, fleet, relF; if used, terminate with season=-9999 +# 1 1 1 +# -9999 0 0 # terminator for list of relF +# enter list of: fleet number, max annual catch for fleets with a max; 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 +#_if N allocation groups >0, list year, allocation fraction for each group +# list sequentially because read values fill to end of N forecast +# terminate with -9999 in year field +# no allocation groups +2 # basis for input Fcast catch: -1=read basis with each obs; 2=dead catch; 3=retained catch; 99=input Hrate(F) +#enter list of Fcast catches; terminate with line having year=-9999 +#_Yr Seas Fleet Catch(or_F) +-9999 1 1 0 +# +999 # verify end of input diff --git a/length-dist/ss_sim/models/cod-em/starter.ss b/length-dist/ss_sim/models/cod-em/starter.ss new file mode 100644 index 00000000..2f684f97 --- /dev/null +++ b/length-dist/ss_sim/models/cod-em/starter.ss @@ -0,0 +1,41 @@ +#V3.30.13.00-trans;_2019_03_09;_Stock_Synthesis_by_Richard_Methot_(NOAA)_using_ADMB_12.0 +#Stock Synthesis (SS) 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.ncep.noaa.gov/group/stock-synthesis +#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: SSv3.10b_or_later +#C file write time: 2019-04-04 10:49:43 +ss3.dat +codEM.ctl +0 # 0=use init values in control file; 1=use ss.par +0 # run display detail (0,1,2) +1 # detailed output (0=minimal for data-limited, 1=high (w/ wtatage.ss_new), 2=brief) +0 # write 1st iteration details to echoinput.sso file (0,1) +0 # write parm values to ParmTrace.sso (0=no,1=good,active; 2=good,all; 3=every_iter,all_parms; 4=every,active) +1 # write to cumreport.sso (0=no,1=like×eries; 2=add survey fits) +0 # Include prior_like for non-estimated parameters (0,1) +1 # Use Soft Boundaries to aid convergence (0,1) (recommended) +2 # Number of datafiles to produce: 1st is input, 2nd is estimates, 3rd and higher are bootstrap +100 # Turn off estimation for parameters entering after this phase +0 # MCeval burn interval +1 # MCeval thin interval +0 # jitter initial parm value by this fraction +-1 # min yr for sdreport outputs (-1 for styr) +101 # max yr for sdreport outputs (-1 for endyr; -2 for endyr+Nforecastyrs +0 # N individual STD years +#vector of year values + +0.0001 # final convergence criteria (e.g. 1.0e-04) +0 # retrospective year relative to end year (e.g. -4) +1 # min age for calc of summary biomass +1 # Depletion basis: denom is: 0=skip; 1=rel X*SPB0; 2=rel SPBmsy; 3=rel X*SPB_styr; 4=rel X*SPB_endyr +1 # Fraction (X) for Depletion denominator (e.g. 0.4) +4 # SPR_report_basis: 0=skip; 1=(1-SPR)/(1-SPR_tgt); 2=(1-SPR)/(1-SPR_MSY); 3=(1-SPR)/(1-SPR_Btarget); 4=rawSPR +1 # F_report_units: 0=skip; 1=exploitation(Bio); 2=exploitation(Num); 3=sum(Frates); 4=true F for range of ages; 5=unweighted avg. F for range of ages +#COND 10 15 #_min and max age over which average F will be calculated with F_reporting=4 or 5 +0 # F_report_basis: 0=raw_F_report; 1=F/Fspr; 2=F/Fmsy ; 3=F/Fbtgt +0 # MCMC output detail: integer part (0=default; 1=adds obj func components); and decimal part (added to SR_LN(R0) on first call to mcmc) +0 # ALK tolerance (example 0.0001) +3.30 # check value for end of file and for version control diff --git a/length-dist/ss_sim/models/cod-om/codOM.ctl b/length-dist/ss_sim/models/cod-om/codOM.ctl new file mode 100644 index 00000000..94498d83 --- /dev/null +++ b/length-dist/ss_sim/models/cod-om/codOM.ctl @@ -0,0 +1,295 @@ +#V3.30.13.00-trans;_2019_03_09;_Stock_Synthesis_by_Richard_Methot_(NOAA)_using_ADMB_12.0 +#Stock Synthesis (SS) 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.ncep.noaa.gov/group/stock-synthesis +#_data_and_control_files: codOM.dat // codOM.ctl +0 # 0 means do not read wtatage.ss; 1 means read and use wtatage.ss and also read and use growth parameters +1 #_N_Growth_Patterns +1 #_N_platoons_Within_GrowthPattern +#_Cond 1 #_Morph_between/within_stdev_ratio (no read if N_morphs=1) +#_Cond 1 #vector_Morphdist_(-1_in_first_val_gives_normal_approx) +# +2 # recr_dist_method for parameters: 2=main effects for GP, Settle timing, Area; 3=each Settle entity; 4=none, only when N_GP*Nsettle*pop==1 +1 # not yet implemented; Future usage: Spawner-Recruitment: 1=global; 2=by area +1 # number of recruitment settlement assignments +0 # unused option +#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 +# +1 #_Nblock_Patterns + 1 #_blocks_per_pattern +# begin and end years of blocks + 0 0 +# +# controls for all timevary parameters +1 #_env/block/dev_adjust_method for all time-vary parms (1=warn relative to base parm bounds; 3=no bound check) +# +# AUTOGEN +0 0 0 0 0 # autogen: 1st element for biology, 2nd for SR, 3rd for Q, 4th reserved, 5th for selex +# where: 0 = autogen all time-varying parms; 1 = read each time-varying parm line; 2 = read then autogen if parm min==-12345 +# +#_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: null; 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; 21-24 keep last dev for rest of years +# +# +# +# setup for M, growth, maturity, fecundity, recruitment distibution, movement +# +0 #_natM_type:_0=1Parm; 1=N_breakpoints;_2=Lorenzen;_3=agespecific;_4=agespec_withseasinterpolate + #_no additional input for selected M option; read 1P per morph +# +1 # 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 +999 #_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) +0 #_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 +0 #_First_Mature_Age +1 #_fecundity 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 +0 #_hermaphroditism option: 0=none; 1=female-to-male age-specific fxn; -1=male-to-female age-specific fxn +1 #_parameter_offset_approach (1=none, 2= M, G, CV_G as offset from female-GP1, 3=like SS2 V1.x) +# +#_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 + 0.01 1.8 0.2 0.1 0.8 0 -3 0 0 0 0 0 0 0 # NatM_p_1_Fem_GP_1 +# Sex: 1 BioPattern: 1 Growth + 10 80 20 30.8 0.2 0 -2 0 0 0 0 0 0 0 # L_at_Amin_Fem_GP_1 + 25 250 132 120.1 0.2 0 -5 0 0 0 0 0 0 0 # L_at_Amax_Fem_GP_1 + 0.01 2 0.2 0.25 0.8 0 -2 0 0 0 0 0 0 0 # VonBert_K_Fem_GP_1 + -0.01 0.5 0.1 0.1 0.8 0 -3 0 0 0 0 0 0 0 # CV_young_Fem_GP_1 + 0.01 0.5 0.1 0.1 0.8 0 -5 0 0 0 0 0 0 0 # CV_old_Fem_GP_1 +# Sex: 1 BioPattern: 1 WtLen + 0 3 6.8e-06 6.8e-06 0 0 -1 0 0 0 0 0 0 0 # Wtlen_1_Fem + 2.5 3.5 3.101 3.101 0.2 0 -3 0 0 0 0 0 0 0 # Wtlen_2_Fem +# Sex: 1 BioPattern: 1 Maturity&Fecundity + 10 50 38.18 0 0 0 -3 0 0 0 0 0 0 0 # Mat50%_Fem + -2 2 -0.276 0 0 0 -3 0 0 0 0 0 0 0 # Mat_slope_Fem + -3 3 1 0 0 0 -3 0 0 0 0 0 0 0 # Eggs/kg_inter_Fem + -3 4 0 0 0 0 -3 0 0 0 0 0 0 0 # Eggs/kg_slope_wt_Fem +# Hermaphroditism +# Recruitment Distribution + -4 4 0 0 0 0 -4 0 0 0 0 0 0 0 # RecrDist_GP_1 + -4 4 0 0 0 0 -4 0 0 0 0 0 0 0 # RecrDist_Area_1 + -4 4 0 0 0 0 -4 0 0 0 0 0 0 0 # RecrDist_timing_1 +# Cohort growth dev base + -4 4 1 0 0 0 -4 0 0 0 0 0 0 0 # CohortGrowDev +# Movement +# Age Error from parameters +# catch multiplier +# fraction female, by GP + 0.000001 0.999999 0.5 0.5 0.5 0 -99 0 0 0 0 0 0 0 # FracFemale_GP_1 +# +#_no timevary MG parameters +# +#_seasonal_effects_on_biology_parms + 0 0 0 0 0 0 0 0 0 0 #_femwtlen1,femwtlen2,mat1,mat2,fec1,fec2,Malewtlen1,malewtlen2,L1,K +#_ LO HI INIT PRIOR PR_SD PR_type PHASE +#_Cond -2 2 0 0 -1 99 -2 #_placeholder when no seasonal MG parameters +# +3 #_Spawner-Recruitment; Options: 2=Ricker; 3=std_B-H; 4=SCAA; 5=Hockey; 6=B-H_flattop; 7=survival_3Parm; 8=Shepherd_3Parm; 9=RickerPower_3parm +0 # 0/1 to use steepness in initial equ recruitment calculation +0 # future feature: 0/1 to make realized sigmaR a function of SR curvature +#_ LO HI INIT PRIOR PR_SD PR_type PHASE env-var use_dev dev_mnyr dev_mxyr dev_PH Block Blk_Fxn # parm_name + 10 20 18.7 10.3 10 0 1 0 0 0 0 0 0 0 # SR_LN(R0) + 0.2 1 0.65 0.7 0.05 0 -4 0 0 0 0 0 0 0 # SR_BH_steep + 0 2 0.4 0.8 0.8 0 -5 0 0 0 0 0 0 0 # SR_sigmaR + -5 5 0 0 1 0 -4 0 0 0 0 0 0 0 # SR_regime + 0 0 0 0 0 0 -99 0 0 0 0 0 0 0 # SR_autocorr +#_no timevary SR parameters +1 #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 +1 # first year of main recr_devs; early devs can preceed this era +100 # last year of main recr_devs; forecast devs start in following year +-2 #_recdev phase +1 # (0/1) to read 13 advanced options + 0 #_recdev_early_start (0=none; neg value makes relative to recdev_start) + -4 #_recdev_early_phase + 0 #_forecast_recruitment phase (incl. late recr) (0 value resets to maxphase+1) + 1 #_lambda for Fcast_recr_like occurring before endyr+1 + 1 #_last_yr_nobias_adj_in_MPD; begin of ramp + 1 #_first_yr_fullbias_adj_in_MPD; begin of plateau + 100 #_last_yr_fullbias_adj_in_MPD + 100 #_end_yr_for_ramp_in_MPD (can be in forecast to shape ramp, but SS sets bias_adj to 0.0 for fcast yrs) + 0 #_max_bias_adj_in_MPD (-1 to override ramp and set biasadj=1.0 for all estimated recdevs) + 0 #_period of cycles in recruitment (N parms read below) + -5 #min rec_dev + 5 #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 +# 1R 2R 3R 4R 5R 6R 7R 8R 9R 10R 11R 12R 13R 14R 15R 16R 17R 18R 19R 20R 21R 22R 23R 24R 25R 26R 27R 28R 29R 30R 31R 32R 33R 34R 35R 36R 37R 38R 39R 40R 41R 42R 43R 44R 45R 46R 47R 48R 49R 50R 51R 52R 53R 54R 55R 56R 57R 58R 59R 60R 61R 62R 63R 64R 65R 66R 67R 68R 69R 70R 71R 72R 73R 74R 75R 76R 77R 78R 79R 80R 81R 82R 83R 84R 85R 86R 87R 88R 89R 90R 91R 92R 93R 94R 95R 96R 97R 98R 99R 100R 101F +# 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 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 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +# implementation error by year in forecast: 0 +# +#Fishing Mortality info +0.3 # F ballpark +-2001 # F ballpark year (neg value to disable) +2 # F_Method: 1=Pope; 2=instan. F; 3=hybrid (hybrid is recommended) +4 # max F or harvest rate, depends on F_Method +# no additional F input needed for Fmethod 1 +# if Fmethod=2; read overall start F value; overall phase; N detailed inputs to read +# if Fmethod=3; read N iterations for tuning for Fmethod 3 + 0.2 1 1 # overall start F value; overall phase; N detailed inputs to read +#Fleet Yr Seas F_value se phase (for detailed setup of F_Method=2; -Yr to fill remaining years) + 1 1 1 0.004 0.005 -1 +# +#_initial_F_parms; count = 0 +#_ LO HI INIT PRIOR PR_SD PR_type PHASE +#101 121 +# F rates by fleet +# Yr: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 +# 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 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 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +# Fishery 0.004 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0 +# +#_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 # fleetname + 1 1 0 0 0 0 # Fishery + 2 1 0 0 0 0 # Survey +-9999 0 0 0 0 0 +# +#_Q_parms(if_any);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 # parm_name + -3 3 0 0 99 0 -5 0 0 0 0 0 0 0 # LnQ_base_Fishery(1) + -3 3 0 0 99 0 -5 0 0 0 0 0 0 0 # LnQ_base_Survey(2) +#_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:_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; New doublelogistic 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:_25; parm=3; exponential-logistic in size +#Pattern:_27; parm=3+special; cubic spline +#Pattern:_42; parm=2+special+3; // 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 + 24 0 0 0 # 1 Fishery + 24 0 0 0 # 2 Survey +# +#_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 +#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 +#Pattern:_42; parm=2+special+3; // cubic spline; with 2 additional param for scaling (average over bin range) +#_Pattern Discard Male Special + 11 0 0 0 # 1 Fishery + 11 0 0 0 # 2 Survey +# +#_ 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 Fishery LenSelex + 20 199 50.8 50.8 0.05 0 2 0 0 0 0 0.5 0 0 # SizeSel_P1_Fishery(1) + -5 3 -3 -3 0.05 0 -99 0 0 0 0 0.5 0 0 # SizeSel_P2_Fishery(1) + -4 12 5.1 5.1 0.05 0 3 0 0 0 0 0.5 0 0 # SizeSel_P3_Fishery(1) + -2 16 15 15 0.05 0 -99 0 0 0 0 0.5 0 0 # SizeSel_P4_Fishery(1) + -15 5 -999 -999 0.05 0 -99 0 0 0 0 0.5 0 0 # SizeSel_P5_Fishery(1) + -5 1000 999 999 0.05 0 -99 0 0 0 0 0.5 0 0 # SizeSel_P6_Fishery(1) +# 2 Survey LenSelex + 20 199 41.8 41.8 0.05 0 2 0 0 0 0 0.5 0 0 # SizeSel_P1_Survey(2) + -5 3 -4 -4 0.05 0 -99 0 0 0 0 0.5 0 0 # SizeSel_P2_Survey(2) + -4 12 5.2 5.2 0.05 0 3 0 0 0 0 0.5 0 0 # SizeSel_P3_Survey(2) + -2 15 14 14 0.05 0 -99 0 0 0 0 0.5 0 0 # SizeSel_P4_Survey(2) + -100 100 -99 -99 0.05 0 -99 0 0 0 0 0.5 0 0 # SizeSel_P5_Survey(2) + -100 100 99 99 0.05 0 -99 0 0 0 0 0.5 0 0 # SizeSel_P6_Survey(2) +# 1 Fishery AgeSelex + 0 1 0.1 0.1 99 0 -3 0 0 0 0 0.5 0 0 # AgeSel_P1_Fishery(1) + 0 101 100 100 99 0 -3 0 0 0 0 0.5 0 0 # AgeSel_P2_Fishery(1) +# 2 Survey AgeSelex + 0 1 0.1 0.1 99 0 -3 0 0 0 0 0.5 0 0 # AgeSel_P1_Survey(2) + 0 101 100 100 99 0 -3 0 0 0 0 0.5 0 0 # AgeSel_P2_Survey(2) +#_no timevary selex parameters +# +0 # use 2D_AR1 selectivity(0/1): experimental feature +#_no 2D_AR1 selex offset used +# +# Tag loss and Tag reporting parameters go next +0 # TG_custom: 0=no read; 1=read if tags exist +#_Cond -6 6 1 1 2 0.01 -4 0 0 0 0 0 0 0 #_placeholder if no parameters +# +# no timevary parameters +# +# +# 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 + -9999 1 0 # terminator +# +4 #_maxlambdaphase +1 #_sd_offset; must be 1 if any growthCV, sigmaR, or survey extraSD is an estimated parameter +# read 0 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 +-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 #_CPUE/survey:_3 +# 1 1 1 1 #_lencomp:_1 +# 1 1 1 1 #_lencomp:_2 +# 0 0 0 0 #_lencomp:_3 +# 1 1 1 1 #_agecomp:_1 +# 1 1 1 1 #_agecomp:_2 +# 0 0 0 0 #_agecomp:_3 +# 1 1 1 1 #_init_equ_catch +# 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 # (0/1) read specs for more stddev reporting + # 0 0 0 0 0 0 0 0 0 # placeholder for # selex_fleet, 1=len/2=age/3=both, year, N selex bins, 0 or Growth pattern, N growth ages, 0 or NatAge_area(-1 for all), NatAge_yr, N Natages + # placeholder for vector of selex bins to be reported + # placeholder for vector of growth ages to be reported + # placeholder for vector of NatAges ages to be reported +999 + diff --git a/length-dist/ss_sim/models/cod-om/codOM.dat b/length-dist/ss_sim/models/cod-om/codOM.dat new file mode 100644 index 00000000..235c31de --- /dev/null +++ b/length-dist/ss_sim/models/cod-om/codOM.dat @@ -0,0 +1,731 @@ +#V3.30.13.00-trans;_2019_03_09;_Stock_Synthesis_by_Richard_Methot_(NOAA)_using_ADMB_12.0 +#Stock Synthesis (SS) 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.ncep.noaa.gov/group/stock-synthesis +#_Start_time: Thu Apr 4 13:04:52 2019 +#_Number_of_datafiles: 2 +#C North Sea/Skagerrak/Eastern Channel Cod +#_observed data: +#V3.30.13.00-trans;_2019_03_09;_Stock_Synthesis_by_Richard_Methot_(NOAA)_using_ADMB_12.0 +#Stock Synthesis (SS) 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. +1 #_StartYr +100 #_EndYr +1 #_Nseas +12 #_months/season +2 #_Nsubseasons (even number, minimum is 2) +1 #_spawn_month +1 #_Ngenders: 1, 2, -1 (use -1 for 1 sex setup with SSB multiplied by female_frac parameter) +25 #_Nages=accumulator age, first age is always age 0 +1 #_Nareas +2 #_Nfleets (including surveys) +#_fleet_type: 1=catch fleet; 2=bycatch only fleet; 3=survey; 4=ignore +#_sample_timing: -1 for fishing fleet to use season-long catch-at-age for observations, or 1 to use observation month; (always 1 for surveys) +#_fleet_area: area the fleet/survey operates in +#_units of catch: 1=bio; 2=num (ignored for surveys; their units read later) +#_catch_mult: 0=no; 1=yes +#_rows are fleets +#_fleet_type fishery_timing area catch_units need_catch_mult fleetname + 1 -1 1 1 0 Fishery # 1 + 3 1 1 2 0 Survey # 2 +#Bycatch_fleet_input_goes_next +#a: fleet index +#b: 1=include dead bycatch in total dead catch for F0.1 and MSY optimizations and forecast ABC; 2=omit from total catch for these purposes (but still include the mortality) +#c: 1=Fmult scales with other fleets; 2=bycatch F constant at input value; 3=bycatch F from range of years +#d: F or first year of range +#e: last year of range +#f: not used +# a b c d e f +#_Catch data: yr, seas, fleet, catch, catch_se +#_catch_se: standard error of log(catch) +#_NOTE: catch data is ignored for survey fleets +-999 1 1 0 0.01 +1 1 1 1 0.005 +2 1 1 1 0.01 +3 1 1 1 0.01 +4 1 1 1 0.01 +5 1 1 1 0.01 +6 1 1 1 0.01 +7 1 1 1 0.01 +8 1 1 1 0.01 +9 1 1 1 0.01 +10 1 1 1 0.01 +11 1 1 1 0.01 +12 1 1 1 0.01 +13 1 1 1 0.01 +14 1 1 1 0.01 +15 1 1 1 0.01 +16 1 1 1 0.01 +17 1 1 1 0.01 +18 1 1 1 0.01 +19 1 1 1 0.01 +20 1 1 1 0.01 +21 1 1 1 0.01 +22 1 1 1 0.01 +23 1 1 1 0.01 +24 1 1 1 0.01 +25 1 1 1 0.01 +26 1 1 1 0.01 +27 1 1 1 0.01 +28 1 1 1 0.01 +29 1 1 1 0.01 +30 1 1 1 0.01 +31 1 1 1 0.01 +32 1 1 1 0.01 +33 1 1 1 0.01 +34 1 1 1 0.01 +35 1 1 1 0.01 +36 1 1 1 0.01 +37 1 1 1 0.01 +38 1 1 1 0.01 +39 1 1 1 0.01 +40 1 1 1 0.01 +41 1 1 1 0.01 +42 1 1 1 0.01 +43 1 1 1 0.01 +44 1 1 1 0.01 +45 1 1 1 0.01 +46 1 1 1 0.01 +47 1 1 1 0.01 +48 1 1 1 0.01 +49 1 1 1 0.01 +50 1 1 1 0.01 +51 1 1 1 0.01 +52 1 1 1 0.01 +53 1 1 1 0.01 +54 1 1 1 0.01 +55 1 1 1 0.01 +56 1 1 1 0.01 +57 1 1 1 0.01 +58 1 1 1 0.01 +59 1 1 1 0.01 +60 1 1 1 0.01 +61 1 1 1 0.01 +62 1 1 1 0.01 +63 1 1 1 0.01 +64 1 1 1 0.01 +65 1 1 1 0.01 +66 1 1 1 0.01 +67 1 1 1 0.01 +68 1 1 1 0.01 +69 1 1 1 0.01 +70 1 1 1 0.01 +71 1 1 1 0.01 +72 1 1 1 0.01 +73 1 1 1 0.01 +74 1 1 1 0.01 +75 1 1 1 0.01 +76 1 1 1 0.01 +77 1 1 1 0.01 +78 1 1 1 0.01 +79 1 1 1 0.01 +80 1 1 1 0.01 +81 1 1 1 0.01 +82 1 1 1 0.01 +83 1 1 1 0.01 +84 1 1 1 0.01 +85 1 1 1 0.01 +86 1 1 1 0.01 +87 1 1 1 0.01 +88 1 1 1 0.01 +89 1 1 1 0.01 +90 1 1 1 0.01 +91 1 1 1 0.01 +92 1 1 1 0.01 +93 1 1 1 0.01 +94 1 1 1 0.01 +95 1 1 1 0.01 +96 1 1 1 0.01 +97 1 1 1 0.01 +98 1 1 1 0.01 +99 1 1 1 0.01 +100 1 1 1 0.01 +-9999 0 0 0 0 +# + #_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 # Survey +#_yr month fleet obs stderr +1 7 1 1 0.2 #_ Fishery +2 7 1 1 0.2 #_ Fishery +3 7 1 1 0.2 #_ Fishery +4 7 1 1 0.2 #_ Fishery +5 7 1 1 0.2 #_ Fishery +6 7 1 1 0.2 #_ Fishery +7 7 1 1 0.2 #_ Fishery +8 7 1 1 0.2 #_ Fishery +9 7 1 1 0.2 #_ Fishery +10 7 1 1 0.2 #_ Fishery +11 7 1 1 0.2 #_ Fishery +12 7 1 1 0.2 #_ Fishery +13 7 1 1 0.2 #_ Fishery +14 7 1 1 0.2 #_ Fishery +15 7 1 1 0.2 #_ Fishery +16 7 1 1 0.2 #_ Fishery +17 7 1 1 0.2 #_ Fishery +18 7 1 1 0.2 #_ Fishery +19 7 1 1 0.2 #_ Fishery +20 7 1 1 0.2 #_ Fishery +21 7 1 1 0.2 #_ Fishery +22 7 1 1 0.2 #_ Fishery +23 7 1 1 0.2 #_ Fishery +24 7 1 1 0.2 #_ Fishery +25 7 1 1 0.2 #_ Fishery +26 7 1 1 0.2 #_ Fishery +27 7 1 1 0.2 #_ Fishery +28 7 1 1 0.2 #_ Fishery +29 7 1 1 0.2 #_ Fishery +30 7 1 1 0.2 #_ Fishery +31 7 1 1 0.2 #_ Fishery +32 7 1 1 0.2 #_ Fishery +33 7 1 1 0.2 #_ Fishery +34 7 1 1 0.2 #_ Fishery +35 7 1 1 0.2 #_ Fishery +36 7 1 1 0.2 #_ Fishery +37 7 1 1 0.2 #_ Fishery +38 7 1 1 0.2 #_ Fishery +39 7 1 1 0.2 #_ Fishery +40 7 1 1 0.2 #_ Fishery +41 7 1 1 0.2 #_ Fishery +42 7 1 1 0.2 #_ Fishery +43 7 1 1 0.2 #_ Fishery +44 7 1 1 0.2 #_ Fishery +45 7 1 1 0.2 #_ Fishery +46 7 1 1 0.2 #_ Fishery +47 7 1 1 0.2 #_ Fishery +48 7 1 1 0.2 #_ Fishery +49 7 1 1 0.2 #_ Fishery +50 7 1 1 0.2 #_ Fishery +51 7 1 1 0.2 #_ Fishery +52 7 1 1 0.2 #_ Fishery +53 7 1 1 0.2 #_ Fishery +54 7 1 1 0.2 #_ Fishery +55 7 1 1 0.2 #_ Fishery +56 7 1 1 0.2 #_ Fishery +57 7 1 1 0.2 #_ Fishery +58 7 1 1 0.2 #_ Fishery +59 7 1 1 0.2 #_ Fishery +60 7 1 1 0.2 #_ Fishery +61 7 1 1 0.2 #_ Fishery +62 7 1 1 0.2 #_ Fishery +63 7 1 1 0.2 #_ Fishery +64 7 1 1 0.2 #_ Fishery +65 7 1 1 0.2 #_ Fishery +66 7 1 1 0.2 #_ Fishery +67 7 1 1 0.2 #_ Fishery +68 7 1 1 0.2 #_ Fishery +69 7 1 1 0.2 #_ Fishery +70 7 1 1 0.2 #_ Fishery +71 7 1 1 0.2 #_ Fishery +72 7 1 1 0.2 #_ Fishery +73 7 1 1 0.2 #_ Fishery +74 7 1 1 0.2 #_ Fishery +75 7 1 1 0.2 #_ Fishery +76 7 1 1 0.2 #_ Fishery +77 7 1 1 0.2 #_ Fishery +78 7 1 1 0.2 #_ Fishery +79 7 1 1 0.2 #_ Fishery +80 7 1 1 0.2 #_ Fishery +81 7 1 1 0.2 #_ Fishery +82 7 1 1 0.2 #_ Fishery +83 7 1 1 0.2 #_ Fishery +84 7 1 1 0.2 #_ Fishery +85 7 1 1 0.2 #_ Fishery +86 7 1 1 0.2 #_ Fishery +87 7 1 1 0.2 #_ Fishery +88 7 1 1 0.2 #_ Fishery +89 7 1 1 0.2 #_ Fishery +90 7 1 1 0.2 #_ Fishery +91 7 1 1 0.2 #_ Fishery +92 7 1 1 0.2 #_ Fishery +93 7 1 1 0.2 #_ Fishery +94 7 1 1 0.2 #_ Fishery +95 7 1 1 0.2 #_ Fishery +96 7 1 1 0.2 #_ Fishery +97 7 1 1 0.2 #_ Fishery +98 7 1 1 0.2 #_ Fishery +99 7 1 1 0.2 #_ Fishery +100 7 1 1 0.2 #_ Fishery +1 7 2 1 0.2 #_ Survey +2 7 2 1 0.2 #_ Survey +3 7 2 1 0.2 #_ Survey +4 7 2 1 0.2 #_ Survey +5 7 2 1 0.2 #_ Survey +6 7 2 1 0.2 #_ Survey +7 7 2 1 0.2 #_ Survey +8 7 2 1 0.2 #_ Survey +9 7 2 1 0.2 #_ Survey +10 7 2 1 0.2 #_ Survey +11 7 2 1 0.2 #_ Survey +12 7 2 1 0.2 #_ Survey +13 7 2 1 0.2 #_ Survey +14 7 2 1 0.2 #_ Survey +15 7 2 1 0.2 #_ Survey +16 7 2 1 0.2 #_ Survey +17 7 2 1 0.2 #_ Survey +18 7 2 1 0.2 #_ Survey +19 7 2 1 0.2 #_ Survey +20 7 2 1 0.2 #_ Survey +21 7 2 1 0.2 #_ Survey +22 7 2 1 0.2 #_ Survey +23 7 2 1 0.2 #_ Survey +24 7 2 1 0.2 #_ Survey +25 7 2 1 0.2 #_ Survey +26 7 2 1 0.2 #_ Survey +27 7 2 1 0.2 #_ Survey +28 7 2 1 0.2 #_ Survey +29 7 2 1 0.2 #_ Survey +30 7 2 1 0.2 #_ Survey +31 7 2 1 0.2 #_ Survey +32 7 2 1 0.2 #_ Survey +33 7 2 1 0.2 #_ Survey +34 7 2 1 0.2 #_ Survey +35 7 2 1 0.2 #_ Survey +36 7 2 1 0.2 #_ Survey +37 7 2 1 0.2 #_ Survey +38 7 2 1 0.2 #_ Survey +39 7 2 1 0.2 #_ Survey +40 7 2 1 0.2 #_ Survey +41 7 2 1 0.2 #_ Survey +42 7 2 1 0.2 #_ Survey +43 7 2 1 0.2 #_ Survey +44 7 2 1 0.2 #_ Survey +45 7 2 1 0.2 #_ Survey +46 7 2 1 0.2 #_ Survey +47 7 2 1 0.2 #_ Survey +48 7 2 1 0.2 #_ Survey +49 7 2 1 0.2 #_ Survey +50 7 2 1 0.2 #_ Survey +51 7 2 1 0.2 #_ Survey +52 7 2 1 0.2 #_ Survey +53 7 2 1 0.2 #_ Survey +54 7 2 1 0.2 #_ Survey +55 7 2 1 0.2 #_ Survey +56 7 2 1 0.2 #_ Survey +57 7 2 1 0.2 #_ Survey +58 7 2 1 0.2 #_ Survey +59 7 2 1 0.2 #_ Survey +60 7 2 1 0.2 #_ Survey +61 7 2 1 0.2 #_ Survey +62 7 2 1 0.2 #_ Survey +63 7 2 1 0.2 #_ Survey +64 7 2 1 0.2 #_ Survey +65 7 2 1 0.2 #_ Survey +66 7 2 1 0.2 #_ Survey +67 7 2 1 0.2 #_ Survey +68 7 2 1 0.2 #_ Survey +69 7 2 1 0.2 #_ Survey +70 7 2 1 0.2 #_ Survey +71 7 2 1 0.2 #_ Survey +72 7 2 1 0.2 #_ Survey +73 7 2 1 0.2 #_ Survey +74 7 2 1 0.2 #_ Survey +75 7 2 1 0.2 #_ Survey +76 7 2 1 0.2 #_ Survey +77 7 2 1 0.2 #_ Survey +78 7 2 1 0.2 #_ Survey +79 7 2 1 0.2 #_ Survey +80 7 2 1 0.2 #_ Survey +81 7 2 1 0.2 #_ Survey +82 7 2 1 0.2 #_ Survey +83 7 2 1 0.2 #_ Survey +84 7 2 1 0.2 #_ Survey +85 7 2 1 0.2 #_ Survey +86 7 2 1 0.2 #_ Survey +87 7 2 1 0.2 #_ Survey +88 7 2 1 0.2 #_ Survey +89 7 2 1 0.2 #_ Survey +90 7 2 1 0.2 #_ Survey +91 7 2 1 0.2 #_ Survey +92 7 2 1 0.2 #_ Survey +93 7 2 1 0.2 #_ Survey +94 7 2 1 0.2 #_ Survey +95 7 2 1 0.2 #_ Survey +96 7 2 1 0.2 #_ Survey +97 7 2 1 0.2 #_ Survey +98 7 2 1 0.2 #_ Survey +99 7 2 1 0.2 #_ Survey +100 7 2 1 0.2 #_ Survey +-9999 1 1 1 1 # terminator for survey observations +# +0 #_N_fleets_with_discard +#_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; -3 for trunc normal with CV +# note, only have units and errtype for fleets with discard +#_Fleet units errtype +# -9999 0 0 0.0 0.0 # terminator for discard data +# +0 #_use meanbodysize_data (0/1) +#_COND_1 #_DF_for_meanbodysize_T-distribution_like +# note: type=1 for mean length; type=2 for mean body weight +#_yr month fleet part type obs stderr +# -9999 0 0 0 0 0 0 # terminator for mean body size data +# +# set up population length bin structure (note - irrelevant if not using size data and using empirical wtatage +2 # length bin method: 1=use databins; 2=generate from binwidth,min,max below; 3=read vector +1 # binwidth for population size comp +10 # minimum size in the population (lower edge of first bin and size at age 0.00) +200 # maximum size in the population (lower edge of last bin) +1 # use length composition data (0/1) +#_mintailcomp: upper and lower distribution for females and males separately are accumulated until exceeding this level. +#_addtocomp: after accumulation of tails; this value added to all bins +#_males and females treated as combined gender below this bin number +#_compressbins: accumulate upper tail by this number of bins; acts simultaneous with mintailcomp; set=0 for no forced accumulation +#_Comp_Error: 0=multinomial, 1=dirichlet +#_Comp_Error2: parm number for dirichlet +#_minsamplesize: minimum sample size; set to 1 to match 3.24, minimum value is 0.001 +#_mintailcomp addtocomp combM+F CompressBins CompError ParmSelect minsamplesize +-1 1e-10 0 0 0 0 1 #_fleet:1_Fishery +-1 1e-10 0 0 0 0 1 #_fleet:2_Survey +# sex codes: 0=combined; 1=use female only; 2=use male only; 3=use both as joint sexxlength distribution +# partition codes: (0=combined; 1=discard; 2=retained +45 #_N_LengthBins; then enter lower edge of each length bin + 20 23 26 29 32 35 38 41 44 47 50 53 56 59 62 65 68 71 74 77 80 83 86 89 92 95 98 101 104 107 110 113 116 119 122 125 128 131 134 137 140 143 146 149 152 +#_yr month fleet sex part Nsamp datavector(female-male) + 26 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 27 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 28 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 29 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 30 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 31 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 32 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 33 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 34 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 35 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 36 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 37 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 38 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 39 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 40 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 41 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 42 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 43 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 44 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 45 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 46 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 47 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 48 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 49 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 50 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 51 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 52 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 53 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 54 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 55 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 56 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 57 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 58 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 59 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 60 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 61 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 62 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 63 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 64 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 65 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 66 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 67 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 68 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 69 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 70 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 71 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 72 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 73 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 74 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 75 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 76 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 77 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 78 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 79 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 80 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 81 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 82 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 83 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 84 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 85 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 86 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 87 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 88 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 89 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 90 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 91 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 92 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 93 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 94 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 95 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 96 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 97 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 98 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 99 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 100 7 1 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 26 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 27 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 28 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 29 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 30 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 31 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 32 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 33 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 34 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 35 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 36 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 37 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 38 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 39 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 40 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 41 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 42 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 43 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 44 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 45 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 46 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 47 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 48 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 49 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 50 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 51 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 52 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 53 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 54 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 55 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 56 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 57 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 58 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 59 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 60 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 61 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 62 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 63 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 64 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 65 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 66 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 67 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 68 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 69 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 70 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 71 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 72 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 73 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 74 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 75 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 76 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 77 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 78 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 79 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 80 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 81 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 82 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 83 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 84 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 85 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 86 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 87 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 88 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 89 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 90 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 91 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 92 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 93 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 94 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 95 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 96 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 97 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 98 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 99 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 100 7 2 0 0 100 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +# +25 #_N_age_bins + 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 +1 #_N_ageerror_definitions + -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 + 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 +#_mintailcomp: upper and lower distribution for females and males separately are accumulated until exceeding this level. +#_addtocomp: after accumulation of tails; this value added to all bins +#_males and females treated as combined gender below this bin number +#_compressbins: accumulate upper tail by this number of bins; acts simultaneous with mintailcomp; set=0 for no forced accumulation +#_Comp_Error: 0=multinomial, 1=dirichlet +#_Comp_Error2: parm number for dirichlet +#_minsamplesize: minimum sample size; set to 1 to match 3.24, minimum value is 0.001 +#_mintailcomp addtocomp combM+F CompressBins CompError ParmSelect minsamplesize +-1 1e-10 0 0 0 0 1 #_fleet:1_Fishery +-1 1e-10 0 0 0 0 1 #_fleet:2_Survey +3 #_Lbin_method_for_Age_Data: 1=poplenbins; 2=datalenbins; 3=lengths +# sex codes: 0=combined; 1=use female only; 2=use male only; 3=use both as joint sexxlength distribution +# partition codes: (0=combined; 1=discard; 2=retained +#_yr month fleet sex part ageerr Lbin_lo Lbin_hi Nsamp datavector(female-male) +26 7 1 0 0 1 -1 -1 100 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 +27 7 1 0 0 1 -1 -1 100 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 +28 7 1 0 0 1 -1 -1 100 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 +29 7 1 0 0 1 -1 -1 100 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 +30 7 1 0 0 1 -1 -1 100 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 +31 7 1 0 0 1 -1 -1 100 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 +32 7 1 0 0 1 -1 -1 100 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 +33 7 1 0 0 1 -1 -1 100 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 +34 7 1 0 0 1 -1 -1 100 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 +35 7 1 0 0 1 -1 -1 100 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 +36 7 1 0 0 1 -1 -1 100 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 +37 7 1 0 0 1 -1 -1 100 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 +38 7 1 0 0 1 -1 -1 100 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 +39 7 1 0 0 1 -1 -1 100 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 +40 7 1 0 0 1 -1 -1 100 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 +41 7 1 0 0 1 -1 -1 100 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 +42 7 1 0 0 1 -1 -1 100 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 +43 7 1 0 0 1 -1 -1 100 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 +44 7 1 0 0 1 -1 -1 100 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 +45 7 1 0 0 1 -1 -1 100 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 +46 7 1 0 0 1 -1 -1 100 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 +47 7 1 0 0 1 -1 -1 100 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 +48 7 1 0 0 1 -1 -1 100 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 +49 7 1 0 0 1 -1 -1 100 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 +50 7 1 0 0 1 -1 -1 100 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 +51 7 1 0 0 1 -1 -1 100 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 +52 7 1 0 0 1 -1 -1 100 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 +53 7 1 0 0 1 -1 -1 100 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 +54 7 1 0 0 1 -1 -1 100 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 +55 7 1 0 0 1 -1 -1 100 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 +56 7 1 0 0 1 -1 -1 100 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 +57 7 1 0 0 1 -1 -1 100 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 +58 7 1 0 0 1 -1 -1 100 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 +59 7 1 0 0 1 -1 -1 100 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 +60 7 1 0 0 1 -1 -1 100 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 +61 7 1 0 0 1 -1 -1 100 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 +62 7 1 0 0 1 -1 -1 100 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 +63 7 1 0 0 1 -1 -1 100 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 +64 7 1 0 0 1 -1 -1 100 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 +65 7 1 0 0 1 -1 -1 100 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 +66 7 1 0 0 1 -1 -1 100 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 +67 7 1 0 0 1 -1 -1 100 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 +68 7 1 0 0 1 -1 -1 100 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 +69 7 1 0 0 1 -1 -1 100 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 +70 7 1 0 0 1 -1 -1 100 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 +71 7 1 0 0 1 -1 -1 100 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 +72 7 1 0 0 1 -1 -1 100 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 +73 7 1 0 0 1 -1 -1 100 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 +74 7 1 0 0 1 -1 -1 100 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 +75 7 1 0 0 1 -1 -1 100 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 +76 7 1 0 0 1 -1 -1 100 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 +77 7 1 0 0 1 -1 -1 100 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 +78 7 1 0 0 1 -1 -1 100 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 +79 7 1 0 0 1 -1 -1 100 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 +80 7 1 0 0 1 -1 -1 100 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 +81 7 1 0 0 1 -1 -1 100 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 +82 7 1 0 0 1 -1 -1 100 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 +83 7 1 0 0 1 -1 -1 100 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 +84 7 1 0 0 1 -1 -1 100 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 +85 7 1 0 0 1 -1 -1 100 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 +86 7 1 0 0 1 -1 -1 100 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 +87 7 1 0 0 1 -1 -1 100 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 +88 7 1 0 0 1 -1 -1 100 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 +89 7 1 0 0 1 -1 -1 100 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 +90 7 1 0 0 1 -1 -1 100 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 +91 7 1 0 0 1 -1 -1 100 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 +92 7 1 0 0 1 -1 -1 100 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 +93 7 1 0 0 1 -1 -1 100 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 +94 7 1 0 0 1 -1 -1 100 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 +95 7 1 0 0 1 -1 -1 100 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 +96 7 1 0 0 1 -1 -1 100 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 +97 7 1 0 0 1 -1 -1 100 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 +98 7 1 0 0 1 -1 -1 100 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 +99 7 1 0 0 1 -1 -1 100 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 +100 7 1 0 0 1 -1 -1 100 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 +26 7 2 0 0 1 -1 -1 100 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 +27 7 2 0 0 1 -1 -1 100 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 +28 7 2 0 0 1 -1 -1 100 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 +29 7 2 0 0 1 -1 -1 100 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 +30 7 2 0 0 1 -1 -1 100 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 +31 7 2 0 0 1 -1 -1 100 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 +32 7 2 0 0 1 -1 -1 100 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 +33 7 2 0 0 1 -1 -1 100 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 +34 7 2 0 0 1 -1 -1 100 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 +35 7 2 0 0 1 -1 -1 100 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 +36 7 2 0 0 1 -1 -1 100 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 +37 7 2 0 0 1 -1 -1 100 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 +38 7 2 0 0 1 -1 -1 100 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 +39 7 2 0 0 1 -1 -1 100 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 +40 7 2 0 0 1 -1 -1 100 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 +41 7 2 0 0 1 -1 -1 100 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 +42 7 2 0 0 1 -1 -1 100 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 +43 7 2 0 0 1 -1 -1 100 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 +44 7 2 0 0 1 -1 -1 100 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 +45 7 2 0 0 1 -1 -1 100 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 +46 7 2 0 0 1 -1 -1 100 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 +47 7 2 0 0 1 -1 -1 100 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 +48 7 2 0 0 1 -1 -1 100 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 +49 7 2 0 0 1 -1 -1 100 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 +50 7 2 0 0 1 -1 -1 100 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 +51 7 2 0 0 1 -1 -1 100 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 +52 7 2 0 0 1 -1 -1 100 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 +53 7 2 0 0 1 -1 -1 100 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 +54 7 2 0 0 1 -1 -1 100 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 +55 7 2 0 0 1 -1 -1 100 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 +56 7 2 0 0 1 -1 -1 100 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 +57 7 2 0 0 1 -1 -1 100 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 +58 7 2 0 0 1 -1 -1 100 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 +59 7 2 0 0 1 -1 -1 100 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 +60 7 2 0 0 1 -1 -1 100 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 +61 7 2 0 0 1 -1 -1 100 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 +62 7 2 0 0 1 -1 -1 100 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 +63 7 2 0 0 1 -1 -1 100 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 +64 7 2 0 0 1 -1 -1 100 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 +65 7 2 0 0 1 -1 -1 100 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 +66 7 2 0 0 1 -1 -1 100 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 +67 7 2 0 0 1 -1 -1 100 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 +68 7 2 0 0 1 -1 -1 100 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 +69 7 2 0 0 1 -1 -1 100 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 +70 7 2 0 0 1 -1 -1 100 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 +71 7 2 0 0 1 -1 -1 100 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 +72 7 2 0 0 1 -1 -1 100 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 +73 7 2 0 0 1 -1 -1 100 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 +74 7 2 0 0 1 -1 -1 100 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 +75 7 2 0 0 1 -1 -1 100 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 +76 7 2 0 0 1 -1 -1 100 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 +77 7 2 0 0 1 -1 -1 100 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 +78 7 2 0 0 1 -1 -1 100 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 +79 7 2 0 0 1 -1 -1 100 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 +80 7 2 0 0 1 -1 -1 100 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 +81 7 2 0 0 1 -1 -1 100 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 +82 7 2 0 0 1 -1 -1 100 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 +83 7 2 0 0 1 -1 -1 100 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 +84 7 2 0 0 1 -1 -1 100 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 +85 7 2 0 0 1 -1 -1 100 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 +86 7 2 0 0 1 -1 -1 100 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 +87 7 2 0 0 1 -1 -1 100 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 +88 7 2 0 0 1 -1 -1 100 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 +89 7 2 0 0 1 -1 -1 100 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 +90 7 2 0 0 1 -1 -1 100 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 +91 7 2 0 0 1 -1 -1 100 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 +92 7 2 0 0 1 -1 -1 100 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 +93 7 2 0 0 1 -1 -1 100 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 +94 7 2 0 0 1 -1 -1 100 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 +95 7 2 0 0 1 -1 -1 100 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 +96 7 2 0 0 1 -1 -1 100 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 +97 7 2 0 0 1 -1 -1 100 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 +98 7 2 0 0 1 -1 -1 100 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 +99 7 2 0 0 1 -1 -1 100 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 +100 7 2 0 0 1 -1 -1 100 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 +-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 0 0 0 0 0 0 +# +0 #_Use_MeanSize-at-Age_obs (0/1) +# +0 #_N_environ_variables +#Yr Variable Value +# +0 # N sizefreq methods to read +# +0 # do tags (0/1) +# +0 # morphcomp data(0/1) +# Nobs, Nmorphs, mincomp +# yr, seas, type, partition, Nsamp, datavector_by_Nmorphs +# +0 # Do dataread for selectivity priors(0/1) +# Yr, Seas, Fleet, Age/Size, Bin, selex_prior, prior_sd +# feature not yet implemented +# +999 + diff --git a/length-dist/ss_sim/models/cod-om/forecast.ss b/length-dist/ss_sim/models/cod-om/forecast.ss new file mode 100644 index 00000000..752fb77b --- /dev/null +++ b/length-dist/ss_sim/models/cod-om/forecast.ss @@ -0,0 +1,59 @@ +#V3.30.13.00-trans;_2019_03_09;_Stock_Synthesis_by_Richard_Methot_(NOAA)_using_ADMB_12.0 +#Stock Synthesis (SS) 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. +#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: SSv3.21_or_later +#C file write time: 2015-03-14 16:01:17 +# for all year entries except rebuilder; enter either: actual year, -999 for styr, 0 for endyr, neg number for rel. endyr +1 # Benchmarks: 0=skip; 1=calc F_spr,F_btgt,F_msy; 2=calc F_spr,F0.1,F_msy +2 # MSY: 1= set to F(SPR); 2=calc F(MSY); 3=set to F(Btgt) or F0.1; 4=set to F(endyr) +0.4 # SPR target (e.g. 0.40) +0.4 # Biomass target (e.g. 0.40) +#_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) +100 100 100 100 100 100 1 100 1 100 +1 #Bmark_relF_Basis: 1 = use year range; 2 = set relF same as forecast below +# +4 # Forecast: 0=none; 1=F(SPR); 2=F(MSY) 3=F(Btgt) or F0.1; 4=Ave F (uses first-last relF yrs); 5=input annual F scalar +1 # N forecast years +0 # F scalar (only used for Do_Forecast==5) +#_Fcast_years: beg_selex, end_selex, beg_relF, end_relF, beg_mean recruits, end_recruits (enter actual year, or values of 0 or -integer to be rel. endyr) +100 100 100 100 1 100 +0 # Forecast selectivity (0=fcast selex is mean from year range; 1=fcast selectivity from annual time-vary parms) +2 # Control rule method (1: ramp does catch=f(SSB), buffer on F; 2: ramp does F=f(SSB), buffer on F; 3: ramp does catch=f(SSB), buffer on catch; 4: ramp does F=f(SSB), buffer on catch) +0.4 # Control rule Biomass level for constant F (as frac of Bzero, e.g. 0.40); (Must be > the no F level below) +0.01 # Control rule Biomass level for no F (as frac of Bzero, e.g. 0.10) +0 # Control rule target as fraction of Flimit (e.g. 0.75), negative value invokes list of [year, scalar] with filling from year to YrMax +3 #_N forecast loops (1=OFL only; 2=ABC; 3=get F from forecast ABC catch with allocations applied) +3 #_First forecast loop with stochastic recruitment +0 #_Forecast recruitment: 0= spawn_recr; 1=value*spawn_recr_fxn; 2=value*VirginRecr; 3=recent mean from yr range above (need to set phase to -1 in control to get constant recruitment in MCMC) +1 # value is ignored +0 #_Forecast loop control #5 (reserved for future bells&whistles) +101 #FirstYear for caps and allocations (should be after years with fixed inputs) +0 # stddev of log(realized catch/target catch) in forecast (set value>0.0 to cause active impl_error) +0 # Do West Coast gfish rebuilder output (0/1) +100 # Rebuilder: first year catch could have been set to zero (Ydecl)(-1 to set to 1999) +100 # Rebuilder: year for current age structure (Yinit) (-1 to set to endyear+1) +1 # fleet relative F: 1=use first-last alloc year; 2=read seas, fleet, alloc list below +# Note that fleet allocation is used directly as average F if Do_Forecast=4 +2 # basis for fcast catch tuning and for fcast catch caps and allocation (2=deadbio; 3=retainbio; 5=deadnum; 6=retainnum) +# Conditional input if relative F choice = 2 +# enter list of: season, fleet, relF; if used, terminate with season=-9999 +# 1 1 1 +# -9999 0 0 # terminator for list of relF +# enter list of: fleet number, max annual catch for fleets with a max; 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 +#_if N allocation groups >0, list year, allocation fraction for each group +# list sequentially because read values fill to end of N forecast +# terminate with -9999 in year field +# no allocation groups +2 # basis for input Fcast catch: -1=read basis with each obs; 2=dead catch; 3=retained catch; 99=input Hrate(F) +#enter list of Fcast catches; terminate with line having year=-9999 +#_Yr Seas Fleet Catch(or_F) +-9999 1 1 0 +# +999 # verify end of input diff --git a/length-dist/ss_sim/models/cod-om/starter.ss b/length-dist/ss_sim/models/cod-om/starter.ss new file mode 100644 index 00000000..ac3fdc95 --- /dev/null +++ b/length-dist/ss_sim/models/cod-om/starter.ss @@ -0,0 +1,41 @@ +#V3.30.13.00-trans;_2019_03_09;_Stock_Synthesis_by_Richard_Methot_(NOAA)_using_ADMB_12.0 +#Stock Synthesis (SS) 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.ncep.noaa.gov/group/stock-synthesis +#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: SSv3.10b_or_later +#C file write time: 2019-04-04 13:02:53 +codOM.dat +codOM.ctl +0 # 0=use init values in control file; 1=use ss.par +0 # run display detail (0,1,2) +1 # detailed output (0=minimal for data-limited, 1=high (w/ wtatage.ss_new), 2=brief) +0 # write 1st iteration details to echoinput.sso file (0,1) +0 # write parm values to ParmTrace.sso (0=no,1=good,active; 2=good,all; 3=every_iter,all_parms; 4=every,active) +0 # write to cumreport.sso (0=no,1=like×eries; 2=add survey fits) +0 # Include prior_like for non-estimated parameters (0,1) +1 # Use Soft Boundaries to aid convergence (0,1) (recommended) +2 # Number of datafiles to produce: 1st is input, 2nd is estimates, 3rd and higher are bootstrap +0 # Turn off estimation for parameters entering after this phase +0 # MCeval burn interval +1 # MCeval thin interval +0 # jitter initial parm value by this fraction +-1 # min yr for sdreport outputs (-1 for styr) +100 # max yr for sdreport outputs (-1 for endyr; -2 for endyr+Nforecastyrs +0 # N individual STD years +#vector of year values + +0.0001 # final convergence criteria (e.g. 1.0e-04) +0 # retrospective year relative to end year (e.g. -4) +1 # min age for calc of summary biomass +1 # Depletion basis: denom is: 0=skip; 1=rel X*SPB0; 2=rel SPBmsy; 3=rel X*SPB_styr; 4=rel X*SPB_endyr +1 # Fraction (X) for Depletion denominator (e.g. 0.4) +4 # SPR_report_basis: 0=skip; 1=(1-SPR)/(1-SPR_tgt); 2=(1-SPR)/(1-SPR_MSY); 3=(1-SPR)/(1-SPR_Btarget); 4=rawSPR +1 # F_report_units: 0=skip; 1=exploitation(Bio); 2=exploitation(Num); 3=sum(Frates); 4=true F for range of ages; 5=unweighted avg. F for range of ages +#COND 10 15 #_min and max age over which average F will be calculated with F_reporting=4 or 5 +0 # F_report_basis: 0=raw_F_report; 1=F/Fspr; 2=F/Fmsy ; 3=F/Fbtgt +0 # MCMC output detail: integer part (0=default; 1=adds obj func components); and decimal part (added to SR_LN(R0) on first call to mcmc) +0 # ALK tolerance (example 0.0001) +3.30 # check value for end of file and for version control diff --git a/length-dist/ss_sim/models/yellow-em/forecast.ss b/length-dist/ss_sim/models/yellow-em/forecast.ss new file mode 100644 index 00000000..b1812d50 --- /dev/null +++ b/length-dist/ss_sim/models/yellow-em/forecast.ss @@ -0,0 +1,59 @@ +#V3.30.13.00-trans;_2019_03_09;_Stock_Synthesis_by_Richard_Methot_(NOAA)_using_ADMB_12.0 +#Stock Synthesis (SS) 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. +#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: SSv3.21_or_later +#C file write time: 2015-03-14 16:01:17 +# for all year entries except rebuilder; enter either: actual year, -999 for styr, 0 for endyr, neg number for rel. endyr +1 # Benchmarks: 0=skip; 1=calc F_spr,F_btgt,F_msy; 2=calc F_spr,F0.1,F_msy +2 # MSY: 1= set to F(SPR); 2=calc F(MSY); 3=set to F(Btgt) or F0.1; 4=set to F(endyr) +0.4 # SPR target (e.g. 0.40) +0.4 # Biomass target (e.g. 0.40) +#_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) + 100 100 100 100 100 100 1 100 1 100 +1 #Bmark_relF_Basis: 1 = use year range; 2 = set relF same as forecast below +# +4 # Forecast: 0=none; 1=F(SPR); 2=F(MSY) 3=F(Btgt) or F0.1; 4=Ave F (uses first-last relF yrs); 5=input annual F scalar +1 # N forecast years +0 # F scalar (only used for Do_Forecast==5) +#_Fcast_years: beg_selex, end_selex, beg_relF, end_relF, beg_mean recruits, end_recruits (enter actual year, or values of 0 or -integer to be rel. endyr) + 100 100 100 100 1 100 +0 # Forecast selectivity (0=fcast selex is mean from year range; 1=fcast selectivity from annual time-vary parms) +2 # Control rule method (1: ramp does catch=f(SSB), buffer on F; 2: ramp does F=f(SSB), buffer on F; 3: ramp does catch=f(SSB), buffer on catch; 4: ramp does F=f(SSB), buffer on catch) +0.4 # Control rule Biomass level for constant F (as frac of Bzero, e.g. 0.40); (Must be > the no F level below) +0.01 # Control rule Biomass level for no F (as frac of Bzero, e.g. 0.10) +0 # Control rule target as fraction of Flimit (e.g. 0.75), negative value invokes list of [year, scalar] with filling from year to YrMax +3 #_N forecast loops (1=OFL only; 2=ABC; 3=get F from forecast ABC catch with allocations applied) +3 #_First forecast loop with stochastic recruitment +0 #_Forecast recruitment: 0= spawn_recr; 1=value*spawn_recr_fxn; 2=value*VirginRecr; 3=recent mean from yr range above (need to set phase to -1 in control to get constant recruitment in MCMC) +1 # value is ignored +0 #_Forecast loop control #5 (reserved for future bells&whistles) +101 #FirstYear for caps and allocations (should be after years with fixed inputs) +0 # stddev of log(realized catch/target catch) in forecast (set value>0.0 to cause active impl_error) +0 # Do West Coast gfish rebuilder output (0/1) +100 # Rebuilder: first year catch could have been set to zero (Ydecl)(-1 to set to 1999) +100 # Rebuilder: year for current age structure (Yinit) (-1 to set to endyear+1) +1 # fleet relative F: 1=use first-last alloc year; 2=read seas, fleet, alloc list below +# Note that fleet allocation is used directly as average F if Do_Forecast=4 +2 # basis for fcast catch tuning and for fcast catch caps and allocation (2=deadbio; 3=retainbio; 5=deadnum; 6=retainnum) +# Conditional input if relative F choice = 2 +# enter list of: season, fleet, relF; if used, terminate with season=-9999 +# 1 1 1 +# -9999 0 0 # terminator for list of relF +# enter list of: fleet number, max annual catch for fleets with a max; 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 +#_if N allocation groups >0, list year, allocation fraction for each group +# list sequentially because read values fill to end of N forecast +# terminate with -9999 in year field +# no allocation groups +2 # basis for input Fcast catch: -1=read basis with each obs; 2=dead catch; 3=retained catch; 99=input Hrate(F) +#enter list of Fcast catches; terminate with line having year=-9999 +#_Yr Seas Fleet Catch(or_F) +-9999 1 1 0 +# +999 # verify end of input diff --git a/length-dist/ss_sim/models/yellow-em/starter.ss b/length-dist/ss_sim/models/yellow-em/starter.ss new file mode 100644 index 00000000..2f684f97 --- /dev/null +++ b/length-dist/ss_sim/models/yellow-em/starter.ss @@ -0,0 +1,41 @@ +#V3.30.13.00-trans;_2019_03_09;_Stock_Synthesis_by_Richard_Methot_(NOAA)_using_ADMB_12.0 +#Stock Synthesis (SS) 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.ncep.noaa.gov/group/stock-synthesis +#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: SSv3.10b_or_later +#C file write time: 2019-04-04 10:49:43 +ss3.dat +codEM.ctl +0 # 0=use init values in control file; 1=use ss.par +0 # run display detail (0,1,2) +1 # detailed output (0=minimal for data-limited, 1=high (w/ wtatage.ss_new), 2=brief) +0 # write 1st iteration details to echoinput.sso file (0,1) +0 # write parm values to ParmTrace.sso (0=no,1=good,active; 2=good,all; 3=every_iter,all_parms; 4=every,active) +1 # write to cumreport.sso (0=no,1=like×eries; 2=add survey fits) +0 # Include prior_like for non-estimated parameters (0,1) +1 # Use Soft Boundaries to aid convergence (0,1) (recommended) +2 # Number of datafiles to produce: 1st is input, 2nd is estimates, 3rd and higher are bootstrap +100 # Turn off estimation for parameters entering after this phase +0 # MCeval burn interval +1 # MCeval thin interval +0 # jitter initial parm value by this fraction +-1 # min yr for sdreport outputs (-1 for styr) +101 # max yr for sdreport outputs (-1 for endyr; -2 for endyr+Nforecastyrs +0 # N individual STD years +#vector of year values + +0.0001 # final convergence criteria (e.g. 1.0e-04) +0 # retrospective year relative to end year (e.g. -4) +1 # min age for calc of summary biomass +1 # Depletion basis: denom is: 0=skip; 1=rel X*SPB0; 2=rel SPBmsy; 3=rel X*SPB_styr; 4=rel X*SPB_endyr +1 # Fraction (X) for Depletion denominator (e.g. 0.4) +4 # SPR_report_basis: 0=skip; 1=(1-SPR)/(1-SPR_tgt); 2=(1-SPR)/(1-SPR_MSY); 3=(1-SPR)/(1-SPR_Btarget); 4=rawSPR +1 # F_report_units: 0=skip; 1=exploitation(Bio); 2=exploitation(Num); 3=sum(Frates); 4=true F for range of ages; 5=unweighted avg. F for range of ages +#COND 10 15 #_min and max age over which average F will be calculated with F_reporting=4 or 5 +0 # F_report_basis: 0=raw_F_report; 1=F/Fspr; 2=F/Fmsy ; 3=F/Fbtgt +0 # MCMC output detail: integer part (0=default; 1=adds obj func components); and decimal part (added to SR_LN(R0) on first call to mcmc) +0 # ALK tolerance (example 0.0001) +3.30 # check value for end of file and for version control diff --git a/length-dist/ss_sim/models/yellow-em/yellowEM.ctl b/length-dist/ss_sim/models/yellow-em/yellowEM.ctl new file mode 100644 index 00000000..8d965143 --- /dev/null +++ b/length-dist/ss_sim/models/yellow-em/yellowEM.ctl @@ -0,0 +1,288 @@ +#V3.30.13.00-trans;_2019_03_09;_Stock_Synthesis_by_Richard_Methot_(NOAA)_using_ADMB_12.0 +#Stock Synthesis (SS) 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.ncep.noaa.gov/group/stock-synthesis +#_data_and_control_files: ss3.dat // codEM.ctl +0 # 0 means do not read wtatage.ss; 1 means read and use wtatage.ss and also read and use growth parameters +1 #_N_Growth_Patterns +1 #_N_platoons_Within_GrowthPattern +#_Cond 1 #_Morph_between/within_stdev_ratio (no read if N_morphs=1) +#_Cond 1 #vector_Morphdist_(-1_in_first_val_gives_normal_approx) +# +2 # recr_dist_method for parameters: 2=main effects for GP, Settle timing, Area; 3=each Settle entity; 4=none, only when N_GP*Nsettle*pop==1 +1 # not yet implemented; Future usage: Spawner-Recruitment: 1=global; 2=by area +1 # number of recruitment settlement assignments +0 # unused option +#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 +# +1 #_Nblock_Patterns + 1 #_blocks_per_pattern +# begin and end years of blocks + 0 0 +# +# controls for all timevary parameters +1 #_env/block/dev_adjust_method for all time-vary parms (1=warn relative to base parm bounds; 3=no bound check) +# +# AUTOGEN +0 0 0 0 0 # autogen: 1st element for biology, 2nd for SR, 3rd for Q, 4th reserved, 5th for selex +# where: 0 = autogen all time-varying parms; 1 = read each time-varying parm line; 2 = read then autogen if parm min==-12345 +# +#_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: null; 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; 21-24 keep last dev for rest of years +# +# +# +# setup for M, growth, maturity, fecundity, recruitment distibution, movement +# +0 #_natM_type:_0=1Parm; 1=N_breakpoints;_2=Lorenzen;_3=agespecific;_4=agespec_withseasinterpolate + #_no additional input for selected M option; read 1P per morph +# +1 # 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 +999 #_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) +0 #_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 +0 #_First_Mature_Age +1 #_fecundity 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 +0 #_hermaphroditism option: 0=none; 1=female-to-male age-specific fxn; -1=male-to-female age-specific fxn +1 #_parameter_offset_approach (1=none, 2= M, G, CV_G as offset from female-GP1, 3=like SS2 V1.x) +# +#_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 + 0.01 0.15 0.08 0.05 -1 0.0226 -6 0 0 0 0 0 0 0 # NatM_p_1_Fem_GP_1 + 10 35 18 300 0 0 -2 0 0 0 0 0 0 0 # L_at_Amin_Fem_GP_1 + 40 120 62 66 -1 0 -2 0 0 0 0 0 0 0 # L_at_Amax_Fem_GP_1 + 0.01 0.2 0.047 0.05 -1 0 -2 0 0 0 0 0 0 0 # VonBert_K_Fem_GP_1 + 0.05 0.2 0.13 0.19 -1 0 -3 0 0 0 0 0 0 0 # CV_young_Fem_GP_1 + -2 2 0.13 0.1 -1 0 -3 0 0 0 0 0 0 0 # CV_old_Fem_GP_1 + -3 3 9.77e-006 2.09e-005 -1 0 -50 0 0 0 0 0 0 0 # Wtlen_1_Fem + -3 4 3.17125 2.96956 -1 0 -50 0 0 0 0 0 0 0 # Wtlen_2_Fem + 38 39 38.78 40 -1 0 -50 0 0 0 0 0 0 0 # Mat50%_Fem + -3 3 -0.437 -0.4 -1 0 -50 0 0 0 0 0 0 0 # Mat_slope_Fem + -3 300000 137900 137900 -1 0 -6 0 0 0 0 0 0 0 # Eggs/kg_inter_Fem + -3 39000 36500 36500 -1 0 -6 0 0 0 0 0 0 0 # Eggs/kg_slope_wt_Fem +# Hermaphroditism +# Recruitment Distribution + -4 4 0 0 0 0 -4 0 0 0 0 0 0 0 # RecrDist_GP_1 + -4 4 0 0 0 0 -4 0 0 0 0 0 0 0 # RecrDist_Area_1 + -4 4 0 0 0 0 -4 0 0 0 0 0 0 0 # RecrDist_timing_1 +# Cohort growth dev base + -4 4 1 0 0 0 -4 0 0 0 0 0 0 0 # CohortGrowDev +# Movement +# Age Error from parameters +# catch multiplier +# fraction female, by GP + 0.000001 0.999999 0.5 0.5 0.5 0 -99 0 0 0 0 0 0 0 # FracFemale_GP_1 +# +#_no timevary MG parameters +# +#_seasonal_effects_on_biology_parms + 0 0 0 0 0 0 0 0 0 0 #_femwtlen1,femwtlen2,mat1,mat2,fec1,fec2,Malewtlen1,malewtlen2,L1,K +#_ LO HI INIT PRIOR PR_SD PR_type PHASE +#_Cond -2 2 0 0 -1 99 -2 #_placeholder when no seasonal MG parameters +# +3 #_Spawner-Recruitment; Options: 2=Ricker; 3=std_B-H; 4=SCAA; 5=Hockey; 6=B-H_flattop; 7=survival_3Parm; 8=Shepherd_3Parm; 9=RickerPower_3parm +0 # 0/1 to use steepness in initial equ recruitment calculation +0 # future feature: 0/1 to make realized sigmaR a function of SR curvature +#_ 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 15 5.6 10.3 10 0 1 0 0 0 0 0 0 0 # SR_LN(R0) + 0.2 1 0.44 0.7 0.05 0 -4 0 0 0 0 0 0 0 # SR_BH_steep + 0 5 1 0.8 0.8 0 -5 0 0 0 0 0 0 0 # SR_sigmaR + -5 5 0 0 1 0 -4 0 0 0 0 0 0 0 # SR_regime + 0 0 0 0 0 0 -99 0 0 0 0 0 0 0 # SR_autocorr + +1 #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 +1 # first year of main recr_devs; early devs can preceed this era +100 # last year of main recr_devs; forecast devs start in following year +3 #_recdev phase +1 # (0/1) to read 13 advanced options + 0 #_recdev_early_start (0=none; neg value makes relative to recdev_start) + -4 #_recdev_early_phase + 0 #_forecast_recruitment phase (incl. late recr) (0 value resets to maxphase+1) + 1 #_lambda for Fcast_recr_like occurring before endyr+1 + 1 #_last_yr_nobias_adj_in_MPD; begin of ramp + 26 #_first_yr_fullbias_adj_in_MPD; begin of plateau + 99 #_last_yr_fullbias_adj_in_MPD + 100 #_end_yr_for_ramp_in_MPD (can be in forecast to shape ramp, but SS sets bias_adj to 0.0 for fcast yrs) + 0.9 #_max_bias_adj_in_MPD (-1 to override ramp and set biasadj=1.0 for all estimated recdevs) + 0 #_period of cycles in recruitment (N parms read below) + -5 #min rec_dev + 5 #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 +# 1R 2R 3R 4R 5R 6R 7R 8R 9R 10R 11R 12R 13R 14R 15R 16R 17R 18R 19R 20R 21R 22R 23R 24R 25R 26R 27R 28R 29R 30R 31R 32R 33R 34R 35R 36R 37R 38R 39R 40R 41R 42R 43R 44R 45R 46R 47R 48R 49R 50R 51R 52R 53R 54R 55R 56R 57R 58R 59R 60R 61R 62R 63R 64R 65R 66R 67R 68R 69R 70R 71R 72R 73R 74R 75R 76R 77R 78R 79R 80R 81R 82R 83R 84R 85R 86R 87R 88R 89R 90R 91R 92R 93R 94R 95R 96R 97R 98R 99R 100R 101F +# 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 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 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +# implementation error by year in forecast: 0 +# +#Fishing Mortality info +0.3 # F ballpark +-2001 # F ballpark year (neg value to disable) +3 # F_Method: 1=Pope; 2=instan. F; 3=hybrid (hybrid is recommended) +4 # max F or harvest rate, depends on F_Method +# no additional F input needed for Fmethod 1 +# if Fmethod=2; read overall start F value; overall phase; N detailed inputs to read +# if Fmethod=3; read N iterations for tuning for Fmethod 3 +4 # N iterations for tuning F in hybrid method (recommend 3 to 7) +# +#_initial_F_parms; count = 0 +#_ LO HI INIT PRIOR PR_SD PR_type PHASE +#101 121 +# F rates by fleet +# Yr: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 +# 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 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 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +# Fishery 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.00394216 0.00821986 0.0127379 0.0175303 0.0224623 0.0273799 0.0320614 0.0370941 0.0423413 0.0472003 0.0514631 0.0555735 0.0589583 0.0621394 0.0652058 0.0679005 0.0696028 0.070583 0.0723542 0.0750612 0.078532 0.0815346 0.0872786 0.0935168 0.100223 0.106084 0.115392 0.124893 0.131525 0.134401 0.136944 0.138767 0.13901 0.136571 0.139992 0.142439 0.153104 0.164131 0.169577 0.172572 0.17272 0.175831 0.183455 0.186973 0.18732 0.182303 0.176808 0.171054 0.168999 0.170439 0.173807 0.185962 0.194704 0.196294 0.191128 0.187265 0.179259 0.177682 0.178794 0.177131 0.170516 0.162271 0.153322 0.143143 0.135641 0.13551 0.135598 0.133283 0.129538 0.122796 0.115747 0.109109 0.103491 0.0993401 0 +# +#_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 # fleetname + 1 1 0 0 0 0 # Fishery + 2 1 0 0 0 0 # Survey +-9999 0 0 0 0 0 +# +#_Q_parms(if_any);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 # parm_name + -3 3 0 0 99 0 -5 0 0 0 0 0 0 0 # LnQ_base_Fishery(1) + -3 3 0 0 99 0 -5 0 0 0 0 0 0 0 # LnQ_base_Survey(2) +#_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:_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; New doublelogistic 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:_25; parm=3; exponential-logistic in size +#Pattern:_27; parm=3+special; cubic spline +#Pattern:_42; parm=2+special+3; // 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 + 24 0 0 0 # 1 Fishery + 24 0 0 0 # 2 Survey +# +#_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 +#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 +#Pattern:_42; parm=2+special+3; // cubic spline; with 2 additional param for scaling (average over bin range) +#_Pattern Discard Male Special + 11 0 0 0 # 1 Fishery + 11 0 0 0 # 2 Survey +# +#_ 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 Fishery LenSelex + 5 199 46.43 50.8 0.05 0 2 0 0 0 0 0.5 0 0 # SizeSel_P1_Fishery(1) + -5 3 -1 -3 0.05 0 -99 0 0 0 0 0.5 0 0 # SizeSel_P2_Fishery(1) + -4 12 4.24 5.1 0.05 0 3 0 0 0 0 0.5 0 0 # SizeSel_P3_Fishery(1) + -2 16 15 15 0.05 0 -99 0 0 0 0 0.5 0 0 # SizeSel_P4_Fishery(1) + -15 5 -999 -999 0.05 0 -99 0 0 0 0 0.5 0 0 # SizeSel_P5_Fishery(1) + -5 1000 999 999 0.05 0 -99 0 0 0 0 0.5 0 0 # SizeSel_P6_Fishery(1) +# 2 Survey LenSelex + 20 199 38.68 41.8 0.05 0 2 0 0 0 0 0.5 0 0 # SizeSel_P1_Survey(2) + -5 3 -1 -4 0.05 0 -99 0 0 0 0 0.5 0 0 # SizeSel_P2_Survey(2) + -4 12 4.24 5.2 0.05 0 3 0 0 0 0 0.5 0 0 # SizeSel_P3_Survey(2) + -2 15 15 14 0.05 0 -99 0 0 0 0 0.5 0 0 # SizeSel_P4_Survey(2) + -100 100 -99 -99 0.05 0 -99 0 0 0 0 0.5 0 0 # SizeSel_P5_Survey(2) + -100 100 99 99 0.05 0 -99 0 0 0 0 0.5 0 0 # SizeSel_P6_Survey(2) +# 1 Fishery AgeSelex + 0 1 0.1 0.1 99 0 -3 0 0 0 0 0.5 0 0 # AgeSel_P1_Fishery(1) + 0 101 100 100 99 0 -3 0 0 0 0 0.5 0 0 # AgeSel_P2_Fishery(1) +# 2 Survey AgeSelex + 0 1 0.1 0.1 99 0 -3 0 0 0 0 0.5 0 0 # AgeSel_P1_Survey(2) + 0 101 100 100 99 0 -3 0 0 0 0 0.5 0 0 # AgeSel_P2_Survey(2) +##_no timevary selex parameters +# +0 # use 2D_AR1 selectivity(0/1): experimental feature +#_no 2D_AR1 selex offset used +# +# Tag loss and Tag reporting parameters go next +0 # TG_custom: 0=no read; 1=read if tags exist +#_Cond -6 6 1 1 2 0.01 -4 0 0 0 0 0 0 0 #_placeholder if no parameters +# +# no timevary parameters +# +# +# 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 + -9999 1 0 # terminator +# +4 #_maxlambdaphase +1 #_sd_offset; must be 1 if any growthCV, sigmaR, or survey extraSD is an estimated parameter +# read 0 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 +-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 +# 0 0 0 0 #_CPUE/survey:_3 +# 1 1 1 1 #_lencomp:_1 +# 1 1 1 1 #_lencomp:_2 +# 0 0 0 0 #_lencomp:_3 +# 1 1 1 1 #_agecomp:_1 +# 1 1 1 1 #_agecomp:_2 +# 0 0 0 0 #_agecomp:_3 +# 1 1 1 1 #_init_equ_catch +# 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 # (0/1) read specs for more stddev reporting + # 0 0 0 0 0 0 0 0 0 # placeholder for # selex_fleet, 1=len/2=age/3=both, year, N selex bins, 0 or Growth pattern, N growth ages, 0 or NatAge_area(-1 for all), NatAge_yr, N Natages + # placeholder for vector of selex bins to be reported + # placeholder for vector of growth ages to be reported + # placeholder for vector of NatAges ages to be reported +999 + diff --git a/length-dist/ss_sim/models/yellow-om/forecast.ss b/length-dist/ss_sim/models/yellow-om/forecast.ss new file mode 100644 index 00000000..752fb77b --- /dev/null +++ b/length-dist/ss_sim/models/yellow-om/forecast.ss @@ -0,0 +1,59 @@ +#V3.30.13.00-trans;_2019_03_09;_Stock_Synthesis_by_Richard_Methot_(NOAA)_using_ADMB_12.0 +#Stock Synthesis (SS) 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. +#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: SSv3.21_or_later +#C file write time: 2015-03-14 16:01:17 +# for all year entries except rebuilder; enter either: actual year, -999 for styr, 0 for endyr, neg number for rel. endyr +1 # Benchmarks: 0=skip; 1=calc F_spr,F_btgt,F_msy; 2=calc F_spr,F0.1,F_msy +2 # MSY: 1= set to F(SPR); 2=calc F(MSY); 3=set to F(Btgt) or F0.1; 4=set to F(endyr) +0.4 # SPR target (e.g. 0.40) +0.4 # Biomass target (e.g. 0.40) +#_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) +100 100 100 100 100 100 1 100 1 100 +1 #Bmark_relF_Basis: 1 = use year range; 2 = set relF same as forecast below +# +4 # Forecast: 0=none; 1=F(SPR); 2=F(MSY) 3=F(Btgt) or F0.1; 4=Ave F (uses first-last relF yrs); 5=input annual F scalar +1 # N forecast years +0 # F scalar (only used for Do_Forecast==5) +#_Fcast_years: beg_selex, end_selex, beg_relF, end_relF, beg_mean recruits, end_recruits (enter actual year, or values of 0 or -integer to be rel. endyr) +100 100 100 100 1 100 +0 # Forecast selectivity (0=fcast selex is mean from year range; 1=fcast selectivity from annual time-vary parms) +2 # Control rule method (1: ramp does catch=f(SSB), buffer on F; 2: ramp does F=f(SSB), buffer on F; 3: ramp does catch=f(SSB), buffer on catch; 4: ramp does F=f(SSB), buffer on catch) +0.4 # Control rule Biomass level for constant F (as frac of Bzero, e.g. 0.40); (Must be > the no F level below) +0.01 # Control rule Biomass level for no F (as frac of Bzero, e.g. 0.10) +0 # Control rule target as fraction of Flimit (e.g. 0.75), negative value invokes list of [year, scalar] with filling from year to YrMax +3 #_N forecast loops (1=OFL only; 2=ABC; 3=get F from forecast ABC catch with allocations applied) +3 #_First forecast loop with stochastic recruitment +0 #_Forecast recruitment: 0= spawn_recr; 1=value*spawn_recr_fxn; 2=value*VirginRecr; 3=recent mean from yr range above (need to set phase to -1 in control to get constant recruitment in MCMC) +1 # value is ignored +0 #_Forecast loop control #5 (reserved for future bells&whistles) +101 #FirstYear for caps and allocations (should be after years with fixed inputs) +0 # stddev of log(realized catch/target catch) in forecast (set value>0.0 to cause active impl_error) +0 # Do West Coast gfish rebuilder output (0/1) +100 # Rebuilder: first year catch could have been set to zero (Ydecl)(-1 to set to 1999) +100 # Rebuilder: year for current age structure (Yinit) (-1 to set to endyear+1) +1 # fleet relative F: 1=use first-last alloc year; 2=read seas, fleet, alloc list below +# Note that fleet allocation is used directly as average F if Do_Forecast=4 +2 # basis for fcast catch tuning and for fcast catch caps and allocation (2=deadbio; 3=retainbio; 5=deadnum; 6=retainnum) +# Conditional input if relative F choice = 2 +# enter list of: season, fleet, relF; if used, terminate with season=-9999 +# 1 1 1 +# -9999 0 0 # terminator for list of relF +# enter list of: fleet number, max annual catch for fleets with a max; 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 +#_if N allocation groups >0, list year, allocation fraction for each group +# list sequentially because read values fill to end of N forecast +# terminate with -9999 in year field +# no allocation groups +2 # basis for input Fcast catch: -1=read basis with each obs; 2=dead catch; 3=retained catch; 99=input Hrate(F) +#enter list of Fcast catches; terminate with line having year=-9999 +#_Yr Seas Fleet Catch(or_F) +-9999 1 1 0 +# +999 # verify end of input diff --git a/length-dist/ss_sim/models/yellow-om/starter.ss b/length-dist/ss_sim/models/yellow-om/starter.ss new file mode 100644 index 00000000..27c39c66 --- /dev/null +++ b/length-dist/ss_sim/models/yellow-om/starter.ss @@ -0,0 +1,41 @@ +#V3.30.13.00-trans;_2019_03_09;_Stock_Synthesis_by_Richard_Methot_(NOAA)_using_ADMB_12.0 +#Stock Synthesis (SS) 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.ncep.noaa.gov/group/stock-synthesis +#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: SSv3.10b_or_later +#C file write time: 2019-04-04 13:02:53 +yellowOM.dat +yellowOM.ctl +0 # 0=use init values in control file; 1=use ss.par +0 # run display detail (0,1,2) +1 # detailed output (0=minimal for data-limited, 1=high (w/ wtatage.ss_new), 2=brief) +0 # write 1st iteration details to echoinput.sso file (0,1) +0 # write parm values to ParmTrace.sso (0=no,1=good,active; 2=good,all; 3=every_iter,all_parms; 4=every,active) +0 # write to cumreport.sso (0=no,1=like×eries; 2=add survey fits) +0 # Include prior_like for non-estimated parameters (0,1) +1 # Use Soft Boundaries to aid convergence (0,1) (recommended) +2 # Number of datafiles to produce: 1st is input, 2nd is estimates, 3rd and higher are bootstrap +0 # Turn off estimation for parameters entering after this phase +0 # MCeval burn interval +1 # MCeval thin interval +0 # jitter initial parm value by this fraction +-1 # min yr for sdreport outputs (-1 for styr) +100 # max yr for sdreport outputs (-1 for endyr; -2 for endyr+Nforecastyrs +0 # N individual STD years +#vector of year values + +0.0001 # final convergence criteria (e.g. 1.0e-04) +0 # retrospective year relative to end year (e.g. -4) +1 # min age for calc of summary biomass +1 # Depletion basis: denom is: 0=skip; 1=rel X*SPB0; 2=rel SPBmsy; 3=rel X*SPB_styr; 4=rel X*SPB_endyr +1 # Fraction (X) for Depletion denominator (e.g. 0.4) +4 # SPR_report_basis: 0=skip; 1=(1-SPR)/(1-SPR_tgt); 2=(1-SPR)/(1-SPR_MSY); 3=(1-SPR)/(1-SPR_Btarget); 4=rawSPR +1 # F_report_units: 0=skip; 1=exploitation(Bio); 2=exploitation(Num); 3=sum(Frates); 4=true F for range of ages; 5=unweighted avg. F for range of ages +#COND 10 15 #_min and max age over which average F will be calculated with F_reporting=4 or 5 +0 # F_report_basis: 0=raw_F_report; 1=F/Fspr; 2=F/Fmsy ; 3=F/Fbtgt +0 # MCMC output detail: integer part (0=default; 1=adds obj func components); and decimal part (added to SR_LN(R0) on first call to mcmc) +0 # ALK tolerance (example 0.0001) +3.30 # check value for end of file and for version control diff --git a/length-dist/ss_sim/models/yellow-om/yellowOM.ctl b/length-dist/ss_sim/models/yellow-om/yellowOM.ctl new file mode 100644 index 00000000..916297da --- /dev/null +++ b/length-dist/ss_sim/models/yellow-om/yellowOM.ctl @@ -0,0 +1,303 @@ +#V3.30.13.00-trans;_2019_03_09;_Stock_Synthesis_by_Richard_Methot_(NOAA)_using_ADMB_12.0 +#Stock Synthesis (SS) 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.ncep.noaa.gov/group/stock-synthesis +#_data_and_control_files: codOM.dat // codOM.ctl +0 # 0 means do not read wtatage.ss; 1 means read and use wtatage.ss and also read and use growth parameters +1 #_N_Growth_Patterns +1 #_N_platoons_Within_GrowthPattern +#_Cond 1 #_Morph_between/within_stdev_ratio (no read if N_morphs=1) +#_Cond 1 #vector_Morphdist_(-1_in_first_val_gives_normal_approx) +# +2 # recr_dist_method for parameters: 2=main effects for GP, Settle timing, Area; 3=each Settle entity; 4=none, only when N_GP*Nsettle*pop==1 +1 # not yet implemented; Future usage: Spawner-Recruitment: 1=global; 2=by area +1 # number of recruitment settlement assignments +0 # unused option +#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 +# +1 #_Nblock_Patterns + 1 #_blocks_per_pattern +# begin and end years of blocks + 0 0 +# +# controls for all timevary parameters +1 #_env/block/dev_adjust_method for all time-vary parms (1=warn relative to base parm bounds; 3=no bound check) +# +# AUTOGEN +0 0 0 0 0 # autogen: 1st element for biology, 2nd for SR, 3rd for Q, 4th reserved, 5th for selex +# where: 0 = autogen all time-varying parms; 1 = read each time-varying parm line; 2 = read then autogen if parm min==-12345 +# +#_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: null; 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; 21-24 keep last dev for rest of years +# +# +# +# setup for M, growth, maturity, fecundity, recruitment distibution, movement +# +0 #_natM_type:_0=1Parm; 1=N_breakpoints;_2=Lorenzen;_3=agespecific;_4=agespec_withseasinterpolate + #_no additional input for selected M option; read 1P per morph +# +1 # 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 +999 #_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) +0 #_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 +0 #_First_Mature_Age +1 #_fecundity 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 +0 #_hermaphroditism option: 0=none; 1=female-to-male age-specific fxn; -1=male-to-female age-specific fxn +1 #_parameter_offset_approach (1=none, 2= M, G, CV_G as offset from female-GP1, 3=like SS2 V1.x) +# +#_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 + 0.01 0.15 0.08 0.05 -1 0.0226 -6 0 0 0 0 0 0 0 # NatM_p_1_Fem_GP_1 + 10 35 18 300 0 0 -2 0 0 0 0 0 0 0 # L_at_Amin_Fem_GP_1 + 40 120 62 66 -1 0 -2 0 0 0 0 0 0 0 # L_at_Amax_Fem_GP_1 + 0.01 0.2 0.047 0.05 -1 0 -2 0 0 0 0 0 0 0 # VonBert_K_Fem_GP_1 + 0.05 0.2 0.13 0.19 -1 0 -3 0 0 0 0 0 0 0 # CV_young_Fem_GP_1 + -2 2 0.13 0.1 -1 0 -3 0 0 0 0 0 0 0 # CV_old_Fem_GP_1 + -3 3 9.77e-006 2.09e-005 -1 0 -50 0 0 0 0 0 0 0 # Wtlen_1_Fem + -3 4 3.17125 2.96956 -1 0 -50 0 0 0 0 0 0 0 # Wtlen_2_Fem + 38 39 38.78 40 -1 0 -50 0 0 0 0 0 0 0 # Mat50%_Fem + -3 3 -0.437 -0.4 -1 0 -50 0 0 0 0 0 0 0 # Mat_slope_Fem + -3 300000 137900 137900 -1 0 -6 0 0 0 0 0 0 0 # Eggs/kg_inter_Fem + -3 39000 36500 36500 -1 0 -6 0 0 0 0 0 0 0 # Eggs/kg_slope_wt_Fem + +# Hermaphroditism +# Recruitment Distribution + 0 2 1 1 -1 0 -50 0 0 0 0 0 0 0 # RecrDist_GP_1 + 0 2 1 1 -1 0 -50 0 0 0 0 0 0 0 # RecrDist_Area_1 + 0 2 1 1 -1 0 -50 0 0 0 0 0 0 0 # RecrDist_Seas_1 + 0 2 1 1 -1 0 -50 0 0 0 0 0 0 0 # CohortGrowDev +# Cohort growth dev base +# -4 4 1 0 0 0 -4 0 0 0 0 0 0 0 # CohortGrowDev +# Movement +# Age Error from parameters +# catch multiplier +# fraction female, by GP + 0.000001 0.999999 0.5 0.5 0.5 0 -99 0 0 0 0 0 0 0 # FracFemale_GP_1 +# +#_no timevary MG parameters +# +#_seasonal_effects_on_biology_parms + 0 0 0 0 0 0 0 0 0 0 #_femwtlen1,femwtlen2,mat1,mat2,fec1,fec2,Malewtlen1,malewtlen2,L1,K +#_ LO HI INIT PRIOR PR_SD PR_type PHASE +#_Cond -2 2 0 0 -1 99 -2 #_placeholder when no seasonal MG parameters +# +3 #_Spawner-Recruitment; Options: 2=Ricker; 3=std_B-H; 4=SCAA; 5=Hockey; 6=B-H_flattop; 7=survival_3Parm; 8=Shepherd_3Parm; 9=RickerPower_3parm +0 # 0/1 to use steepness in initial equ recruitment calculation +0 # future feature: 0/1 to make realized sigmaR a function of SR curvature +#_ 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 15 5.6 5 -1 99 -1 # SR_LN(R0) +# 0.2 1 0.44 0.44 -1 0.1 -7 # SR_BH_steep +# 0 5 0.5 1 -1 99 -50 # SR_sigmaR +# -5 5 0 0 1 0 -4 0 0 0 0 0 0 0 # SR_regime +# 0 0 0 0 0 0 -99 0 0 0 0 0 0 0 # SR_autocorr + +#_ 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 15 5.6 10.3 10 0 1 0 0 0 0 0 0 0 # SR_LN(R0) + 0.2 1 0.44 0.7 0.05 0 -4 0 0 0 0 0 0 0 # SR_BH_steep + 0 5 1 0.8 0.8 0 -5 0 0 0 0 0 0 0 # SR_sigmaR + -5 5 0 0 1 0 -4 0 0 0 0 0 0 0 # SR_regime + 0 0 0 0 0 0 -99 0 0 0 0 0 0 0 # SR_autocorr + + + +#_no timevary SR parameters +1 #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 +1 # first year of main recr_devs; early devs can preceed this era +100 # last year of main recr_devs; forecast devs start in following year +-2 #_recdev phase +1 # (0/1) to read 13 advanced options + 0 #_recdev_early_start (0=none; neg value makes relative to recdev_start) + -4 #_recdev_early_phase + 0 #_forecast_recruitment phase (incl. late recr) (0 value resets to maxphase+1) + 1 #_lambda for Fcast_recr_like occurring before endyr+1 + 1 #_last_yr_nobias_adj_in_MPD; begin of ramp + 1 #_first_yr_fullbias_adj_in_MPD; begin of plateau + 100 #_last_yr_fullbias_adj_in_MPD + 100 #_end_yr_for_ramp_in_MPD (can be in forecast to shape ramp, but SS sets bias_adj to 0.0 for fcast yrs) + 0 #_max_bias_adj_in_MPD (-1 to override ramp and set biasadj=1.0 for all estimated recdevs) + 0 #_period of cycles in recruitment (N parms read below) + -5 #min rec_dev + 5 #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 +# 1R 2R 3R 4R 5R 6R 7R 8R 9R 10R 11R 12R 13R 14R 15R 16R 17R 18R 19R 20R 21R 22R 23R 24R 25R 26R 27R 28R 29R 30R 31R 32R 33R 34R 35R 36R 37R 38R 39R 40R 41R 42R 43R 44R 45R 46R 47R 48R 49R 50R 51R 52R 53R 54R 55R 56R 57R 58R 59R 60R 61R 62R 63R 64R 65R 66R 67R 68R 69R 70R 71R 72R 73R 74R 75R 76R 77R 78R 79R 80R 81R 82R 83R 84R 85R 86R 87R 88R 89R 90R 91R 92R 93R 94R 95R 96R 97R 98R 99R 100R 101F +# 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 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 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +# implementation error by year in forecast: 0 +# +#Fishing Mortality info +0.1 # F ballpark +-2001 # F ballpark year (neg value to disable) +2 # F_Method: 1=Pope; 2=instan. F; 3=hybrid (hybrid is recommended) +1.5 # max F or harvest rate, depends on F_Method +# no additional F input needed for Fmethod 1 +# if Fmethod=2; read overall start F value; overall phase; N detailed inputs to read +# if Fmethod=3; read N iterations for tuning for Fmethod 3 + 0.2 1 1 # overall start F value; overall phase; N detailed inputs to read +#Fleet Yr Seas F_value se phase (for detailed setup of F_Method=2; -Yr to fill remaining years) + 1 1 1 0.004 0.005 -1 +# +#_initial_F_parms; count = 0 +#_ LO HI INIT PRIOR PR_SD PR_type PHASE +#101 121 +# F rates by fleet +# Yr: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 +# 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 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 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +# Fishery 0.004 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0 +# +#_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 # fleetname + 1 1 0 0 0 0 # Fishery + 2 1 0 0 0 0 # Survey +-9999 0 0 0 0 0 +# +#_Q_parms(if_any);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 # parm_name + -3 3 0 0 99 0 -5 0 0 0 0 0 0 0 # LnQ_base_Fishery(1) + -3 3 0 0 99 0 -5 0 0 0 0 0 0 0 # LnQ_base_Survey(2) +#_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:_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; New doublelogistic 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:_25; parm=3; exponential-logistic in size +#Pattern:_27; parm=3+special; cubic spline +#Pattern:_42; parm=2+special+3; // 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 + 24 0 0 0 # 1 Fishery + 24 0 0 0 # 2 Survey +# +#_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 +#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 +#Pattern:_42; parm=2+special+3; // cubic spline; with 2 additional param for scaling (average over bin range) +#_Pattern Discard Male Special + 11 0 0 0 # 1 Fishery + 11 0 0 0 # 2 Survey +# +#_ 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 Fishery LenSelex + 5 199 46.43 50.8 0.05 0 2 0 0 0 0 0.5 0 0 # SizeSel_P1_Fishery(1) + -5 3 -1 -3 0.05 0 -99 0 0 0 0 0.5 0 0 # SizeSel_P2_Fishery(1) + -4 12 4.24 5.1 0.05 0 3 0 0 0 0 0.5 0 0 # SizeSel_P3_Fishery(1) + -2 16 15 15 0.05 0 -99 0 0 0 0 0.5 0 0 # SizeSel_P4_Fishery(1) + -15 5 -999 -999 0.05 0 -99 0 0 0 0 0.5 0 0 # SizeSel_P5_Fishery(1) + -5 1000 999 999 0.05 0 -99 0 0 0 0 0.5 0 0 # SizeSel_P6_Fishery(1) +# 2 Survey LenSelex + 20 199 38.68 41.8 0.05 0 2 0 0 0 0 0.5 0 0 # SizeSel_P1_Survey(2) + -5 3 -1 -4 0.05 0 -99 0 0 0 0 0.5 0 0 # SizeSel_P2_Survey(2) + -4 12 4.24 5.2 0.05 0 3 0 0 0 0 0.5 0 0 # SizeSel_P3_Survey(2) + -2 15 15 14 0.05 0 -99 0 0 0 0 0.5 0 0 # SizeSel_P4_Survey(2) + -100 100 -99 -99 0.05 0 -99 0 0 0 0 0.5 0 0 # SizeSel_P5_Survey(2) + -100 100 99 99 0.05 0 -99 0 0 0 0 0.5 0 0 # SizeSel_P6_Survey(2) +# 1 Fishery AgeSelex + 0 1 0.1 0.1 99 0 -3 0 0 0 0 0.5 0 0 # AgeSel_P1_Fishery(1) + 0 101 100 100 99 0 -3 0 0 0 0 0.5 0 0 # AgeSel_P2_Fishery(1) +# 2 Survey AgeSelex + 0 1 0.1 0.1 99 0 -3 0 0 0 0 0.5 0 0 # AgeSel_P1_Survey(2) + 0 101 100 100 99 0 -3 0 0 0 0 0.5 0 0 # AgeSel_P2_Survey(2) +#_no timevary selex parameters +# +0 # use 2D_AR1 selectivity(0/1): experimental feature +#_no 2D_AR1 selex offset used +# +# Tag loss and Tag reporting parameters go next +0 # TG_custom: 0=no read; 1=read if tags exist +#_Cond -6 6 1 1 2 0.01 -4 0 0 0 0 0 0 0 #_placeholder if no parameters +# +# no timevary parameters +# +# +# 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 + -9999 1 0 # terminator +# +4 #_maxlambdaphase +1 #_sd_offset; must be 1 if any growthCV, sigmaR, or survey extraSD is an estimated parameter +# read 0 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 +-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 #_CPUE/survey:_3 +# 1 1 1 1 #_lencomp:_1 +# 1 1 1 1 #_lencomp:_2 +# 0 0 0 0 #_lencomp:_3 +# 1 1 1 1 #_agecomp:_1 +# 1 1 1 1 #_agecomp:_2 +# 0 0 0 0 #_agecomp:_3 +# 1 1 1 1 #_init_equ_catch +# 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 # (0/1) read specs for more stddev reporting + # 0 0 0 0 0 0 0 0 0 # placeholder for # selex_fleet, 1=len/2=age/3=both, year, N selex bins, 0 or Growth pattern, N growth ages, 0 or NatAge_area(-1 for all), NatAge_yr, N Natages + # placeholder for vector of selex bins to be reported + # placeholder for vector of growth ages to be reported + # placeholder for vector of NatAges ages to be reported +999 + diff --git a/length-dist/ss_sim/models/yellow-om/yellowOM.dat b/length-dist/ss_sim/models/yellow-om/yellowOM.dat new file mode 100644 index 00000000..91582ee9 --- /dev/null +++ b/length-dist/ss_sim/models/yellow-om/yellowOM.dat @@ -0,0 +1,437 @@ +#V3.30.13.00-trans;_2019_03_09;_Stock_Synthesis_by_Richard_Methot_(NOAA)_using_ADMB_12.0 +#Stock Synthesis (SS) 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.ncep.noaa.gov/group/stock-synthesis +#_Start_time: Thu Apr 4 13:04:52 2019 +#_Number_of_datafiles: 2 +#C North Sea/Skagerrak/Eastern Channel Cod +#_observed data: +#V3.30.13.00-trans;_2019_03_09;_Stock_Synthesis_by_Richard_Methot_(NOAA)_using_ADMB_12.0 +#Stock Synthesis (SS) 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. +1 #_StartYr +100 #_EndYr +1 #_Nseas +12 #_months/season +2 #_Nsubseasons (even number, minimum is 2) +1 #_spawn_month +1 #_Ngenders: 1, 2, -1 (use -1 for 1 sex setup with SSB multiplied by female_frac parameter) +70 #_Nages=accumulator age, first age is always age 0 +1 #_Nareas +2 #_Nfleets (including surveys) +#_fleet_type: 1=catch fleet; 2=bycatch only fleet; 3=survey; 4=ignore +#_sample_timing: -1 for fishing fleet to use season-long catch-at-age for observations, or 1 to use observation month; (always 1 for surveys) +#_fleet_area: area the fleet/survey operates in +#_units of catch: 1=bio; 2=num (ignored for surveys; their units read later) +#_catch_mult: 0=no; 1=yes +#_rows are fleets +#_fleet_type fishery_timing area catch_units need_catch_mult fleetname + 1 -1 1 1 0 Fishery # 1 + 3 1 1 2 0 Survey # 2 +#Bycatch_fleet_input_goes_next +#a: fleet index +#b: 1=include dead bycatch in total dead catch for F0.1 and MSY optimizations and forecast ABC; 2=omit from total catch for these purposes (but still include the mortality) +#c: 1=Fmult scales with other fleets; 2=bycatch F constant at input value; 3=bycatch F from range of years +#d: F or first year of range +#e: last year of range +#f: not used +# a b c d e f +#_Catch data: yr, seas, fleet, catch, catch_se +#_catch_se: standard error of log(catch) +#_NOTE: catch data is ignored for survey fleets +-999 1 1 0 0.01 +1 1 1 1 0.005 +2 1 1 1 0.01 +3 1 1 1 0.01 +4 1 1 1 0.01 +5 1 1 1 0.01 +6 1 1 1 0.01 +7 1 1 1 0.01 +8 1 1 1 0.01 +9 1 1 1 0.01 +10 1 1 1 0.01 +11 1 1 1 0.01 +12 1 1 1 0.01 +13 1 1 1 0.01 +14 1 1 1 0.01 +15 1 1 1 0.01 +16 1 1 1 0.01 +17 1 1 1 0.01 +18 1 1 1 0.01 +19 1 1 1 0.01 +20 1 1 1 0.01 +21 1 1 1 0.01 +22 1 1 1 0.01 +23 1 1 1 0.01 +24 1 1 1 0.01 +25 1 1 1 0.01 +26 1 1 1 0.01 +27 1 1 1 0.01 +28 1 1 1 0.01 +29 1 1 1 0.01 +30 1 1 1 0.01 +31 1 1 1 0.01 +32 1 1 1 0.01 +33 1 1 1 0.01 +34 1 1 1 0.01 +35 1 1 1 0.01 +36 1 1 1 0.01 +37 1 1 1 0.01 +38 1 1 1 0.01 +39 1 1 1 0.01 +40 1 1 1 0.01 +41 1 1 1 0.01 +42 1 1 1 0.01 +43 1 1 1 0.01 +44 1 1 1 0.01 +45 1 1 1 0.01 +46 1 1 1 0.01 +47 1 1 1 0.01 +48 1 1 1 0.01 +49 1 1 1 0.01 +50 1 1 1 0.01 +51 1 1 1 0.01 +52 1 1 1 0.01 +53 1 1 1 0.01 +54 1 1 1 0.01 +55 1 1 1 0.01 +56 1 1 1 0.01 +57 1 1 1 0.01 +58 1 1 1 0.01 +59 1 1 1 0.01 +60 1 1 1 0.01 +61 1 1 1 0.01 +62 1 1 1 0.01 +63 1 1 1 0.01 +64 1 1 1 0.01 +65 1 1 1 0.01 +66 1 1 1 0.01 +67 1 1 1 0.01 +68 1 1 1 0.01 +69 1 1 1 0.01 +70 1 1 1 0.01 +71 1 1 1 0.01 +72 1 1 1 0.01 +73 1 1 1 0.01 +74 1 1 1 0.01 +75 1 1 1 0.01 +76 1 1 1 0.01 +77 1 1 1 0.01 +78 1 1 1 0.01 +79 1 1 1 0.01 +80 1 1 1 0.01 +81 1 1 1 0.01 +82 1 1 1 0.01 +83 1 1 1 0.01 +84 1 1 1 0.01 +85 1 1 1 0.01 +86 1 1 1 0.01 +87 1 1 1 0.01 +88 1 1 1 0.01 +89 1 1 1 0.01 +90 1 1 1 0.01 +91 1 1 1 0.01 +92 1 1 1 0.01 +93 1 1 1 0.01 +94 1 1 1 0.01 +95 1 1 1 0.01 +96 1 1 1 0.01 +97 1 1 1 0.01 +98 1 1 1 0.01 +99 1 1 1 0.01 +100 1 1 1 0.01 +-9999 0 0 0 0 +# + #_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 # Survey +#_yr month fleet obs stderr +1 7 1 1 0.2 #_ Fishery +2 7 1 1 0.2 #_ Fishery +3 7 1 1 0.2 #_ Fishery +4 7 1 1 0.2 #_ Fishery +5 7 1 1 0.2 #_ Fishery +6 7 1 1 0.2 #_ Fishery +7 7 1 1 0.2 #_ Fishery +8 7 1 1 0.2 #_ Fishery +9 7 1 1 0.2 #_ Fishery +10 7 1 1 0.2 #_ Fishery +11 7 1 1 0.2 #_ Fishery +12 7 1 1 0.2 #_ Fishery +13 7 1 1 0.2 #_ Fishery +14 7 1 1 0.2 #_ Fishery +15 7 1 1 0.2 #_ Fishery +16 7 1 1 0.2 #_ Fishery +17 7 1 1 0.2 #_ Fishery +18 7 1 1 0.2 #_ Fishery +19 7 1 1 0.2 #_ Fishery +20 7 1 1 0.2 #_ Fishery +21 7 1 1 0.2 #_ Fishery +22 7 1 1 0.2 #_ Fishery +23 7 1 1 0.2 #_ Fishery +24 7 1 1 0.2 #_ Fishery +25 7 1 1 0.2 #_ Fishery +26 7 1 1 0.2 #_ Fishery +27 7 1 1 0.2 #_ Fishery +28 7 1 1 0.2 #_ Fishery +29 7 1 1 0.2 #_ Fishery +30 7 1 1 0.2 #_ Fishery +31 7 1 1 0.2 #_ Fishery +32 7 1 1 0.2 #_ Fishery +33 7 1 1 0.2 #_ Fishery +34 7 1 1 0.2 #_ Fishery +35 7 1 1 0.2 #_ Fishery +36 7 1 1 0.2 #_ Fishery +37 7 1 1 0.2 #_ Fishery +38 7 1 1 0.2 #_ Fishery +39 7 1 1 0.2 #_ Fishery +40 7 1 1 0.2 #_ Fishery +41 7 1 1 0.2 #_ Fishery +42 7 1 1 0.2 #_ Fishery +43 7 1 1 0.2 #_ Fishery +44 7 1 1 0.2 #_ Fishery +45 7 1 1 0.2 #_ Fishery +46 7 1 1 0.2 #_ Fishery +47 7 1 1 0.2 #_ Fishery +48 7 1 1 0.2 #_ Fishery +49 7 1 1 0.2 #_ Fishery +50 7 1 1 0.2 #_ Fishery +51 7 1 1 0.2 #_ Fishery +52 7 1 1 0.2 #_ Fishery +53 7 1 1 0.2 #_ Fishery +54 7 1 1 0.2 #_ Fishery +55 7 1 1 0.2 #_ Fishery +56 7 1 1 0.2 #_ Fishery +57 7 1 1 0.2 #_ Fishery +58 7 1 1 0.2 #_ Fishery +59 7 1 1 0.2 #_ Fishery +60 7 1 1 0.2 #_ Fishery +61 7 1 1 0.2 #_ Fishery +62 7 1 1 0.2 #_ Fishery +63 7 1 1 0.2 #_ Fishery +64 7 1 1 0.2 #_ Fishery +65 7 1 1 0.2 #_ Fishery +66 7 1 1 0.2 #_ Fishery +67 7 1 1 0.2 #_ Fishery +68 7 1 1 0.2 #_ Fishery +69 7 1 1 0.2 #_ Fishery +70 7 1 1 0.2 #_ Fishery +71 7 1 1 0.2 #_ Fishery +72 7 1 1 0.2 #_ Fishery +73 7 1 1 0.2 #_ Fishery +74 7 1 1 0.2 #_ Fishery +75 7 1 1 0.2 #_ Fishery +76 7 1 1 0.2 #_ Fishery +77 7 1 1 0.2 #_ Fishery +78 7 1 1 0.2 #_ Fishery +79 7 1 1 0.2 #_ Fishery +80 7 1 1 0.2 #_ Fishery +81 7 1 1 0.2 #_ Fishery +82 7 1 1 0.2 #_ Fishery +83 7 1 1 0.2 #_ Fishery +84 7 1 1 0.2 #_ Fishery +85 7 1 1 0.2 #_ Fishery +86 7 1 1 0.2 #_ Fishery +87 7 1 1 0.2 #_ Fishery +88 7 1 1 0.2 #_ Fishery +89 7 1 1 0.2 #_ Fishery +90 7 1 1 0.2 #_ Fishery +91 7 1 1 0.2 #_ Fishery +92 7 1 1 0.2 #_ Fishery +93 7 1 1 0.2 #_ Fishery +94 7 1 1 0.2 #_ Fishery +95 7 1 1 0.2 #_ Fishery +96 7 1 1 0.2 #_ Fishery +97 7 1 1 0.2 #_ Fishery +98 7 1 1 0.2 #_ Fishery +99 7 1 1 0.2 #_ Fishery +100 7 1 1 0.2 #_ Fishery +1 7 2 1 0.2 #_ Survey +2 7 2 1 0.2 #_ Survey +3 7 2 1 0.2 #_ Survey +4 7 2 1 0.2 #_ Survey +5 7 2 1 0.2 #_ Survey +6 7 2 1 0.2 #_ Survey +7 7 2 1 0.2 #_ Survey +8 7 2 1 0.2 #_ Survey +9 7 2 1 0.2 #_ Survey +10 7 2 1 0.2 #_ Survey +11 7 2 1 0.2 #_ Survey +12 7 2 1 0.2 #_ Survey +13 7 2 1 0.2 #_ Survey +14 7 2 1 0.2 #_ Survey +15 7 2 1 0.2 #_ Survey +16 7 2 1 0.2 #_ Survey +17 7 2 1 0.2 #_ Survey +18 7 2 1 0.2 #_ Survey +19 7 2 1 0.2 #_ Survey +20 7 2 1 0.2 #_ Survey +21 7 2 1 0.2 #_ Survey +22 7 2 1 0.2 #_ Survey +23 7 2 1 0.2 #_ Survey +24 7 2 1 0.2 #_ Survey +25 7 2 1 0.2 #_ Survey +26 7 2 1 0.2 #_ Survey +27 7 2 1 0.2 #_ Survey +28 7 2 1 0.2 #_ Survey +29 7 2 1 0.2 #_ Survey +30 7 2 1 0.2 #_ Survey +31 7 2 1 0.2 #_ Survey +32 7 2 1 0.2 #_ Survey +33 7 2 1 0.2 #_ Survey +34 7 2 1 0.2 #_ Survey +35 7 2 1 0.2 #_ Survey +36 7 2 1 0.2 #_ Survey +37 7 2 1 0.2 #_ Survey +38 7 2 1 0.2 #_ Survey +39 7 2 1 0.2 #_ Survey +40 7 2 1 0.2 #_ Survey +41 7 2 1 0.2 #_ Survey +42 7 2 1 0.2 #_ Survey +43 7 2 1 0.2 #_ Survey +44 7 2 1 0.2 #_ Survey +45 7 2 1 0.2 #_ Survey +46 7 2 1 0.2 #_ Survey +47 7 2 1 0.2 #_ Survey +48 7 2 1 0.2 #_ Survey +49 7 2 1 0.2 #_ Survey +50 7 2 1 0.2 #_ Survey +51 7 2 1 0.2 #_ Survey +52 7 2 1 0.2 #_ Survey +53 7 2 1 0.2 #_ Survey +54 7 2 1 0.2 #_ Survey +55 7 2 1 0.2 #_ Survey +56 7 2 1 0.2 #_ Survey +57 7 2 1 0.2 #_ Survey +58 7 2 1 0.2 #_ Survey +59 7 2 1 0.2 #_ Survey +60 7 2 1 0.2 #_ Survey +61 7 2 1 0.2 #_ Survey +62 7 2 1 0.2 #_ Survey +63 7 2 1 0.2 #_ Survey +64 7 2 1 0.2 #_ Survey +65 7 2 1 0.2 #_ Survey +66 7 2 1 0.2 #_ Survey +67 7 2 1 0.2 #_ Survey +68 7 2 1 0.2 #_ Survey +69 7 2 1 0.2 #_ Survey +70 7 2 1 0.2 #_ Survey +71 7 2 1 0.2 #_ Survey +72 7 2 1 0.2 #_ Survey +73 7 2 1 0.2 #_ Survey +74 7 2 1 0.2 #_ Survey +75 7 2 1 0.2 #_ Survey +76 7 2 1 0.2 #_ Survey +77 7 2 1 0.2 #_ Survey +78 7 2 1 0.2 #_ Survey +79 7 2 1 0.2 #_ Survey +80 7 2 1 0.2 #_ Survey +81 7 2 1 0.2 #_ Survey +82 7 2 1 0.2 #_ Survey +83 7 2 1 0.2 #_ Survey +84 7 2 1 0.2 #_ Survey +85 7 2 1 0.2 #_ Survey +86 7 2 1 0.2 #_ Survey +87 7 2 1 0.2 #_ Survey +88 7 2 1 0.2 #_ Survey +89 7 2 1 0.2 #_ Survey +90 7 2 1 0.2 #_ Survey +91 7 2 1 0.2 #_ Survey +92 7 2 1 0.2 #_ Survey +93 7 2 1 0.2 #_ Survey +94 7 2 1 0.2 #_ Survey +95 7 2 1 0.2 #_ Survey +96 7 2 1 0.2 #_ Survey +97 7 2 1 0.2 #_ Survey +98 7 2 1 0.2 #_ Survey +99 7 2 1 0.2 #_ Survey +100 7 2 1 0.2 #_ Survey +-9999 1 1 1 1 # terminator for survey observations +# +0 #_N_fleets_with_discard +#_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; -3 for trunc normal with CV +# note, only have units and errtype for fleets with discard +#_Fleet units errtype +# -9999 0 0 0.0 0.0 # terminator for discard data +# +0 #_use meanbodysize_data (0/1) +#_COND_1 #_DF_for_meanbodysize_T-distribution_like +# note: type=1 for mean length; type=2 for mean body weight +#_yr month fleet part type obs stderr +# -9999 0 0 0 0 0 0 # terminator for mean body size data +# +# set up population length bin structure (note - irrelevant if not using size data and using empirical wtatage +2 # length bin method: 1=use databins; 2=generate from binwidth,min,max below; 3=read vector +1 # binwidth for population size comp +10 # minimum size in the population (lower edge of first bin and size at age 0.00) +90 # maximum size in the population (lower edge of last bin) +1 # use length composition data (0/1) +#_mintailcomp: upper and lower distribution for females and males separately are accumulated until exceeding this level. +#_addtocomp: after accumulation of tails; this value added to all bins +#_males and females treated as combined gender below this bin number +#_compressbins: accumulate upper tail by this number of bins; acts simultaneous with mintailcomp; set=0 for no forced accumulation +#_Comp_Error: 0=multinomial, 1=dirichlet +#_Comp_Error2: parm number for dirichlet +#_minsamplesize: minimum sample size; set to 1 to match 3.24, minimum value is 0.001 +#_mintailcomp addtocomp combM+F CompressBins CompError ParmSelect minsamplesize +-1 1e-10 0 0 0 0 1 #_fleet:1_Fishery +-1 1e-10 0 0 0 0 1 #_fleet:2_Survey +# sex codes: 0=combined; 1=use female only; 2=use male only; 3=use both as joint sexxlength distribution +# partition codes: (0=combined; 1=discard; 2=retained +31 #_N_LengthBins; then enter lower edge of each length bin + 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 + +#_yr month fleet sex part Nsamp datavector(female-male) + 31 1 1 0 0 100 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 1 1 1 1 1 + 31 1 2 0 0 100 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 1 1 1 1 1 + -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 0 0 0 0 0 0 0 0 0 +# +70 #_N_age_bins + 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 +1 #_N_ageerror_definitions +-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 -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 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 +#_mintailcomp: upper and lower distribution for females and males separately are accumulated until exceeding this level. +#_addtocomp: after accumulation of tails; this value added to all bins +#_males and females treated as combined gender below this bin number +#_compressbins: accumulate upper tail by this number of bins; acts simultaneous with mintailcomp; set=0 for no forced accumulation +#_Comp_Error: 0=multinomial, 1=dirichlet +#_Comp_Error2: parm number for dirichlet +#_minsamplesize: minimum sample size; set to 1 to match 3.24, minimum value is 0.001 +#_mintailcomp addtocomp combM+F CompressBins CompError ParmSelect minsamplesize +-1 1e-10 0 0 0 0 1 #_fleet:1_Fishery +-1 1e-10 0 0 0 0 1 #_fleet:2_Survey +3 #_Lbin_method_for_Age_Data: 1=poplenbins; 2=datalenbins; 3=lengths +# sex codes: 0=combined; 1=use female only; 2=use male only; 3=use both as joint sexxlength distribution +# partition codes: (0=combined; 1=discard; 2=retained +#_yr month fleet sex part ageerr Lbin_lo Lbin_hi Nsamp datavector(female-male) +30 1 1 0 0 1 -1 -1 1000 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 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +30 1 2 0 0 1 -1 -1 1000 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 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-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 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 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 #_Use_MeanSize-at-Age_obs (0/1) +# +0 #_N_environ_variables +#Yr Variable Value +# +0 # N sizefreq methods to read +# +0 # do tags (0/1) +# +0 # morphcomp data(0/1) +# Nobs, Nmorphs, mincomp +# yr, seas, type, partition, Nsamp, datavector_by_Nmorphs +# +0 # Do dataread for selectivity priors(0/1) +# Yr, Seas, Fleet, Age/Size, Bin, selex_prior, prior_sd +# feature not yet implemented +# +999 + diff --git a/length-dist/ss_sim/simulation.R b/length-dist/ss_sim/simulation.R new file mode 100644 index 00000000..44f95c17 --- /dev/null +++ b/length-dist/ss_sim/simulation.R @@ -0,0 +1,71 @@ +library(tidyverse) +library(r4ss) +## devtools::install_github("ss3sim/ss3sim", ref='development') +library(ss3sim) +## An example of a run using parallel processing across 2 cores: +library(doParallel) +registerDoParallel(cores = 4) +library(foreach) +getDoParWorkers() # check how many cores are registered + +## !Assumes working directory is the location of this script! +getwd() + +## Define locations of the models. Depends on which species for +## now +## om <- file.path("models", "cod-om") +## em <- file.path("models", "cod-em") +om <- file.path("models", "yellow-om") +em <- file.path("models", "yellow-em") +case_folder <- "cases" +case_files <- list(F="F", D=c("index", "lcomp", "agecomp"), + E="E", O="O") + +## A run with deterministic process error for exploring +## equilibrium behavior of the OM +## scens <- c("D0-E100-F0-O0-cod", "D0-E100-F0-O1-cod") +scens <- c("D0-E100-F0-O0-yellow", "D0-E100-F0-O1-yellow") +run_ss3sim(iterations = 1, scenarios=scens, + case_folder = case_folder, case_files = case_files, + om_dir = om, em_dir = em, parallel=TRUE, + bias_adjust = FALSE, user_recdevs = matrix(0, nrow = 101, ncol = 2)) +## unlink(scens, recursive = TRUE) + +## Read in results and quick plot of OM biomass trajectories +out <- get_results_all(overwrite_files=TRUE) +ts <- read.csv('ss3sim_ts.csv') +sc <- read.csv('ss3sim_scalar.csv') +plot_ts_lines(ts, 'SpawnBio_om', vert='O') + +## Get population length distributions over time +## report1 <- SS_output('D0-E100-F0-O0-cod/1/om', ncols=300) +## report2 <- SS_output('D0-E100-F0-O1-cod/1/om', ncols=300) +report1 <- SS_output('D0-E100-F0-O0-yellow/1/om', ncols=300) +report2 <- SS_output('D0-E100-F0-O1-yellow/1/om', ncols=300) +SS_plots(report1, uncertainty=FALSE) +SS_plots(report2, uncertainty=FALSE) + +get_poplengthfreq <- function(report){ + fd <- report$natlen + names(fd)[11] <- 'Beg.Mid' ## couldn't get this to work with dplyr + fd <- fd %>% filter(Beg.Mid=='B') %>% + select(-Area, -Bio_Pattern, -BirthSeas, -Morph, + -Seas, -Era, -Sex, -Settlement, + -Platoon, -Time, -Beg.Mid) + + d <- gather(fd, length, numbers, -Yr) %>% + group_by(Yr) %>% mutate(proportion=numbers/sum(numbers)) %>% + ungroup() %>% + mutate(length=as.numeric(length), + decade=Yr-Yr%%10, + yr2=Yr-decade) + return(d) +} +d1 <- get_poplengthfreq(report1) +d2 <- get_poplengthfreq(report2) +d <- rbind(cbind(M='Original', d1), cbind(M='Updated', d2)) +d %>% filter(Yr==100 & length >15) %>% +ggplot( aes(length, numbers, color=M)) + geom_line() + + +