Returns the feeding level.
By default this function uses mizerFeedingLevel()
to calculate
the feeding level, but this can be overruled via setRateFunction()
.
Arguments
- object
A
MizerParams
object or aMizerSim
object- n
A matrix of species abundances (species x size).
- n_pp
A vector of the resource abundance by size
- n_other
A list of abundances for other dynamical components of the ecosystem
- time_range
A vector of times. Only the range of times is relevant, i.e., all times between the smallest and largest will be selected. The time_range can be character or numeric.
- drop
If
TRUE
then any dimension of length 1 will be removed from the returned array.- ...
Unused
Value
If a MizerParams
object is passed in, the function returns a two
dimensional array (predator species x predator size) based on the
abundances also passed in.
If a MizerSim
object is passed in, the function returns a three
dimensional array (time step x predator species x predator size) with the
feeding level calculated at every time step in the simulation.
If drop = TRUE
then the dimension of length 1 will be removed from
the returned array.
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.
Your own feeding level function
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
Your function will then be called instead of mizerFeedingLevel()
, with the
same arguments.
See also
Other rate functions:
getEGrowth()
,
getEReproAndGrowth()
,
getERepro()
,
getEncounter()
,
getFMortGear()
,
getFMort()
,
getMort()
,
getPredMort()
,
getPredRate()
,
getRDD()
,
getRDI()
,
getRates()
,
getResourceMort()
Examples
# \donttest{
params <- NS_params
# Get initial feeding level
fl <- getFeedingLevel(params)
# Project with constant fishing effort for all gears for 20 time steps
sim <- project(params, t_max = 20, effort = 0.5)
# Get the feeding level at all saved time steps
fl <- getFeedingLevel(sim)
# Get the feeding level for years 15 - 20
fl <- getFeedingLevel(sim, time_range = c(15, 20))
# }