Vivarium engineering for research team members

The purpose of this page is to document information relevant to the Vivarium and Vivarium Public Health frameworks from a research perspective. This primarly includes “how-to” pages for different engineering type tasks. A good rule for an engineering type task included here is one that edits or is run from the engineering repository rather than from the research repository.

General Engineering Documentation for Relevant Packages

Vivarium

Vivarium is the core microsimulation framework and command line tools for running individual simulations. It contains documentation about how Vivarium itself works as well as useful information about how a model is specified and tutorials for running simulations and exploring them interactively, among other things.

Vivarium Public Health

Vivarium Public Health is a set of tools for Vivarium simulations that enable public health applications like disease and intervention modeling. This is where we define things like SI or SIS epidemiological models, or fertility models for population growth. It also contains a useful tutorial on interacting with data artifacts.

Vivarium Inputs

Vivarium Inputs contains the tools needed to create data artifacts from GBD data. The data artifact is an important notion, you can think of it as all of the data needed to run a simulation, packaged into one file. This package contains useful functions for pulling raw GBD data as well as generating data as it is used in a simulation, which are vitally important for vetting. There is a helpful tutorial here for pulling data using these functions, too.

Vivarium Cluster Tools

Vivarium Cluster Tools contains command line tools for running Vivarium simulations in parallel using IHME’s cluster. It contains documentation describing how this is done, as well as how YAML files and branches files work.

GBD Mapping

GBD Mapping is a python package that contains all the things modeled by the GBD and their relationships. This means things like causes, risk factors, and sequelae, as well as metadata about them. It’s mainly interacted with by importing the package and exploring it, and it’s used by other Vivarium repositories, especially Vivarium Inputs.