From XMS Wiki
Jump to navigationJump to search
MODFLOW Commands
Building a MODFLOW Model
Packages Supported in GMS
Saving a MODFLOW Simulation
Importing MODFLOW Files
Unsupported MODFLOW Features
MODFLOW Display Options
MODFLOW Post-Processing Viewing Options
Reading a MODFLOW Simulation











Stochastic Modeling
Model Calibration
Automated Parameter Estimation
PEST Dialog
Run Options
MODFLOW-USG Observations
Plot Wizard
Calibration Targets
Parameter Dialog
Pilot Points
Multiplier Arrays for Parameters
Standard MODFLOW Parameters
Stochastic Modeling
Stochastic Modeling
Gaussian Field Generator
Risk Analysis Wizard

The PEST parameter estimation dialog

The PEST dialog (MODFLOW | Parameter Estimation) allows the editing of inverse modeling options that are specific to PEST. This dialog is available when Parameter Estimation option is chosen as the Run option in the Global Options\Basic Package dialog.

Max number of iterations (NOPTMAX)

This value (NOPTMAX) sets the maximum number of optimization iterations that PEST is permitted to undertake on a particular parameter estimation run. To ensure that PEST termination is triggered by other criteria, more indicative of parameter convergence to an optimal set or of the futility of further processing, set this variable very high. A value of 20 to 30 is often appropriate.

If NOPTMAX is set to 0, PEST will not calculate the Jacobian matrix. Instead it will terminate execution after just one model run. This setting can thus be used when calculating the objective function corresponding to a particular parameter set and/or to inspect observation residuals corresponding to that parameter set.

If NOPTMAX is set to –1, PEST will terminate execution immediately after it has calculated the Jacobian matrix for the first time. The parameter covariance, correlation coefficient and eigenvector matrices will be written to the run record file, and parameter sensitivities will be written to the sensitivity file; these are based on the initial parameter set supplied in the PEST control file.

Max number of iterations with no improvement (NPHINORED)

If PEST has failed to lower the objective function over NPHINORED successive iteration it will terminate execution. A value of 3 or 4 is often suitable for this variable.

Advanced Options

Max number of relative convergence iterations (NPHISTP); Relative convergence limit (PHIREDSTP)

If, in the course of the parameter estimation process, there have been NPHISTP optimisation iterations for which

(Φi - Φmin )/Φi ≤ PHIREDSTP (4.6)

(Φi being the objective function value at the end of the i’th optimisation iteration and Φmin being the lowest objective function achieved to date), PEST will consider that the optimisation process is at an end.

For many cases 4 and 0.01 are suitable values for NPHISTP and PHIREDSTP respectively. However, be careful not to set NPHISTP too low if the optimal values for some parameters are near or at their upper or lower bounds. In this case it is possible that the magnitude of the parameter upgrade vector may be curtailed over one or a number of optimisation iterations to ensure that no parameter value overshoots its bound. The result may be smaller reductions in the objective function than would otherwise occur.

Max number of relative parameter change iterations (NRELPAR); Relative parameter change criterion (RELPARSTP)

If the magnitude of the maximum relative parameter change between optimisation iterations is less than the Relative Parameter Change Criterion (RELPARSTP) over Max # of Relative Parameter Change Iteration (NRELPAR) successive iterations, PEST will cease execution.

All adjustable parameters, whether they are relative-limited or factor-limited, are involved in the calculation of the maximum relative parameter change. RELPARSTP is a real variable for which a value of 0.01 is often suitable. NRELPAR is an integer variable; a value of 2 or 3 is normally satisfactory.

Max relative parameter change per iteration

This (RELPARMAX) is the maximum relative change that a parameter is allowed to undergo between optimisation iterations.

Max factor parameter change per iteration (FACPARMAX)

This value is the maximum factor change that a parameter is allowed to undergo during an iteration.

Run-time matrix options

Select these options if wanting these arrays written to external files. These arrays will also be written to the PEST output file (*.rec).

Measurement obj func upper limit (PHIMLIM)

This is the upper limit of the measurement objective function (i.e., the upper level of model-to-measurement misfit) that is tolerable when trying to minimise the regularisation objective function Φr.

Measurement obj func accept. level (PHIMACCEPT)

This is the acceptable level for the measurement objective function that PEST uses to change its method of calculating the Marquardt Lamdas (see PEST documentation).

Normally PHIMACCEPT should be about 5% to 10% greater than PHIMLIM. However if PEST is performing well, the user may wish to make it closer to PHIMLIM than this. In choosing the best parameter set at any stage of the optimisation process (for recording in the parameter value file) PEST looks at all parameter sets for which it has carried out model runs up to that point in the process. If any of these runs have resulted in an objective function less than PHIMACCEPT, it then searches from among these runs for the parameter set which gave rise to the lowest regularisation objective function. If PHIMACCEPT is set too close to PHIMLIM, PEST’s selection of the best parameter set may be restricted somewhat, for there may be some parameter sets for which the measurement objective function Φm is just above PHIMACCEPT but for which Φr is quite low. Alternatively, if PHIMACCEPT is set too large, then PEST might not try hard enough to reduce Φm to Φmi, preferring instead to work within the weaker constraint set by PHIMACCEPT. When working in regularisation mode, PEST prints out Φr and Φm for every parameter upgrade attempt. It will be apparent from this information whether PHIMACCEPT has been set correctly.


PEST ignores the value supplied for FRACPHIM unless it is greater than zero. A value of between zero and 1.0 (but normally less than about 0.3) can be supplied for this variable if the user is unsure what value to use for PHIMLIM. See the PEST documentation.

Automatic user intervention (AUI)

When the optimization process undertaken by PEST appears to be going nowhere, the situation can often be remedied by selectively withdrawing certain parameters (normally the most insensitive ones) from the parameter estimation process. This process has been automated in PEST using the AUI option. For more information on AUI see the PEST documentation (section 5.7 of the PEST manual).

It should be noted that use of the SVD process in PEST is usually more effective than AUI as the SVD process removes insensitive parameters.

Parallel PEST

GMS allows running PEST in parallel on a single machine to take advantage of multiple cores with the Parallel PEST Utility. This can greatly speed up the PEST runs.

  • Specify number of slaves
    "Slaves" refers to the separate processes that will be run in parallel. Specify the number of slaves or, if not specified, GMS will automatically determine the number of cores available on the machine and use that for the number of slaves.
  • Specify slave directory
    By default, GMS uses the system temp directory as the slave directory. However, a user may specify a different folder for the files that are used by the slaves. If the specified slave directory is invalid then GMS will use the system temp directory.
  • Parallel PEST wait time
    The wait time is the amount of time that PEST will pause at certain strategic places in their communication. Normally the default value should work fine. However, if either PEST reports a sharing violation on the hard drive then increase the value of the wait time.

The PEST model can also be run with parallel processing across multiple machines with setup outside of GMS with PSLAVE. More information about Parallel PEST can be found in the PEST Manual starting on page 222 from the PEST Downloads page.

SVD (Singular Value Decomposition)

The SVD Options dialog

The Use SVD toggle is available to turn on the SVD functionality in PEST. For a more complete explanation of SVD, see the PEST manual in section 8.4. The inputs to the SVD process can be edited by selecting the SVD Options button.

The SVD process analyzes the parameters that are currently part of the parameter estimation process and removes parameters that are not helping to solve the problem. The user can limit the number of parameters used by specifying a maximum number of singular values (MAXSING) or by specifying EIGTHRESH. By default MAXSING is set to 1000 and EIGTRESH to 1E-7, so that the number of parameters will be limited by the value of EIGTHRESH.

  • MAXSING – maximum number of singular values to include in the inversion process.
  • EIGTHRESH – a ratio of the lowest to highest parameter eigen value (a value of 1E-7 is usually sufficient).
  • EIGWRITE – controls output written to the *.svd file by PEST. When the value is 1 a more verbose file is written that can become quite large. By default the value of EIGWRITE is set to 0.


The SVD-Assist Options dialog

The Use SVD-Assist toggle turns on the SVD-Assist process for PEST. This process is particularly advantageous for models that have hundreds or thousands of parameters (such as pilot points). SVD-Assist involves 3 basic steps.

  1. First, PEST runs MODFLOW once for every parameter in order to compute a matrix. This information is used to create super parameters that are combinations of the parameters originally specified.
  2. Second, SVDAPREP is run to create a new PEST control file. The options for SVDAPREP are entered by selecting the SVD-Assist Options button. For more information on each of these options see the PEST manual in section The most important option entered is the Specify # super param and this is set to No by default. When this option is set to No, then the information written to the *.svd file will be used to specify the number of super parameters.
  3. Third, PEST runs using the new control file written by SVDAPREP. This should result in significantly fewer model runs for each PEST iteration. This often results in an order of magnitude reduction in the number of runs required for each PEST iteration.
Note: When PEST runs with SVD-Assist, it does not output sensitivities of individual parameters. Therefore there is not an option to view parameters a parameters sensitivity plot.

Tikhonov Regularization

Tikhonov Regularization (prior information for pilot points). This section of the dialog allows the user to select the method for include Tikhonov regularization in the PEST run. If neither option is turned on then regularization will not be included in the PEST run.

The first option, Preferred homogeneous regularization, is the option that GMS has always supported with pilot points. When using this option, prior information equations are included that impose a homogeneity constraint on the pilot points. This means that in absence of other information, pilot points that are near to one another should have about the same value.

  • Prior information power factor
    This is used to change the weight applied to the prior information equations for the pilot points. A value of 1 is normally sufficient. The prior information equations impose a homogeneity constraint on the pilot points. This means that in absence of other information, pilot points that are near to one another should have about the same value. When the prior information equations are created GMS will compute an inverse distance weight between each pilot point and all other pilot points for a given parameter. This weight is then raised to the power of the Prior information power factor and assigned to the equation for a given pair of points. So to increase the homogeneity constraint (assign a higher weight to the prior information equation), the user should decrease this value. To decrease the homogeneity constraint (assign a lower weight to the prior information equation), the user should increase this value.

The second option, Preferred value regularization, is a new option beginning with GMS version 8.0. When this option is used, prior information equations are included that constrain the pilot points near their starting values. Using this option the user can give a set of starting values to the pilot points based on field data or professional judgment. PEST will only change those values if necessary to calibrate the model.

Also new in GMS 8.0, parameters of different types (HK, RCH) are put into different regularization groups. According to John Doherty, this helps differentiate weighting amongst pertinent prior information equations.

See also