Some rivers run to the sea, others do not. Whether a river makes it is really a question about connection. Rain falls across a landscape, trickles downhill, and is soaked up by the ground along the way. A continuous river exists only when the flowing water joins into an unbroken path that reaches from the headwaters all the way to the coast. Asking when that connected path first appears is a percolation problem, the same question physicists ask about when water first finds its way through a porous rock.
What counts as a river is decided cell by cell, through runoff. Each cell collects the rain that lands on it plus whatever water arrives from the cells upstream, holds back a fixed amount in storage, and sends the rest downhill. A cell carries a river only when that runoff is positive, meaning water genuinely leaves it. The whole model is this one balance, written for a cell at position \(\mathbf{x}\),
\[ \rho(\mathbf{x}) \;=\; \max\!\Bigl(0,\;\; r(\mathbf{x}) \;+\!\! \sum_{\mathbf{x}'\,\to\,\mathbf{x}} \rho(\mathbf{x}') \;-\; C \Bigr). \]Here \(\rho\) is the runoff, the rainfall \(r\) equals 1 with probability \(p\) and 0 otherwise, the sum collects the runoff from every upstream cell that drains into \(\mathbf{x}\), and \(C\) is the storage capacity. In words, runoff is water in minus water stored, and never less than zero. Two numbers then control everything you see below. The rainfall \(p\) sets how often a cell gets rain, and the storage \(C\) sets how thirsty the ground is.
Figure 1. Overflow on an \(L\times L\) Scheidegger basin at rainfall \(p\) and storage \(C\). spanning river, a connected overflow path from top to bottom. overflowing cell with runoff \(>0\) that is not part of a spanning path. dry. Resample rain redraws the rainfall at the same \((p, C)\), and new landscape redraws the random flow directions.
One thing to notice in the picture. The river is made of overflow, not of cells merely touching. A cell joins the network only when its runoff is positive, so that water is genuinely passing through it, and the basin counts as spanning only when these overflowing cells form an unbroken chain of flow from the top row down to the bottom. The red cells are exactly that spanning chain of overflow. The blue cells overflow too, but their flow does not reach all the way down, and the black cells are dry.
The terrain is a Scheidegger lattice, a minimal model of a tilted, randomly rough surface. Every cell sends its water to one of the two cells diagonally below it, down-left or down-right, chosen once at random and then fixed. Trace those arrows downhill and you get branching, merging streams with the same scaling statistics as real drainage networks.
The reason a river can survive on little rain is that runoff accumulates downstream. Two trickles that are each too small to overflow on their own can meet at a confluence and break through together. A cell can run with a river even when no rain fell on it, fed entirely from upstream.
Sweep \(p\) and \(C\) and the basin flips from no river to river across a sharp critical curve \(p_c(C)\). Right at that edge a small nudge in rainfall or storage can switch the river on or off, which is exactly where the world's marginal rivers live.
A few things to try. Start near \(p \approx 0.4\) and \(C \approx 0.5\), then raise \(p\) slowly until a red spanning river snaps into place. Now raise \(C\), a drier and thirstier basin, and watch it break apart again. Sit right at the edge and press resample rain. Near the transition the same \((p, C)\) sometimes spans and sometimes does not, the finite-size fuzz of a critical point.
This page is a companion to the paper of the same title, where repeating this sweep over many random landscapes turns the on and off behavior into a full phase diagram and a measured critical exponent.