# CovidSim

CovidSim is an epidemiological model for COVID-19 developed by Imperial College COVID-19 Response Team, led by Neil Ferguson. The Imperial College study addresses the question: If complete suppression is not feasible, what is the best strategy combining incomplete suppression and control that is feasible and leads to acceptable outcomes?

## History

CovidSim is an agent-based model and was based on an earlier influenza model.
The codebase for the model was initially constructed c. 2005.

## Informing policy decisions

For UK Prime Minister Boris Johnson, it was, according to David Adam writing in The Atlantic, "a critical factor in jolting the UK government into changing its policy on the pandemic" and order a nationwide lockdown to limit the spread of the Coronavirus.

## Software

In May 2020, a C++ derivative of the code was released to GitHub.
As of May 2023, the current release tag is v0.15.0. Additionally, an Anaconda package exists with release v0.8.0
The software should be distinguished from the ICL's COVID-19 Scenario Analysis Tool (currently Version 4), which is hosted under the domain name https://www.covidsim.org, but according to the research documentation is relying on the model combined with a squire model, which is the underlying transmission model in the absence of vaccination. Further details are available under ICL's Report 33.

### Code reviews and expert opinions

Note that the mentioned model ships with and is marked with a list of warnings and user information, e.g. no support, stochastic nature/kernel, criticality of input parameters etc.

#### Soundness

American programmer John Carmack said in April 2020 that he worked on the code before it was released to the public, when it was a single 15,000-line C programming language file and "some of the functions looked like they were machine translated from Fortran", but that "it fared a lot better going through the gauntlet of code analysis tools I hit it with than a lot of more modern code".

#### Shortcomings

New Scientist reported in March 2020 that one group from the New England Complex Systems Institute reviewing the model suggested that it contained "systematic errors". British newspaper The Telegraph reported that some software engineers who reviewed the new code called it "totally unreliable" and a "buggy mess".
In the opinion of University of Oxford computer scientist Michael Wooldridge, the code was "developed without the ceremony and rigor" of professional products, which is not untypical for research software and often intended to be not understood by third parties, or to be reused; and "while the extensive criticism about relaxed software engineering practices is perhaps justified, it was not fundamentally flawed".

## Model characteristics
### Reproducibility

An independent review by Codecheck led by Dr Stephen Eglen of the University of Cambridge confirmed that they were able to reproduce the key findings from the response team's report by using the software. A June 2020 editorial in Nature declared the original CovidSim codebase met the requirements of scientific reproducibility.

### Uncertainty

Further research exists to identify the following three sources of uncertainty in the simulation: parametric uncertainty, model structure uncertainty and scenario uncertainty: The simulation output depends critically on the inputs and can change up to 300% based on 940 parameters, of which 19 are considered most sensitive. Model structure and scenario uncertainty must therefore be understood.
The results obtained by Imperial using the model are consistent with other models that make similar assumptions.

### Extensibility

Calibration of the model has been hampered by the lack of testing, especially the poor understanding of the prevalence of asymptomatic infection, however the Imperial College team makes reasonable assumptions. The model's reliance on a simplified picture of social interactions limits its extensibility to counterfactuals. The general nature of conclusions based on such a model can be expected to be similar to those of a simple compartmental model.

### Other applications, related or follow-up research

* Additional research is based on the model, e.g. for simulation of effect of school closures on mortality.
* Wouter Edeling et al. contributed a FabSim3 plug-in called FabCovidSim, which is based on EasyVVUQ, a Python 3 library to facilitate verification, validation and uncertainty quantification (VVUQ) for a wide variety of simulations.
* In a recent publication on MedRxiv, which was now accepted by BMJ Open by Laydon et al., the authors utilize the model to "Measure the effects of the Tier system on the COVID-19 pandemic in the UK between the first and second national lockdowns, before the emergence of the B.1.1.7 variant of concern" and conclude that "...interventions at least as stringent as Tier 3 are required to suppress transmission, especially considering more transmissible variants, at least until effective vaccination is widespread or much greater population immunity has amassed."