Skip to content

EMOD model documentation

EMOD (Epidemiological MODeling software) is a stochastic, agent-based modeling framework that simulates the simultaneous interactions of agents in an effort to recreate the complex phenomena of disease transmission. Built in C++, the models are feature-rich and designed to track the movement, development, health, and other traits of interest for individuals over a course of lifetimes.

No new features, bug fixes, or model updates are currently planned. Community support is available through the GitHub Discussions forum, and model code will remain publicly accessible.

Getting started

Available models and utilities

EMOD is the disease model framework, offering disease-specific models for malaria and HIV alongside Python packages for configuring and running simulations. The idmtools package is a model-agnostic framework that handles the surrounding infrastructure: job commissioning, HPC integration, calibration, and more. While each can be used independently, we recommend using them together for a seamless, integrated workflow.

EMOD

The EMOD framework is powerful and flexible, and can be customized to examine a variety of epidemiological problems. Source code is available for those interested in modifying code to create custom models, and various transmission modes are available to investigate specific disease-oriented questions.

  • EMOD


    The source files for building EMOD.

    EMOD

  • EMOD-Generic


    Modeling framework best suited for low-complexity disease transmission, such as measles.

    EMOD-Generic

  • emod-api


    The Python API used for editing EMOD files.

    emod-api

  • emodpy


    The Python code used to configure and run EMOD simulations.

    emodpy

  • emodpy-malaria


    The malaria-specific model and Python code used to configure and run malaria-based EMOD. It includes vector transmission, within-host parasite dynamics, and malaria-specific interventions.

    emodpy-malaria

  • emodpy-hiv


    The HIV-specific model and Python code used to configure and run HIV-based EMOD. It includes within-host viral dynamics, HIV virology parameters, and HIV-specific interventions.

    emodpy-hiv

idmtools

The idmtools package is a collection of Python scripts and utilities that streamlines the full modeling workflow: input file creation, model calibration, commissioning simulations (both locally and on an HPC), and analyzing results. While idmtools is model-agnostic and compatible with custom R or Python models, it is purpose-built to work seamlessly with EMOD.

  • idmtools


    Framework of Python scripts and utilities to streamline modeling workflows.

    idmtools

  • idmtools container


    The local runner enabling the execution of tasks in a docker container.

    idmtools-local

  • idmtools calibra


    Python scripts and utilities to aid in model calibration.

    idmtools-calibra