Options for Dakota Features

QUESO for Bayesian Calibration

Compiling Dakota's QUESO sub-package requires:

  • A Unix-like platform (not supported on Windows)
  • Enabling MPI (see above) Note: For Dakota versions 6.3 and later, MPI is no longer required to enable QUESO.
  • The Boost program_options compiled library
  • GSL 1.15 or newer, which means that resulting Dakota binaries will include GPL licensed components

If the program gsl-config is not on your PATH, you'll either need to put it there, or set the environment variable export GSL_CONFIG=/usr/local/gsl/1.15/bin/gsl-config or similar. You may also need to set export BOOST_ROOT=/usr/local/boost/1.49.0 or similar to make sure that QUESO and Dakota are built with the same Boost.

The following CMake settings are necessary to enable QUESO:

HAVE_QUESO:BOOL=ON
DAKOTA_HAVE_GSL:BOOL=ON
# Optionally, to work around a Dakota 6.1 bug:
HAVE_QUESO_GPMSA:BOOL=OFF
# Optionally, specify a CBLAS to avoid numerical differences induced by using GSL's
# For example, on RHEL6:
-DDAKOTA_CBLAS_LIBS:FILEPATH=/usr/lib64/atlas/libcblas.so.3

HDF5 Results Output

Building Dakota with HDF5 support requires HDF5 version 1.10.2 or higher. Parallel HDF5 is not needed at this time, but will be in future Dakota releases. In addition, the Python h5py module is needed to run some of the HDF5-related tests and for the HDF5 examples.

The following CMake setting is necessary to enable HDF5:

DAKOTA_HAVE_HDF5:BOOL=ON

In addition, the environment variable HDF5_ROOT should be set to the top-level HDF5 directory (i.e. that contains the include and lib folders).

Documentation

Building Dakota documentation build requires appropriate versions of Perl, Doxygen, and LaTeX and only works on Unix platforms: set ENABLE_DAKOTA_DOCS:BOOL=TRUE

Graphics

Dakota X11/Motif-based graphics default to ON, but are turned off if necessary libraries aren't found. This feature can be force disabled by setting HAVE_X_GRAPHICS:BOOL=FALSE

Dakota sub-packages

This table lists the most common CMake options for enabling or disabling specific Dakota sub-packages.  

CMake Option Default Notes
Dakota package options
HAVE_ACRO ON  
HAVE_AMPL ON May need to be OFF if compiling with C99 support
HAVE_CONMIN ON  
HAVE_DDACE ON  
HAVE_DFFTPACK ON  
HAVE_DOT ON Turns OFF if packages/DOT missing
HAVE_DREAM ON  
HAVE_FFTW OFF Off due to dependence on GPL-licensed FFTW
HAVE_FSUDACE ON  
HAVE_HOPSPACK ON  
HAVE_JEGA ON  
HAVE_LHS ON  
HAVE_NCSU ON  
HAVE_NL2SOL ON  
HAVE_NLPQL ON Turns OFF if packages/NLPQL missing
HAVE_NOMAD ON  
HAVE_NPSOL ON Turns OFF if packages/NPSOL missing
HAVE_OPTPP ON  
HAVE_PECOS ON Currently required
HAVE_PSUADE ON  
HAVE_QUESO OFF Off due to dependence on GPL-licensed GSL
DAKOTA_HAVE_GSL OFF Required when HAVE_QUESO=ON
HAVE_SURFPACK ON Currently required

Testing

The following options affect tests

CMake Option Default Notes
Dakota testing options
DAKOTA_ENABLE_TESTS ON Whether to enable Dakota system-level tests
DAKOTA_EXPAND_SUBTESTS OFF Whether to register on CTest test per system-level subtest
DAKOTA_ENABLE_TPL_TESTS OFF Whether to enable the following TPL tests
DDACE_ENABLE_TESTS OFF  
HOPSPACK_ENABLE_TESTS OFF  
LHS_ENABLE_TESTS OFF  
OPTPP_ENABLE_TESTS OFF  
PECOS_ENABLE_TESTS OFF  
ENABLE_TESTS OFF Whether to enable tests in Acro and Utilib

 

Specification maintenance

Dakota specification maintenance mode is used by developers when modifying Dakota XML input specification.  It generates nidrgen and Dt binaries in packages/nidr and when dakota.input.nspec changes, will use them to update relevant generated files in DAKOTA_SOURCE/src since currently they need to be checked in. To enable specification maintenance, use the option ENABLE_SPEC_MAINT:BOOL=TRUE

Experimental (Morse-Smale) Adaptive Sampling

(Experimental capability not recommended for general users.) To enable basic adaptive sampling, set HAVE_ADAPTIVE_SAMPLING:BOOL=ON. To enable topologically-based metrics via the Approximate Nearest Neighbor and Dionysus libraries, install ANN and Dionysus (see prerequisites) and set HAVE_MORSE_SMALE:BOOL=ON.