You would not usually call this function directly but instead use
getFeedingLevel()
, which then calls this function unless an alternative
function has been registered, see below.
mizerFeedingLevel(params, n, n_pp, n_other, t, encounter, ...)
A matrix of species abundances (species x size).
A vector of the resource abundance by size
A list of abundances for other dynamical components of the ecosystem
The current time. Unused
A two dimensional array (predator species x predator size) with the encounter rate.
Unused
A two dimensional array (predator species x predator size) with the feeding level.
The feeding level \(f_i(w)\) is the
proportion of its maximum intake rate at which the predator is actually
taking in fish. It is calculated from the encounter rate \(E_i\) and the
maximum intake rate \(h_i(w)\) as
$$f_i(w) = \frac{E_i(w)}{E_i(w)+h_i(w)}.$$
The encounter rate \(E_i\) is passed as an argument or calculated with
getEncounter()
. The maximum intake rate \(h_i(w)\) is
taken from the params
object, and is set with
setMaxIntakeRate()
.
As a consequence of the above expression for the feeding level,
\(1-f_i(w)\) is the proportion of the food available to it that the
predator actually consumes.
By default getFeedingLevel()
calls mizerFeedingLevel()
. However you can
replace this with your own alternative feeding level function. If
your function is called "myFeedingLevel"
then you register it in a MizerParams
object params
with
params <- setRateFunction(params, "FeedingLevel", "myFeedingLevel")
Your function will then be called instead of mizerFeedingLevel()
, with the
same arguments.
The feeding level is used in mizerEReproAndGrowth()
and in
mizerPredRate()
.
Other mizer rate functions:
mizerEGrowth()
,
mizerEReproAndGrowth()
,
mizerERepro()
,
mizerEncounter()
,
mizerFMortGear()
,
mizerFMort()
,
mizerMort()
,
mizerPredMort()
,
mizerPredRate()
,
mizerRDI()
,
mizerRates()
,
mizerResourceMort()