lowering the barriers of entry to inverse modeling: pest++ dave welter, computational water resource...

11
Lowering the Barriers of Entry to Inverse Modeling: PEST++ Dave Welter, Computational Water Resource Engineering John Doherty, Watermark Numerical Computing Chris Muffels, S.S. Papadopulos & Assoc. Inc. Matthew Tonkin, S.S. Papadopulos & Assoc. Inc. Randall J. Hunt, U.S. Geological Survey Willem A. Schreuder, Principia Mathematica Marinko Karanovic, S.S. Papadopulos & Assoc. Inc. CWRE

Upload: loraine-blake

Post on 18-Dec-2015

212 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Lowering the Barriers of Entry to Inverse Modeling: PEST++ Dave Welter, Computational Water Resource Engineering John Doherty, Watermark Numerical Computing

Lowering the Barriers of Entry to Inverse Modeling: PEST++

Dave Welter, Computational Water Resource EngineeringJohn Doherty, Watermark Numerical Computing

Chris Muffels, S.S. Papadopulos & Assoc. Inc.Matthew Tonkin, S.S. Papadopulos & Assoc. Inc.

Randall J. Hunt, U.S. Geological SurveyWillem A. Schreuder, Principia Mathematica

Marinko Karanovic, S.S. Papadopulos & Assoc. Inc.

CWRE

Page 2: Lowering the Barriers of Entry to Inverse Modeling: PEST++ Dave Welter, Computational Water Resource Engineering John Doherty, Watermark Numerical Computing

Acknowledgments

This work was partially completed under contract to the United States Geological Survey. The contents of this article and any opinions stated herein are the responsibility of the authors and do not reflect the policies or opinion of the U.S. Geological Survey.

Page 3: Lowering the Barriers of Entry to Inverse Modeling: PEST++ Dave Welter, Computational Water Resource Engineering John Doherty, Watermark Numerical Computing

Purpose

• Port of PEST to an Object Oriented Language (C++)

• Capture most used features in PEST• Open Source / Freely Available– Source code– Executables

Page 4: Lowering the Barriers of Entry to Inverse Modeling: PEST++ Dave Welter, Computational Water Resource Engineering John Doherty, Watermark Numerical Computing

Major Components

• Inverse Modeling Code: PEST++• Parallel Run Manager: GENIE• File Management - PESTCommander

Page 5: Lowering the Barriers of Entry to Inverse Modeling: PEST++ Dave Welter, Computational Water Resource Engineering John Doherty, Watermark Numerical Computing

PEST ++

• Automatic Calculation of Super Parameter• Built in Normalization• SVD – Guaranteed Stability– Gauss-Marquardt-Levenberg Method

• Compatibility with current PEST Control File• Output Files are compatible with PEST• Statically Linked Executable

Page 6: Lowering the Barriers of Entry to Inverse Modeling: PEST++ Dave Welter, Computational Water Resource Engineering John Doherty, Watermark Numerical Computing

Performance Features

• Automatic Intermittent Super Parameter Reorthogonalization

• Rotation Factor• Base Run is Performed in Parallel with

Perturbation Runs when computing jacobian• PROPACK

Page 7: Lowering the Barriers of Entry to Inverse Modeling: PEST++ Dave Welter, Computational Water Resource Engineering John Doherty, Watermark Numerical Computing

Extensibility Features

• Object Oriented Design– Inheritance Based Polymorphism• Generic Transformation Interface• Generic Run Manger Interface

• Portability across Platforms– C++ is a mature language governed by ISO

Standards– Minimal External Dependencies

• All source code integrated in Visual Studio

Page 8: Lowering the Barriers of Entry to Inverse Modeling: PEST++ Dave Welter, Computational Water Resource Engineering John Doherty, Watermark Numerical Computing

GENIE

• Makes the run management aspect of PEST stand-alone

• Retains the model independent focus of PEST– Using template and instruction file protocols– Can be used with Monte-Carlo runs, Genetic

algorithms• TCP/IP based – exchanges runs across the

Internet like BeoPEST

Page 9: Lowering the Barriers of Entry to Inverse Modeling: PEST++ Dave Welter, Computational Water Resource Engineering John Doherty, Watermark Numerical Computing

GMAN(HOST)

Interface RoutineUsed to Communicate Model Runs between the ‘calling program’

and GMAN

GSLAVE(CLIENT / SLAVE)

GenieCalling Program

• A Run Executer– Executes the run on the local

machine

• Run Manager– Communicates model runs to the

slaves

• Interface Routine– handles the TCP/IP

communication with the run manager

Page 10: Lowering the Barriers of Entry to Inverse Modeling: PEST++ Dave Welter, Computational Water Resource Engineering John Doherty, Watermark Numerical Computing

GMAN

• Design concerns for the run manager– Scalability• Minimize bottlenecks resulting from HOST

having to process potentially thousands of connections

– Load balancing• Minimize time it takes to finish all runs

Page 11: Lowering the Barriers of Entry to Inverse Modeling: PEST++ Dave Welter, Computational Water Resource Engineering John Doherty, Watermark Numerical Computing

PEST Commander• A Parallelization support GUI that:– distributes model files– automatically starts slave computers– Aids in gathering (and analyzing?) results