Functions for importing an iSCAM assessment. From a fitted model,
populates the various slots of an operating model and
iSCAM2Data generates a Data object.
These functions rely on several functions written by Chris Grandin (DFO PBS).
iSCAM2OM( iSCAMdir, nsim = 48, proyears = 50, mcmc = FALSE, Name = "iSCAM model", Source = "No source provided", length_timestep = 1, nyr_par_mu = 2, Author = "No author provided", report = FALSE, silent = FALSE ) iSCAM2Data( iSCAMdir, Name = "iSCAM assessment", Source = "No source provided", length_timestep = 1, Author = "No author provided" )
A folder with iSCAM input and output files in it. Alternatively, a list returned by load.iscam.files.
The number of simulations to take for parameters with uncertainty (for OM@cpars custom parameters)
The number of MSE projection years
Logical, whether to use mcmc samples to create custom parameters cpars. Alternatively, a list returned by read.mcmc. Set the seed for the function to sub-sample the mcmc samples.
The name of the operating model
Reference to assessment documentation e.g. a url
How long is a model time step in years (e.g. a quarterly model is 0.25, a monthly model 1/12) (currently only uses annual time step)
integer, the number of recent years to estimate vulnerability over for future projections
Who did the assessment
logical should a numbers at age reconstruction plot be produced?
logical should progress reporting be printed to the console?
The function calls
model <- load.iscam.files(iSCAMdir) and grabs the following matrices:
model$mpd$d3_weight_mat - fecundity (product of weight and maturity at age)
model$mpd$ma - maturity at age
The function calls
model <- load.iscam.files(iSCAMdir) and then grabs the following matrices:
model$mpd$N - abundance at age
model$mpd$F - fishing mortality at age
model$mpd$M - natural mortality at age
If a delay-difference model is recognized, then the following is used instead:
model$mpd$F_dd - fishing mortality at age
model$mpd$M_dd - natural mortality at age
Abundance at age is reconstructed using
model$mpd$rt (recruitment) and projected with
M_dd to match
mcmc = TRUE the function calls
mcmc_model <- read.mcmc(iSCAMdir), and grabs
nsim sub-samples of the MCMC output
through the following arrays:
mcmc_model$ft - fishing mortality at age from the fleet selectivity parameters and apical F's
mcmc_model$m - year-specific natural mortality at age
mcmc_model$rt - recruitment and abundance
While the iSCAM start age can be greater than zero, abundance at age is back-calculated to age zero using the M at the start age.
These arrays are then passed to
VPA2OM to generate the operating model.
iSCAM calculates the stock-recruit relationship and subsequently a single set of MSY and unfished reference points using R0, steepness, and unfished spawners per recruit from the mean M, fecundity, and growth (mean with respect to time).
R0 and h are recalculated for the operating model by obtaining the stock-recruit alpha and beta from the
iSCAM parameters and the mean unfished spawners per recruit in the first
ageM (age of 50% maturity) years.
R0 is also back calculated to age zero.
T. Carruthers, Q. Huynh