- object
Either a MizerParams object or a
MizerSim object (which contains a MizerParams object).
- effort
The effort of each fishing gear through time. See notes below.
- t_max
The number of years the projection runs for. The default value
is 100. When an effort array is supplied, this argument can be used to
extend the simulation beyond the times specified in the effort array.
See notes below.
- dt
Time step of the solver. The default value is 0.1. When object
is a MizerSim, defaults to the value used to produce that simulation.
- t_save
The frequency with which the output is stored. The default
value is 1. See notes below.
- t_start
The the year of the start of the simulation. The simulation
will cover the period from t_start to t_start + t_max.
Defaults to 0. Ignored if an array is used for the effort
argument or a MizerSim for the object argument.
- initial_n
The initial abundances of
species. Instead of using this argument you should set initialN(params)
to the desired value.
- initial_n_pp
The initial abundances
of resource. Instead of using this argument you should set
initialNResource(params) to the desired value.
- append
A boolean that determines whether the new simulation results
are appended to the previous ones. Only relevant if object is a
MizerSim object. Default = TRUE.
- progress_bar
Either a boolean value to determine whether a progress
bar should be shown in the console, or a shiny Progress object to implement
a progress bar in a shiny app.
- callback
A function to be called at each saved time step of the
simulation. The callback function is called with the MizerSim object,
the current time index, and any additional arguments passed to project()
via ....
- method
The numerical method to use for the consumer density update.
"euler" uses the first-order semi-implicit Euler update.
"tr_bdf2" uses the L-stable, second-order TR-BDF2 method and is the
recommended second-order method. "second_order" is accepted as an
easier-to-remember alias for it, matching the name of the spatial
second-order option second_order_w().
"predictor_corrector" is superseded by "tr_bdf2". It is also second
order and costs the same, but its Crank-Nicolson corrector is only
A-stable, so it rings at large time steps where TR-BDF2 does not. It is
retained for backwards compatibility and for comparison.
"predictor-corrector" is accepted as an alias for it.
The two second-order methods treat the nonlinear rates identically. The
Crank-Nicolson update in "predictor_corrector" is only the corrector,
applied to the transport operator with those rates frozen, so the method
does not inherit Crank-Nicolson's stability properties for the full
nonlinear dynamics. The same holds for the L-stability of "tr_bdf2"; see
the section "Custom rates must depend continuously on abundance" below.
Aliases are resolved to the canonical name, so getSimParams() reports
"tr_bdf2" even when "second_order" was supplied.
When object is a MizerSim, defaults to the
value used to produce that simulation. A warning is issued if
append = TRUE and the supplied value differs from the stored one.
- check_steady
If TRUE, warn when the model is not at its steady state before the
projection starts, which catches the common mistake of forgetting to re-run
tuneSteadyState() after a match…/calibrate… step. Default FALSE,
because
projecting a model away from its steady state is a perfectly normal thing
to do. It is meant for a MizerParams object; when continuing from a
MizerSim the starting state is deliberately wherever the previous run
ended, so there is nothing to check. The check is made at the effort stored in the params
object rather than at the effort supplied here, so that running a fishing
scenario at a new effort — which legitimately starts away from the steady
state of that new effort — does not warn. See getSteadyResidual().
- ...
Other arguments will be passed to rate functions.