Mads info

# **MADS** Overview **MADS** (Model Analysis & Decision Support) is an open-source code designed as an integrated high performance computational framework executing a wide range of model-based analyses. **MADS** is designed to be a user-friendly code utilizing adaptive rules and techniques which allows the model analyses to be performed with minimum user input. However, if needed, user can have full control on **MADS** performance by providing various keywords and control parameters. **MADS** can be executed under different computational modes, which include: * Sensitivity Analysis (**SA**) * Parameter Estimation (**PE**), Model Inversion and Calibration * Uncertainty Quantification (**UQ**) * Model Selection * Model Averaging * Decision Support (**DS**) **MADS** allows for coupled model parameters and regularization terms that are internally computed based on user-defined mathematical expressions (utilizing GNU library [libmatheval](http://www.gnu.org/software/libmatheval)). **MADS** can be externally coupled with any existing model simulator through integrated modules that generate input files required by the model simulator and parse output files generated by the model simulator. This is performed using a set of template and instruction files. **MADS** analyses can be performed directly using existing control (*.pst), template (*.tpl) and instruction (*.ins) files developed for the code [PEST](http://www.pesthomepage.org) without any modifications or adjustments ([example](mads-comparisons.md)). **MADS** provides internal coupling with a series of [analytical simulators of contaminant transport in aquifers](mads-methods.md#contaminant-transport-simulators) built in the code. **MADS** can internally coupled with any other simulators using object-oriented programming. **MADS** includes a series of [test functions](mads-methods.md#test-functions) built in the code for performance (robustness and efficiency) analysis of existing model-analyses techniques. **MADS** automatically detects and utilizes the available parallel resources; for the user, there is no difference between serial (using single processor) and parallel mode of execution. The automatic parallelization is performed using external system calls, MPI or POSIX threading. **MADS** performs automatic bookkeeping of all the model results for efficient restart and rerun of previous jobs; for example, if the previous jobs were not completed. **MADS** can perform different types of analyses based on model results accumulated and stored during previous **MADS** runs; for example, model runs obtained during model calibration can be utilized in Monte Carlo analyses. **MADS** includes a wide range of techniques for model-based analyses: * local and global sensitivity and uncertainty techniques, including Monte-Carlo Methods, [Sobol's global sensitivity indices](http://www.mlmatrix.com/uploadfile/200712418203522.pdf), and [ABAGUS](papers/Harp & Vesselinov ABAGUS 2011.pdf) * advanced [Latin-Hypercube sampling techniques](mads-methods.md#model-analyses), including [Improved Distributed Hypercube Sampling (IDHS)](http://people.sc.fsu.edu/~jburkardt/datasets/ihs/ihs.html) * alternative implementations of the Levenberg-Marquardt optimization technique including [GSL](http://www.gnu.org/s/gsl/), [IMSL](http://www.roguewave.com/products/imsl-numerical-libraries.aspx), [LevMar](http://www.ics.forth.gr/~lourakis/levmar/) libraries and the acceleration and delayed gratification approaches proposed by [Transtrum et al 2011](http://link.aps.org/doi/10.1103/PhysRevE.83.036701) ([presentation](presentations/Leif_LM_presentation_m.pdf)) * highly-parameterized inversion where the number of model parameters is substantially greater than the number of model constraints (calibration targets or model observations); a similar approach is called [SVD-assist](http://www.pesthomepage.org/Highly-parameterized_inversion.php) in [PEST](http://www.pesthomepage.org) * advanced local, global, and hybrid single- and multi-objective optimization techniques, including Multi-Start Levenberg-Marquardt (**MSLM**), Particle Swarm Optimization ([PSO](http://clerc.maurice.free.fr/pso/)), [TRIBES](http://www.particleswarm.info/Tribes_2006_Cooren.pdf), [SQUADS](papers/squads_v04.pdf) * Bayesian and non-Bayesian uncertainty analyses related to decision support, including [DREAM](http://www.biometris.wur.nl/UK/Staff/Cajo+ter+Braak/Software+and+Data/DE-MC+and+DREAM+software+page/), [info-gap](papers/Harp & Vesselinov infogap source 2011.pdf) analyses **MADS** is build using a well-designed object-oriented programing style that allows for easy integration of new techniques for model-based analyses; code changes and developments are welcome, and after testing, they will be integrated in future **MADS** releases. **MADS** is a unix-style code with command-line interface. All the analyses are performed by a single executable code; model analyses and their options are selected by command-line keywords ([MADS execution examples](mads-examples.md)). **MADS** is an open-source object-oriented code written in C/C++ and tested on various platforms (Unix, [Linux](https://www.linux.com/), [Mac OS X](http://www.apple.com/macosx/), [Microsoft Windows](http://windows.microsoft.com/en-US/windows/home) using [Cygwin](http://www.cygwin.com/)). **MADS** supports scientifically defensible decision making and risk management based on model predictions. **MADS** has been successfully applied to perform various model analyses related to environmental management of contamination sites. Examples include solutions of source identification problems, quantification of uncertainty, model calibration, and optimization of monitoring networks (see the lists of [publications](mads-research.md), [presentations](mads-research.md), [reports](mads-research.md), and [projects](mads-research.md)). **MADS** release includes a series of verification and test example problems. **MADS** current stable version (v 1.1) has been released in January 2013 ([download](mads-download.md)). Professional software & codes with somewhat similar but not equivalent capabilities: * [DAKOTA](http://dakota.sandia.gov/index.html) * [UCODE](http://igwmc.mines.edu/freeware/ucode/) * [PEST](http://www.pesthomepage.org) * [MPEST/MPRUN](http://www.ees.lanl.gov/staff/monty/codes/mpest) * [ASCEM/Agni](http://www.ascemdoe.org) **MADS** website: LA-UR-11-11967 **MADS** code: LA-CC-10-055, LA-CC-11-035