This is the COVID-19 CovidSim microsimulation model developed by the MRC Centre for Global Infectious Disease Analysis hosted at Imperial College, London.
CovidSim models the transmission dynamics and severity of COVID-19 infections throughout a spatially and socially structured population over time. It enables modelling of how intervention policies and healthcare provision affect the spread of COVID-19. With parameter changes, it can be used to model other respiratory viruses, such as influenza.
This model is in active development and subject to significant code changes to:
-
Enable modelling of more geographies
-
Enable modelling of different intervention scenarios
-
Improve performance
The model is written in C++ and runs on Windows and Linux-based systems.
Running the model for the whole of the UK requires approximately 20GB of RAM. Other regions will require different amounts of memory (some up to 256GB).
It is strongly recommended to build the model with OpenMP support enabled to improve performance on multi-core processors. 24 to 32 core Xeon systems give optimal performance for large (e.g. UK, US) populations.
See build.md for detailed build instructions.
From within your build directory do:
make test
# If you want more progress indication
make test ARGS="-V"
# or
ctest -V
IMPORTANT: The test scripts use test data only are not runs reflective of real-world situations.
The directory data contains sample data.
The Python script run_sample.py demonstrates how to invoke CovidSim to use this data. See the sample README for details on how to run the samples.
Model documentation can be found in the docs directory. Of particular interest are:
- Model Overview
- Model Glossary
- Model Inputs and Outputs
- Interventions description
- R Scripts for Output Visualisation
Given the entire Imperial College team is working full-time on the COVID-19 response, documentation is currently sparse. More documentation and sample files will be added as time permits. In the coming few weeks this will include a much more extensive set of input files to model strategies for exiting lockdown.
The following papers are relevant to the model. Please note that some of them may require a subscription.
- https://www.imperial.ac.uk/media/imperial-college/medicine/sph/ide/gida-fellowships/Imperial-College-COVID19-NPI-modelling-16-03-2020.pdf
- https://www.nature.com/articles/nature04795
- https://www.nature.com/articles/nature04017
- https://www.pnas.org/content/105/12/4639.short
The source code for CovidSim is licensed under the GPLv3, see LICENSE.md.
It is Copyright Imperial College of Science, Technology and Medicine. The lead developers are Neil Ferguson, Gemma Nedjati-Giliani and Daniel Laydon.
Additional contributions for open-sourcing made by Imperial College of Science, Technology and Medicine, GitHub Inc, and John Carmack are copyright the authors.
Licensing details for material from other projects may be found in NOTICE.md. In summary:
CovidSim includes code modified from RANLIB which is licensed under the LGPLv3.
Sample data in the repository has been derived from the following sources:
WorldPop (www.worldpop.org - School of Geography and Environmental Science, University of Southampton; Department of Geography and Geosciences, University of Louisville; Departement de Geographie, Universite de Namur) and Center for International Earth Science Information Network (CIESIN), Columbia University (2018). Global High Resolution Population Denominators Project - Funded by The Bill and Melinda Gates Foundation (OPP1134076). https://dx.doi.org/10.5258/SOTON/WP00647
WorldPop is licensed under the Creative Commons Attribution 4.0 International License (CC BY 4.0). The text of the license can be found at: https://creativecommons.org/licenses/by/4.0/legalcode
Due to time pressure on the development team we are not currently accepting contributions to this repository. You are free to fork it. We are also unable to provide user support at this time.
If you do find issues with the code please raise them in our Issue Tracker.
This repository has a code of conduct which is detailed in CODE_OF_CONDUCT.md. When raising an issue in this repository you agree to abide by the code of conduct.