| make_interim_MP {SAMtool} | R Documentation | 
Make a custom management procedure (MP)
Description
Function operator that creates a management procedure (MP) by combining an assessment model (function of class Assess) with
a harvest control rule (function of class HCR). The resulting function can then be tested in closed-loop simulation via
MSEtool::runMSE().
- Use - make_MPto specify constant TAC between assessments; the frequency of assessments is specified in- OM@interval.
- Use - make_projection_MPto set catches according to a schedule set by projections, specify assessment frequency in argument- assessment_intervaland ensure that- OM@interval <- 1.
- Use - make_interim_MPto use an interim procedure to adjust the TAC between assessments using an index (Huynh et al. 2020), with the frequency of assessments specified in argument- assessment_intervalwhen making the MP; ensure that- OM@interval <- 1.
Usage
make_interim_MP(
  .Assess = "SCA",
  .HCR = "HCR_MSY",
  AddInd = "VB",
  assessment_interval = 5,
  type = c("buffer", "mean", "loess", "none"),
  type_par = NULL,
  diagnostic = c("min", "full", "none"),
  ...
)
make_projection_MP(
  .Assess = "SCA",
  .HCR = "HCR_MSY",
  assessment_interval = 5,
  Ftarget = expression(Assessment@FMSY),
  proj_args = list(process_error = 1, p_sim = 1),
  diagnostic = c("min", "full", "none"),
  ...
)
make_MP(.Assess, .HCR, diagnostic = c("min", "full", "none"), ...)
Arguments
| .Assess | Assessment model, a function of class  | 
| .HCR | Harvest control rule, a function of class  | 
| AddInd | A vector of integers or character strings indicating the indices to be used in the assessment model.
Integers assign the index to the corresponding index in Data@AddInd, "B" (or 0) represents total biomass in Data@Ind,
"VB" represents vulnerable biomass in Data@VInd, and "SSB" represents spawning stock biomass in Data@SpInd. For the interim
procedure, the function will use the first index in  | 
| assessment_interval | The time interval for when the assessment model is applied (number of years). In all other years, the interim procedure is applied. | 
| type | How the index is used to calculate the TAC in the interim procedure. See details. | 
| type_par | A control parameter for the interim procedure. See details. | 
| diagnostic | A character string describing if any additional diagnostic information from the
assessment models will be collected during the closed-loop simulation.  | 
| ... | Additional arguments to be passed to  | 
| Ftarget | An expression that the MP will evaluate to identify the F used in the projection. See projection and example. | 
| proj_args | Additional arguments for projection. | 
Details
make_interim_MP creates an MP that runs the interim procedure (updating the TAC according to index observations in between periodic
assessment intervals. Always ensure to set: OM@interval <- 1. The assessment frequency is specified in argument
assessment_interval.
In the year when the assessment is applied, the TAC is set by fitting the model and then running the harvest control rule. Between assessments, the TAC is updated as
\textrm{TAC}_{y+1} = C_{\textrm{ref}} (I_y + b \times s)/(I_{\textrm{ref}} + b \times s)
where Cref is the TAC calculated from the most recent assessment, Iref is the value of the index when Cref was calculated
(see Equations 6 and 7 of Huynh et al. 2020). The value of I_y depends on type, with b and s equal zero unless
type = "buffer":
-  "buffer"-I_yis the most recent index withbis specifed bytype_par(default = 1), andsis the standard deviation of index residuals from the most recent assessment.
-  "mean"-I_yis the mean value of the index over the most recenttype_paryears (default = 3).
-  "loess"-I_yis the most recent index predicted by a loess smoother applied over the entire time series of the index. Usetype_parto adjust thespanparameter (default = 0.75).
-  "none"-I_yis the most recent index. Index values are not adjusted in the interim procedure.
Value
A function of class MP.
References
Huynh et al. 2020. The interim management procedure approach for assessed stocks: Responsive management advice and lower assessment frequency. Fish Fish. 21:663–679. doi:10.1111/faf.12453
See Also
HCR_ramp HCR_MSY diagnostic retrospective_AM
Examples
# Interim MPs
MP_buffer_5 <- make_interim_MP(assessment_interval = 5)
MP_buffer_10 <- make_interim_MP(assessment_interval = 10)
OM <- MSEtool::testOM
OM@interval <- 1
MSE <- MSEtool::runMSE(OM, MPs = c("MP_buffer_5", "MP_buffer_10")) 
# A statistical catch-at-age model with a 40-10 control rule
SCA_40_10 <- make_MP(SCA, HCR40_10)
# An SCA that will produce convergence diagnostics
SCA_40_10 <- make_MP(SCA, HCR40_10, diagnostic = "min")
# MP with an SCA that uses a Ricker stock-recruit function.
SCA_Ricker <- make_MP(SCA, HCR_MSY, SR = "Ricker")
show(SCA_Ricker)
# TAC is calculated annually from triennial assessments with projections between
# assessments with F = 0.75 FMSY
# Projections by default assume no process error.
OM <- MSEtool::testOM
OM@interval <- 1
pMP <- make_projection_MP(SCA, assessment_interval = 3, 
                          Ftarget = expression(0.75 * Assessment@FMSY),
                          proj_args = list(process_error = 1))