The probability of a rare event is difficult to estimate in a numerical model. The rarer the event, the longer it takes to obtain a sample of the event we are interested in. Think for example of simulating heat waves in a climate model. We could be interested in very rare heat waves that only occur about once in a thousand years. To get a decent sample of such heat waves, we would need perhaps 100 samples. That means we would have to run our climate model for a hundred thousand years. Such long simulations are currently not possible.

Luckily, there exist algorithms that can speed things up and make the impossible possible. Such algorithms are know as rare event simulation algorithms, see the research section for more details. Successfully applying such algorithms to climatic rare events could make a huge impact on how we prepare for possibly catastrophic events.

Today I’d like to share some code with you that demonstrates the use of rare event simulation techniques on a simple Ornstein-Uhlenbeck system. With the code (some Python scripts and a Jupyter notebook), you can see how rare event simulation can accurately estimate very small probabilities.

D2Q9 lbm

For an in-depth discussion of these techniques, see my publication with Freddy Bouchet in J Phys A (preprint).