-
Notifications
You must be signed in to change notification settings - Fork 3
/
9control.tex
2817 lines (2275 loc) · 215 KB
/
9control.tex
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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
\hypertarget{ControlFile}{}
\section[Control File]{\protect\hyperlink{ControlFile}{Control File}}
\hypertarget{OverviewControl}{}
\subsection[Overview of Control File]{\protect\hyperlink{OverviewControl}{Overview of Control File}}
These listed model features are denoted in the control file in the following order:
\begin{enumerate}
\item Number of growth patterns and platoons
\item Design matrix for assignment of recruitment to area/settlement event/growth pattern
\item Design matrix for movement between areas
\item Definition of time blocks that can be used for time-varying parameters
\item Controls far all time-varying parameters
\\
\item Specification for growth and fecundity
\item Natural mortality growth parameters, weight-at-length, maturity, and fecundity, for each sex
\item Hermaphroditism parameter line (if used)
\item Recruitment distribution parameters for each area, settlement event, and growth pattern
\item Cohort growth deviation
\item Movement between areas (if used)
\item Age error parameter line (if used)
\item Catch multiplier (if used)
\item Fraction female
\item Setup for any mortality-growth parameters are time-varying
\item Seasonal effects on biology parameters
\\
\item Spawner-recruitment parameters
\item Setup for any stock recruitment parameters are time-varying
\item Recruitment deviations
\\
\item $F$ ballpark value in specified year
\item Method for calculating fishing mortality ($F$)
\item Initial equilibrium $F$ for each fleet
\\
\item Catchability (Q) setup for each fleet and survey
\item Catchability parameters
\item Setup for any catchability parameters are time-varying
\\
\item Length selectivity, retention, discard mortality setup for each fleet and survey
\item Age selectivity setup for each fleet and survey
\item Parameters for length selectivity, retention, discard mortality for each fleet and survey
\item Parameters for age selectivity, retention, discard mortality for each fleet and survey
\item Setup for any selectivity parameters that are time-varying
\\
\item Tag-recapture parameters
\\
\item Variance adjustments
\item Lambdas for likelihood components
\end{enumerate}
The order in which they appear in the control file has grown over time rather opportunistically, so it may not appear particularly logical at this time, especially various aspects of recruitment distribution and growth.
% When the same information is entered via the SS3 GUI, it is organized more logically and then written in this form to the text control file.
\hypertarget{ParameterLine}{}
\subsection[Parameter Line Elements]{\protect\hyperlink{ParameterLine}{Parameter Line Elements}}
The primary role of the control file is to define the parameters to be used by the model. The general syntax of the 14 elements of a long parameter line is described here. If used, time-varying parameter lines use only the first seven elements of a parameter line and will be referred to as a short parameter line. Three types of time-varying properties can be applied to a base parameter: blocks or trend, environmental linkage, and random deviation. Each parameter line contains:
\hypertarget{Priors}{} \hypertarget{paraOrder}{}
\begin{center}
\begin{tabular}{p{2cm} p{3cm} p{10cm}}
\hline
Column & Element & Description \Tstrut\Bstrut\\
\hline
1 & LO & Minimum value for the parameter \Tstrut\\
2 & HI & Maximum value for the parameter \Tstrut\\
3 \Tstrut & INIT & Initial value for the parameter. If the phase (described below) for the parameter is negative the parameter is fixed at this value. If the \texttt{ss3.par} file is read, it overwrites these INIT values.\\
4 \Tstrut & PRIOR & Expected value for the parameter. This value is ignored if the prior type is 0 (no prior) or 1 (symmetric beta). If the selected prior type (described below) is log-normal, this value is entered in natural log space. \\
5 \Tstrut & PRIOR \gls{sd} & \gls{sd} for the prior, used to calculate likelihood of the current parameter value. This value is ignored if prior type is 0. The \gls{sd} is in regular space regardless of the prior type. \\
6 \Tstrut & \hyperlink{PriorDescrip}{PRIOR TYPE} & 0 = none; \\
& & 1 = symmetric beta; \\
& & 2 = full beta; \\
& & 3 = log-normal without bias adjustment; \\
& & 4 = log-normal with bias adjustment; \\
& & 5 = gamma; and \\
& & 6 = normal. \\
7 \Tstrut & PHASE & Phase in which parameter begins to be estimated. A negative value causes the parameter to retain its INIT value (or value read from the \texttt{ss3.par} file). \Bstrut\\
8 \Tstrut & Env var \& Link & Create a linkage to an input environmental time series \\
9 \Tstrut & Dev link & Invokes use of the deviation vector in the linkage function \\
10 \Tstrut & Dev min yr & Beginning year for the deviation vector \\
11 \Tstrut & Dev max yr & Ending year for the deviation vector \\
12 \Tstrut & Dev phase & Phase for estimation for elements in the deviation vector \\
13 \Tstrut & Block & Time block or trend to be applied \\
14 \Tstrut & Block function & Functional form for the block offset. \Bstrut\\
\hline
\end{tabular}
\end{center}
Note that relative to Stock Synthesis v.3.24, the order of PRIOR \gls{sd} and PRIOR TYPE have been switched and the PRIOR TYPE options have been renumbered.
The full parameter line (14 in length) syntax for the mortality-growth, spawn-recruitment, catchability, and selectivity sections provides additional controls to give the parameter time-varying properties. If a parameter (a full parameter line of length 14) is set up to be time-varying (i.e., parameter time blocks, annual deviations), short parameter lines, the first 7 elements, are required to be specified immediately after the main parameter block (i.e., mortality-growth parameter section). Additional information regard time-varying parameters and how to implement them is in the \hyperlink{TVpara}{Using Time-Varying Parameters} section.
\hypertarget{ControlTerminology}{}
\subsection[Terminology]{\protect\hyperlink{ControlTerminology}{Terminology}}
The term COND appears in the ``Typical Value'' column of this documentation (it does not actually appear in the model files), it indicates that the following section is omitted except under certain conditions, or that the factors included in the following section depend upon certain conditions. In most cases, the description in the definition column is the same as the label output to the ss\_new files.
\hypertarget{ControlInputs}{}
\subsection[Beginning of Control File Inputs]{\protect\hyperlink{ControlInputs}{Beginning of Control File Inputs}}
\begin{center}
\begin{longtable}{p{0.5cm} p{2cm} p{12.5cm}}
\hline
\multicolumn{2}{l}{Typical Value} & Description and Options \Tstrut\Bstrut\\
\hline
\endfirsthead
\hline
\multicolumn{2}{l}{Typical Value} & Description and Options \Tstrut\Bstrut\\
\hline
\endhead
\hline
\endfoot
\endlastfoot
\#C \Tstrut & comment & Comments beginning with \#C at the top of the file will be retained and included in output. \Bstrut\\
\hline
0 & & 0 = Do not read the weight-at-age (\texttt{wtatage.ss}) file; \Tstrut\\
& & 1 = Read the weight-at-age (\texttt{wtatage.ss}) file, also read and use the growth parameters; and \\
& & 2 = Future option to read the weight-at-age (\texttt{wtatage.ss}) file, then omit reading and using growth parameters and all length-based data. \\
& & Additional information on the weight-at-age file and the expected formatting can be found in the \hyperlink{WAA}{Empirical Weight-at-Age} section. \Bstrut\\
%\hline
\pagebreak
1 & & Number (N) of growth patterns (GP), also referred to as morphs: \Tstrut\\
& & These are collections of fish with unique biological characteristics (growth, mortality, weight-length, reproduction). The GP $\times$ Sex $\times$ Settlement Events constitute unique growth patterns that are tracked in SS3. They are assigned these characteristics at birth and retain them throughout their lifetime. At recruitment, growth pattern members are distributed across areas (if any) and they retain their biological characteristics even if they move to another area in which a different cohort with different biological characteristics might predominate. For example, one could assign a fast-growing growth pattern to recruit predominately in a southern area and a slow-growing growth pattern to a northern area. The natural mortality and growth parameters are specified for each growth pattern in the mortality-growth parameter section in the order of female growth pattern 1 to growth pattern N followed by male growth pattern 1 to growth pattern N in a two sex model. \Bstrut\\
\hline
1 & & Number of platoons within a growth pattern/morph: \Tstrut\\
& & This allows exploration of size-dependent survivorship. A value of 1 will not create additional platoons. Odd-numbered values (i.e., 3, 5) will break the overall morph into that number of platoons creating a smaller, larger, and mean growth platoon. The higher the number of platoons the slower the model will run, so values above 5 not advised. The fraction of each morph assigned to each platoon is custom-input or designated to be a normal approximation. When multiple platoons are designated, an additional input is the ratio of between platoon to within platoon variability in size-at-age. This is used to partition the total growth variability. For the platoons, their size-at-age is calculated as a factor (determined from the between-within variability calculation) times the size-at-age of the central morph which is determined from the growth parameters for that Growth Pattern $\times$ Sex. \Bstrut\\
\multicolumn{2}{l}{COND > 1} & \multicolumn{1}{l}{\parbox{12cm}{Following 2 lines are conditional on N platoons > 1.}} \Tstrut\Bstrut\\
& 0.7 & Platoon within/between standard deviation ratio. Ratio of the amount of variability in length-at-age within platoons to between platoons so that a small ratio means that the platoons are narrower and more widely spaced. A parameter (after movement parameters) is needed if the within/between standard deviation ratio is negative. \Bstrut\\
& 0.2 0.6 0.2 & Distribution among platoons. Enter either a custom vector or enter a vector of length N with the first value of -1 to get a normal approximation: (0.15, 0.70, 0.15) for 3 platoons, or 5 platoons (0.031, 0.237, 0.464, 0.237, 0.031). \Bstrut\\
\hline
\end{longtable}
\vspace*{-\baselineskip}
\end{center}
\hypertarget{WatA}{}
\subsubsection[Weight-at-Age]{\protect\hyperlink{WatA}{Weight-at-Age}}
The capability to read empirical body weight-at-age for the population and each fleet was added starting in v.3.04, in lieu of generating these weights internally from the growth parameters, weight-at-length, and size-selectivity. The values are read from a separate file named, \texttt{wtatage.ss}. This file is only required to exist if this option is selected. See the \hyperlink{WAA}{Empirical Weight-at-Age} section for additional information on file formatting for empirical weight-at-age.
\hypertarget{SettlementTiming}{}
\subsubsection[Settlement Timing for Recruits and Distribution]{\protect\hyperlink{SettlementTiming}{Settlement Timing for Recruits and Distribution}}
In older versions of SS3 one value of spawning biomass was calculated annually at the beginning of one specified spawning season and this spawning biomass produced one annual total recruitment value. The annual recruitment value was then distributed among seasons, areas, and growth types according to other model parameters.
Additional control of the seasonal timing was added in v.3.30 and now there is an explicit elapsed time between spawning and recruitment. Spawning still occurs, just once per year, which defines a single spawning biomass for the stock-recruitment curve, but its timing can be at any specified time, not just the beginning of a season. Recruitment of the progeny from an annual spawning can now enter the population in one or more settlement events, at some point after spawning as defined by the user.
\begin{center}
\begin{longtable}{p{1.25cm} p{1.25cm} p{1cm} p{11.5cm}}
\hline
\multicolumn{2}{l}{Typical Value} & \multicolumn{2}{l}{Description and Options} \Tstrut\Bstrut\\
\hline
\endfirsthead
\hline
\multicolumn{2}{l}{Typical Value} & \multicolumn{2}{l}{Description and Options} \Tstrut\Bstrut\\
\hline
\endhead
\hline
\endfoot
\endlastfoot
1 & & \multicolumn{2}{l}{\parbox{12.5cm}{Recruitment distribution method. This section controls which combinations of growth pattern $\times$ area $\times$ settlement will get a portion of the total recruitment coming from each spawning. Options:}} \Tstrut\\
& & \\
% & & \\
& & \multicolumn{2}{l}{\parbox{12.5cm}{1 = no longer available (used the Stock Synthesis v.3.24 or earlier setup);}} \\
& & \multicolumn{2}{l}{\parbox{12.5cm}{2 = main effects for growth pattern, settle timing, and area;}} \\
& & \multicolumn{2}{l}{\parbox{12.5cm}{3 = each settle entity; and}} \\
& & \multicolumn{2}{l}{\parbox{12.5cm}{4 = none, no parameters (only if growth pattern $\times$ settlement $\times$ area = 1).}} \Tstrut\Bstrut\\
\hline
1 & & \multicolumn{2}{l}{Spawner-Recruitment (not implement yet, but required), options:} \Tstrut\\
& & \multicolumn{2}{l}{1 = global; and} \\
& & \multicolumn{2}{l}{\parbox{12.5cm}{2 = by area (by area is not yet implemented; there is a conceptual challenge to doing the equilibrium calculation when there is fishing).}} \\
& & \\
\hline
1 & & \multicolumn{2}{l}{\parbox{12.5cm}{Number of recruitment settlement assignments. Must be at least 1 even if only 1 settlement and 1 area because the timing of that settlement must be specified.}} \Tstrut\Bstrut\\
& & \\
\hline
0 \Tstrut & & \multicolumn{2}{l}{Future feature, not implement yet but required.} \Bstrut\\
\hline
Growth Pattern & Month & Area & Age at settlement \Tstrut\\
\hline
1 & 5.5 & 1 & 0 \Bstrut\\
\hline
\end{longtable}
\vspace*{-\baselineskip}
\end{center}
The above example specifies settlement to mid-May (month 5.5). Note that normally the calendar age at settlement is 0 if settlement happens between the time of spawning and the end of that year, and at age 1 if settlement is in the year after spawning.
Below is an example setup where there are multiple settlement events, with one occurring the following year after spawning:
\begin{center}
\vspace*{-\baselineskip}
\begin{tabular}{p{3cm} p{3cm} p{2cm} p{7cm}}
\hline
3 & \multicolumn{3}{l}{Number of recruitment settlement events} \Tstrut\\
0 & \multicolumn{3}{l}{Unused option} \Bstrut\\
\hline
Growth Pattern & Month & Area & Age (for each settlement assignment) \Tstrut\Bstrut\\
\hline
1 & 11.0 & 1 & 0 \Tstrut\\
1 & 12.0 & 1 & 0 \\
1 & 1.0 & 1 & 1 \Bstrut\\
\hline
\end{tabular}
\end{center}
%\myparagraph{Recruitment Timing and Settlement}
Details regarding settlement of recruits and timing:
\begin{itemize}
\item Recruitment happens in specified settlement events (growth pattern, month, area).
\item Number of unique settlement timings is calculated at runtime.
\item Now there is explicit elapsed time between spawning and recruitment.
\item Growth and natural mortality of the platoon begins at time of settlement, which is its real age 0.0 for growth; but pre-settlement fish exist from the beginning of the season of settlement, so can be caught if selected.
\item Age at recruitment now user-controlled (should be 0 if in year of spawning).
\item All fish become integer age 1 (for age determination) on their first January 1st.
\item Recruitment can occur > 12 months after spawning which is achieved by setting the settlement age to a value greater than 1.0.
\end{itemize}
The distribution of recruitment among these settlement events is controlled by recruitment apportionment parameters. There must be a parameter line for each growth pattern, then for each area, then for each settlement. All of these are required, but only those growth pattern $\times$ area $\times$ settlements designated to receive recruits in the recruitment design matrix will have the parameter used in the recruitment distribution calculation. For the recruitment apportionment, the parameter values are the natural log of apportionment weight. The sum of all apportionment weights is calculated for each growth pattern $\times$ area $\times$ settlements that have been designated to receive recruits in the recruitment design matrix. Then the apportionment weights are scaled to sum to 1.0 so that the total recruitment from the spawning event is distributed among the cells designated to receive recruitment. Additionally, these distribution parameters can be time-varying, so the fraction of the recruits that occur in a particular growth pattern, area, or settlement can change from year to year. To specify annual variation in the distribution or recruits by area add a start and end year in the deviation min year and max year columns. Similar to the apportionment of recruits by area, one should be fixed while the other area(s) can deviate relative to the one area. If annual deviations are specified then two additional short parameter lines will be required to specify the standard error and the autocorrelation for each area with deviations.
\hypertarget{recdist}{}
\myparagraph{Recruitment Distribution and Parameters}
Recruits are apportioned according to:
\begin{equation}
\text{apportionment}_i = \frac{e^{p_i}}{\sum_{i=1}^{N}e^{p_i}}
\end{equation}
where $p_i$ is the proportion of recruits to area $i$ and $N$ is the number of settlement events. These parameters are defined in the mortality-growth parameter section.
Tips for fixing or estimating the recruitment apportionment:
\begin{itemize}
\item Set the value for one of these parameters, $p_i$, to 0.0 and not estimate it so that other parameters will be estimated (if not fixed) relative to its fixed value.
\item Give the estimated parameters a min-max so they have a good range relative to the base parameter (i.e., of min = -5 and max = 5).
\item In order to get a different distribution of recruitments in different years, you will need to make at least one of the recruitment distribution parameters time-varying.
\end{itemize}
In a seasonal model, all cohorts graduate to the age of 1 when they first reach January 1, even if the seasonal structure of the model has them being spawned in the late fall. In general, this means that the model operates under the assumption that all age data have been adjusted so that fish are age 0 at the time of spawning and all fish graduate to the next age on January 1. This can be problematic if the ageing structures deposit a ring at another time of year. Consequently, you may need to add or subtract a year to some of your age data to make it conform to the model expected data structure, or more ideally you may need to define the calendar year within the model to start at the beginning of the season at which ring deposition occurs. Talk with your ageing lab about their criteria for seasonal ring deposition.
Seasonal recruitment is coded to work smoothly with growth. If the recruitment occurring in each season is assigned the same growth pattern, then each seasonal cohort's growth trajectory is simply shifted along the age/time axis. At the end of the year, the early born cohorts will be larger, but all are growing with the same growth parameters, so all will converge in size as they approach their common maximum length (e.g., no seasonal effects on growth).
At the time of settlement, fish are assigned a size equal to the lower edge of the first population size bin, and they grow linearly until they reach the age A1. A warning is generated if the first population length bin is greater than 10 cm as this seems an unreasonably large value for a larval fish. A1 is in terms of real age elapsed since birth. All fish advance to the next integer age on January 1, regardless of birth season. For example, consider a 2 season model with some recruitment in each season and with each season's recruits coming from the same GP. At the end of the first year, the early born fish will be larger but both of the seasonal cohorts will advance to an integer age of 1 on Jan 1 of the next year. The full growth curve is still calculated below A1, but the size-at-age used is the linear replacement. Because the linear growth trajectory can never go negative, there is no need for the additive constant to the standard deviation (necessary for the growth model used in SS2 V1.x), but the option to add a constant has been retained in the model.
\hypertarget{Movement}{}
\subsubsection[Movement]{\protect\hyperlink{Movement}{Movement}}
Here the movement of fish between areas are defined. This is a box transfer with no explicit adjacency of areas, so fish can move from any area to any other area in each time step. While not incorporated yet, there is a desire for future versions of SS3 to have the capability to allow sex-specific movement, and also to allow some sort of mirroring so that sexes and growth patterns can share the same movement parameters if desired.
\begin{longtable}{p{0.5cm} p{2cm} p{12.5cm}}
\hline
\multicolumn{2}{l}{Typical Value} & Description and Options \Tstrut\Bstrut\\
\hline
\endfirsthead
\hline
\multicolumn{2}{l}{Typical Value} & Description and Options \Tstrut\Bstrut\\
\hline
\endhead
\hline
\endfoot
\endlastfoot
\multicolumn{3}{l}{COND: only if areas > 1} \Tstrut\\
& 2 & Enter Number of movement definitions. \Tstrut\\
\Tstrut & 1.0 & First age that moves. This value is a real number, not an integer, to allow for an in-year start to movement in a multi-season model. It is the real age at the beginning of a season, even though movement does not occur until the end of the season. For example, in a setup with two 6-month seasons a value of 0.5 will cause the age 0 fish to not move when they complete their first 6-month season of life, and then to move at the end of their second season because they start movement capability when they reach the age of 0.5 years (6 months). \\
\Tstrut & 1 1 1 2 4 10 & \multicolumn{1}{l}{\multirow{5}{6cm}{\parbox{12cm}{Movement definitions: season, growth pattern, source area, destination, age1, and age2. The example shown here has 1 growth patterns and 2 areas with fish moving between the two areas. The rate of movement will be controlled by the movement parameters later defined in the mortality-growth parameter section. Here the age1 and age2 specify the range over which the movement parameters are interpolated with movement constant below age1 and above age2.}}} \\
& 1 2 2 1 4 10 & \Bstrut\\
\\
\\
\\
\\
\\
\hline
\end{longtable}
\vspace*{-\baselineskip}
Two parameters will be entered later for each growth pattern, area pair, and season.
\begin{itemize}
\item Movement is constant at the first parameter (P1) below the specified minimum age for movement change, constant at the second parameter (P2) above maximum age for movement change, and linearly interpolated for intermediate ages.
\item A movement rate parameter can be set to use the same value as the corresponding parameter for the first defined movement pattern by entering a parameter value of -9999 and a negative phase value.
\item For each source area, the implicit movement parameter value is 0.0 (movement within a single area). However, this default value can be replaced if the stay movement is selected to have an explicit pair of parameters (e.g., specify movement rate for area 1 to area 1) and will require additional parameter lines.
\item A constant movement rate across all ages can be accomplished by either:
\begin{itemize}
\item Setting both movement ages to 0, not estimating the first movement parameter, and using a second movement parameter to cover all ages from 0 to the maximum number of ages.
\item Setting movement ages to any value, estimating the first movement parameter, and setting the second movement parameter to have a value of -9998 with a negative phase.
\end{itemize}
\item The parameter is exponentiated so that a movement parameter value of 0 becomes 1.0.
\item For each source area, all movement rates are then summed and divided by this sum so that 100\% of the fish are accounted for in the movement calculations.
\begin{equation}
\text{rate}_i = \frac{e^{p_i}}{\sum_{j=1}^{N}e^{p_i}}
\end{equation}
\item At least one movement parameter must be fixed so that all other movement parameters are estimated relative to it. This is achieved naturally by not specifying the stay rate parameter, so it has a fixed value of 0.0.
\item The resultant movement rates are multiplied by season duration in a seasonal model.
\end{itemize}
\hypertarget{timeblocks}{}
\subsubsection[Time Blocks]{\protect\hyperlink{timeblocks}{Time Blocks}}
\begin{longtable}{p{0.5cm} p{2cm} p{12.5cm}}
\hline
\multicolumn{2}{l}{Typical Value} & Description and Options \Tstrut\Bstrut\\
\hline
\endfirsthead
3 \Tstrut & & \multirow{1}{4cm}[-0.1cm]{\parbox{12.5cm}{Number of block patterns. These patterns can be referred to in the parameter sections to create a separate parameter value for each block.}} \Bstrut\\
\\
\hline
\multicolumn{2}{l}{COND > 0:} \Tstrut & \multicolumn{1}{l}{Following inputs are omitted if the number of block patterns equals 0.} \\
& \multirow{1}{2cm}[-0.1cm]{3 2 1} & Blocks per pattern: \Bstrut\\
& \multirow{1}{2cm}[-0.1cm]{1975 1985 1986 1990 1995 2001} & \multirow{3}{12.5cm}[-0.1cm]{Beginning and ending years for blocks in design 1; years not assigned to a block period retain the baseline value for a parameter that uses this pattern.} \Bstrut\\
\\
\Bstrut\\
% \\
& \multirow{1}{2cm}[-0.1cm]{1987 1990 1995 2001} & \multirow{1}{12.5cm}[-0.1cm]{Beginning and ending years for blocks in design 2.} \Bstrut\\
\\
% \\
& \multirow{1}{2cm}[-0.1cm]{1999 2002} & \multirow{1}{12.5cm}[-0.10cm]{Beginning and ending years for blocks in design 3.} \Bstrut\\
\hline
\end{longtable}
\vspace*{-\baselineskip}
Blocks and other time-vary parameter controls are operative during forecast years, so care should be taken when setting the end year of the last block in a pattern. If that end year is set to the last year in the time series, then the parameter will revert to the base value for the forecast. If the user wants to continue the last block through the forecast, it is advisable to set the last block's end year value to -2 to cause SS3 to reset it to the last year of the forecast. Using the value -1 will set the block's end year to the last year of the time series and leave the forecast at the base parameter value. Note that additional controls on time-varying parameters in forecast years are in the forecast section.
\hypertarget{autogen}{}
\subsubsection[Auto-generation]{\protect\hyperlink{autogen}{Auto-generation}}
Auto-generation is a useful way to automatically create the required short time-varying parameter lines which will be written in the \texttt{control.ss\_new} file. These parameter lines can then be copied into the control file and modified as needed. As example, if you want to add a block to natural mortality, modify the block and block function entry of the mortality parameter line, ensure that auto-generation is set to 0 (for the biology section at least) and run the model without estimation. The \texttt{control.ss\_new} file will now show the required block parameter line specification for natural mortality and this line can be copied into the main control file. Note, that if auto-generation is on (set to 0), the model will not expect to read the time-varying parameters in that section of the control file and will error out if they are present
\begin{longtable}{p{0.5cm} p{2cm} p{12.5cm}}
\hline
\multicolumn{2}{l}{Typical Value} & Description and Options \Tstrut\Bstrut\\
\hline
\endfirsthead
\hline
\multicolumn{2}{l}{Typical Value} & Description and Options \Tstrut\Bstrut\\
\hline
\endhead
\hline
\endfoot
\endlastfoot
1 & & Environmental/Block/Deviation adjust method for all time-varying parameters. \Tstrut\\
& & 1 = warning relative to base parameter bounds; and \\
& & 3 = no bound check. Logistic bound check form from previous SS3 versions (e.g., v.3.24) is no longer an option. \Bstrut\\
\multicolumn{2}{l}{1 1 1 1 1} & Auto-generation of time-varying parameter lines. Five values control auto-generation for parameter block sections: 1-biology, 2-spawn-recruitment, 3-catchability, 4-tag (future), and 5-selectivity. \\
& & The accepted values are: \\
& & 0 = auto-generate all time-varying parameters (no time-varying parameters are expected); \\
& & 1 = read each time-varying parameter line as exists in the control file; and \\
& & 2 = read each line and auto-generate if read the time-varying parameter value for LO = -12345. Useful to generate reasonable starting values. \Bstrut\\
\hline
\end{longtable}
\hypertarget{Biology}{}
\subsection[Biology]{\protect\hyperlink{Biology}{Biology}}
\hypertarget{NatM}{}
\subsubsection[Natural Mortality]{\protect\hyperlink{NatM}{Natural Mortality}}
Natural mortality ($M$) options include some options that are referenced to integer age and other options to real age since settlement. If using an option that references $M$ to real age since settlement, $M$ varies by age and will change by season (e.g., cohorts born early in the year will have different $M$ than cohorts born later in the year).
\myparagraph{Lorenzen Natural Mortality}
Lorenzen natural mortality is based on the concept that natural mortality is driven by physiological and ecological processes and varies over the life cycle of a fish. So, natural mortality is scaled by the length of the fish. In this implementation, a reference age and $M$ value are read in, and other ages will have an $M$ scaled to its body size-at-age. However, if platoons are used, all will have the same $M$ as their growth pattern. Lorenzen $M$ calculation will be updated if the starting year growth parameters are active, but if growth parameters vary during the time series, the $M$ is not further updated. Additionally, the $M$ is linked to the length-at-age from the growth parameters and can't be used for an empirical weight-at-age model. Be careful in using Lorenzen when there is time-varying growth.
\myparagraph{Age-specific $M$ Linked to Age-Specific Length and Maturity}
This is an experimental option available as of v.3.30.17.
A general model for age- and sex-specific natural mortality expands a model developed by \citet{maunder2010bigeye} and \citet{maunder2011M} and is based on the following some assumptions:
\begin{enumerate}
\item $M$ for younger fish is due mainly to processes that are functions of the size of the individuals (e.g., predation);
\item $M$ increases after individuals become reproductively mature;
\item Maturity follows a logistic curve; and
% \item $M$ caused by reproduction may differ by sex, but juvenile $M$ is independent of sex; and
\item $M$ caused by senescence is either small or occurs at an age for which there are few fish alive, so it is not influential.
\end{enumerate}
The model is based on combining the observation that $M$ is inversely proportional to length for young fish \citep{lorenzen2000allometry} and the logistic model from \citet{lehodey2008spatial} for older fish. Natural mortality for a given sex and age is:
\begin{equation}
M_{a,s} = M_{juv,s}\frac{L_{a,s}}{L_{mat*,s}}^{\lambda} +
\frac{M_{mat,s}-M_{juv,s}\frac{L_{a,s}}{L_{mat*,s}}^{\lambda}}{1+e^{\beta_s(L_{a,s}- L_{50,s})}},
\end{equation}
where $M_{juv,s}$ (juvenile natural mortality), $\lambda$ (power), $L_{mat*,s}$ (first mature length of fish), and $M_{mat,s}$ (the mature instantaneous natural mortality rate by sex, are user inputs in long parameter lines. For sub-option 1, $L_{50}$ and $\beta$ (slope) parameters taken from the maturity relationship within the model, which must use maturity-fecundity option 1. For sub-option 3, the $L_{50,s}$ (the length at which 50\% of fish are mature) and $\beta$ (slope) parameters are specified in long parameter lines by the user.
Note that juvenile natural mortality, $M_{juv,s}$, and first mature length of fish, $L_{mat*,s}$, inputs are by sex (and growth pattern), but it is recommended to share them across sex by using the \hyperlink{offset}{offset option}. Using offset option 2 (males offset from females) causes male parameters to be an offset to the female parameters, so a parameter value of 0.0 for a male parameter will fix the parameter as same as the female parameter. Alternatively, using offset option 1 and setting males to 0.0 and not estimating the parameter fixes the parameter at the value of the female parameter (the \hyperlink{male-shortcut}{section on fixing male parameters the same as female parameters} has more details). This fulfills an additional assumption: $M$ caused by reproduction may differ by sex, but juvenile $M$ is independent of sex.
The length for a given age and sex, $L_{a,s}$ is calculated within the model.
Some suggested defaults for user-provided parameter inputs are:
\begin{itemize}
\item $\lambda = -1.5$ from \citet{gulland1987natural}
\item $M_{mat,s}=\frac{5.4}{t_{max,s}}$ from Hamel (submitted) if $t_{max}$ is available, otherwise $M_{mat,s} = 4.118K_{s}^{0.73}L_{inf,s}^{-0.33}$ as in \citet{then2015evaluating}
\item $M_{juv,s} = 3W_{mat}^{-0.288}$ from \citet{lorenzen1996relationship}
\end{itemize}
\myparagraph{Age-range Lorenzen}
The original implementation of Lorenzen natural mortality in Stock Synthesis uses a reference age and its associated natural mortality as inputs to determine the Lorenzen curve. However, sometimes this information is not known. The age-range Lorenzen instead uses a range of ages and the average natural mortality over them to calculate a Lorenzen natural mortality curve.
Like the original Lorenzen options, ages will have an $M$ scaled to its body size-at-age and care should be taken when there are multiple growth patterns or time-varying growth.
\myparagraph{Natural Mortality Options}
\begin{longtable}{p{0.5cm} p{2cm} p{12.75cm}}
\hline
\multicolumn{2}{l}{Typical Value} & Description and Options \Tstrut\Bstrut\\
\hline
\endfirsthead
\hline
\multicolumn{2}{l}{Typical Value} & Description and Options \Tstrut\Bstrut\\
\hline
\endhead
\hline
\endfoot
\endlastfoot
1 & & Natural Mortality Options: \Tstrut\\
& & 0 = A single parameter; \\
& & 1 = N breakpoints; \\
& & 2 = Lorenzen; \\
& & 3 = Read age specific $M$ and do not do seasonal interpolation; \\
& & 4 = Read age specific and do seasonal interpolation, if appropriate; \\
& & 5 = Age-specific $M$ linked to age-specific length and maturity (experimental); \\
& & 6 = Age-range Lorenzen. \Bstrut\\
\hline
\multicolumn{2}{l}{COND = 0} & No additional natural mortality controls. \Tstrut\Bstrut\\
\hline
\multicolumn{2}{l}{COND = 1} & \Tstrut\Bstrut\\
& 4 & Number of breakpoints. Then read a vector of ages for these breakpoints. Later, per sex $\times$ GP, read N parameters for the natural mortality at each breakpoint. \\
\multicolumn{2}{r}{2.5 4.5 9.0 15.0} & Vector of age breakpoints. \Bstrut\\
\hline
\multicolumn{2}{l}{COND = 2} & \Tstrut\\
& 4 \Tstrut & Reference age for Lorenzen natural mortality: read one additional integer value that is the reference age. Later read one long parameter line for each sex $\times$ growth pattern that will be the $M$ at the reference age. \\
\hline
\multicolumn{2}{l}{COND = 3 or 4} \Tstrut & Do not read any natural mortality parameters in the mortality growth parameter section. With option 3, these $M$ values are held fixed for the integer age (no seasonality or birth season considerations). With option 4, there is seasonal interpolation based on real age, just as in options 1 and 2.\\
& 0.20 0.25...0.20 0.23... & Age-specific $M$ values where in a 2 sex model the first row is female and the second row is male. If there are multiple growth patterns female growth pattern 1-N is read first followed by males 1-N growth pattern. \Bstrut\\
\hline
\multicolumn{2}{l}{COND = 5} \Tstrut & Age-specific $M$ linked to age-specific length and maturity sub-options. \\
& & 1 = Requires 4 long parameter lines per sex $\times$ growth pattern using maturity. Must be used with maturity option 1; \\
& & 2 = Reserved for future option; \\
& & 3 = Requires 6 long parameter lines per sex $\times$ growth pattern \Bstrut\\
\hline
\multicolumn{2}{l}{COND = 6} \Tstrut & Read two additional integer values that are the age range for average $M$. Later, read one long parameter line for each sex $\times$ growth pattern that will be the average $M$ over the reference age range. \\
& 0 \Tstrut & Minimum age of average $M$ range for calculating Lorenzen natural mortality. \\
& 10 \Tstrut & Maximum age of average $M$ range for calculating Lorenzen natural mortality. \\
\hline
\end{longtable}
\hypertarget{Growth}{}
\subsubsection[Growth]{\protect\hyperlink{Growth}{Growth}}
\myparagraph{Timing}
When fish recruit at the real age of 0.0 at settlement, they have body size equal to the lower edge of the first population size bin. The fish then grow linearly until they reach a real age equal to the input value ``growth-at-age for L1'' and have a size equal to the parameter value for L1 (the minimum length parameter). As they age further, they grow according the selected growth equation. The growth curve is calibrated to go through the size L2 parameter when they reach the age of maximum length.
\myparagraph{Maximum Length (Linf)}
If ``Growth at age for L2'' is set equal to 999, then the size at the L2 parameter is used as Linf.
\myparagraph{von Bertalanffy growth function}
The von Bertalanffy growth curve is parameterized as:
\begin{equation}
L_t = L_\infty + (L_{1}-L_\infty)e^{-k(a-A_{1})}
\end{equation}
with parameters $L_{1}$, $L_\infty$, and $k$. The $L_\infty$ is calculated as:
\begin{equation}
L_\infty = L_{1} + \frac{(L_2 - L_1)}{1-e^{-k(A2-A1)}}
\end{equation}
based on the input values of fixed age for first size-at-age ($A_1$) and fixed age for second size-at-age ($A_2$).
\myparagraph{Richards growth function}
The \citet{richards1959growth} growth model as parameterized by \citet{schnute1981growth} provides a flexible growth parameterization that allows for a variety of growth curve shapes. The Richards growth is invoked by entering option 2 in the growth type field. The Richards growth function uses the standard growth parameters ($L_1$, $L_2$, $k$) and a fourth shape parameter $b$ that is specified after the growth coefficient $k$.
The Richards growth model is parameterized as:
\begin{equation}
L_t = \left[L_1^b + (L_2^b-L_1^b)\frac{1-e^{-k(t-A_{1})}}{1-e^{-k(A_2-A_1)}}\right]^{1/b}
\end{equation}
with parameters $L_1$, $L_2$, $k$, and $b$.
The $b$ shape parameter can be positive or negative but not precisely 0. When estimating $b$ as a floating-point number, there is effectively no risk of the parameter becoming precisely zero during estimation, as long as the initial value is non-zero.
As special cases of the Richards growth model, $b\!=\!1$ is von Bertalanffy growth and $b$ near 0 is Gompertz growth. To use a Gompertz growth curve, the $b$ parameter can be fixed at a small value such as 0.0001.
When $A_1$ is greater than the youngest age in the model, some combinations of Richards growth parameters can lead to undefined (NaN) predicted length for the younger ages. The choice of $A_1$ and $A_2$ will affect the possible growth curve shapes.
The SS3 website includes \href{https://nmfs-ost.github.io/ss3-website/qmds/richards_growth_curve.html}{a vignette} providing further technical insights for using the Richards growth model in Stock Synthesis.
\myparagraph{Mean size-at-maximum age}
The mean size of fish in the max age bin depends upon how close the growth curve is to Linf by the time it reaches max age and the mortality rate of fish after they reach max age. Users specify the mortality rate to use in this calculation during the initial equilibrium year. This must be specified by the user and should be reasonably close to $M$ plus initial $F$. In v.3.30, this uses the von Bertalanffy growth out to 3 times the maximum population age and decays the numbers at age by exp(-value set here). For subsequent years of the time series, the model should update the size-at-maximum age according to the weighted average mean size of fish already at maximum age and the size of fish just graduating into maximum age. Unfortunately, this updating is only happening in years with time-varying growth. This will hopefully be fixed in the future version.
\myparagraph{Age-specific K}
This option creates age-specific K multipliers for each age of a user-specified age range, with independent multiplicative factors for each age in the range and for each growth pattern/sex. The null value is 1.0 and each age's K is set to the next earlier age's K times the value of the current age's multiplier. Each of these multipliers is entered as a full parameter line, so inherits all time-varying capabilities of full parameters. The lower end of this age range cannot extend younger than the specified age for which the first growth parameter applies. This is a beta model feature, so examine output closely to assure you are getting the size-at-age pattern you expect. Beware of using this option in a model with seasons within year because the K deviations are indexed solely by integer age according to birth year. There is no offset for birth season timing effects, nor is there any seasonal interpolation of the age-varying K.
\hypertarget{GrowthCessation}{}
\myparagraph{Growth cessation}
A growth cessation model was developed for the application to tropical tuna species \citep{maunder-growth-2018}. Growth cessation allows for a linear relationship between length and age, followed by a marked reduction of growth after the onset of sexual maturity by assuming linear growth for the youngest individuals and then a logistic function to model the decreasing growth rate at older ages.
\vspace*{-\baselineskip}
\begin{longtable}{p{0.5cm} p{2cm} p{12.5cm}}
\multicolumn{3}{l}{Example growth specifications:} \Tstrut\Bstrut\\
\hline
\multicolumn{2}{l}{Typical Value} & Description and Options \Tstrut\Bstrut\\
\hline
\endfirsthead
\hline
\multicolumn{2}{l}{Typical Value} & Description and Options \Tstrut\Bstrut\\
\hline
\endhead
\hline
\endfoot
\endlastfoot
1 & & Growth Model: \Tstrut\\
& & 1 = von Bertalanffy (3 parameters); \\
& & 2 = Schnute's generalized growth curve (aka Richards curve) with 3 parameters. Third parameter has null value of 1.0; \\
& & 3 = von Bertalanffy with age-specific K multipliers for specified range of ages, requires additional inputs below following the placeholder for future growth feature; \\
& & 4 = age-specific K. Set base K as K for age = N ages and working backwards and the age-specific K = K for the next older age * multiplier, requires additional inputs below following the placeholder for future growth feature; \\
& & 5 = age specific K. Set base K as K for N ages and work backwards and the age-specific K = base K * multiplier, requires additional inputs below following the placeholder for future growth feature; \\
& & 6 = not implemented; \\
& & 7 = not implemented; and \\
& & 8 = growth cessation. Decreases the K for older fish. If implemented, the Amin and Amax parameters, the next two lines, need to be set at 0 and 999 respectively. The mortality-growth parameter section requires the base K parameter line which is interpreted as the steepness of the logistic function that models the reduction in the growth increment by age followed by a second parameter line which is the parameter related to the maximum growth rate. \Bstrut\\
\hline
\Tstrut 1 & & Growth Amin (A1): Reference age for first size-at-age L1 (post-settlement) parameter. First growth parameter is size at this age; linear growth below this. \Bstrut\\
%\hline
\Tstrut 25 & & Growth Amax (A2): Reference age for second size-at-age L2 (post-settlement) parameter. Use 999 to treat as L infinity. \Bstrut\\
\hline
\Tstrut 0.20 & & Exponential decay for growth above maximum age (plus group: fixed at 0.20 in v.3.24; should approximate initial Z). Alternative Options: \\
& & -998 = Disable growth above maximum age (plus group) similar to earlier versions of SS3 (prior to v.3.24); and \\
& & -999 = Replicate the simpler calculation done in v.3.24. \Bstrut\\
\hline
0 & & Placeholder for a future growth feature. \Tstrut\Bstrut\\
\hline
\multicolumn{2}{l}{COND = 3} & Growth model: age-specific K age-specific K where the age-specific K parameter values are multipliers of the age - 1 K parameter value. For example, if the base parameter is 0.20 based on the example setup the K parameter for age 5 is equal to 0.20 * age-5 multiplier. Subsequently, age 6 K value is equal to age 5 K (0.20 * age-5 multiplier) multiplied by the age-6 multiplier. All ages above the maximum age with age-specific K are equal to the maximum age-specific K. The age specific K values are available in the Report file in the AGE\_SPECIFIC\_K section. \\
3 & & Number of K multipliers to read; \\
& 5 & Minimum age for age-specific K; and \\
& 6 & Second age for age-specific K; and \\
& 7 & Maximum age for age-specific K. \Bstrut\\
\multicolumn{2}{l}{COND = 4} & Growth model: age-specific K where the age-specific K parameter values are multipliers of the age + 1 K parameter value. For example, if the base parameter is 0.20 based on the example setup the K parameter for age 7 is equal to 0.20 * age-7 multiplier. Subsequently, age 6 K value is equal to age 7 K (0.20 * age-7 multiplier) multiplied by the age-6 multiplier. All ages below the minimum age with age-specific K are equal to the minimum age-specific K. The age specific K values are available in the Report file in the AGE\_SPECIFIC\_K section. \\
3 & & Number of K multipliers to read; \\
& 7 & Maximum age for age-specific K; \\
& 6 & Second age for age-specific K; and \\
& 5 & Minimum age for age-specific K. \Bstrut\\
\hline
\multicolumn{2}{l}{COND = 5} & Growth model: age-specific K where the age-specific K parameter values are multipliers of the base K parameter value. For example, if the base parameter is 0.20 based on the example setup the K parameter for age 7 is equal to 0.20 * age-7 multiplier. Subsequently, age 6 K value is equal 0.20 * age-6 multiplier. The age specific K values are available in the Report file in the AGE\_SPECIFIC\_K section. \\
3 & & Number of K multipliers to read; \\
& 7 & Maximum age for age-specific K; \\
& 6 & Second age for age-specific K; and \\
& 5 & Minimum age for age-specific K. \Bstrut\\
\hline
\Tstrut 0 & & Standard deviation added to length-at-age: Enter 0.10 to mimic SS2 V1.xx. Recommend using a value of 0.0. \Bstrut\\
\hline
1 & & \gls{cv} Pattern (cannot be time-varying) \Tstrut\\
& & 0: CV=f(LAA), so the 2 parameters are in terms of \gls{cv} of the distribution of length-at-age (LAA) and the interpolation between these 2 parameters is a function of mean length-at-age; \\
& & 1: CV=f(A), so interpolation is a function of age (A); \\
& & 2: SD=f(LAA), so parameters define the \gls{sd} of length-at-age and interpolation is a function of mean length-at-age; \\
& & 3: SD=f(A); and \\
& & 4: Log-normal distribution of size-at-age. Input parameters will specify the \gls{sd} of natural log size-at-age (e.g., entered values will typically be between 0.05 and 0.15). A bias adjustment is applied so the log-normal distribution of size-at-age will have the same mean size as when a normal distribution is used. \Bstrut\\
\hline
\end{longtable}
\hypertarget{Mat-Fec}{}
\subsubsection[Maturity-Fecundity]{\protect\hyperlink{Mat-Fec}{Maturity-Fecundity}}
\begin{longtable}{p{0.5cm} p{2cm} p{13cm}}
\hline
\multicolumn{2}{l}{Typical Value} & Description and Options \Tstrut\Bstrut\\
\hline
\endfirsthead
\hline
\multicolumn{2}{l}{Typical Value} & Description and Options \Tstrut\Bstrut\\
\hline
\endhead
\hline
\endfoot
\endlastfoot
2 & & Maturity Option: \Tstrut\\
& & 1 = length logistic; \\
& & 2 = age logistic; \\
& & 3 = read maturity-at-age for each female growth pattern; \\
& & 4 = read a fecundity ``x'' maturity-at-age vector for all ages; \\
& & 5 = disabled; and \\
& & 6 = read vector of length-based maturity values. \\
& & Note: need to read 2 parameter lines (maturity at 50\% and maturity slope) even if option 3 or 4 is selected. \Bstrut\\
\hline
\multicolumn{2}{l}{COND = 3 or 4} & Maturity Option \Tstrut\\
\multicolumn{2}{r}{0 0.05 0.10...} & Vector of age-specific maturity or fecundity. One row of length N ages + 1 based on the maximum population age for each female growth pattern. \Bstrut\\
\multicolumn{2}{l}{COND = 6} & Maturity Option \Tstrut\\
\multicolumn{2}{r}{0 0.05 0.10...} & Vector of length-specific maturity or fecundity, based on the population length bins. One row of length equal to the number of population length bins (defined in the data file) for each female growth pattern. \Bstrut\\
\hline
\Tstrut 1 & & First Mature Age: all ages below the first mature age will have maturity set to zero. This value is overridden if maturity option is 3 or 4 or if empirical weight-at-age (\texttt{wtatage.ss}) is used, but still must exist here. \Bstrut\\
\hline
\Tstrut 1 & & Fecundity Option (irrelevant if maturity option is 4 or \texttt{wtatage.ss} is used): \\
& & 1 = to interpret the 2 egg parameters as linear eggs/kg on body weight (current default), so fecundity = $wt*(a+b*wt)$, so value of a=1, b=0 causes eggs to be equivalent to spawning biomass; \\
& & 2 = to set fecundity= $a*L^b$; \\
& & 3 = to set fecundity= $a*W^b$, so values of a=1, b=1 causes fecundity to be equivalent to spawning biomass; \\
& & 4 = fecundity = $a+b*L$; and \\
& & 5 = eggs = $a+b*wt$. \Bstrut\\
\hline
\end{longtable}
% \pagebreak
\hypertarget{Hermaphroditism}{}
\subsubsection[Hermaphroditism]{\protect\hyperlink{Hermaphroditism}{Hermaphroditism}}
Sequential hermaphroditism can be modeled in Stock Synthesis by having recruits be all female or all male and then defining a 3-parameter function which represents the annual age-specific probability of transition to the other sex. In a seasonal model, the transition can occur after each season or just once per year. There are also settings to control the first age which transitions and the contribution of males to the spawning biomass calculations.
The \hyperlink{SexRatio}{fraction female} parameter should be configured to reflect the fraction of age 0 fish of each sex. Values of 0 or 1 may lead to NaN likelihoods, so we recommend changing values that would be fixed at 0 or 1 to 0.000001 or 0.999999.
\begin{longtable}{p{0.5cm} p{2cm} p{13cm}}
\hline
\multicolumn{2}{l}{Typical Value} & Description and Options \Tstrut\Bstrut\\
\hline
\endfirsthead
\hline
\multicolumn{2}{l}{Typical Value} & Description and Options \Tstrut\Bstrut\\
\hline
\endhead
\hline
\endfoot
\endlastfoot
0 & & Hermaphroditism Option: \Tstrut\\
& & 0 = not used; \\
& & 1 = invoke female-to-male age-specific function; and \\
& & -1 = invoke male-to-female age-specific function.\Bstrut\\
\hline
\multicolumn{2}{l}{COND = 1 or} \Tstrut & \\
\multicolumn{2}{l}{COND = -1} & Read 2 lines below if hermaphroditism is selected. Also read 3 parameters after reading the male weight-length parameters. \Bstrut\\
& -1.2 & Hermaphroditism Season / First Age: \\
& & -1 to do transition at the end of each season (after mortality and before movement); or \\
& & <positive integer> to select just one season. \\
& & If fractional part included (optional), indicates first age that transitions (otherwise, age 1 assumed). \\
& 0.5 & Fraction of males to include in spawning biomass; \\
& & 0 = no males in spawning biomass; \\
& & fraction of male biomass to include in spawning biomass; and \\
& & 1 = simple addition of males to females. \Bstrut\\
\hline
\end{longtable}
\vspace*{-\baselineskip}
The hermaphroditism option requires three full parameter lines in the \hyperlink{HermaphroditeBiology}{mortality and growth section}. These parameters control a cumulative normal distribution function as follows:
\begin{enumerate}
\item The inflection age where the transition rate is halfway from 0 to its asymptote.
\item The standard deviation of the cumulative normal (such that about 95\% of the increase in transition rate occurs within 2 standard deviations of the inflection point).
\item The asymptotic transition rate (the highest proportion that will transition to the other sex in a time step).
\end{enumerate}
These parameter lines are entered directly after the weight-at-length parameters for males.
% \pagebreak
\hypertarget{offset}{}
\subsubsection[Natural Mortality and Growth Parameter Offset Method]{\protect\hyperlink{offset}{Natural Mortality and Growth Parameter Offset Method}}
The most common setup for natural mortality and growth parameters for two-sex models is direct assignment (option 1) which allows for independent estimation (or fixing) of natural mortality and growth parameters by sex. Within the direct assignment option there is functionality to set male parameters equal to the corresponding female parameter if the male INIT value is set to 0 and the phase is negative.
Alternatively, there may be situations where a user wants to create direct linkages between natural mortality and growth parameters between sexes (options 2 or 3). If the parameter offset option 2 is selected, the control file still requires that all male natural mortality and growth parameters lines to be included. The natural mortality and growth parameters (e.g., k, Lmin, Lmax, CV1, CV2) for sex > 1 (typically male fish) have a value that is an exponential offset to the female natural mortality and growth parameters, e.g., $M_{\text{male}} = M_{\text{female}}*exp(M_{\text{male offset}})$. An offset parameter can be fixed at 0.0, at a non-zero value, or estimated.
Parameter offset option 3 has an offset feature for the growth \gls{cv} and for natural mortality. For the growth \gls{cv}, the parameter for \gls{cv} at old age is an exponential offset from the parameter for \gls{cv} at young age, e.g., $CV_{\text{old}} = CV_{\text{young}}*exp(CV_{\text{offset}})$. This allows for \gls{cv} old to track an estimated \gls{cv} young parameter. For natural mortality, if there is more than 1 natural mortality parameter, then parameters 2 and higher for the same sex and growth pattern are exponential offsets from the first natural mortality parameter. Note that it is an old feature designed to work with natural mortality option 1 (breakpoints). It may work with natural mortality options 3 and 4, but this has not been tested.
\begin{longtable}{p{0.5cm} p{2cm} p{13cm}}
\hline
\multicolumn{2}{l}{Typical Value} & Description and Options \Tstrut\Bstrut\\
\hline
\endfirsthead
\hline
\multicolumn{2}{l}{Typical Value} & Description and Options \Tstrut\Bstrut\\
\hline
\endhead
\hline
\endfoot
\endlastfoot
1 & & Parameter Offset Method: \Tstrut\Bstrut\\
& & 1 = direct assignment; \\
& & 2 = for each growth pattern by sex, parameter defines offset from sex 1, offsets are in exponential terms, so for example: $M_{\text{old male}} = M_{\text{old female}}*exp(M_{\text{old male}})$; and \\
& & 3 = for each growth pattern by sex, parameter defines offset from growth pattern 1 sex 1. For females, given that ``natM option'' is breakpoint and there are two breakpoints, parameter defines offset from early age (e.g., $M_{\text{old female}} = M_{\text{young female}}*exp(M_{\text{old female}}$). For males, given that ``natM option'' is breakpoint and there are two breakpoints, parameter is defined as offset from females AND from early age (e.g., $M_{\text{old male}} = M_{\text{young female}}*exp(M_{\text{young male}})*exp(M_{\text{old male}})$). \Bstrut\\
\hline
\end{longtable}
\hypertarget{CatchMult}{}
\subsubsection[Catch Multiplier]{\protect\hyperlink{CatchMult}{Catch Multiplier}}
These parameter lines are only included in the control file if the catch multiplier field in the data file is set to 1 for a fleet. The model expected catch $C_{exp}$ by fleet is estimated by:
\begin{equation}
C_{exp} = \frac{C_{obs}}{c_{mult}}
\end{equation}
where $C_{obs}$ is the input catch by fleet (observed catch) within the data file and $c_{mult}$ is the estimated (or fixed) catch multiplier. It has year-specific, not season-specific, time-varying capabilities. In the catch likelihood calculation, expected catch is multiplied by the catch multiplier by year and fishery to get $C_{obs}$ before being compared to the observed retained catch as modified by the $c_{mult}$.
\hypertarget{AgeErrorParam}{}
\subsubsection[Ageing Error Parameters]{\protect\hyperlink{AgeErrorParam}{Ageing Error Parameters}}
These parameters are only included in the control file if one of the ageing error definitions in the data file has requested this feature (by putting a negative value for the ageing error of the age zero fish of one ageing error definition). As of v.3.30.12, these parameters now have time-varying capability. Seven additional full parameter lines are required. The parameter lines specify:
\begin{enumerate}
\item Age at which the estimated pattern begins (just linear below this age), this is the start age.
\item Bias at start age (as additive offset from unbiased age).
\item Bias at maximum (as additive offset from unbiased age).
\item Power function coefficient for interpolating between those 2 values (value of 0.0 produces linear interpolation in the bias).
\item Standard deviation at start age.
\item Standard deviation at max age.
\item Power function coefficient for interpolating between those 2 values.
\end{enumerate}
\noindent Code for implementing vectors of mean age and standard deviation of age can be located online within the \href{https://github.com/nmfs-ost/ss3-source-code/blob/main/SS_miscfxn.tpl}{SS\_miscfxn.tpl} file, search for function ``get\_age\_age'' or ``SS\_Label\_Function 45''.
\hypertarget{SexRatio}{}
\subsubsection[Sex Ratio]{\protect\hyperlink{SexRatio}{Sex Ratio}}
The last line in the mortality-growth parameter section allows the user to fix or estimate the sex ratio between female and male fish at recruitment. The parameter is specified in the fraction of female fish and is applied at settlement. The default option is a sex ratio of 0.50 with this parameter not being estimated. Any composition data input as type = 3, both sexes, will be informative to the sex ratio because it scales females and males together, not separately, for this data type input. Estimation of the sex ratio is a new feature and should be done with care with the user checking that the answer is reflective of the data.
As of v.3.30.12, this parameter now has time-varying capability similar to other parameters in the mortality-growth section.
\subsubsection{Predator Fleet Mortality}
The ability to define a predator fleet was first implemented in v.3.30.18. A parameter line for predator mortality is only required if a predator fleet has been defined in the data file. For each fleet that is designated as a predator, a new parameter line is created in the \gls{mg} section in the control file. This parameter will have the label $M2\text{\_pred1}$, where the ``1'' is the index for the predator (not the index of the fleet being used as a predator). More than one predator can be included. If the model has > 1 season, it is normal to expect $M2$ to vary seasonally. Therefore, only if the number of seasons is greater than 1, follow each $M2$ parameter with number of season parameters to provide the seasonal multipliers. These are simple multipliers times $M2$, so at least one of these needs to have a non-estimated value. The set of multipliers can be used to set $M2$ to only operate in one season if desired. If there is more than one predator fleet, each will have its own seasonal multipliers. If there is only 1 season in the model, then no multiplier lines are included.
$M2$ is age-specific, but not sex or morph specific. The value of the $M2$ parameter will be distributed across ages according to the selectivity for this fleet. In this example note that ``pred1'' refers to the first predator in the model, note the fleet number in which that predator has been 3 configured. The resultant age-specific $M2$ is added to the base $M$ to create a total age-specific $M$ that operates in the model exactly as $M$ has always operated.
Because $M2$ is a \gls{mg}, it can be time-varying like any other \gls{mg}. This is important because $M2$, as a component added to base $M$, will probably always need to be time-varying by blocks, random walk or linkage to external driver. A time series of $M2$ from an external source could be input by setting the $M2$ parameter to have a base value of 0.0 and linking to the time series in the environmental data section of the data file using an additive link. In addition, the relationship should have a fixed slope of 1.0 such that $M2(y) = 0.0 + 1.0 * M2\text{\_env\_input}(y)$.
Note that all existing reports of natural mortality are the total (base $M$ + $M2$) natural mortality. The $M2$ parameter is active in the virgin year and initial equilibrium year, where the value of $M2$ in the start year is used. In the future, separate control of $M2$ for the initial equilibrium will be provided. $M2$ is part of the total $M$ used in the \gls{spr} and \gls{msy} benchmark calculations. $M2$ is active in the forecast era, so be attentive to its configuration if it is time-varying. Testing to date shows that this $M2$ feature can replicate previous results using bycatch fleets.
Note that predator calculations probably will fail if tried with $F$ Method = 1 (Pope's), even though the Pope calculation is built into the hybrid $F$ approach.
\hypertarget{ReadBioParams}{}
\subsubsection[Read Biology Parameters]{\protect\hyperlink{ReadBioParams}{Read Biology Parameters}}
\hypertarget{MGorder}{}
Next, the model reads the \gls{mg} parameters in generally the following order (may vary based on selected options):
\begin{longtable}{p{1cm} p{2.25cm} p{10cm}}
\hline
Parameter & & Description \Tstrut\Bstrut\\
\hline
\endfirsthead
\hline
Parameter & & Description \Tstrut\Bstrut\\
\hline
\endhead
\hline
\endfoot
\endlastfoot
\multicolumn{2}{l}{Females}\Tstrut & Female natural mortality and growth parameters in the following order by growth pattern. \\
& $M$ & Natural mortality for female growth pattern 1, where the number of natural mortality parameters depends on the option selected. \Bstrut\\
\hline
\multicolumn{2}{l}{COND if $M$ option = 1} & \Tstrut\\
& N breakpoints & N-1 parameter lines as an exponential offsets from the previous reference age. \Bstrut\\
\hline
& Lmin & Length at Amin (units in cm) for female, growth pattern 1. \\
& Lmax & Length at Amax (units in cm) for female, growth pattern 1. \\
& VBK & von Bertalanffy growth coefficient (units are per year) for females, growth pattern 1. \Bstrut\\
\hline
\multicolumn{2}{l}{COND if growth type = 2} & \Tstrut\\
& Richards Coefficient & Only include this parameter if Richards growth function is used. If included, a parameter value of 1.0 will have a null effect and produce a growth curve identical to von Bertalanffy. \\
\multicolumn{2}{l}{COND if growth type >= 3} & Age-Specific K \\
& \multicolumn{2}{l}{N parameter lines equal to the number K deviations for the ages specified above.} \Bstrut\\
\hline
\Tstrut & \gls{cv} young & Variability for size at age $<=$ Amin for females, growth pattern 1. Note that \gls{cv} cannot vary over time, so do not set up env-link or a deviation vector. Also, units are either as \gls{cv} or as standard deviation, depending on assigned value of \gls{cv} pattern. \\
& \gls{cv} old & Variability for size at age $>=$ Amax for females, growth pattern 1. For intermediate ages, do a linear interpolation of \gls{cv} on means size-at-age. Note that the units for \gls{cv} will depend on the \gls{cv} pattern and the value of mortality-growth parameter as offset. The \gls{cv} value cannot vary over time. \Bstrut\\
\hline
\Tstrut & WtLen scale & Coefficient to convert length in cm to weight in kg for females. \\
& WtLen exp & Exponent in to convert length to weight for females. \\
& Mat-50\% & Maturity logistic inflection (in cm or years) where female maturity-at-length (or age) is a logistic function: $M_{l} = 1/(1+exp(\alpha*(l_{a} - \beta)))$. The $\alpha$ is the slope, $l_{a}$ is the size-at-age, and $\beta$ is the inflection of the maturity curve. Value ignored for maturity option 3, 4, and 6. \\
& Mat-slope & Logistic slope (must have negative value). Value ignored for maturity option 3, 4, and 6. \\
& Eggs-alpha & Two fecundity parameters; usage depends on the selected fecundity option. Must be included here even if vector is read in the control section above. \\
& Eggs-beta & \Bstrut\\
\hline
\multicolumn{2}{l}{COND: growth pattern > 1} \Tstrut & Repeat female parameters in the above order for growth pattern 2. \Bstrut\\
\hline
\multicolumn{2}{l}{Males} \Tstrut & Male natural mortality and growth parameters in the following order by growth pattern. \Bstrut\\
& $M$ & Natural mortality for male GP1, where the number of natural mortality parameters depends on the option selected. \Bstrut\\
\hline
\multicolumn{2}{l}{COND if $M$ option = 1} & \Tstrut\\
& N breakpoints & N-1 parameter lines as an exponential offsets from the previous reference age. \Bstrut\\
\hline
& Lmin & Length at Amin (units in cm) for male, growth pattern 1. In a two sex model, fixing the INIT value a 0 will assume the same Lmin as the female parameter value. \\
& Lmax & Length at Amax (units in cm) for male, growth pattern 1. In a two sex model, fixing the INIT value a 0 will assume the same Lmax as the female parameter value. \\
& VBK & von Bertalanffy growth coefficient (units are per year) for males, growth pattern 1. In a two sex model, fixing the INIT value a 0 will assume the same k as the female parameter value. \Bstrut\\
\hline
\multicolumn{2}{l}{COND if growth type = 2} & \Tstrut\\
& Richards Coefficient & Only include this parameter if Richards growth function is used. If included, a parameter value of 1.0 will have a null effect and produce a growth curve identical to Bertalanffy. \\
\multicolumn{2}{l}{COND if growth type = 3} & Age-Specific K \\
& \multicolumn{2}{l}{N parameter lines equal to the number K deviations for the ages specified above.} \Bstrut\\
\hline
\Tstrut & \gls{cv} young & Variability for size at age $<=$ Amin for males, GP1. Note that \gls{cv} cannot vary over time, so do not set up env-link or a deviation vector. Also, units are either as \gls{cv} or as standard deviation, depending on assigned value of \gls{cv} pattern. \\
& \gls{cv} old & Variability for size at age $>=$ Amax for males, growth pattern 1. For intermediate ages, do a linear interpolation of \gls{cv} on means size-at-age. Note that the units for \gls{cv} will depend on the \gls{cv} pattern and the value of mortality-growth parameters as offset. \\
\hline
\Tstrut & WtLen scale & Coefficient to convert length in cm to weight in kg for males. \\
& WtLen exp & Exponent to convert length to weight for males. \Bstrut\\
%\hline
\multicolumn{2}{l}{COND: growth pattern > 1} \Tstrut & Repeat male parameters in the above order for growth pattern 2. \\
\hline
\multicolumn{2}{l}{\hypertarget{HermaphroditeBiology}{COND: Hermaphroditism}} \Tstrut & 3 parameters lines define a cumulative normal distribution for the transition rate of females to males (or vice versa). For more detail on these parameters, see the description \hyperlink{Hermaphroditism}{Hermaphroditism controls} above.\\
& Inflect Age & Hermaphrodite inflection age where the transition rate is halfway from 0 to its asymptote. \\
& \gls{sd} & Hermaphrodite standard deviation of the cumulative normal. \\
& Asmp Rate & Hermaphrodite asymptotic transition rate. \Bstrut\\
\hline
\multicolumn{2}{l}{COND: Recruitment Distribution} \Tstrut & 3 parameters lines defining recruitment distribution. See \hyperlink{recdist}{Recruitment Distribution and Parameters} for more details about recruitment apportionment parameterization. \\
\multicolumn{2}{l}{Method = 2} \Tstrut & \\
& & \\
\multicolumn{2}{l}{Recruitment Dist. GP} \Tstrut & Recruitment apportionment by growth pattern, if multiple growth patterns, multiple entries required. \\
\multicolumn{2}{l}{Recruitment Dist. Area} & Recruitment apportionment by area, if multiple areas, multiple entries required. \\
\multicolumn{2}{l}{Recruitment Dist. Month} & Recruitment apportionment by month, if multiple months, multiple entries required. \Bstrut\\
\hline
\multicolumn{2}{l}{COND: Recruitment Distribution} \Tstrut & 1 parameter line for each settlement event defining the distribution of recruitment among them. See \hyperlink{recdist}{Recruitment Distribution and Parameters} for more details about recruitment apportionment parameterization. \\
\multicolumn{2}{l}{Method = 3} \Tstrut & \\
& & \\
\multicolumn{2}{l}{Recruitment Dist. 1} \Tstrut & Recruitment apportionment parameter for the 1st settlement event. \\
\multicolumn{2}{l}{Recruitment Dist. 2} & Recruitment apportionment parameter for the 2nd settlement event. \Bstrut\\
\hline
\multicolumn{2}{l}{Cohort growth deviation} \Tstrut & Set equal to 1.0 and do not estimate; it is deviations from this base that matter. \Bstrut\\
\hline
\multicolumn{2}{l}{2 $\times$ N selected movement pairs} & Movement parameters \Tstrut\Bstrut\\
\hline
\multicolumn{3}{l}{COND: The following lines are only required when the associated features are turned on.} \Tstrut\\
& Platoon StDev Ratio & \\
& Ageing Error & Turned on in the data file. \\
& Catch Multiplier & For each fleet selected for this option in the data file. \\
\hline
\multicolumn{2}{l}{Fraction female}\Tstrut & \raisebox{0.1\ht\strutbox}{\hypertarget{SexRatio}{Fraction}} female at the time of recruitment by growth pattern, if multiple growth patterns, multiple entries required. \Bstrut\\
\hline
\multicolumn{3}{l}{COND: The following lines are only required when predator fleets are invoked.} \Tstrut\\
& $M2$ Predator & Turned on in the data file. \\
\hline
\end{longtable}
Example format for mortality-growth parameter section with 2 sexes, 2 areas.
Parameters marked with COND are conditional on selecting that feature:
\begin{longtable}{p{1.1cm} p{1.1cm} p{1.1cm} p{1.1cm} p{1.5cm} p{1.1cm} p{6.75cm}}
\hline
& & & Prior & <other & Block & \Tstrut\\
LO & HI & INIT & Value & entries> & Fxn & Parameter Label \Bstrut\\
\hline
\endfirsthead
\hline
& & & Prior & <other & Block & \Tstrut\\
LO & HI & INIT & Value & entries> & Type & Parameter Label \Bstrut\\
\hline
\endhead
\hline
\endfoot
\endlastfoot
0 & 0.50 & 0.15 & 0.1 & \multicolumn{1}{c}{...} & 0 & \#NatM\_p\_1\_Fem\_GP\_1 \Tstrut\\
0 & 45 & 21 & 36 & \multicolumn{1}{c}{...} & 0 & \#L\_at\_Amin\_Fem\_GP\_1 \\
40 & 90 & 70 & 70 & \multicolumn{1}{c}{...} & 0 & \#L\_at\_Amax\_Fem\_GP\_1 \\
0 & 0.25 & 0.15 & 0.10 & \multicolumn{1}{c}{...} & 0 & \#VonBert\_K\_Fem\_GP\_1 \\
0.10 & 0.25 & 0.15 & 0.20 & \multicolumn{1}{c}{...} & 0 & \#CV\_young\_Fem\_GP\_1 \\
0.10 & 0.25 & 0.15 & 0.20 & \multicolumn{1}{c}{...} & 0 & \#CV\_old\_Fem\_GP\_1 \\
-3 & 3 & 2e-6 & 0 & \multicolumn{1}{c}{...} & 0 & \#Wtlen\_1\_Fem \\
-3 & 4 & 3 & 3 & \multicolumn{1}{c}{...} & 0 & \#Wtlen\_2\_Fem \\
50 & 60 & 55 & 55 & \multicolumn{1}{c}{...} & 0 & \#Mat50\%\_Fem \\
-3 & 3 & -0.2 & -0.2 & \multicolumn{1}{c}{...} & 0 & \#Mat\_slope\_Fem \\
-5 & 5 & 0 & 0 & \multicolumn{1}{c}{...} & 0 & \#Eggs/kg\_inter\_Fem \\
-50 & 5 & 0 & 0 & \multicolumn{1}{c}{...} & 0 & \#Eggs/kg\_slope\_wt\_Fem \\
0 & 0.50 & 0.15 & 0.1 & \multicolumn{1}{c}{...} & 0 & \#NatM\_p\_1\_Mal\_GP\_1 \\
0 & 45 & 21 & 36 & \multicolumn{1}{c}{...} & 0 & \#L\_at\_Amin\_Mal\_GP\_1 \\
40 & 90 & 70 & 70 & \multicolumn{1}{c}{...} & 0 & \#L\_at\_Amax\_Mal\_GP\_1 \\
0 & 0.25 & 0.15 & 0.10 & \multicolumn{1}{c}{...} & 0 & \#VonBert\_K\_Mal\_GP\_1 \\
0.10 & 0.25 & 0.15 & 0.20 & \multicolumn{1}{c}{...} & 0 & \#CV\_young\_Mal\_GP\_1 \\
0.10 & 0.25 & 0.15 & 0.20 & \multicolumn{1}{c}{...} & 0 & \#CV\_old\_Mal\_GP\_1 \\
-3 & 3 & 2e-6 & 0 & \multicolumn{1}{c}{...} & 0 & \#Wtlen\_1\_Mal \\
-3 & 4 & 3 & 3 & \multicolumn{1}{c}{...} & 0 & \#Wtlen\_2\_Mal \\
0 & 0 & 0 & 0 & \multicolumn{1}{c}{...} & 0 & \#RecrDist\_GP\_1 \\
0 & 0 & 0 & 0 & \multicolumn{1}{c}{...} & 0 & \#RecrDist\_Area\_1 \\
0 & 0 & 0 & 0 & \multicolumn{1}{c}{...} & 0 & \#RecrDist\_Area\_2 \\
0 & 0 & 0 & 0 & \multicolumn{1}{c}{...} & 0 & \#RecrDist\_Settlement\_1 \\
0.2 & 5 & 1 & 1 & \multicolumn{1}{c}{...} & 0 & \#Cohort\_Grow\_Dev \\
-5 & 5 & -4 & 1 & \multicolumn{1}{c}{...} & 0 & \#Move\_A\_seas1\_GP1\_from\_1to2 (COND) \\
-5 & 5 & -4 & 1 & \multicolumn{1}{c}{...} & 0 & \#Move\_B\_seas1\_GP1\_from\_1to2 (COND) \\
-99 & 99 & 1 & 0 & \multicolumn{1}{c}{...} & 0 & \#AgeKeyParm1 (COND) \\
-99 & 99 & 0.288 & 0 &...& 0 & \#Age\_Key\_Parms 2 to 5 (COND) \\
-99 & 99 & 0.715 & 0 &...& 0 & \#Age\_Key\_Parm6 (COND) \\
0.2 & 3.0 & 1.0 & 0 &...& 0 & \#Catch\_mult\_fleet1 (COND) \\
0.001 & 0.999 & 0.5 & 0.5 &...& 0 & \#Frac\_Female\_GP\_1 \\
-1.0 & 2 & 0 & 0 &...& 0 & \#PredM2\_4 \Bstrut\\
\hline
\end{longtable}
\hypertarget{male-shortcut}{}
\myparagraph{Setting Male Parameters Equal to Females}
The model allows a short-cut for males to use the same parameter values as female fish for natural mortality, length minimum (Length at Amin), maximum length (Length at Amax), coefficient at younger ages (CV1), coefficient at older ages (CV2), and the growth coefficient (K) when using offset option = 1 (the \hyperlink{offset}{offset section} has information on the options available). If the INIT parameter value for males is set equal to 0.0 and the phase set to negative, not estimated, each of these male parameters will use the corresponding female parameter value for the males.
\hypertarget{TVParams}{}
\subsubsection[Time-varying Parameters]{\protect\hyperlink{TVParams}{Time-varying Parameters}}
Please see \hyperlink{tvOrder}{the Time-Varying Parameter Specification and Setup section} for details on how to set up time varying parameters. In short, additional short parameter lines will be needed after the long parameter lines. There are some \hyperlink{tvgrowth}{additional considerations} for time-varying growth.
\hypertarget{SeasBio}{}
\subsubsection[Seasonal Biology Parameters]{\protect\hyperlink{SeasBio}{Seasonal Biology Parameters}}
Seasonal effects are available for weight-length parameters, maturity, fecundity, and for the growth parameter K. The seasonal parameter values adjust the base parameter value for that season.
\begin{equation}
P'=P*exp(\text{seas\_value})
\end{equation}
\begin{longtable}{p{1cm} p{4cm} p{10cm}}
\multicolumn{3}{l}{Control file continued:} \\
\hline
Value & & Description \Tstrut\Bstrut\\
\hline
\endfirsthead
\hline
Value & & Description \Tstrut\Bstrut\\
\hline
\endhead
\endfoot
\endlastfoot
\multicolumn{2}{l}{0 0 0 0 0 0 0 0 0 0}\Tstrut & Seasonality for selected biology parameters (not a conditional input). Read 10 integers to specify which biology parameters have seasonality: female-wtlen1, female-wtlen2, maturity1, maturity2, fecundity1, fecundity2, male-wtlen1, male-wtlen2, L1, K. Reading a positive value selects that factor for seasonality. \Bstrut\\
\hline
\multicolumn{3}{l}{COND: If any factors have seasonality, then read N seasons parameters that define the} \Tstrut\\
\multicolumn{3}{l}{seasonal offsets from the base parameter value.} \\