To begin, first checkout the code from GitLab:
git clone https://gitlab.com/kinsemc/bucky.git
Next set up the enviroment required to run the model, first making sure Anaconda is installed.
Anaconda can be downloaded from https://docs.anaconda.com/anaconda/install/
Included in the repository are two yaml formatted Anaconda enviroment specs:
enviroment.yml: Contains the standard packages required to run the model
enviroment_gpu.yml: Standard enviroment + CUDA/CuPy for GPU acceleration. CuPy will be used to replace all references to numpy in the model itself.
CuPy requires an NVIDIA GPU and will only increase performance for model runs over large geographic area (e.g. the whole US)
To install and activate the appropriate enviroment:
conda env create --file enviroment.yml
conda activate bucky
conda env create --file enviroment_gpu.yml
conda activate bucky_gpu
Finally, if you wish to use custom paths to store the data associated with the model (either inputs or outputs), simply edit the contents of config.yml in the root of the repository
It is recommended to use high speed storage for <raw_output_dir> if possible as that will have an impact on runtimes.
The model depends on a number of input datasets being available in the <data_dir> specified in config.yml. To automatically download them just using the get_US_data.sh script provided in the root of the repository (this will take some time for the initial download):
chmod +x ./get_US_data.sh
The following datasets will be automatically downloaded:
COVID-19 Case and death data on the county level
State and county-level mobility statistics
State and county-level location exposure indices
Reference: Measuring movement and social contact with smartphone data: a real-time application to COVID-19 by Couture, Dingel, Green, Handbury, and Williams Link
COVID-19 case and death data at the state level
Projecting social contact matrices in 152 countries using contact surveys and demographic data, Prem et al.
County-level coronavirus cases and deaths