Gotelli, Nicholas J. A primer of ecology. Sunderland, MA: Sinauer Associates, 2001. Chapters 1-2.

What controls the dynamics of species populations through time? That is, what controls the rate at which populations increase/decrease? Why don’t species exhaust their resources and crash? We’ll start with a simple base model, and then build up to examine more realistic population demographics.

\[ N_{t+1} = N_{t} + Births + Immigration - Deaths - Emigration \]

In the case of a closed population (no movement of individuals into or out of the patch), this reduces to

\[ N_{t+1} = N_{t} + Births - Deaths \]

The simplest model of population dynamics is based on an exponential increase in population size given a positive growth rate. That is, the population at the next time point (\(N_{t+1}\)) is based on the population size at the current time (\(N_t\)) times the growth rate of the population (\(\lambda\)).

\[ N_{t+1} = \lambda \times N_t \]

This means that each individual produces \(R\) offspring per timestep (generation), which then go on to produce \(R\) offspring. The issue with this model is that there is nothing to stop it, so the time series of the population size quickly becomes exponential (as we’ll see in the coding demonstration).

A discrete model makes sense when this assumption matches the species biology. That is, if the species reproduces once per year, or if generation time can be bounded within some time window, then a discrete model might capture the relevant dynamics well. Let’s consider a system where we want that time window to be incredibly small.

\[ \frac{dN}{dt} = rN \]

where \(r\) is equal to \(b\) - \(d\) (**births - deaths**),
where \(b\) and \(d\) are per capita measures (births or
deaths per individual per unit time). This \(r\) is the . When \(r < 0\), the population decreases
towards 0. When \(r > 0\) the
population increases exponentially (essentially geometrically, but in
continuous time). This equation can be simplified back to discrete time,
and we see the population size at time \(t\) (\(N_t\)) is

\[ N_{t} = N(0)e^{rt} \]

Where \(N(0)\) is the initial population size, \(r\) is the instantaneous rate of increase, and \(t\) is the number of time steps. This looks quite similar to the discrete time case, except the growth rate is slightly different. This can also be used to project the expected population growth over time, where \(t\) can be any number greater than 1.

\[ r = ln(\lambda) \]

\(\lambda < 1\), \(r < 0\): population decrease to 0

\(\lambda = 1\), \(r = 0\): population unchanging

\(\lambda > 1\), \(r > 0\): population increase to infinity

\(N = 0, r > 0\) (unstable)

\(N = 0, r < 0\) (stable)

- No immigration or emigration
- Constant \(r\) (b-d); which means unlimited resources
- No age, size, or genetic structure (all individuals are functionally equivalent)
- Continuous growth without time lags

Exponential growth model forms the cornerstone of population density.
Even though no population can increase exponentially forever, all
populations have the *potential* for exponential growth.

“No population can increase in size forever.”

Number of atoms in the universe (finite mass) is around \(10^{80}\). Exponential growth potential of
*E. coli*: beginning with 1 cell, 6 days for population >\(10^{80}\) cells.

It may be more realistic to assume that populations intrinsically limit themselves. That is, competition for space, resources, and mates, produces an upper limit to the population size (but not the growth rate). One way to think about this is that you can have a garden in which the number of individual plants is limited by available space or light, but the growth rates of each of the individual plants could be independent of these effects.

In the discrete model, we see that the population still grows at rate \(\lambda\), but overall population size is discounted by a scaling term which relates the population size (\(N_t\)) to an upper threshold. This threshold is the , which is the maximum sustainable population size, given potentially limiting resource such as resources, space, etc.

\[ N_{t+1} = N_{t} + (ln(\lambda) \times N_{t} \times (1 - \frac{N_t}{K})) \]

In the continuous model, time step size goes to 0 in the limit (i.e., the time steps are really tiny). When the population size exceeds \(K\) (for either discrete or continuous models) population growth becomes negative, leading to a tendency for the system to go to \(K\). However, this is sensitive to population growth rate (\(\lambda\) or \(r\)), as large growth rates can lead to complex dynamics, including damped oscillations, limit cycles, and chaos.

\[ \frac{dN}{dt} = rN \left[1- \frac{N}{K}\right]; r, K > 0\]

Note: in this model, \(r\) and \(K\) must be greater than 0.

\(\lambda < 1\), \(r < 0\): population decrease to 0

\(\lambda = 1\), \(r = 0\): population does not change

\(\lambda > 1\), \(r > 0\): population increase to carrying capacity (\(K\))

- Constant carrying capacity
- Linear density dependence (population size limits population growth, with each additional individual reducing growth rate equally).

\(N = K, 0 < r < 3.5\) (stable)

\(N = 0, 0 < r < 3.5\) (unstable)

\(N = K, r < 0\) (unstable)

\(N = 0, r < 0\) (stable)

\(K\) can vary temporally. What happens when this is the case?

If \(r\) is low, the population doesn’t really track changes in \(K\), but if the potential response can be high (i.e., if \(r\) is large), the population will cycle around \(K\), slightly out of phase. \(N\) will be shifted to the right of the \(K\) wave. Why is this?

*Allee effect*: \(b\) or
\(d\) is non-linear, resulting in a
population growth rate \(r\) which
depends on \(N_{t}\). Allee effects are
important when population sizes become small, as the negative density
dependence can cause a situation where population growth rate actually
drops below 0 (\(r < 0\)).

The above models assume that all individuals are functionally equivalent. That is, individuals contribute to overall reproductive output and population growth regardless of age, body size, sex, etc. But this is not really true for most natural populations. Most of the time, very young individuals won’t reproduce, as they are not reproductively mature. This creates a situation where two populations containing the same number of individuals may have strikingly different dynamics, as the distribution of individuals’ ages influences population growth rates. This occurs either through differences in birth rates (as noted above), or as a result of different death rates (e.g., young and old individuals have higher mortality risk than middle-aged).

Originally designed for insurance companies, this is a way to track demographic rates through time, partitioning things by the age of the organism.

Life table of a hypothetic population.

age (x) | S(x) | b(x) | l(x)=S(x)/S(0) | g(x)=l(x+1)/l(x) | l(x)b(x) | l(x)b(x)x |
---|---|---|---|---|---|---|

0 | 500 | 0 | 1.0 | 0.80 | 0.0 | 0.0 |

1 | 400 | 2 | 0.8 | 0.50 | 1.6 | 1.6 |

2 | 200 | 3 | 0.4 | 0.25 | 1.2 | 2.4 |

3 | 50 | 1 | 0.1 | 0.00 | 0.1 | 0.3 |

4 | 0 | 0 | 0.0 | NA | 0.0 | 0.0 |

The term \(S(x)\) refers to the
number of individuals from a particular cohort that are still alive at
age \(x\) (**cohort
survival**).

The term \(b(x)\) represents the
per-capital birth rate for females of age \(x\). This is the number of female offspring
generated from one female individual of age \(x\). For example \(b(6) = 3\) would indicate that a female of
age 6 will give birth to an *average* of 3 female offspring.
\(b(x)\) also is referred to as
**fecundity schedule**.

The term \(l(x)\) represents the
probability that an individual survives from age 0 (birth) to the
*beginning* of age \(x\). This
is called **survival rate** or survival schedule. \(l(x)=S(x)/S(0)\)

The term \(g(x)\) is the probability
that an individual of age \(x\)
survives to age \(x+1\)
(**survival probability**).

**Survivorship curves**