Rust, Python, Jupyter, Flatbuffers
A large-scale epidemiological agent-based model, created as the final project of undergraduate. Consists of three components:
Synthetic Environment Generator
A pipeline that manipulates and combines open-source datasets to create representative artificial populations of given UK geographies.
Simulation Runner
An efficient low-level agent-based model written in Rust. Utilises the synthetic environments created by the generator, and is capable of simulating tens of millions of agents at those extremely-fine granularities. Includes a visualisation of the population and geography during simulation execution.
Reporting Utilities
A selection of Jupyter notebooks to parse, visualise, and work with, the outputs of the simulation runner. Used for analysing transmission dynamics and other metrics.