This simulation requires the GL extensions framebuffer_object and texture_float. If you cannot see the simulation your system probably lacks at least one of these extensions.
In Google Chrome, you can see the available GL extensions going to chrome://gpu.
When you approach the Sahara desert from the south, rainfall is in increasingly lower supply. You would expect the vegetation to gradually become sparser and sparser, until nothing else remains than desert sand.
On the edge of the desert, however, something remarkable occurs. The bushland vegetation starts to develop strikingly regular patterns, in the form of stripes, dots, gaps, or over labyrinth shapes.
To understand how these patterns form, a young Chris Klausmeier made a very simple model, that deals with how vegetation interactions with rainwater. Rainwater does not infiltrate well on the clayey soils where these patterns are typically found. However, where plants grow, they open up the soil, allowing rainfall to infiltrate, stimulating vegetation growth, leading to even better infiltration. In other words, where more plants grow, there is more water for the plants to consume.
Chris made a very simple mathematical model to capture this feedback processes. This model described the local dynamics of water w and plants n:
∂w / ∂t = a - w - wn2 - v ∂w / ∂x
∂n / ∂t = wn2 - mn + ∂2n / ∂x2 + ∂2n / ∂y2
Here, rainfall a is the source for water, which is either taken up by plants, evaporates, or flows downslope. Plant uptake of water increases disproportionally with plant density because of the stimulation of water infiltration by the plants, which is captured by the term wn2. Plant growth is linearly dependent on water update, and plants face losses due to senescence with a rate m. Water movement on hill slopes as modelled by the advection term v ∂w / ∂x, where v is the water flow rate. Finally, vegetation spread is modelled as a diffusive process. On flat surfaces, where water flow downhill is negligible, water flow is similarly approximated as a diffusive process.
Despite of its simplicity, this model is capable of explaining the majority of spatial patterns that are observed in arid lands.
Try the above java applet to get aquainted with the model. The applet actually runs the following model:
∂w / ∂t = a - w - wn2 - v∇w + d∆n
φ ∂n / ∂t = wn2 - mn + ∆n
where ∇ and ∆ are the gradient and laplacian operators, respectively, and d represents water dispersion on flat soil. φ respresent an acceleration parameter that bridges the time gap between water movement and plant growth.
Images Nicholas Barbier, linked from Wikipedia.
Webpage Johan van de Koppel, November 2016, johanvandekoppel.nl.