Skip Links

USGS - science for a changing world

Techniques and Methods 7–C5

Great Lakes Restoration Initiative

Approaches in Highly Parameterized Inversion: PEST++, a Parameter ESTimation Code Optimized for Large Environmental Models

By David E. Welter,1 John E. Doherty,2 Randall J. Hunt,3 Christopher T. Muffels,4 Matthew J. Tonkin,4 and Willem A. Schreüder5

1Computation Water Resource Engineering.
2Flinders University and Watermark Numerical Computing.
3U.S. Geologogical Survey.
4S.S. Papadopulos and Associates, Inc.
5Principia Mathematica, Inc.

Thumbnail of and link to report PDF (1.87 MB)Abstract

An object-oriented parameter estimation code was developed to incorporate benefits of object-oriented programming techniques for solving large parameter estimation modeling problems. The code is written in C++ and is a formulation and expansion of the algorithms included in PEST, a widely used parameter estimation code written in Fortran. The new code is called PEST++ and is designed to lower the barriers of entry for users and developers while providing efficient algorithms that can accommodate large, highly parameterized problems. This effort has focused on (1) implementing the most popular features of PEST in a fashion that is easy for novice or experienced modelers to use and (2) creating a software design that is easy to extend; that is, this effort provides a documented object-oriented framework designed from the ground up to be modular and extensible. In addition, all PEST++ source code and its associated libraries, as well as the general run manager source code, have been integrated in the Microsoft Visual Studio® 2010 integrated development environment. The PEST++ code is designed to provide a foundation for an open-source development environment capable of producing robust and efficient parameter estimation tools for the environmental modeling community into the future.

First posted May 22, 2012

For additional information contact:
Director, Wisconsin Water Science Center
U.S. Geological Survey
8505 Research Way
Middleton, Wisconsin 53562
Phone: (608) 828-9901
Fax: (608) 821-3817

Part or all of this report is presented in Portable Document Format (PDF); the latest version of Adobe Reader or similar software is required to view it. Download the latest version of Adobe Reader, free of charge.

Suggested citation:

Welter, D.E., Doherty, J.E., Hunt, R.J., Muffels, C.T., Tonkin, M.J., and Schreüder, W.A., 2012, Approaches in highly parameterized inversion—PEST++, a Parameter ESTimation code optimized for large environmental models: U.S. Geological Survey Techniques and Methods, book 7, section C5, 47 p., available only at




Purpose and Scope

Enhancements of and Changes to PEST

Supported PEST Capabilities

User Interface

Development Environment

Limitations of Version 1.0



Appendix 1. Input Instructions

Appendix 2. PEST++ Elementary Transformations

Appendix 3. The Marquardt Lambda and SVD Rotation Factor Supporting Theory

Appendix 4. Considerations for Code Development

Appendix 5. Class List

Appendix 6. Simple Storage Model Example

Accessibility FOIA Privacy Policies and Notices logo U.S. Department of the Interior | U.S. Geological Survey
Page Contact Information: Contact USGS
Page Last Modified: Friday, December 02, 2016, 03:50:32 PM