# Get density-independent rate of reproduction needed to project standard mizer model

Source:`R/reproduction.R`

`mizerRDI.Rd`

Calculates the density-independent rate of total egg production
\(R_{di}\) (units 1/year) before density dependence, by species.
You would not usually call this
function directly but instead use `getRDI()`

, which then calls this
function unless an alternative function has been registered, see below.

## Arguments

- params
A MizerParams 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

- t
The time for which to do the calculation (Not used by standard mizer rate functions but useful for extensions with time-dependent parameters.)

- e_growth
An array (species x size) with the energy available for growth as calculated by

`getEGrowth()`

. Unused.- mort
An array (species x size) with the mortality rate as calculated by

`getMort()`

. Unused.- e_repro
An array (species x size) with the energy available for reproduction as calculated by

`getERepro()`

.- ...
Unused

## Details

This rate is obtained by taking the per capita rate \(E_r(w)\psi(w)\) at
which energy is invested in reproduction, as calculated by `getERepro()`

,
multiplying it by the number of individuals\(N(w)\) and integrating over
all sizes \(w\) and then multiplying by the reproductive efficiency
\(\epsilon\) and dividing by the egg size `w_min`

, and by a factor of two
to account for the two sexes:
$$R_{di} = \frac{\epsilon}{2 w_{min}} \int N(w) E_r(w) \psi(w) \, dw$$

Used by `getRDD()`

to calculate the actual, density dependent rate.
See `setReproduction()`

for more details.

## Your own reproduction function

By default `getRDI()`

calls `mizerRDI()`

. However you can
replace this with your own alternative reproduction function. If
your function is called `"myRDI"`

then you register it in a MizerParams
object `params`

with

Your function will then be called instead of `mizerRDI()`

, with the
same arguments. For an example of an alternative reproduction function
see `constantEggRDI()`

.

## See also

Other mizer rate functions:
`mizerEGrowth()`

,
`mizerEReproAndGrowth()`

,
`mizerERepro()`

,
`mizerEncounter()`

,
`mizerFMortGear()`

,
`mizerFMort()`

,
`mizerFeedingLevel()`

,
`mizerMort()`

,
`mizerPredMort()`

,
`mizerPredRate()`

,
`mizerRates()`

,
`mizerResourceMort()`