picture 5
Mathematics Packages

There are a number of general mathematical and statistics packages that have extensive facilities for random number generation and other forms of analysis.

The most well known are:

Matlab (which also has Statistics and Fuzzy Toolboxes) from The Mathworks:  (

Mathematica from Wolfram Research ( )

Mathcad from ptc Inc. ( ).

Octave is a freeware program that is broadly compatible with Matlab code ( ).

Packages that are more specialised for statistical programming, including Bayesian methods are S-PLUS from Insightful (

R is a freeware version that mimics much of the functionality of S-Plus (

A number of useful routines will also be found in the Numerical Recipes collection.  Details of the latest edition can be found at where some past versions of Numerical Recipes can also be downloaded.


Methods for Forward Uncertainty Analysis

There are two well known add-ins for Microsoft Excel that provide facilities for forward uncertainty analysis.  These are  @RISK  (see ) and Crystal Ball  (see ).

RAMAS Risk Calc 4.0 ( provides methods for uncertainty propagation with interval and fuzzy variables including probability bounds analyses and dependencies based on various families of copulae.

The Data Uncertainty Engine (DUE) is a stand-alone package that is of interest because it supports a wide variety of distributional forms for different variables as well as routines for uncertainty in spatial rasters in 2D, spatial vectors in 2D and 3D (including positional uncertainty) and time series.  Uncertainty propagation is through Monte Carlo simulation.  The DUE program is available as freeware at .

UNICORN (uncertainty analysis with correlations) is a stand alone package supporting various dependencies between different univariate distributions, generated using copulae.  A light version can be downloaded from  The tutorial describes more advanced facilities available in Professional version.    UNICORN supports the exercises in Kurowicka and Cooke (2006).

The EU Joint Research Centre (JRC) Simlab package includes a wide variety of distribution generation functions ( with a “cook book” for new users.

The package Analytica from Lumina Decision Systems provides a range of facilities for forward uncertainty analysis within a decision tree system ( ).


Random Number Generators

Psuedo-code for different random number generators can be found in the Numerical Recipes books (

Pseudo-code for the Mersene Twister and links to various implementations can be found via the entry in the Wikipaedia  (


Methods for global sensitivity analysis

The Simlab package noted above includes the Sobol’ method of generalised sensitivity analysis.  JRC also maintains a sensitivity analysis forum with details of some other software packages ( )

Support for the HSY generalised sensitivity analysis is included in the GLUE packages (see under the Guide to Software for both Matlab and R versions).


Other Methods for model calibration / conditioning

John Doherty’s  PEST is a general nonlinear regression model calibration package that can be used with any model outputs.  It includes facilities for regularisation of high dimensional problems (see Moore and Doherty, 2006)

The methods described in Hill and Tiedeman (2007) are based on the UCODE_2005 package developed by the USGS and therefore available freely (at ).

Both PEST and UCODE_2005 routines are being included in the new Jupiter project, details of which can be found at (

There are many packages for specific applications that include model calibration facilities.  Those mentioned in the text include the USGS MODFLOW ( groundwater modelling package and the USDA CXTFIT package for conservative/reactive solute transport problems with mobile/immobile storage ( )