Live census
Event log
1. Populations grow, resources limit them
A population with per-capita birth rate $b$ and death rate $d$ grows exponentially at rate $r=b-d$. Real populations run into limits, captured by the logistic equation, where $K$ is the carrying capacity set by food, water and space:
2. The Lotka–Volterra predator–prey model
Alfred Lotka (1925) and Vito Volterra (1926) independently proposed the simplest model of two interacting species. With prey density $x$ and predator density $y$:
- $\alpha$: prey per-capita growth rate when no predators are present.
- $\beta$: attack rate, so $\beta x$ is the number of prey one predator kills per unit time (a type I functional response: a predator's kill rate rises in direct proportion to prey density).
- $\delta=e\beta$: predator births per prey eaten ($e$ is the conversion efficiency) times the attack rate.
- $\gamma$: predator per-capita death rate when no prey are available.
Setting both derivatives to zero gives the nullclines. The prey nullcline is $y=\alpha/\beta$ (horizontal) and the predator nullcline is $x=\gamma/\delta$ (vertical); they cross at the coexistence equilibrium
Notice the surprise: the equilibrium number of prey is set by the predator's parameters, and vice versa.
3. Stability: the Jacobian
Why it matters: after a drought or a cull, do the populations drift back to balance, spiral away, or cycle forever? The answer comes from zooming in on the equilibrium until the model looks linear. Linearising around $(x^*,y^*)$ gives the Jacobian matrix. For the classic model
Purely imaginary eigenvalues mean a centre: closed orbits around the equilibrium, with small-amplitude period $T\approx 2\pi/\sqrt{\alpha\gamma}$. The orbits are level curves of the conserved quantity
Each initial condition stays on its own cycle forever (neutral stability): a one-off cull shifts the system onto a different cycle rather than letting it return. Predator peaks always lag prey peaks by about a quarter of a cycle, so the phase-plane trajectory runs anticlockwise when prey is on the horizontal axis.
In general, for a 2×2 Jacobian with trace $\tau$ and determinant $\Delta$, $\lambda=\tfrac{\tau}{2}\pm\sqrt{\tfrac{\tau^2}{4}-\Delta}$. If $\Delta<0$ the point is a saddle; if $\Delta>0$ and $\tau<0$ it is stable (a spiral when $\tau^2<4\Delta$); if $\tau>0$ it is unstable.
4. More realistic prey: logistic growth
Self-limitation of the prey makes $\tau=-\alpha x^*/K<0$, so oscillations are damped and every trajectory spirals into the equilibrium. If $x^*>K$ the predator cannot persist: there is not enough prey even at carrying capacity.
5. Satiation: the Holling type II functional response
A lion cannot eat infinitely many zebras: each kill takes handling time $h$ (chasing, eating, resting). Holling's disc equation gives the per-predator kill rate
which saturates at $1/h$. Combined with logistic prey this is the Rosenzweig–MacArthur model:
The prey nullcline is now a hump. The equilibrium is stable when it sits to the right of the hump and unstable (with a stable limit cycle) when it sits to the left. Raising $K$ moves the hump to the right, so enriching the prey's environment can destabilise the system: Rosenzweig's paradox of enrichment (1971). The switch happens when $K>2x^*+1/(\beta h)$ (a Hopf bifurcation).
6. Harvesting and Volterra's principle
Volterra was asked why predatory fish in the Adriatic became more common when fishing stopped during the First World War. Add harvest effort $E_x$ on prey and $E_y$ on predators:
Harvesting both species equally raises average prey and lowers average predators. Poaching predators raises the prey equilibrium; culling prey lowers the predator equilibrium but leaves the prey equilibrium unchanged.
7. From equations to agents
The savannah tab is an agent-based model (ABM). Instead of densities, every animal is an individual with a position, an energy store, an age and simple rules:
- Grass in each cell regrows logistically at a rate that follows Kenya's bimodal rainfall (long rains around March–May, short rains around October–December).
- Grazers pay a daily metabolic cost, eat grass in their cell (energy gain = bite × conversion), move towards greener cells, and flee nearby predators.
- Predators hunt only when hungry (a built-in satiation, like Holling type II), stalk the most catchable prey in view and succeed with a species-specific probability: lions are better at zebra, cheetahs and wild dogs at gazelles, and wild dogs succeed more often in packs.
- Animals reproduce when mature and well fed, and die of starvation, old age or predation. Predators also need spare prey to raise young (full breeding at about 15 grazers per predator) and are capped by territory, so, as in real reserves, carnivores stay a small fraction of the animals.
No differential equation is written down, yet predator–prey cycles emerge. ABMs add things the ODEs leave out: space (local overgrazing, refuges), individual variation, small-number randomness (demographic stochasticity) and therefore real extinctions.
8. Energy flow and the 10% rule
Only part of the energy at one trophic level becomes biomass at the next. The trophic transfer efficiency combines how much is eaten, how much is assimilated and how much is turned into growth rather than respired:
So with 10% efficiency, a top carnivore at level 4 receives only $0.1^3=0.1\%$ of the energy fixed by plants. This is why large predators are rare and food chains are short, and why removing a predator can ripple down through herbivores to vegetation: a trophic cascade.
Example 1: Classic Lotka–Volterra equilibrium and period
Defaults in the ODE tab: $\alpha=1.0$, $\beta=0.02$, $\gamma=0.8$, $\delta=0.01$.
- Prey equilibrium: $x^*=\gamma/\delta=0.8/0.01=80$.
- Predator equilibrium: $y^*=\alpha/\beta=1.0/0.02=50$.
- Jacobian: $J=\begin{pmatrix}0&-\beta x^*\\\delta y^*&0\end{pmatrix}=\begin{pmatrix}0&-1.6\\0.5&0\end{pmatrix}$, so $\tau=0$, $\Delta=0.8$.
- Eigenvalues: $\lambda=\pm i\sqrt{0.8}=\pm 0.894i$: a centre.
- Small-oscillation period: $T=2\pi/0.894=7.02$ time units. Check the Period readout in the lab.
Example 2: Adding logistic prey ($K=300$)
- The predator nullcline is unchanged: $x^*=80$.
- $y^*=\frac{\alpha}{\beta}\left(1-\frac{x^*}{K}\right)=50\,(1-80/300)=36.7$.
- $J=\begin{pmatrix}-\alpha x^*/K&-\beta x^*\\\delta y^*&0\end{pmatrix}=\begin{pmatrix}-0.267&-1.6\\0.367&0\end{pmatrix}$, $\tau=-0.267$, $\Delta=0.587$.
- $\lambda=-0.133\pm i\sqrt{0.587-0.0178}=-0.133\pm0.754i$: a stable spiral. Oscillations decay with e-folding time $1/0.133\approx7.5$ time units.
Example 3: Holling type II and the paradox of enrichment
Take $\beta=0.02$, $\delta=0.01$, $\gamma=0.8$, $h=0.2$, so $\beta h=0.004$.
- Kill rate at $x=100$ prey: $f=\frac{0.02\times100}{1+0.004\times100}=\frac{2}{1.4}=1.43$ prey per predator per unit time. The maximum is $1/h=5$.
- Equilibrium prey: $x^*=\frac{\gamma}{\delta-\gamma\beta h}=\frac{0.8}{0.01-0.0032}=117.6$.
- Hopf threshold: $K_c=2x^*+\frac{1}{\beta h}=235.3+250=485$.
- So $K=300$ gives a stable equilibrium, while $K=800$ gives a limit cycle. Try both with the Holling II model.
Example 4: Volterra's principle with numbers
- Classic defaults give $x^*=80$, $y^*=50$.
- Poach predators with $E_y=0.2$: $x^*=(0.8+0.2)/0.01=100$ prey (up 25%); $y^*$ is unchanged at 50.
- Harvest prey with $E_x=0.2$: $y^*=(1.0-0.2)/0.02=40$ predators (down 20%); $x^*$ is unchanged at 80.
Example 5: How much energy reaches a lion?
- Grassland net primary production: $9000$ kJ m⁻² yr⁻¹ (the pyramid default).
- Primary consumers (zebra, wildebeest): $9000\times0.10=900$ kJ m⁻² yr⁻¹.
- Secondary consumers (lion, hyena): $900\times0.10=90$ kJ m⁻² yr⁻¹, i.e. 1% of NPP.
- Careful with what each number means: 90 kJ m⁻² yr⁻¹ is the new carnivore biomass. To build it, carnivores must eat the herbivore production one level down, at most 900 kJ m⁻² yr⁻¹ = 900 GJ km⁻² yr⁻¹.
- A lion eats roughly 5–8 kg of meat a day; at about 6 MJ kg⁻¹ that is some $6\times365\times6\approx13$ GJ per year. The idealised budget would feed dozens of lions per km², yet real lion densities are only about 0.1–0.3 per km². Most savannah NPP is never eaten by large mammals (it is burnt, eaten by termites and insects, or decomposed), and the herbivores that are produced are shared with hyenas, leopards, wild dogs, disease and scavengers. The 10% rule is an upper-level sketch, not a census.
Challenges marked are checked automatically while you work.
- Trophic cascade. In the savannah, press Poach predators (press it again if predators recover) and keep running. Within three years the grazers should climb at least 25% above their level before you first poached (the higher of that day's count and the previous year's average), while the three-month average grass cover falls below 42%. Grass also dips every dry season, which is why the check uses a three-month average and needs the grazer rise too. (auto-checked)
- Island survival. Switch off Open reserve (no immigration) and keep zebras, gazelles, lions and cheetahs all alive for five years. Left alone, a small closed reserve usually loses its cheetahs or gazelles within three to five years: try it once to see. Then manage it as a warden would: when a population gets dangerously small, translocate a few animals in with the release tools, and cull or adjust grass regrowth if grazers boom. South Africa manages cheetahs and wild dogs in fenced reserves as a single metapopulation in exactly this way. (auto-checked)
- Ten-unit clock. In the classic ODE model, tune $\alpha$ and $\gamma$ so the small-oscillation period is 10 ± 0.2 time units. Read Period (small) under Equilibrium analysis; since $T\approx 2\pi/\sqrt{\alpha\gamma}$, you need $\alpha\gamma\approx0.39$. (auto-checked)
- Paradox of enrichment. In the Holling II model, find parameters where the coexistence equilibrium is unstable (the trajectory settles on a limit cycle). (auto-checked)
- Volterra's principle. In the classic model, set predator harvest $E_y\ge0.3$ and observe that the prey equilibrium has risen by at least 30% while predators stay the same. (auto-checked)
- Bottom-up collapse. In the food web, starting from the full web, remove a single species that causes at least three other species to go extinct. (Ecologists keep the word keystone for species whose effect is far larger than their abundance, such as elephants or top predators; a dominant species whose loss collapses everything that depends on it is a foundation species.) (auto-checked)
- Open question. Introduce wild dogs at a time when gazelles are scarce and again when they are abundant. Does the timing of an introduction matter? Relate your answer to the predator equation $\dot y=y(\delta x-\gamma)$.
- Open question. Turn on the fence. Why do local crashes become more likely when animals cannot move between halves of the reserve?
Savannah ecosystems in East Africa
Famous data: the lynx and the hare
Hudson's Bay Company fur records show roughly 10-year cycles in Canada lynx and snowshoe hare pelts, with lynx peaks lagging hare peaks. They are the textbook example of predator–prey oscillations, though later work showed that the hare's food plants and other predators also shape the cycle. It is a reminder that a two-species model is a starting point, not the whole story.