BONABEAU APPS

Why Doñana's lynx started eating kites

An interactive walk through a model that reproduces Sergio et al. (2026, Nature): Iberian lynx began taking black kite nestlings only after rabbit disease and drought struck together. One foraging rule is enough to explain when, and why not before.

The lynx in the model never counts kites. It counts what it can eat more easily: rabbits, and in wet years whatever the flooded marsh provides. Kite nestlings join its diet only when that intake drops below a threshold. Try it: move the rabbit slider, then dry the marsh.

Two things to notice. In a flooded year the fallback keeps intake above the threshold however scarce rabbits are, so the switch never opens. In a drought year the fallback is gone and the switch opens once rabbits fall below the step. Neither drought nor rabbit scarcity does it alone; their conjunction does. That is the article's central finding, and here it is not an assumption but a consequence of two resources entering the same intake budget.

Replay 1993 to 2023

The article's Source Data give, for 25 breeding seasons, the drought classification, rabbit density, and the number of kite nests taken by lynx out of those assessed at the feathered stage. Driving the switch with the observed rabbits and drought, and fitting its three free values to the nest counts by binomial likelihood, gives the line below. Scrub through the years.

observed, drought yearobserved, wet yearfitted switch
switch, droughtswitch, wetrange where the step must lie

The fitted switch is a step, not a slope: the steepness parameter ran to its bound. The data only bracket the step between 0.32 and 1.34 rabbits per ha, because no drought year has a rabbit density inside that interval. The article's take-off near 1 per ha is where its logistic curve crosses a chosen level, not an observed transition.

Why not plain Lotka-Volterra?

The article never names Lotka-Volterra, but it does name intraguild predation, and the standard intraguild predation model (Holt and Polis 1997) is a three-species Lotka-Volterra system: rabbits R, kites N, lynx P, with the lynx eating both. Its predation term on kites is aNP N P with a constant coefficient. Compare the two below.

drought yearswet years

With a constant coefficient the predation rate cannot be zero while both species are present, cannot differ between drought and wet years at the same rabbit density, and cannot jump. Three properties of the data, three things the classical model lacks. The switch replaces the constant with a state-dependent one, following the adaptive-omnivory extensions of Křivan (2000) and Křivan and Diehl (2005). Everything else about the model is standard Lotka-Volterra descent.

The model in equations

Annual time step t. Lynx numbers are fixed, as in the field (4 to 6 adults on the plot). The full derivation, parameter table and references are in the companion document; this is the skeleton.

Lynx intake and the switch

It = eR Rt + eW Wt
pt = p0 + pmax1 + exp[k(It − θ)]

Wt is the fallback resource, present in wet years and absent in drought. θ is the intake below which nestlings are worth attacking; p0 is a background of opportunistic predation. As k → ∞ this is Charnov's prey-inclusion rule: add a prey type when intake from better types falls below its profitability.

Rabbits

Rt+1 = Rt exp[gt(1 − Rt/Kt) + εR,t] · (1 − c)𝟙[t+1 = tc]

Ricker growth with a carrying capacity that drops when rabbit haemorrhagic disease arrives in 2013 and a one-off crash of more than 70 percent in that year.

Kites

Jt = Nt st(1 − pt) f,   Λt = Nt st pt
At+1 = σa[(Nt − Λt)(1 − d0) + Λt(1 − dp)]
Nt+1 = At+1 + max(0, 1 − At+1/KN)(σj Jt−2/2 + ι)

Fledglings J, pairs that lost their brood Λ, adult survival σa, territory abandonment d0 normally and dp after losing a brood to lynx, recruitment three years after fledging, a territory ceiling KN. Predation acts only on the feathered-nestling stage, as observed, so this is a stage-structured intraguild predation model.

Little owls

Ot+1 = Ot exp[rO(1 − Ot/KO) − mO Nt/Nref + εO,t]

Owls are prey of adult kites; fewer kites means lower owl mortality. Any mechanism that lowers kite numbers would produce this, so it is a consistency check rather than a discriminating test.

What happens next

Because the switch depends on the conjunction of drought and rabbit scarcity, the model makes a forward statement the data cannot yet test. Set a rabbit density for the coming decades and how often droughts occur, and the kite and owl components run forward from today. Droughts are drawn at random with the frequency you choose; the run is deterministic otherwise.

kite pairslittle owls, relativedrought year

Slide rabbits above the step and predation stops in drought years too. That is the lever the model offers management: the lynx-kite interaction is not a new permanent feature of the system but a state it enters whenever two conditions coincide, and rabbit recovery removes one of them.

How the fit compares

Five models fitted to the same 25 nest counts. Lower AIC is better; a difference under 2 is a tie.

ModelParametersAICΔAICWhat it says
Diet switch, rabbits + drought fallback5554.30.0Step at 0.32 to 1.34 rabbits per ha, drought years only; 1.4% background; 33% plateau
Logistic GLM, rabbit × drought (as in the article)4557.53.2Steep rabbit slope in drought, flat in wet years
Diet switch, rabbits only4569.315.0Cannot keep wet, low-rabbit years at zero
Diet switch, rabbits + duck counts5571.216.9Collapses to rabbits only; 1996 contradicts a duck mechanism
Logistic GLM, rabbit + drought, no interaction3594.239.9Misses the conjunction entirely

The mechanistic switch does as well as the article's regression, and both lose heavily without the drought term. One thing the data push back on: duck counts, the obvious fallback resource, do not carry the drought effect. Whatever drought removes from the lynx's options, it is not captured by spring duck abundance; it may be other wetland prey, an unreliable early rabbit estimate, or simply dry ground under the nest trees.

What the model does not settle

Whether lynx kill kites for food or to remove a competitor: both give the same switch. Whether lynx numbers would eventually respond to the rabbit crash: they are fixed here. Where exactly the step lies: between 0.32 and 1.34 rabbits per ha, and a drought year with rabbits inside that range would narrow it.