The PRISM2 CRE published A User's Guide to Infectious Disease Modelling in 2016. This provides an introduction to interpreting the results of mathematical modelling studies in epidemiology. The primary target audience is policy makers who want to capitalise on these kinds of studies to inform immunisation policy and the control of vaccine preventable diseases.
This interactive SEIR demo illustrates how epidemiological parameters, such as the basic reproduction number, affect the size and duration of an epidemic.
This interactive SIR demo illustrates how outbreaks in small populations are driven by stochastic events. It is designed for use in a talk or presentation, where the model population size can be set to the number of people in the audience \(N\), each of whom should be given a unique number from \({1 \dots N}\). A simplified interface is also provided.
The NRICH Project offers a variety of interactive teaching resources.
Before I came to infectious diseases epidemiology, I modelled how kidneys regulate water and salt balance.
I developed a whole-kidney model that predicted steady-state salt and water excretion rates in response to renal pressure and circulating hormone levels, as illustrated in these interactive plots.
I added an explicit glomerular capillary bed to an existing model of afferent arteriole autoregulation, in order to predict the glomerular filtration rate.
As mathematical models grow larger and more complex they become harder to analyse and understand. Once a model is sufficiently complex, the likelihood of someone being able to replicate its behaviour based on the model description in a publication becomes negligible. Making the model source code available is necessary but insufficient to render a model comprehensible. This has led to a proliferation of semantic markup languages and detailed guidelines for describing models and in silico experiments.
The importance of clear, concise and helpful documentation is paramount to ensuring a published model and results can be replicated independently of the original model implementation. It can be hard to write good prose and to teach the user rather than simply telling them what to do. Explanations can be confusing and difficult to understand. That's why it's important a have good editor; only edit the documentation yourself as a last resort. Good documentation means that your model/software is learnable.