forked from nmfs-ost/ss3-doc
-
Notifications
You must be signed in to change notification settings - Fork 0
/
7forecast.tex
374 lines (292 loc) · 27.3 KB
/
7forecast.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
\section{Forecast File}
The specification of options for forecasts is contained in the mandatory input file named forecast.ss. Additional details on the forecast module process are provided on page \pageref{sec:forecast}.
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.
\begin{landscape}
\hypertarget{fore-specify}{}
\subsection{Forecast File Options (forecast.ss)}
{
\setlength\extrarowheight{4pt}
\begin{longtable}{p{3.2cm} p{7cm} p{10.8cm}}
\hline
\textbf{Value} & \textbf{Options} & \textbf{Description}\Tstrut\Bstrut\\
\hline
\endfirsthead
\hline
\textbf{Value} & \textbf{Options} & \textbf{Description}\Tstrut\Bstrut\\
\hline
\endhead
\hline
\endfoot
\hline
\multicolumn{3}{ c }{ \textbf{End of Forecast File}}\\
\hline
\endlastfoot
1 & \hyperlink{Benchmark}{Benchmarks/Reference Points:} & \multirow{1}{1cm}[-0.1cm]{\parbox{11cm}{SS3 checks for consistency of the Forecast specification and the benchmark specification. It will turn benchmarks on if necessary and report a warning.}}\Tstrut\\
& 0 = omit; & \\
& 1 = calculate F\textsubscript{SPR}, F\textsubscript{Btarget}, and F\textsubscript{MSY}; & \\
& 2 = calculate F\textsubscript{SPR}, F\textsubscript{MSY}, F\textsubscript{0.10}; and & \\
& 3 = add F at B\textsubscript{LIMIT} \Bstrut\\
\hline
1 & MSY Method: & \multirow{1}{1cm}[-0.1cm]{\parbox{11cm}{Specifies basis for calculating a single population level F\textsubscript{MSY} value.}}\Tstrut\\
& 1 = F\textsubscript{SPR} as proxy; & \\
& 2 = calculate F\textsubscript{MSY}; & \\
& 3 = F\textsubscript{Btarget} as proxy or F\textsubscript{0.10}; & \\
& 4 = F\textsubscript{end year} as proxy; and & \\
& 5 = F\textsubscript{MEY}. & \Bstrut\\
%\hline
\multicolumn{2}{l}{COND: MSY Method = 5} & \Tstrut\\
1 & Maximum economic yield (MEY) units & \\
& 1 = dead biomass; & \\
& 2 = dead biomass without excluded bycatch fleet; & \\
& 3 = retained biomass; and & \\
& 4 = profits using price and costs. & \\
\pagebreak
\multicolumn{1}{r}{1 0 0 1 } & MEY options - Fleet, Cost/F, Price/F, and Include F\textsubscript{MEY} in Optimization & \multirow{1}{1cm}[-0.1cm]{\parbox{11cm}{To calculate the F\textsubscript{MEY} enter fleet number, the cost per fishing mortality, price per mt, and whether optimization should adjust the fleet's F or keep it at the mean from the benchmark years (0 = no, 1= yes). Care should taken when scaling the values used for cost/F and price/mt. Units in the example show cost=0 and price = 1, so will be identical to MSY in weight. Note, if a fleet's catch is excluded from the F\textsubscript{MEY} search, its catch or profits are still included in the MSY value using historical F levels from benchmark years}} \Tstrut\\
\multicolumn{1}{r}{-9999 0 0 0 } & & \\
& & \\
& & \\
& & \\
& & \Bstrut\\
\hline
0.45 & SPR\textsubscript{target} & \multirow{1}{1cm}[-0.25cm]{\parbox{11cm }{ SS3 searches for F multiplier that will produce this level of spawning biomass per recruit (reproductive output) relative to unfished value.}} \Tstrut\\
& & \\
& & \\
\hline
0.40 & Relative Biomass Target & \multirow{1}{1cm}[-0.25cm]{\parbox{11cm }{ SS3 searches for F multiplier that will produce this level of spawning biomass relative to unfished value. This is not “per recruit” and takes into account the spawner-recruitment relationship.}} \Tstrut\\
& & \Bstrut\\
& & \Bstrut\\
\hline
\multicolumn{2}{l}{COND: Do Benchmark = 3} & \multirow{1}{1cm}[-0.1cm]{\parbox{11cm}{B\textsubscript{LIMIT} as a fraction of the B\textsubscript{MSY} where a negative value will be applied as a fraction of B0}}\Tstrut\\
& -0.25 & \\
& & \Bstrut\\
\hline
0 0 0 0 0 0 0 0 0 0 & Benchmark Years: & \multirow{1}{1cm}[-0.25cm]{\parbox{11cm }{ Requires 10 values, beginning and ending years for (1,2) biology (e.g., growth, natural mortality, maturity, fecundity), (3,4) selectivity, (5,6) relative Fs, (7,8) movement and recruitment distribution; (9,10) stock-recruitment parameters for averaging years in calculating benchmark quantities.}} \Tstrut\\
& -999: start year; & \\
& >0: absolute year; and & \\
& <= 0: year relative to end year. & \\
%\pagebreak
%\hline
1 & Benchmark Relative F Basis: & \multirow{1}{1cm}[-0.25cm]{\parbox{11cm }{ The specification does not affect year range for selectivity and biology.}} \Tstrut\\
& 1 = use year range; and & \\
& 2 = set range for relF same as forecast below. & \\
%\pagebreak
\hline
2 & Forecast: & \multirow{1}{1cm}[-0.25cm]{\parbox{11cm }{ This input is required but is ignored if benchmarks are turned off. This determines how forecast catches are calculated and removed from the population which is separate from the "MSY Method" above. If F\textsubscript{MSY} is selected, it uses whatever proxy (e.g., F\textsubscript{SPR} or F\textsubscript{BTGT}) is selected in the "MSY Method" row.}} \Tstrut\\
& -1 = none, no forecast years; & \\
& 0 = simple, single forecast year calculated; & \\
& 1 = use F\textsubscript{SPR}; & \\
& 2 = use F\textsubscript{MSY}; & \\
& 3 = use F\textsubscript{Btarget} or F\textsubscript{0.10}; & \\
& 4 = set to average F scalar for the forecast relative F years below; and & \\
& 5 = input annual F scalar. & \Bstrut\\
\hline
10 & N forecast years (must be >= 1) & \multirow{1}{1cm}[-0.25cm]{\parbox{11cm }{ At least one forecast year now required if the Forecast option above is >=0 (Note: SS3 v.3.24 allowed zero forecast years).}} \Tstrut\\
& & \Bstrut\\
\hline
1 & F scalar & \multirow{1}{1cm}[-0.10cm]{\parbox{11cm}{Only used if Forecast option = 5 (input annual F scalar), but is a required line in the forecast file.}}\Tstrut\Bstrut\\
& & \\
\hline
0 0 0 0 0 0 & Forecast Years: & \multirow{1}{1cm}[-0.25cm]{\parbox{11cm}{Requires 6 values: beginning and ending years for selectivity, relative Fs, and recruitment distribution that will be used to create averages to use in forecasts. In future, hope to allow random effects to propagate into forecast. Please note, relative F for bycatch only fleets is scaled just like other fleets. More options for this in future.}}\Tstrut\\
& -999 = start year; & \\
& >0 = absolute year; and & \\
& <= 0 = year relative to end year. & \\
& & \Bstrut\\
\pagebreak
%\hline
0 & Forecast Selectivity Option: & \multirow{1}{1cm}[-0.25cm]{\parbox{11cm}{Determines the selectivity used in the forecast years. Selecting 1 will allow for application of time-varying selectivity parameters (e.g., random walk) to continue into the forecast period.}}\Tstrut\\
& 0 = forecast selectivity is mean from year range; and & \\
& 1 = forecast selectivity from annual time-varying parameters. & \Bstrut\\
%\pagebreak
\hline
1 & Control Rule: & \multirow{1}{1cm}[-0.25cm]{\parbox{11cm}{Used to apply reductions ("buffer") to either the catch or F based on the control rule during the forecast period. The buffer value is specified below via the Control Rule Buffer.}} \Tstrut\\
& 0 = none (additional control rule inputs will be ignored); & \\
& 1 = catch as function of SSB, buffer on F; & \\
& 2 = F as function of SSB, buffer on F; & \\
& 3 = catch as function of SSB, buffer on catch (U.S. West Coast groundfish approach); and & \\
& 4 = F is a function of SSB, buffer on catch. & \Bstrut\\
\hline
0.40 \Tstrut & Control Rule Upper Limit & \multirow{1}{1cm}[-0.25cm]{\parbox{11cm}{Relative biomass level to unfished biomass above which F is constant at control rule F\textsubscript{target}.}} \\
& & \Bstrut\\
%\pagebreak
\hline
0.10 \Tstrut & Control Rule Lower Limit & \multirow{1}{1cm}[-0.25cm]{\parbox{11cm}{Relative biomass level to unfished biomass below which F is set to 0 (management threshold).}} \\
& & \Bstrut\\
%\hline
\pagebreak
0.75 \Tstrut & Control Rule Buffer (multiplier between 0-1.0 or -1) & \multirow{1}{1cm}[-0.25cm]{\parbox{11cm}{Control rule catch or F\textsubscript{target} as a fraction of selected catch or F\textsubscript{MSY} proxy. The buffer will be applied to reduce catch from the estimated overfishing limit. The buffer value is a value between 0-1.0 where a value of 1.0 would set catch equal to the overfishing limit. As example if the buffer is applied to catch (Control Rule option 3 or 4 above) the catch will equal the buffer times the overfishing limit. Alternatively a value of -1 will allow the user to input a forecast year specific control rule fraction (added in v. 3.30.13).}} \\
& & \\
& & \\
& & \\
& & \\
& & \Bstrut\\
%\pagebreak %
%\hline
\multicolumn{2}{l}{COND -1: Conditional input for annual control rule buffer} & \multirow{1}{1cm}[-0.25cm]{\parbox{11cm}{Year and control rule buffer value. Can enter a value for each year, or starting sequence of years. The final control rule buffer value will apply to all sequent forecast years.}} \Tstrut\\
\multicolumn{1}{r}{2019 0.8} & & \\
\multicolumn{1}{r}{2020 0.6} & & \\
\multicolumn{1}{r}{2021 0.5} & & \\
\multicolumn{1}{r}{-9999 0} & & \Bstrut\\
\hline
%\pagebreak
3 \Tstrut & Number of forecast loops (1,2,3) & \multirow{1}{1cm}[-0.25cm]{\parbox{11cm}{SS3 sequentially goes through the forecast up to three times. Maximum number of forecast loops: 1=OFL only, 2=ABC control rule and buffers, 3=set catches equal to control rule or input catch and redo forecast implementation error.}} \\
& & \\
& & \\
& & \Bstrut\Bstrut\\
\hline
3 \Tstrut & \hyperlink{appendB}{First forecast loop with stochastic recruitment} & \multirow{1}{1cm}[-0.25cm]{\parbox{11cm}{If this is set to 1 or 2, then OFL and ABC will be calculated as if there was perfect knowledge about recruitment deviations in the future. If running a long forecast (e.g., 10-100 years) it is recommended to run without recruitment deviations since running long forecasts with recruitment deviations not turned on until loop 3 may have poor results (e.g., crashed stock), especially if below average forecast recruitment is assumed (via "Forecast recruitment" option, next input line). }} \Bstrut\\
& & \\
& & \\
& & \\
& & \\
& & \\
%\hline
\pagebreak
0 \Tstrut & \hyperlink{ForeSpawn}{Forecast recruitment:} & \multirow{1}{1cm}[-0.25cm]{\parbox{11cm}{Option 0, ignore input and do forecast recruitment as before SS3 v.3.30.10, if 1, then use next value as a multiplier applied after env/block/regime is applied, if 2, then use value as multiplier times adjusted virgin recruitment (after time-varying adjustments to R0), and if 3, then use value as the number of years from end of main recruitment deviations to average (mean is the recruitments, not the deviations). Need to set phase to -1 in control to get constant recruitment in MCMC.}} \\
& 0 = spawner recruit curve; & \\
& 1 = value*(spawner recruit curve); & \\
& 2 = value*(virgin recruitment); and & \\
& 3 = recent mean from year range above. & \\
& & \\
& & \\
%& & \\
\hline
1 \Tstrut & Scalar or number of years of recent main recruitments to average. & \multirow{1}{1cm}[-0.25cm]{\parbox{11cm}{This input depends upon option selected directly above. If option 1 or 2 selected this value should be a scalar value to be applied to recruitment. If option 3 is selected above this should be input as the number of years to average recruitment.}} \\
& & \\
& & \\
%\hline
0 & Forecast loop control \#5 & Reserved for future model features. \Bstrut\\
\hline
2015 \Tstrut & First year for caps and allocations & \multirow{1}{1cm}[-0.10cm]{\parbox{11cm}{Should be after years with fixed inputs.}} \Bstrut\\
%\pagebreak
\hline
0 \Tstrut & Implementation Error & \multirow{1}{1cm}[-0.25cm]{\parbox{11cm}{The standard deviation of the log of the ratio between the realized catch and the target catch in the forecast. (set value >0.0 to cause implementation error deviations to be an estimated parameter that will add variance to forecast).}} \\
& & \\
& & \\
& & \Bstrut\\
%\pagebreak
\hline
0 \Tstrut & Rebuilder: &\multirow{1}{1cm}[-0.25cm]{\parbox{11cm}{Creates a rebuild.dat file to be used for U.S. West Coast groundfish rebuilder program.}} \\
& 0 = omit U.S. West Coast rebuilder output; and & \\
& 1 = do abbreviated U.S. West Coast rebuilder output \Bstrut\\
%\hline
\pagebreak
2004 & Rebuilder catch (Year Declared): & \multirow{1}{1cm}[-0.25cm]{\parbox{11cm}{Input line is required even if Rebuilder = 0, specified in the line above.}} \Tstrut\\
& >0 = year first catch should be set to zero; and & \\
& -1 = set to 1999. & \Bstrut\\
\hline
%\pagebreak
2004 & Rebuilder start year (Year Initial): & \multirow{1}{1cm}[-0.25cm]{\parbox{11cm}{Input line is required even if Rebuilder = 0, specified two line above.}} \Tstrut\\
& >0 = year for current age structure; and & \\
& -1 = set to end year +1. & \Bstrut\\
\hline
1 & Fleet Relative F: & \Tstrut\\
& 1 = use first-last allocation year; and & \\
& 2 = read season(row) x fleet (column) set below. & \Bstrut\\
\hline
%\pagebreak
2 & Basis for maximum forecast catch: & \multirow{1}{1cm}[-0.25cm]{\parbox{11cm}{The maximum basis for forecasted catch will be implemented for the for the "First year for caps and allocations" selected above. The maximum catch (biomass or numbers) by fleet is specified below on the "Maximum total forecast catch by fleet" line.}}\Tstrut\\
& 2 = total catch biomass; & \\
& 3 = retained catch biomass; & \\
& 5 = total catch numbers; and & \\
& 6 = retained total numbers. & \Bstrut\\
\hline
%\pagebreak
\multicolumn{3}{l}{COND 2: Conditional input for fleet relative F (Enter: Season, Fleet, Relative F)} \Tstrut\\
\multicolumn{1}{r}{1 1 0.6} & Fleet allocation by relative F fraction. & \multirow{1}{1cm}[-0.25cm]{\parbox{11cm}{The fraction of the forecast F value. For a multiple area model user must define a fraction for each fleet and each area. The total fractions must sum to one over all fleets and areas.}}\\
\multicolumn{1}{r}{1 2 0.4} & & \\
\multicolumn{1}{r}{-9999 0 0} & Terminator line & \Bstrut\\
\hline
1 50 & Maximum total forecast catch by fleet (in units specified above total catch/numbers, retained catch/numbers) & \multirow{1}{1cm}[-0.25cm]{\parbox{11cm}{Enter fleet number and its maximum value. Last line of the entry must have fleet number = -9999.}} \Tstrut\\
-9999 -1 & & \Bstrut\\
\hline
-9999 -1 & Maximum total catch by area & \multirow{1}{1cm}[-0.25cm]{\parbox{11cm}{Enter area number and its max. Last line of the entry must have area number = -9999.}} \Tstrut\\
& -1 = no maximum & \Bstrut\\
\hline
1 1 & Fleet assignment to allocation group & \multirow{1}{1cm}[-0.25cm]{\parbox{11cm}{Enter list of fleet number and its allocation group number if it is in a group. Last line of the entry must have fleet number = -9999.}} \Tstrut\\
-9999 -1 & & \Bstrut\\
%\pagebreak
%\hline
\multicolumn{2}{l}{COND: if N allocation groups is >0 } & \multirow{1}{1cm}[-0.25cm]{\parbox{11cm}{ Enter a year and the allocation fraction to each group for that year. SS3 will fill those values to the end of the forecast, then read another year from this list. Terminate with -9999 in year field. Annual values are rescaled to sum to 1.0.}} \Tstrut \\
\multicolumn{1}{r}{2002 1} & Allocation to each group for each year of the forecast & \\
\multicolumn{1}{r}{-9999 1} & & \Bstrut\\
\hline
%\pagebreak
-1 & Basis for forecast catch: & \multirow{1}{1cm}[-0.25cm]{\parbox{11cm}{ The dead or retained value in the forecast catch inputs will be interpreted in terms of numbers or biomass based on the units of the input catch for each fleet. }}\Tstrut\\
& -1 = Read basis with each observation, allows for a mixture of dead, retained, or F basis by different fleets for the fixed catches below; & \\
& 2 = Dead catch (retained + discarded); & \\
& 3 = Retained catch; and & \\
& 99 = Input apical F (the apical F value for the model years can be found in the EXPLOITATION section in the Report file). & \Bstrut\\
\hline
\multicolumn{1}{l}{COND: == -1 }& \multicolumn{2}{l}{Forecasted catches - enter one line per number of fixed forecast year catch} \Tstrut\\
\multicolumn{1}{r}{2012 1 1 1200 2} & \multicolumn{2}{l}{Year \& Season \& Fleet \& Catch or F value \& Basis} \\
\multicolumn{1}{r}{2013 1 1 1400 3} & \multicolumn{2}{l}{Year \& Season \& Fleet \& Catch or F value \& Basis} \\
\multicolumn{1}{r}{-9999 0 0 0 0} & \multicolumn{2}{l}{Indicates end of inputted catches to read} \Bstrut\\
\\
\multicolumn{1}{l}{COND: > 0 }& \multicolumn{2}{l}{Forecasted catches - enter one line per number of fixed forecast year catch }\Tstrut\\
\multicolumn{1}{r}{2012 1 1 1200} & \multicolumn{2}{l}{Year \& Season \& Fleet \& Catch or F value} \\
\multicolumn{1}{r}{2013 1 1 1200} & \multicolumn{2}{l}{Year \& Season \& Fleet \& Catch or F value} \\
\multicolumn{1}{r}{-9999 0 0 0} & \multicolumn{2}{l}{Indicates end of inputted catches to read} \Bstrut\\
\hline
999 & End of Input & \Bstrut\\
\end{longtable}}
\end{landscape}
\subsection{Including a New Fleet in the Forecast}
As of v.3.30.16 users can have a forecast fleet without catches during the modeled period. Previously, fleets in the forecast period were required to have input catches at some amount during the modeled period. SS3 now has capability to have a fleet with no input catches during the modeled period that could be used as a fleet during the forecast.
\hypertarget{Benchmark}{}
\subsection{Benchmark Calculations}
This feature of SS3 is designed to calculate an equilibrium fishing rate intended to serve as a proxy for the fishing rate that would provide maximum sustainable yield (F\textsubscript{MSY}). Then in the forecast module these fishing rates can be used in the projections.
Four reference points can be calculated by SS3. The first is the estimate of F\textsubscript{MSY} within the model, while the other reference points use proxies or an alternative estimated point.
\begin{itemize}
\item F\textsubscript{MSY}: Search for the F that produces maximum equilibrium (e.g. dead catch).
\item F\textsubscript{SPR}: Search for the F that produces spawning biomass per recruit this is a specific fraction, termed SPR\textsubscript{target}, of spawning biomass per recruit under unfished conditions. Note that this is in relative terms so it does not take into account the spawner-recruit relationship.
\item F\textsubscript{Btarget}: Search for the F that produces an absolute spawning biomass that is a specified fraction, termed relative biomass target, of the unfished spawning biomass. Note that this is in absolute terms so takes into account the spawner-recruit relationship.
\item F\textsubscript{0.10}: Search for the F that produces a slope in yield per recruit, dY/dF, that is 10\% of the slope at the origin. Note that with SS3, this option is mutually exclusive with F\textsubscript{Btarget}. Only one will be calculated and the one that is calculated can serve as the proxy for F\textsubscript{MSY} and forecasting. The F\textsubscript{0.1} search can fail if bycatch fleets are used and the bycatch setting includes the fleet's catch in the catch to be optimized.
\end{itemize}
\myparagraph{Estimation}
Each of the potential reference points is calculated by searching across a range of F multiplier levels, calculating equilibrium biomass and catch at that F, using Newton-Raphson method to calculate a better F multiplier value, and iterating a fixed number of times to achieve convergence on the desired level.
\myparagraph{Calculations}
The calculation of equilibrium biomass and catch uses the same code that is used to calculate the virgin conditions and the initial equilibrium conditions. This equilibrium calculation code takes into account all morph, timing, biology, selectivity, and movement conditions as they apply while doing the time series calculations. You can verify this by running SS3 to calculate F\textsubscript{MSY} then hardwire initial F to equal this value, use the F\_method approach 2 so each annual F is equal to F\textsubscript{MSY} and then set forecast F to be the same F\textsubscript{MSY}. Then run SS3 without estimation and no recruitment deviations. You should see that the population has an initial equilibrium abundance equal to B\textsubscript{MSY} and stays at this level during the time series and forecast.
\pagebreak
\myparagraph{Catch Units}
For each fleet, SS3 always calculates catch in terms of biomass (mt) and numbers (1000s) for encountered (selected) catch, dead catch, and retained catch. These three categories differ only when some fleets have discarding or are designated as a bycatch fleet. SS3 uses total dead catch biomass as the quantity that is principally reported and the quantity that is optimized when searching for F\textsubscript{MSY}. The quantity "dead catch" may occasionally be referred to as "yield".
\myparagraph{Biomass Units}
The principle measure of fish abundance, for the purpose of reference point calculation, is female reproductive output. This is referred to as SSB (spawning stock biomass) and sometimes just "B" because the typical user settings have one unit of reproductive output (fecundity) per kg of mature female biomass. So when the output label says B\textsubscript{MSY}, this is actually the female reproductive output at the proxy for F\textsubscript{MSY}.
\myparagraph{Fleet Allocation}
An important concept for the reference point calculation is the allocation of fishing rate among fleets. Internally, this is Bmark\_relF($f,s$) and it is the fraction of the F multiplier assigned to each fleet, $f$ and season, $s$. The value, F\_multiplier * Bmark\_relF($f,s$), is the F level for a particular fleet in a particular season and for the age that has a selectivity of 1.0. Other ages will have different F values according to their selectivity.
\begin{itemize}
\item The Bmark\_relF values can be calculated by SS3 from a range of years specified in the input for Benchmark Years or it can be set to be the same as the Forecast\_RelF, which in turn can be based on a range of years or can be input as a set of fixed values.
\item Note that for Bycatch Fleets, the F's calculated by application of Bmark\_relF for a bycatch fleet can be overridden by a F value calculated from a range of years or a fixed F value that is input by the user. If such an override is selected for a bycatch fleet, that F value is not adjusted by changes to the F multiplier. This allows the user to treat a bycatch fleet as a constant background F while the optimal F for other fleets is sought. Also for bycatch fleets, there is user control for whether or not the dead catch from the bycatch fleet is included in the total dead catch that is optimized when searching for F\textsubscript{MSY}.
\end{itemize}
\myparagraph{Virgin vs. Unfished}
The concept of unfished spawning biomass, SSB\_unf, is important to the reference points calculations. Unfished spawning biomass can be potentially different than virgin spawning biomass, SSB\_virgin.
\begin{itemize}
\item Virgin spawning biomass is calculated from the parameter values associated with the start year of the model configuration and it serves as the basis from which the population model starts and the basis for calculation of stock depletion.
\item Unfished spawning biomass can be calculated for any year or range of years, so can change over time as R0, steepness, or biological parameters change.
\item In the reference points calculation, the Benchmark Years input specifies the range of time over which various quantities are averaged to calculate the reference points. For biology, selectivity, F's, and movement the values being averaged are the year-specific derived quantities. But for the stock-recruitment parameters (R0 and steepness), the parameter values themselves are averaged over time.
\item During the time series or forecast, the current year's unfished spawning output (SSB\_unf) is used as the basis for the spawner-recruitment curve against which deviations from the spawner-recruitment curve are applied. So, if R0 is made time-varying, then the spawner-recruit curve itself is changed. However, if the regime shift parameter is time-varying, then this is an offset from the spawner-recruitment curve and not a change in the curve itself. Changes in R0 will change year-specific reference points and change the expected value for annual recruitments, but changes in regime shift parameter only change the expected value for annual recruitments.
\item In reporting the time series of depletion level, the denominator can be based on virgin spawning output (SSB\_virgin) or B\textsubscript{MSY}. Note that B\textsubscript{MSY} is based on unfished spawning output (SSB\_unf) for the specified range of Benchmark years, not on SSB\_virgin.
\end{itemize}
\hypertarget{ForeSpawn}{}
\subsection{Forecast Recruitment Adjustment}
Recruitment during the forecast years sometimes needs to be set at a level other than that determined by the spawner-recruitment curve. One way to do this is by an environmental or block effect on the regime shift parameter. A more straightforward approach is now provided by the special forecast recruitment feature described here. There are 4 options provided for this feature. These are:
\begin{itemize}
\item 0 = Do nothing: this is the default and will invoke no special treatment for the forecast recruitments.
\item 1 = Multiplier on spawner-recruitment: the expected recruitment from the stock recruitment relationship is multiplied by this factor.
\begin{itemize}
\item This is a multiplier, so null effect comes from a value of 1.0.
\item The order of operations is to apply the SRR, then the regime effect, then this special forecast effect, then bias adjustment, then the deviations.
\item In the spawner recruit output of the report.sso there are 4 recruitment values stored.
\end{itemize}
\item 2 = Multiplier on virgin recruitment: The virgin recruitment is multiplied by this factor.
\begin{itemize}
\item This is a multiplier, so null effect comes from a value of 1.0.
\item The order of operations is to apply any environmental or block effects to R0, then apply the special forecast effect, then bias adjustment, then the deviations.
\item Note that environmental or block effects on R0 are rare and are different than environment or block effects on the regime parameter.
\end{itemize}
\item 3 = Mean recent recruitment: calculate the mean recruitment and use it during the forecast period.
\begin{itemize}
\item Note that bias adjustment is not applied to this mean because the values going into the mean have already been bias adjusted.
\end{itemize}
\end{itemize}
This feature affects the expected recruitment in all years after the last year of the main recruitment deviations. This means that if the last year of main recruitment deviations is before end year, then the last few recruitments, termed "late", are also affected by this forecast option. For example, option 3 would allow you to set the last 2 years of the time series and all forecast years to have recruitment equal to the mean recruitment for the last 10 years of the main recruitment era.
\pagebreak