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
MizerParamsobject or aMizerSimobject- 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
TRUEthen 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(),
getERepro(),
getEReproAndGrowth(),
getEncounter(),
getFMort(),
getFMortGear(),
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))
# }
