Prerequisites for working with EMOD source code

This section describes the software packages or utilities must be installed to build the EMOD executable (Eradication.exe) or Eradication binary from source code and run regression tests.

If additional software is needed for the prerequisite software due to your specific environment, the installer for the prerequisite software should provide instructions. For example, if Microsoft MPI v8 requires additional Visual C++ redistributable packages, the installer will display that information.

Note

IDM does not provide support or guarantees for any third-party software, even software that we recommend you install. Send feedback if you encounter any issues, but any support must come from the makers of those software packages and their user communities.

Install prerequisites for building Eradication.exe

The following software packages are required to build the Eradication.exe from EMOD source code on Windows 10, Windows Server 12, and Windows HPC Server 12 (64-bit).

Note

You must also have already installed the required software to run EMOD simulations. If you have not, see EMOD installation.

Visual Studio

  1. Purchase a license from Microsoft or use an MSDN subscription to install Visual Studio 2015 (Professional, Premium, or Ultimate). Other versions of Visual Studio are not supported.

    While you can use a free copy of Visual Studio Community, IDM does not test on or support this version.

  2. Select the Visual C++ tools for Windows desktop during installation.

Python

Python is required for building the disease-specific Eradication.exe and running Python scripts.

Note

EMOD does not support the current version of Python.

  1. Install Python 2.7.11 or 2.7.12. See https://www.python.org/downloads/ for instructions.

    • In the Customize Python dialog box, verify that Add python.exe to PATH is selected to add Python to the PATH environment variable on your computer.
  2. From Control Panel, select Advanced system settings, and then click Environment Variables.

  3. Add a new variable called IDM_PYTHON_PATH and set it to the directory where you installed Python, and then click OK.

  4. Open a Command Prompt window and type the following to verify installation:

    python --version
    

The Python package manager, pip, is installed as part of Python 2.7.11 or 2.7.12 and is used to install other software packages.

HPC SDK

Boost

  1. Go to https://sourceforge.net/projects/boost/files/boost/1.61.0/ and select one of the compressed files.
  2. Unpack the libraries to the location of your choice.
  3. From Control Panel, select Advanced system settings, and then click Environment Variables.
  4. Add a new variable called IDM_BOOST_PATH and set it to the directory where you installed Boost, and then click OK.

SCons

SCons is required for the building disease-specific Eradication.exe and is optional for the monolithic Eradication.exe that includes all simulation types.

  1. Go to http://www.lfd.uci.edu/~gohlke/pythonlibs#scons and select the WHL file for SCons 2.5.0 that is compatible with Python 2.7.11 or 2.7.12.

  2. Save the file to your Python installation directory.

  3. Open a Command Prompt window and navigate to the Python installation directory, then enter the following, substituting the name of the specific matplotlib WHL file you downloaded:

    pip install scons-2.x.x-py2-none-any.whl
    

Install prerequisites for building the Eradication binary

For CentOS 7.1 on Azure, all prerequisites for building the Eradication binary are installed by the setup script described in Install EMOD on CentOS on Azure. If you originally installed EMOD without including the source code and input data files that are optional for running simulations using a pre-built Eradication binary, rerun the script and install those.

Install prerequisites for running regression tests

The following plotting software is required for running regression tests, where graphs of model output are created both before and after source code changes are made to see if those changes created a discrepancy in the regression test output. For more information, see Regression testing. For CentOS 7.1 on Azure, all Python packages are installed by the setup script, but you may want to install R or MATLAB.

We recommended that you download some of the Python packages from http://www.lfd.uci.edu/~gohlke/pythonlibs, a page compiled by Christoph Gohlke, University of California, Irvine. The libraries there are compiled Windows binaries, including the 64-bit versions required by EMOD.

Python utilities

The Python utilities dateutil, six, and pyparsing provide text parsing and datetime functionality.

  1. Open a Command Prompt window.

  2. Enter the following commands:

    pip install python-dateutil
    pip install pyparsing
    

NumPy

The NumPy package adds support for large, multi-dimensional arrays and matrices to Python.

  1. Go to http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy and select the WHL file for NumPy 1.11.3 (64-bit) that is compatible with Python 2.7.11 or 2.7.12.

  2. Save the file to your Python installation directory.

  3. Open a Command Prompt window and navigate to the Python installation directory, then enter the following, substituting the name of the specific NumPy WHL file you downloaded:

    pip install numpy-1.x.x+mkl-cp27m-win_amd64.whl
    

Matplotlib

Matplotlib is a Python library for making publication quality plots using syntax familiar to MATLAB users. Matplotlib also uses NumpPy for numeric manipulation. Output formats include PDF, Postscript, SVG, and PNG, as well as a screen display.

  1. Go to http://www.lfd.uci.edu/~gohlke/pythonlibs/#matplotlib and select the WHL file for Matplotlib 1.5.3 (64-bit) that is compatible with Python 2.7.11 or 2.7.12.

  2. Save the file to your Python installation directory.

  3. Open a Command Prompt window and navigate to the Python installation directory, then enter the following, substituting the name of the specific matplotlib WHL file you downloaded:

    pip install matplotlib-1.x.x+mkl-cp27m-win_amd64.whl
    

R

The IDM test team uses R 3.2.0 (64-bit) for regression testing, but it is considered optional.

R is a free software environment for statistical computing and graphics.

MATLAB

The IDM test team uses MATLAB R2015a and the MATLAB Statistics and Machine Learning Toolbox™ R2015a for regression testing, but they are both considered optional.

MATLAB is a high-level language and interactive environment for numerical computation, visualization, and programming. The MATLAB Statistics and Machine Learning Toolbox™ provides functions and applications to describe, analyze and model data using statistics and machine learning algorithms.

  1. Go to http://www.mathworks.com/products/matlab/ and install MATLAB R2015a.
  2. If desired, go to https://www.mathworks.com/products/statistics.html and install the MATLAB Statistics and Machine Learning Toolbox™ R2015a.