For the mathematically interested, I've been working some on numerical modeling of the spread of epidemics across a grid since last year. It seemed a timely activity to understand what meets us daily in the news. Most models I've seen in the media or in scientific publications to this date use coupled differential equations, which inevitably lead to exponentials - and indeed, news headlines are full of 'exponential growth' etc. However, looking at the actual numbers, there was hardly ever any exponential growth seen anywhere in the world - nature seemed very reluctant to follow the models.
So I tried a different kind of model, one in which mobility of actors imposes local restrictions on the growth of infections - and this indeed produced many of the patterns we've seen in reality (in particular, it actually predicted the long spell of calm Germany experienced last summer to the surprise of many people using exponential models).
I've gradually expanded on the code to be more complex, so the latest version can for example run different virus strains on the same grid and show how they interact - here's an example of a standard strain (violet) being contained by a measure, at which point a more agressive strain (green) is introduced to the grid and takes over the dynamics - except for the areas where the standard strain has been acive before and created a protective mesh of immunity around pockets of uninfected people.
So if you want to have some hands- on model to see how parameters like mobility affect spread and containment, or what vaccination fraction would be enough to stop a particular disease from spreading, or... - the code is GPL 2+, feel free to download and use, a short tutorial series is on my page.