All Projects → usgs → pestpp

usgs / pestpp

Licence: other
tools for scalable and non-intrusive parameter estimation, uncertainty analysis and sensitivity analysis

Programming Languages

C++
36643 projects - #6 most used programming language
HTML
75241 projects
Jupyter Notebook
11667 projects
fortran
972 projects
Smarty
1635 projects
CMake
9771 projects

Projects that are alternatives of or similar to pestpp

GlobalSensitivity.jl
Robust, Fast, and Parallel Global Sensitivity Analysis (GSA) in Julia
Stars: ✭ 30 (-66.67%)
Mutual labels:  sensitivity-analysis, global-sensitivity-analysis
OpenCossan
OpenCossan is an open and free toolbox for uncertainty quantification and management.
Stars: ✭ 40 (-55.56%)
Mutual labels:  uncertainty-quantification, sensitivity-analysis
AMICI
Advanced Multilanguage Interface to CVODES and IDAS
Stars: ✭ 80 (-11.11%)
Mutual labels:  parameter-estimation, sensitivity-analysis
Pothoscore
The Pothos data-flow framework
Stars: ✭ 232 (+157.78%)
Mutual labels:  parallel-computing
Amadeus
Harmonious distributed data analysis in Rust.
Stars: ✭ 240 (+166.67%)
Mutual labels:  parallel-computing
UQ360
Uncertainty Quantification 360 (UQ360) is an extensible open-source toolkit that can help you estimate, communicate and use uncertainty in machine learning model predictions.
Stars: ✭ 211 (+134.44%)
Mutual labels:  uncertainty-quantification
SIVI
Using neural network to build expressive hierarchical distribution; A variational method to accurately estimate posterior uncertainty; A fast and general method for Bayesian inference. (ICML 2018)
Stars: ✭ 49 (-45.56%)
Mutual labels:  uncertainty-quantification
Feelpp
💎 Feel++: Finite Element Embedded Language and Library in C++
Stars: ✭ 229 (+154.44%)
Mutual labels:  parallel-computing
job stream
An MPI-based C++ or Python library for easy distributed pipeline processing
Stars: ✭ 32 (-64.44%)
Mutual labels:  parallel-computing
Foundations of HPC 2021
This repository collects the materials from the course "Foundations of HPC", 2021, at the Data Science and Scientific Computing Department, University of Trieste
Stars: ✭ 22 (-75.56%)
Mutual labels:  parallel-computing
opensbli
A framework for the automated derivation and parallel execution of finite difference solvers on a range of computer architectures.
Stars: ✭ 56 (-37.78%)
Mutual labels:  parallel-computing
spatial-smoothing
(ICML 2022) Official PyTorch implementation of “Blurs Behave Like Ensembles: Spatial Smoothings to Improve Accuracy, Uncertainty, and Robustness”.
Stars: ✭ 68 (-24.44%)
Mutual labels:  uncertainty-quantification
hp2p
Heavy Peer To Peer: a MPI based benchmark for network diagnostic
Stars: ✭ 17 (-81.11%)
Mutual labels:  parallel-computing
pyabc
pyABC: distributed, likelihood-free inference
Stars: ✭ 13 (-85.56%)
Mutual labels:  parallel-computing
Boost.simd
Boost SIMD
Stars: ✭ 238 (+164.44%)
Mutual labels:  parallel-computing
vuo
A realtime visual programming language for interactive media.
Stars: ✭ 103 (+14.44%)
Mutual labels:  parallel-computing
Raja
RAJA Performance Portability Layer (C++)
Stars: ✭ 231 (+156.67%)
Mutual labels:  parallel-computing
raster
A micro server framework, support coroutine, and parallel-computing, used for building flatbuffers/thrift/protobuf/http protocol service.
Stars: ✭ 19 (-78.89%)
Mutual labels:  parallel-computing
super-workers
🐴 Distribute load on front-end via parallelism
Stars: ✭ 93 (+3.33%)
Mutual labels:  parallel-computing
QUICK
QUICK: A GPU-enabled ab intio quantum chemistry software package
Stars: ✭ 79 (-12.22%)
Mutual labels:  parallel-computing

pestpplogo image

PEST++

a Software Suite for Parameter Estimation, Uncertainty Analysis, Management Optimization and Sensitivity Analysis

PEST++ is a software suite aimed at supporting complex numerical models in the decision-support context. Much focus has been devoted to supporting environmental models (groundwater, surface water, etc) but these tools are readily applicable to any computer model.


Master branch: master branch

Develop branch: develop


Documentation

The latest official report documenting PEST++ is available from the USGS:

https://pubs.er.usgs.gov/publication/tm7C26

Suggested Citation:

White, J.T., Hunt, R.J., Fienen, M.N., and Doherty, J.E., 2020, Approaches to Highly Parameterized Inversion: PEST++ Version 5, a Software Suite for Parameter Estimation, Uncertainty Analysis, Management Optimization and Sensitivity Analysis: U.S. Geological Survey Techniques and Methods 7C26, 52 p., https://doi.org/10.3133/tm7C26.


User's Manual

The lastest PEST++ users manual is available here or as a word document.


Links to latest binaries

As of version 4.3.11, PEST++ pre-compiled binaries for windows and linux are available as a github release:

https://github.com/usgs/pestpp/releases


Compiling

The develop branch includes a Visual Studio solution, as well as CMake files for building on all operating systems using g++, MSVC, and/or intel C++.

See details here to compile using CMake.


Overview

The PEST++ software suite includes several stand-alone tools for model-independent (non-intrusive) computer model parameter estimation and uncertainty analysis. Codes include:

  • pestpp-glm: deterministic GLM parameter estimation using "on-the-fly" subspace reparameterization, effectively reproducing the SVD-Assist methodology of PEST without any user intervention and FOSM-based parameter and (optional) forecast uncertainty estimation with support for generating Bayes-linear posterior parameter realizations.

  • pestpp-sen: Global sensitivity analysis using either Morris or Sobol

  • pestpp-swp: a generic parallel run utility driven by a CSV file of parameter values

  • pestpp-opt: chance-constrained linear programming

  • pestpp-ies: iterative ensemble smoother implementation of GLM (based on the work Chen and Oliver 2013) with support for generic localization (local analysis and/or covariance localization)

  • pestpp-mou: multi-objective optimization under uncertainty using evolutionary algorithms (single objective also!)

  • pestpp-da: model-independent ensemble-based sequential and batch iterative data assimilation with options to use standard Kalman update, multiple data assimilation (MDA), or the GLM algorithm of Chen and Oliver (2013).

All members of the software suite can be compiled for PC, MAC, or Linux and have several run managers to support parallelization. Windows users with older OS versions should use the iwin binaries (starting "i", compiled with intel C++) to avoid the dreaded MSVC missing runtime DLL issue.


Funding

Funding for PEST++ has been provided by the U.S. Geologial Survey. The New Zealand Strategic Science Investment Fund as part of GNS Science’s (https://www.gns.cri.nz/) Groundwater Research Programme has also funded contributions 2018-present. Intera, Inc. also provides ongoing support for PEST++.


PEST++ References:

White, J.T., Hunt, R.J., Fienen, M.N., and Doherty, J.E., 2020, Approaches to Highly Parameterized Inversion: PEST++ Version 5, a Software Suite for Parameter Estimation, Uncertainty Analysis, Management Optimization and Sensitivity Analysis: U.S. Geological Survey Techniques and Methods 7C26, 52 p., https://doi.org/10.3133/tm7C26.

White, J. T., 2018, A model-independent iterative ensemble smoother for efficient history-matching and uncertainty quantification in very high dimensions. Environmental Modelling & Software. 109. 10.1016/j.envsoft.2018.06.009. http://dx.doi.org/10.1016/j.envsoft.2018.06.009.

White, J. T., Fienen, M. N., Barlow, P. M., and Welter, D.E., 2017, A tool for efficient, model-independent management optimization under uncertainty. Environmental Modeling and Software. http://dx.doi.org/10.1016/j.envsoft.2017.11.019.

Welter, D.E., White, J.T., Hunt, R.J., and Doherty, J.E., 2015, Approaches in highly parameterized inversion— PEST++ Version 3, a Parameter ESTimation and uncertainty analysis software suite optimized for large environmental models: U.S. Geological Survey Techniques and Methods, book 7, chap. C12, 54 p., http://dx.doi.org/10.3133/tm7C12.

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 http://pubs.usgs.gov/tm/tm7c5.


Related Links:


Testing

The benchmarks folder contains a simple worked example and basic testing routines that are used for basic CI testing. Many full-worked test problems of varying sizes are now located in separate repos:


Dependencies

Much work has been done to avoid additional external dependencies in PEST++. As currently designed, the project is fully self-contained.


optional ++ arguments

please see the PEST++ users manual in the documentation directory for a current and complete description of all ++ options


USGS disclaimer

This software has been approved for release by the U.S. Geological Survey (USGS). Although the software has been subjected to rigorous review, the USGS reserves the right to update the software as needed pursuant to further analysis and review. No warranty, expressed or implied, is made by the USGS or the U.S. Government as to the functionality of the software and related material nor shall the fact of release constitute any such warranty. Furthermore, the software is released on condition that neither the USGS nor the U.S. Government shall be held liable for any damages resulting from its authorized or unauthorized use

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].