An official website of the United States government.

This is not the current EPA website. To navigate to the current EPA website, please go to This website is historical material reflecting the EPA website as it existed on January 19, 2021. This website is no longer updated and links to external websites and some internal pages may not work. More information »

Benchmark Dose Tools

Benchmark Dose Software (BMDS) Version 2.7 - Download Source Code

BMDS 2.7 is no longer under active development. With a few exceptions, most models are now maintained in BMDS 3.x.

The instructions on this page will help you compile the BMDS 2.7 source code to create your own copy of the BMDS 2.7 executable. While the code could be compiled for a non-Windows environment, that capability has not been tested nor is it supported.

We suggest downloading these files only if you are a programmer interested in reviewing or commenting on the BMDS model programs. Please use the BMDS Help Desk Form to suggest changes to these source code files.

On this page:

Download and Install the Programming Environment

BMDS is compiled using the free and open source Minimalist GNU for Windows (MinGW) programming environment. MinGW provides an open source programming tool set that is suitable for the development of native MS-Windows applications.

To download and install MinGW:
  1. Download the MinGW (32-bit version) installerExit. If that link does not work, go to the MinGW project page Exitand click the Download button.
  2. Run the installation program mingw-get-inst-20120426.exe. Use the following settings during setup:
    • On the Repository Catalogues screen, select “Download latest repository catalogues”
    • On the Select Start Menu Folder screen, uncheck “Don’t create a Start Menu folder” if it is checked. (The MinGW Shell shortcut will be used later to compile BMDS.)
    • On the Select Components screen, check these items:
      ✓ C Compiler
      ✓ Fortran Compiler
      ✓ MSYS Basic System
      ✓ MinGW Developer Toolkit

Top of Page

Download and Compile the BMDS Source Code

  1. Download the BMDS 2.6 source code (ZIP)(6 MB) .
  2. Unzip the BMDS sources into a directory where you have write permission (for example, C:\USEPA). This will create a subdirectory called bmds_models (for example, C:\USEPA\bmds_models).
  3. Run the MinGW Shell from the shortcut created during installation. (We have not tested using the Windows command prompt to compile BMDS, although it should be possible.)
    Notes regarding the MinGW Shell (MSYS)
    • MSYS mimics the behavior and commands of a UNIX/Linux shell. In particular, directory path components are separated by “/” (forward slash) instead of “\“ (backward slash).
    • The top of the file tree is rooted under the MinGW installation directory, which limits the view of your Windows files by default. You can access files outside of the MSYS root by specifying the Windows drive letter at the beginning of a path name; for example, C:/.
  4. Change directory (cd) to the bmds_models directory and run the make command. For example:
    $ cd c:/USEPA/bmds_models
    $ make
  5. After the make process finishes, the model executables will appear in the bin subdirectory.

Top of Page

Optimization Algorithms Used in BMDS

Two subroutines are used for all the optimizations in BMDS.
  • DMNGB, written by David M. Gay, is used for all models that can be reparameterized so that BMD appears explicitly as a parameter. This routine is archived in Netlib Exit.
  • DONLP2 was written by P. Spellucci to solve optimization problems with non-linear constraints. It is used in cases where the model cannot be so reparameterized. DONLP2 is restricted to non-commercial use by the author's copyright. More information on the optimizer can be found at the author's websiteExit.

Top of Page