INTERACTIVE COMPANION · FIELD NOTES · TROPICAL ECOLOGY
The Strike Bench
A tonka bean tree in Panama takes a direct lightning strike and walks away. The vines wrapped around its crown do not. Both sit in the same circuit. What separates them is \(R = \rho L / A\) and a difference in weight: one path is 17.8 tonnes of wet wood, the other is 40 kilograms of vine.
Below you can build that circuit, fire a bolt through it and watch where the energy lands. Then you can run three centuries of forest and ask whether surviving a strike buys the tree anything. Everything on this page is the club's own simplified model, not the analysis published by Gora et al. (2025).
Model 1: fire a bolt through a tree
The trunk and every liana on it are resistors between the same two nodes: the crown, where the flash attaches, and the wet soil. Current divides by conductance, and heating goes as \(I^{2}R\). What decides whether tissue dies is heating per kilogram, because a kilogram of vine and a kilogram of trunk need about the same energy to boil, and there are 450 times more kilograms of trunk.
The last slider decides everything. Attachment geometry slides between the two limits from the article. At 0 the vine is a genuine parallel branch: it shares the trunk's voltage and takes a conductance-weighted sliver of the current. At 1 the flash attaches to the vine itself, and the vine carries a current set by the channel rather than by its own resistance. The page opens at 0, the configuration the article works through in §4, and at 0 nothing burns. Drag it right.
Continuing current scales with the peak you set: 200 A at a 30 kA peak, held for 115 ms, which is the standard thermal-damage waveform. Trunk resistivity falls exponentially with moisture and is 120 Ω·m at 45%. Liana resistivity is fixed at 180 Ω·m. On the settings the page opens with, these readouts match the article's ledger to the digit: 10.7 kΩ, 6.446 MΩ, 199.7 A, 0.331 A, 23,937 W/kg, 17,873 W/kg, 26.4 °C, 25.7 °C.
What the numbers are doing
Resistance of a uniform path is \(R = \rho L / A\), and conductance is its reciprocal. In a parallel network a branch takes its share of the total conductance, so a 4 cm vine beside a 1 m trunk gets 0.166% of the flash. That sounds like a reprieve. Then you notice the vine weighs 39.6 kg.
Power per kilogram is what actually kills tissue:
$$\frac{P}{m} \;=\; \frac{I^{2}R}{\rho_{d}LA}$$The temperature story then has two acts. The tissue warms at \(\Delta T = (P/m)\,\Delta t / c\). At 100 °C it stops warming and starts boiling, and every kilogram of tissue water needs another 2.26 MJ before the temperature can move again. The readouts above tell you which act each path reaches inside the 115 ms the flash lasts. A trunk needs 1.17 MJ/kg to steam out and a vine 1.58 MJ/kg. The trunk spreads its share over 17.8 tonnes.
Model 2: three hundred years, two strategies
Surviving a strike is worth nothing unless it buys seeds. So here is the evolutionary version. A tall conductive tree pushes its crown above the canopy, gets struck often and survives. A short avoidant tree stays lower, is struck less often, and dies when it is struck.
Strike hazard scales as height squared times crown area, normalised so the tall strategy is hit once per 56 years. Each strike knocks the liana load down to 22% of what it was and opens a canopy gap that decays over about 22 years. Between strikes the vines regrow logistically, dragging seed output and survival down together. Reproduction begins at year 60.
Deterministic pseudo-random generator seeded at 20250326, so the same settings always give the same answer. The settings the page opens with are the article's D2 contrast, a 36 m avoider against a 40 m tolerant tree, which the article's Python gives as 6.64×. This page gets 6.54×, and at 40 m, where the contrast becomes the article's D1 and the two trees differ only in whether a strike kills them, it gets 7.25× against the article's 7.23×. The remaining couple of per cent is the random number generator, not the model: JavaScript here, NumPy there, same rules. The paper reports about 14×.
Why the ratio keeps climbing
Drop the number of lifetimes to 500 and the ratio lurches about by a whole unit. Raise it back to 20,000 and it settles down. That much is sampling noise, and even at 20,000 lifetimes per arm a different random seed would still move the answer by a tenth or two. Worth knowing before you read any single run too closely.
The other movement is not noise, and it never settles. Extend the clock past 300 years and the ratio keeps climbing. The intolerant cohort stops contributing seeds early, because by about year 140 essentially all of them are dead, while the tolerant cohort goes on accumulating for as long as you let it run. So the answer depends on how long you decide a lifetime is. Three hundred years gives about 6.6× for the trade-off contrast and about 7.2× for tolerance alone. A 500-year horizon would give more. Read "14-fold" as a modelled projection over an estimated lifespan rather than a measured quantity like "78% of lianas died."
What this model does not have
No flashover. Real lightning largely runs along the wet outer bark rather than through tissue, and this resistor network has no surface path in it at all. That is the single biggest omission here. No temperature-dependent resistivity either, though real wood's resistivity falls steeply as it warms and then rises catastrophically once sap boils. No seed predation, no masting, no pollinators, no genetics. The trunk is a homogeneous ohmic cylinder. Trunks are not.
What the model is for is bracketing. It says the gap between "destroys a 40 kg vine" and "warms a 17.8 tonne trunk by one degree" is a factor of about 200,000 in energy, and that almost any plausible current-sharing arrangement lands somewhere inside that gap. That much survived every assumption we could think to break.