For conditioning an operating model, it is desirable that some objective method be available (as opposed to intuition or a simple guess) to inform key historical parameters. Biological studies can be used to inform life history parameters such as growth and maturity, while other parameters such as historical depletion and fishing mortality have typically been informed by an assessment model. In data-limited or data-moderate settings, the lack of an accepted assessment makes it difficult to parameterize historical depletion and F.
In the literature, the term “stock reduction analysis” has been used to describe a model in which the predicted total catch matches the observed catch. Kimura and Tagart (1982) presented SRA as an alternative to a VPA or surplus production model. The SRA would be suitable over the VPA when catch-at-age data weren’t available, while also utilizing an age-structured modeling approach that incorporates natural mortality and recruitment information for reconstructing the stock history instead a pooled biomass dynamics approach with a surplus production model.
Stock reduction analysis (SRA) is a potential tool for conditioning operating models in the absence of information from assessments. In any assessment, point estimates of depletion and unfished recruitment may not be credible if there is high uncertainty of input values to the model such as natural mortality, recruitment compensation (i.e., steepness).
In this context, we don’t look at point estimates, but rather try to reduce the range of plausible parameters. Walters et al. (2006) used SRA as an approach to address a broader question: what combinations of historical fishing mortality and recruitment could have generated the observed data? We would exclude parameters that would otherwise generate unlikely scenarios in the historical reconstruction of the stock.
Consider two extreme scenarios. If the productivity or unfished stock size is too low, then the modeled population would crash while trying to explain the observed catches over time. On the other hand, if the productivity or unfished stock size is too high, then the observed catches are tiny in relation to the population, and implies still unfished conditions despite the observed fishing history. Finding a suitable range of parameters is akin to “threading the needle” in order to avoid these two extreme scenarios.
The stock reduction paradigm can be quite useful for informing the historical scenarios in a DLMtool operating model. Suppose that we are unsure about how to specify certain life history parameters, e.g. steepness. For other life history parameters such as growth, we may be more certain or we prefer to incorporate uncertainty in other parameters. With some data, we can try to fit an age-structured model that estimates historical depletion (spawning biomass in the last year of the historical period relative to that when fishing started), recruitment, and fishing mortality that are consistent with the specified parameter values.
SRA_scope() will be the main function for scoping historical scenarios for an operating model
SRA_scope takes an operating model, data, in order to run the SRA and then returns a list with an updated OM and predicted outputs from the SRA. All model configurations for the SRA will also be specified through arguments passed through
The approach can be stochastic (with Monte Carlo sampling) if the operating model is specified as such. For example, steepness is highly uncertain, then one could specify a range of values, for example, between 0.6 and 0.9 with a uniform distribution, in an operating model:
If one wishes to run 250 simulations in the closed-loop simulation, then
SRA_scope will sample 250 steepness values from this distribution and then fit the SRA model 250 times. Alternatively, one can manually provide values in the
cpars section of the operating model:
The SRA model reconstruction from
i-th fit will be conditioned on the
i-th sampled value of steepness. The sampled values of steepness (as well as all input parameters to the SRA) are saved in the OM object returned by
SRA_scope to ensure consistency.
The first order of business with set-up of the SRA model is to decide whether to condition the model on catch, e.g.,
SRA_scope(..., condition = "catch") or effort. If the model is conditioned on catch, then the SRA will generate predicted catches that match the observed. If conditioned on effort, the estimated fishing mortality in the model will be proportional to the observed effort. A full time series of the conditioning variable is needed, and length of the historical period
OM@nyears will be the length of the conditioned time series.
Ideally, the time series begins at unfished conditions. One could pass the asssumed equilibrium catch or equilibrium effort prior to the first year of data to
SRA_scope. The SRA will then attempt to estimate the initial depletion in the first year of the historical period. However, initial depletion may be generally difficult to estimate with precision (consider what data are informative to estimate initial depletion, perhaps an age or length sample from that first year that shows the truncation of the composition data relative to unfished conditions).
If catch or effort data are unavailable going back to unfished conditions, then the data could be extrapolated back in time using reconstruction. Examples of catch reconstruction methods for the purposes of a stock asesssment can be found in Porch et al. (2004) and Appendix A of Starr and Haigh (2017).
In addition to the conditioning variable, additional data types can be used:
Multiple surveys and fleets can be accommodated with
SRA_scope. One of these several data types in addition to catch or effort is generally needed to obtain depletion estimates. Availability of these data can be quite sparse over time, yet still informative. For example, an age composition sample from a single recent year that shows a very truncated age structure can be sufficient to imply a heavily depleted stock.
Here are the required pre-specified OM parameters needed for the SRA model:
OM@Linf, OM@K, OM@t0(or alternatively,
OM@LenCVonly if length data are used
OM@Vmaxlen. If there are no age or length compositions, then selectivity in the model is fixed to these values. Otherwise, these are used as starting values.
OM@R0as the starting value.
If growth, natural mortality, or maturity are time-varying in the historical period, then the SRA will implement time-varying life history in the estimation model as well. For example, if we’re setting up an operating model where the length of the historical period is 50 years, and we believe that natural mortality has doubled from 0.2 to 0.4 since Year 30 and will remain so into the future, this code can be used to set up this scenario:
The SRA will pick up this change in the model as well.
The easiest way to turn off time-varying growth and M is to set:
Information about the slots in the OM object can be viewed through
class?OM. If passing custom objects to the operating model that override default inputs (e.g., for time-varying parameters), then
DLMtool::validcpars() will be helpful for setting up and indexing the dimensions of the custom objects.
By default, the function estimates selectivity when age or length compositions are provided. If the selectivity is assumed to be dome-shaped, then the descending limb can either be fixed values sampled from slot
OM@Vmaxlen or estimated in the SRA. If no composition data are provided, then all selectivity parameters are fixed. The
selectivity argument is used to determine whether the selectivity is dome-shaped (
OM@Vmaxlen is used) or logistic. Selectivity must be fixed when only mean lengths are available.
If the model is conditioned on effort (with no catch data), then unfished recruitment
R0 is fixed to the value in
OM@R0 (predicted catches are conditional on the value of
R0). With catch data are also available while conditioning on effort (incomplete catch time series are permissible), the
R0 can be scaled the population to generate the observed catches. The scalar is a multiplicative factor that minimizes the sum of squared differences between observed and predicted catches.
Historical OM parameters that are updated by the SRA model include:
OM@R0, only if catch is provided.
OM@cpars$Find. The effort is equal to the apical fishing mortality when paired with the depletion values.
OM@ACwhich is estimated post-hoc from the recruitment deviation estimates.
OM@cpars$Perr_y. Historical recruitment are those estimated from the model, while future recruitment will be sampled with autocorrelation.
OM@L5, OM@LFS, and OM@Vmaxlen. If multiple fleets are modeled, then the F-at-age matrix is used to derive the effective selectivity and placed in
If initial depletion is estimated, then the recruitment deviations
OM@cpars$Perr_y for the operating model are adjusted in order to produce the estimated abundance-at-age in the first year of the SRA model.
The SRA model will estimate and return R0 when conditioned on catch. When conditioning on effort, the model is generally scale-independent; there can be information to inform depletion but not the stock size. The exception occurs when the SRA is conditioned on effort from multiple-fleets, in which case, catch data from all fleets (incomplete series are acceptable) are needed to inform the relative F’s among fleets. In this scenario, R0 is estimated.
Additionally, if multiple fleets are used for conditioning, then the annual selectivity can change based on the relative F among fleets. In this case, the annual selectivity is passed from the OM output in the
OM@cpars$V slot. The default assumption in the projection period of the closed-loop simulation is that the selectivity and relative F among fleets are identical to those in the last historical year. Fleet allocation in management procedures can be explored in
Life history parameters used in the SRA reconstruction will be also passed to
OM@cpars to ensure reproducibility. Time-varying parameters affect calculation of reference points, mostly importantly unfished depletion. In
SRA_scope (and DLMtool), depletion is the ratio of the spawning biomass in the terminal year and the unfished spawning biomass in the first year of the model. In this sense, depletion used to describe changes in the stock since fishing began. If life-history parameter are time-varying, then this definition may not necessarily reflect a management target.
The relative effort provided in the output is the apical F from the SRA. When running the management strategy evaluation with
DLMtool::runMSE(), the apical F may be re-scaled to ensure that specified depletion has been reached at the beginning and end of the historical period. For simple operating models, i.e. those with conditions identical to the SRA, the apical F’s in the MSE should be nearly identical to those from the SRA. To confirm that this is the case, one can run the
plot function on output returned by
This function returns a markdown report with:
SRA_scope(..., mean_fit = TRUE)is run)
Currently, it is possible to create a more complex operating model than the SRA model itself. For example, discard mortality, movement, and spatial targetting are currently not modeled in the SRA. It is assumed that the catch in the SRA are all known sources of removal, i.e. landings plus discards. The SRA is a single area model, whereas DLMtool uses a multiple-area model. A simple operating model that best matches the SRA model may have the following configurations:
It may be desirable to compare the SRA to a simple operating model before incorporating more complex dynamics in the operating model.
The procedure above describes conditioning in which we accommodate life history uncertainty within an OM. Alternatively, we may wish to consider incorporate uncertainty with the SRA model fit conditional on a single set of life history values. To do so, we have an OM in which we ensure that all the necessary SRA input parameters, e.g., growth, maturity, M, steepness, etc., are identical among
nsim replicates. Then we call
SRA_scope with the
resample = TRUE, the function will generate a single model fit, placed in
SRA@mean_fit, and then sample the covariance matrix to populate the recruitment, fishing mortality, selectivity slots in the updated OM. If the model has difficulty estimating the stock size, then there should be a high variance in the
R0 estimate. A wide range of historical biomass among simulations should then be seen in the conditioned OM. The markdown report contains separate panels for evaluating the conditioned OM as well as the single model fit.
Uncertainty in life history parameters would be accommodated by generating a set of OMs that vary in parameter values such as M and repeating the sampling step for each OM.
To be added.
This section has been moved to a separate vignette.
The help file for
SRA_scope will provide more information on the possible inputs for the model. The help file for the SRA class (obtained by typing
class?SRA into the R console) describes the outputs from the function. An additional vignette is available to describe set up of fleet and survey selectivity in the function call.
Kimura, D.K. and Tagart, J.V. 1982. Stock Reduction Analysis, Another Solution to the Catch Equations. Can. J. Fish. Aquat. Sci. 39: 1467-1472.
Porch, C.E., Turner, S.C., and Schirripa, M.J. 2004. The commercial landings of red snapper in the Gulf of Mexico from 1872 to 1962. SEDAR7-AW-22. SEDAR, North Charleston, South Carolina. Available at: http://sedarweb.org/docs/wpapers/SEDAR7-AW-22.pdf (Retrieved July 9, 2019)
Starr, P.J. and Haigh, R. 2017. Stock assessment of the coastwide population of Shortspine Thornyhead (Sebastolobus alascanus) in 2015 off the British Columbia coast. DFO Can. Sci. Advis. Sec. Res. Doc. 2017/015. ix + 174 p. Available at: http://www.dfo-mpo.gc.ca/csas-sccs/Publications/ResDocs-DocRech/2017/2017_015-eng.html (Retrieved July 9, 2019)
Walters, C.J., Martell, S.J.D., and Korman, J. 2004. A stochastic approach to stock reduction analysis. Can. J. Fish. Aquat. Sci. 63: 212-223.