PEST - Model-Independent Parameter Estimation and Uncertainty Analysis


TutorialDocumentation PEST HP SuitePLPROC Groundwater utilities Surface water utilities FORTRAN90 modules

A Tutorial

Download a comprehensive tutorial that shows you how to use PEST to undertake state-of-the-art model parameter and predictive uncertainty analysis. Two complete worked examples are provided, one involving a surface water model (HSPF) and the other involving a groundwater model (MODFLOW). Also provided is the background theory (explained in an easy-to-read manner) and suggestions on how modern methods of data processing and uncertainty analysis such as are provided by PEST can be used as critical components of the environmental decision-making process.

If you have trouble downloading this file, let us know and we will send a copy to you.

Many thanks to the South Florida Water Management District for making development of this tutorial possible.


PEST documentation has just been completely re-written.

PEST now has a two-part manual. The first part describes PEST itself, including all of its regularisation and predictive analysis functionality. This part of the manual also describes the PEST-compatible CMAES_P and SCEUA_P global optimisers. The second part of the new PEST manual describes over one hundred programs that support the use of PEST in various ways - including PEST setup, statistical analysis and parameter/predictive error/uncertainty analysis.

Download the following documentation for PEST and supporting software:-

The new PEST manual part I - complete documentation of PEST and PEST-compatible global optimisers

The new PEST manual part II - documentation of PEST utility support software (including utilities for parameter and predictive error/uncertainty analysis

Documentation for Unix version of PEST (includes compilation instructions)

Documentation for BEOPEST for Windows

Documentation for PEST-Model Interface and Parallelization Modules

Manual for the Groundwater Data Utilities - Part A

Manual for the Groundwater Data Utilities - Part B

Manual for the Groundwater Data Utilities - Part C

Manual for MODFLOW-ASP

Manual for Surface Water Utilities

PEST version 17.05

Improvements to version 17.0 of PEST include the following.

  • PEST and BEOPEST can now be run using the “/f” command-line switch. Through use of this switch, PEST is asked to write a run results file (i.e. a RRF file) in which model outputs based on the contents of a suite of parameter value files are recorded. Parameter values comprising these files may have been generated by utilities such as RANDPAR based on a prior or posterior parameter covariance matrix.
  • A number of utility programs have been written which manipulate and process the contents of an RRF file. Processing that they perform includes calculation of objective functions based on different PEST control files, and formulation of a randomized Jacobian matrix.
  • New utilities and functionality has been added to the PEST suite which support new HP suite capabilities, including simultaneous parameter increments (PEST_HP) and realization space inversion (a new member of the HP suite).
  • PEST and many of its utility programs will now tolerate blank lines, comments and “++” lines in a PEST control file. This facilitates inter-operability with the PEST++ suite of programs.
  • A number of new utilities support use of the IES ensemble smoother (a member of the PEST++ suite).
  • A utility program which accomplishes data space inversion has been added to the PEST suite. This can quantify posterior predictive uncertainty at a fraction of the cost of other methods. 

Many thanks to the Queensland Water Modelling Network for help in writing software and manuals that improve inter-operability between the PEST and PEST++ suites.

Download the latest PC version of PEST.

Unzip the contents to a directory cited in the PATH environment variable. (This is very important as, when undertaking SVD-assisted parameter estimation, PEST runs the parcalc.exe and picalc.exe utility programs. It is essential that the operating system knows where to find these).

Make sure that directories holding older versions of PEST are no longer in the PATH string, as old versions of parcalc.exe and picalc.exe are not compatible with the new PEST.

Download 64bit versions of certain programs of the PEST suite compiled using the Intel(R) 64 bit compiler.

Download  BEOPEST for Windows.

Download the latest Unix version of PEST.

Unzip the contents to find a tar file with PEST source code, makefile and examples. Copy the tar file to a suitable directory on your machine, for example a directory named /pest. Then extract its contents using the "-xvf" switch. Follow the instructions provided in the documentation for Unix PEST (see the link in the "Documentation" section above).

The HP Suite

The flagship of the HP Suite is PEST_HP.  PEST_HP, as well as all other members of the HP suite, is now free. 

PEST_HP is a greatly enhanced version of BEOPEST. Its inversion functionality has been optimized for use in computing environments where model runs can be undertaken in parallel. (This applies to all computing environments these days.) Improvements over BEOPEST include:

  • dynamic line search along Marquardt lambda upgrade directions;
  • improvements to other aspects of the inversion algorithm that result in a reduced number of model runs;
  • use of multiple commands to run the model, with flexibility added through user-prescribed observation-to-parameter insensitivity;
  • simultaneous parameter increments (this can save a lot of model runs);
  • strategic file distribution between manager and agents (this can reduce run times for certain models);
  • improved parallel model run management, and reporting of parallelization statistics and efficiency;
  • randomized Jacobian calculation (this can reduce the number of model runs required for filling of a large Jacobian matrix);
  • use of secondary parameters to facilitate inversion-pertinent parameter transformation.

The HP suite includes other programs as well. These are:

  • PCOST_HP: estimates PEST_HP inversion costs on the cloud.
  • PWHISP_HP - the "PEST whisperer": offers comprehensive advice on the outcomes of a PEST_HP run, and on whether its settings could be improved.
  • JACTEST_HP: a version of JACTEST (used for testing the integrity of finite-difference derivatives) that is easy to use in a parallel computing environments.
  • CMAES_HP: a version of the CMAES global optimizer that is easy to use in parallel computing environments. This version of CMAES employs so-called "file parameters" whose use facilitates optimization under uncertainty.
  • RSI_HP: "RSI" stands for "realization space inversion". This performs a similar role to that of an ensemble smoother. It allows a modeler to efficiently sample the posterior probability distribution of parameters in high dimensional parameter spaces at a comparatively small cost in terms of model runs.
  • AGENT_HP: the universal HP parallelization agent..

Download version 17 of the HP suite for WINDOWS including comprehensive documentation.

Download source code of the HP suite and UNIX makefiles. Unzip and see file unixpest_hp.pdf for compilation instructions.


Download the parameter list processor PLPROC including full documentation.

Groundwater Support Software

Download the Groundwater Data Utilities suite for the PC. Unzip this file to obtain PC-executable versions of the Groundwater Data Utilities.

Source code for the Groundwater Data Utilities can be obtained on request. Compilation of these utilities requires that a library be built first, and then the executables themselves. However for many of these utilities, the source code has been collected into discrete files for ease of cross-platform compilation. Write to us if you need more information.

Download MF2K-ASP and a MODFLOW2000-to-PEST translator. Unzip to obtain PC executables and documentation. Write to us if you would like the source code.

Surface Water Support Software

Download the Surface Water Utilities for the PC. Unzip this file to obtain PC-executable versions of PEST's surface water utilities.

Download HSPF optimized for use with PEST. Unzip this file to obtain a PC-executable version of HSPF version 12. A more up-to-date version can be downloaded from AquaTerra Consultants.

DIY PEST-Compatible Modules

Download FORTRAN 90 PEST-Model Interface and Parallelization Modules. Unzip to a directory of your choice.

C4SF Login | Web Site Managed via C4Site Factory,™ a trademark of Echo Valley Graphics, Inc.
©2020 Copyright Echo Valley Graphics, Inc. All Rights Reserved.