Adds a new kernel to the proto_ipm
structure.
The name of the model.
The name of the new kernel.
A bare expression specifying the form of the kernel.
The type of kernel. Options are "CC"
for continuous to continuous
transitions, "DC"
for discrete to continuous (e.g. emergence from a seedbank),
"CD"
for continuous to discrete (e.g. entering a seedbank), and "DD"
for
discrete to discrete (e.g. stasis in a seedbank).
A set of named expressions that correspond
to vital rates in formula
. Parameter set index syntax is supported.
A list of named values that correspond to constants in the formula
and vital rate expressions in ...
.
A list with character vector containing the names of each state variable used in the kernel.
A logical indicating whether or not the parameters in the kernel and/or its
underlying vital rates are derived from sets. See the
introduction vignette for this feature for more details
(vignettes(ipmr-introduction', package = 'ipmr')}, and
\code{vignettes( index-notation', package = 'ipmr')
).
A named list with vectors corresponding to the values the index variable can take. The names should match the suffixes used in the vital rate expressions.
If init_ipm(uses_age = TRUE)
, a list with possibly
2 entries: 1. "age"
: the range
of possible ages in the model and, optionally, 2. "max_age"
: the maximum
age individuals in the model can attain. Otherwise, not used.
A logical indicating whether an eviction correction should be applied to the kernel.
If evict_cor = TRUE
, then a function that corrects for it.
Currently, only truncated_distributions
and discrete_extrema
are
possible.
For simple_*
models, this controls whether a "d_z"
is automatically appended to the formula
argument. When TRUE
,
this automatically generates formula * d_z
. There may be some cases where
this behavior is not desirable. Set this to FALSE
and specify the correct
form if needed. The default is TRUE
. This argument is ignored for
all general_*
models.
A proto_ipm
.
Different classes of IPMs may have many or only a few kernels. Each
one requires its own call to define_kernel
, though there are some exceptions,
namely for kernels derived for models derived from parameter sets (e.g. vital
rate models fit across plots and years).
A much more complete overview of how to generate kernels is provided in
vignette("ipmr-introduction", "ipmr")
.