Derived from the FMD model and contact data from Sibylle.
The Contact-Tracing Model is an individual-based stochastic network model which has been set-up within the RAMP / SCRC collaborations to support modelling of the COVID-19 pandemic. It comprises of S-E1-E2-Iasymp-Isymp-Isev-D-R disease progression compartments and operates on a network of contact data to spread the infection. There is no explicit spatial scale in the model, but some form of 'location' information is retained (e.g. where the contact happened, i.e. at school, work, home,...). The advantage of the model is that we can simulate flexible contact-tracing, with a focus on mobile contact-tracing apps. Nevertheless, the model can also be used to investigate the manual track-and-trace programme scenarios (with delayed contact-tracing). The aim of the model is to explore contact tracing policies and how best to identify and isolate infectious people. Our goals are to determine how effective contact tracing can be (given app uptake and compliance) and how much efficacy can be retained when also targeting and testing to reduce the number of people in isolation. Further documentation on the epidemiological model and the java build can be found in the 'docs' folder.
Please ensure you have a Java SDK installed. I recommend Java 11 as it is the current LTS version.
To compile, run or test this model, Gradle must be installed. This manages the libraries utilised and simplifies the build process.
I recommend using homebrew.
To install homebrew:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
To install Gradle:
brew install gradle
sudo apt install gradle
yum install gradle
Follow instructions here.
The infection map shows how a single individual passes the infection to others sets of people. The receiving set is denoted in the square brackets. The depths of the tabbing shows how far away from the source case it is.
8194 -> [2135]
-> 2135 -> [3809, 2694, 6711]
-> 3809 -> [4753]
-> 4753 -> [9536]
-> 9536 -> [4035, 222]
-> 222 -> [260, 3239]
-> 3239 -> [6272]
-> 6711 -> [7153, 1922]
-> 7153 -> [2733]
-> 2733 -> [7984]
-> 1922 -> [8859]
To compile the project without running tests:
gradle assemble
To compile and run the tests:
gradle build
To run the project:
gradle run
To run with command line arguments:
gradle run --args='--overrideInputFolderLocation=input/scenarios/scenario1a_tracinglevel1 --overrideOutputFolderLocation=output0 --seed=3
0.1 - the initial implementation of an SEIR model
1.0 - new Schema with basic alerting
1.1 - removing some of the out of date input data. This is covered in the build docs.