Runs an operating model over a range of fishing mortality, \(F\), levels to determine the F at maximum sustainable yield, \(F_{MSY}\).
profile_fmsy(
om_in,
results_out,
start = 0,
end = 1.5,
by_val = 0.01,
verbose = FALSE
)
A full or relative path to a directory that contains an ss3sim operating model.
A full or relative path to a directory where the results will be saved. The directory will be created if it does not already exist.
A single numerical value for each argument specifying the lowest and highest fishing levels that you want to explore for the fishing fleet in your model.
Interval at which fishing mortality will be incremented
between start
and end
using seq(start, end, by_val)
.
When TRUE
messages will be returned
from the function. Often useful for debugging. The default
is FALSE
.
A data frame of catch by fishing mortality is returned invisibly and
saved to the disk along with a figure, Fmsy.pdf
.
profile_fmsy()
runs the operating model with a constant level of
fishing for each year and extracts the expected catch in the terminal year.
It is assumed that the model time series is long enough for the population
to come to equilibrium, and thus, the catch in the terminal year is
equivalent to equilibrium catch.
If the function is run with verbose = TRUE
, which is not the default,
the coefficient of variations of the catches in the terminal years of
the model will be printed to the screen.
Here, terminal is defined as half as many years as there are
ages in the population dynamics of your model.
Thus, if the population plus group starts at age twenty,
the standard deviation of the last ten years of catch
divided by the mean catch over that same time will be printed to the
screen for each model that is ran. For the default cod model provided within
the package, the CV is less than 1e-04 for all explored levels of fishing
mortality.
Ensure that the argument om_in
leads to an operating model that is
configured for use within ss3sim. For example, the \(F\) type must
allow for an input vector of \(Fs\) rather than catches, along with other
specifications.
if (FALSE) { # \dontrun{
d <- system.file("extdata", "models", "cod-om", package = "ss3sim")
fmsy.val <- profile_fmsy(
om_in = d, results_out = "fmsy",
start = 0.1, end = 0.2, by_val = 0.05
)
# cleanup
unlink("fmsy", recursive = TRUE)
} # }