The CSDMS Dakota Interface


Dakota is a software toolkit developed at Sandia National Laboratories that provides an interface between models and a library of analysis methods, including support for sensitivity analysis, uncertainty quantification, optimization, and calibration techniques. Dakota is a powerful tool, but its learning curve is steep: the user not only must understand the structure and syntax of the Dakota input file, but also must develop intermediate code that allows Dakota to set up and run a model, read outputs from the model, and calculate a response statistic from the outputs.

The CSDMS Dakota Interface, or Dakotathon, is a Python package that wraps and extends Dakota’s file-based user interface. It simplifies the process of configuring and running a Dakota experiment, and it allows a Dakota experiment to be scripted. Dakotathon creates the Dakota input file and provides a generic analysis driver. Any model componentized in the CSDMS modeling framework automatically works with Dakotathon. Dakotathon has a plugin architecture, so models not wrapped into the CSDMS modeling framework can be accessed by Dakotathon by programmatically extending a template; an example is provided in the Dakotathon distribution.

Currently, six Dakota analysis methods have been implemented from the much larger Dakota library:

For instructions on installing and using Dakotathon, please see Dakotathon's CSDMS Model page.

Dakotathon has been installed in the wmt-testing instance on beach.colorado.edu. To use it, login to beach, and from a shell prompt execute:

source /home/csdms/wmt/_testing/conda/bin/activate

This configures the conda environment for this WMT executor. Now, when you run Python or IPython, the Dakotathon package will be available to import.


Mpiper (talk) 14:09, 27 December 2016 (MST)