Inversion Controls 1 Pane |
The Inversion Controls 1 pane is on the PEST Properties dialog box under Control Data.
The variables specified on the Inversion Controls 1 pane are described in the PEST User Manual, Part I, Section 4.2.6. More extensive descriptions of these variables are in the PEST user manual.
RLAMBDA1 is the initial value of the Marquardt lambda. This informs PEST of the first value that it should test during the first iteration of the inversion process. A value of 10.0 is appropriate in most cases.
RLAMFAC is the factor by which PEST adjusts the Marquardt lambda as it tests different values of this variable for their efficacy in lowering the objective function. RLAMFAC must be greater than 1.0; a value of 2.0 seems to work well on many occasions. When PEST reduces lambda it divides by RLAMFAC; when it increases lambda it multiplies by RLAMFAC. Alternatively, the Marquardt lambda can be given a negative value less than -1.0. Suppose that it is given a value of -3.0. Then PEST will adjust the lambda adjustment factor during each iteration of the inversion process so that lambda can achieve a value of 1.0 with three adjustments (if PEST decides to move it in this direction). This allows rapid adjustment of the Marquardt lambda if this is suddenly required, as can happen if local parameter insensitivity promulgates sudden problem ill-posedness. If supplying a negative value for RLAMFAC it is important to note that the higher the absolute value assigned to a negative RLAMFAC, the smaller will be the actual iteration-specific Marquardt lambda adjustment factor. This is opposite to the case for a positive setting of RLAMFAC. In both cases however, the absolute value of RLAMFAC must be greater than 1.0.
PHIRATSUF During any one iteration of the inversion process, PEST may calculate a parameter upgrade vector using a number of different Marquardt lambdas. First it lowers lambda and, if this is unsuccessful in lowering the objective function, it then raises lambda. If, at any stage, it calculates an objective function that is a fraction PHIRATSUF or less of the starting objective function for that iteration, PEST considers that the goal of the current iteration has been achieved and moves on to the next iteration.
PHIREDLAM is a criterion for terminating a parameter estimation iteration when it is not terminated due to meeting the PHIRATSUF criterion. If the relative reduction in the objective function between the use of two consecutive lambdas is less than PHIREDLAM, PEST takes this as an indication that it is probably more efficient to begin the next iteration than to continue testing the effect of new Marquardt lambdas.
NUMLAM is upper limit on the number of lambdas that PEST will test during any one iteration. It should normally be set between 5 and 10 (normally closer to 10).
JACUPDATE The Broyden Jacobian update procedure is described in section 5.4.2 of Doherty (2015). It provides a mechanism for improving the Jacobian matrix based on model outputs calculated during model runs undertaken for the purpose of testing parameter upgrades calculated using different values of the Marquardt lambda. If JACUPDATE is omitted from the fifth line of the “control data” section of the PEST control file, or if it is set to zero, Broyden updating of the Jacobian matrix does not occur. However if it is set to n, where n is a positive integer, Broyden updating will be undertaken during the second part of every PEST iteration following the first n attempts to upgrade parameters using n different values of the Marquardt lambdas. Alternatively, it can be set to 999. In this case the Jacobian matrix is updated after the first parameter upgrade attempt, and every parameter upgrade attempt thereafter.
LAMFORGIVE If LAMFORGIVE is activated, PEST will ignore a failed model run and attempt calculation of further parameter upgrades using other values of the Marquardt lambda. If LAMFORGIVE is not activated, PEST reports a failed model run as an error condition and ceases execution with an appropriate error message.
DERFORGIVE If DERFORGIVE is activated, PEST will ignore a failed model when calculating derivatives and set the derivative to zero. If DERFORGIVE is not activated, PEST reports a failed model run as an error condition and ceases execution with an appropriate error message.