XQX          NO-LINE_DELIMITER:XQX
XQX          COUNTER_DELIMITER:|N|
XQX          ASK-FOR-OUTPUT-FILENAME           Replace "?" with "-"  to prompt for independent output file name
XQX
XQX  Excess commentary added  which is stripped by NOCOMMENT
XQX
XQX Data are read from NOCOMMENT input files as 2,048-character alphanumeric
XQX cards to facilitate the addition of comments within the model input files
XQX and the use of keys to identify input variables. All integer, real, and
XQX character variables are read from the alphanumeric cards. The cards are
XQX initially read by the subroutine NCREAD. Cards with a ‘#’ sign in the first
XQX column are treated as comment cards, are not passed to any other routines,
XQX and are discarded. Once NCREAD has acquired a valid data card, the card is
XQX checked for a ‘!’ sign. If a ‘!’ sign is detected, the ‘!’ sign and all text
XQX right of the ‘!’ sign are removed from the card before passing it to any
XQX other routines.
XQX
XQX I/O Redirection
XQX A NOCOMMENT filecan be subdivided into smaller files with I/O redirection.
XQX I/O can be redirected from the primary file to an auxiliary input file by
XQX inserting an I/O redirect statement at any location in the file. Multiple
XQX I/O redirect statements can be used in a file. I/O redirection can only
XQX occur from a primary NOCOMMENT file and not from an auxiliary input file.
XQX
XQX REDIRECT:Filename=The filename of the auxiliary input must follow the colon.
XQX The REDIRECT key switches the I/O from the primary file to the auxiliary
XQX file. All eight characters must be present.
XQX Sample input of an element of GROUP 1 data:
XQX #
XQX Tag:PERM Layer:1
XQX 10 1.000 (6e13.5) -7
XQX Redirect to file:sem_bos.array     !!   I/O redirect occurs here
XQX Tag:VCON             Layer:1        0 1.000 (6e13.5) -7
XQX
XQX________________________________________________________________________________________________________________________________
XQX R01 pcf
pcf
XQX R02 * control data                                                                                      -- Section Heading
* control data
XQX R03 C1 RSTFLE            -- text     , “restart” or “norestart”                                   , instructs PEST whether to write restart data
XQX R03 C2 PESTMODE          -- text     , “estimation”, “prediction”, “regularisation”, “pareto”     , PEST’s mode of operation
XQX R03 RSTFLE PESTMODE                                                                                     -- Variables
restart regularisation
XQX R04 C1 NPAR              -- integer  , greater than zero                                          , number of parameters
XQX R04 C2 NOBS              -- integer  , greater than zero                                          , number of observations
XQX R04 C3 NPARGP            -- integer  , greater than zero                                          , number of parameter groups
XQX R04 C4 NPRIOR            -- integer  , any integer value                                          , absolute value is number of prior information equations; negative value indicates supply of prior information in indexed format
XQX R04 C5 NOBSGP            -- integer  , greater than zero                                          , number of observation groups
XQX R04 C6 MAXCOMPDIM        -- integer  , optional; zero or greater                                  , number of elements in compressed Jacobian matrix
XQX R04 NPAR NOBS NPARGP NPRIOR NOBSGP [MAXCOMPDIM]                                                         -- Variables
   |N| NPAR |N|  |N| NOBS |N|  |N| NPARGP |N|  |N| NPRIOR |N|  |N| NOBSGP |N|
XQX R05 C1 NTPLFLE           -- integer  , greater than zero                                          , number of template files
XQX R05 C2 NINSFLE           -- integer  , greater than zero                                          , number of instruction files
XQX R05 C3 PRECIS            -- text     , “single” or “double”                                       , format for writing parameter values to model input files
XQX R05 C4 DPOINT            -- text     , “point” or “nopoint”                                       , omit decimal point in parameter values if possible
XQX R05 C5 NUMCOM            -- integer  , optional; greater than zero                                , number of command lines used to run model
XQX R05 C6 JACFILE           -- integer  , optional; zero or one                                      , indicates whether model provides external derivatives file
XQX R05 C7 MESSFILE          -- integer  , optional; zero or one                                      , indicates whether PEST writes PEST-to-model message file
XQX R05 NTPLFLE NINSFLE PRECIS DPOINT [NUMCOM JACFILE MESSFILE]                                             -- Variables
    |N| NTPLFLE |N|  |N| NINSFLE |N|       single          point
XQX R06 C1 RLAMBDA1          -- real     , zero or greater                                            , initial Marquardt lambda
XQX R06 C2 RLAMFAC           -- real     , positive or negative, but not zero                         , dictates Marquardt lambda adjustment process
XQX R06 C3 PHIRATSUF         -- real     , between zero and one                                       , fractional objective function sufficient for end of current iteration
XQX R06 C4 PHIREDLAM         -- real     , between zero and one                                       , termination criterion for Marquardt lambda search
XQX R06 C5 NUMLAM            -- integer  , one or greater                                             , maximum number of Marquardt lambdas to test
XQX R06 C6 JACUPDATE         -- integer  , optional; zero or greater                                  , activation of Broyden’s Jacobian update procedure
XQX R06 C7 LAMFORGIVE        -- text     , “lamforgive” or “nolamforgive”                             , treat model run failure during lambda search as high objective function
XQX R06 RLAMBDA1 RLAMFAC PHIRATSUF PHIREDLAM NUMLAM [JACUPDATE] [LAMFORGIVE]                                -- Variables
         10.0      2.0      0.15      0.02     10       1       lamforgive
XQX R07 C1 RELPARMAX         -- real     , greater than zero                                          , parameter relative change limit
XQX R07 C2 FACPARMAX         -- real     , greater than one                                           , parameter factor change limit
XQX R07 C3 FACORIG           -- real     , scales sensitvities if parameter value shrinks,  must >0.000. Use 0.001, Not used for log-transformed parameters
XQX R07 C4 IBOUNDSTICK       -- integer  , optional; zero or greater                                  , instructs PEST not to compute derivatives for parameter at its bounds
XQX R07 C5 UPVECBEND         -- integer  , optional; zero or one                                      , instructs PEST to bend parameter upgrade vector if parameter hits bounds
XQX R07 RELPARMAX FACPARMAX FACORIG [IBOUNDSTICK UPVECBEND]                                                 -- Variables
         25.0       25.0    0.001        1           1
XQX R08 C1 PHIREDSWH         -- real     , between zero and one                                       , sets objective function change for introduction of central derivatives
XQX R08 C2 NOPTSWITCH        -- integer  , optional; one or greater                                   , iteration before which PEST will not switch to central derivatives computation
XQX R08 C3 SPLITSWH          -- real     , optional; zero or greater                                  , the factor by which the objective function rises to invoke split slope derivatives analysis until end of run
XQX R08 C4 DOAUI             -- text     , “aui”, “auid”, or “noaui”                                  , instructs PEST to implement automatic user intervention
XQX R08 C5 DOSENREUSE        -- text     , “senreuse” or “nosenreuse”                                 , instructs PEST to re-use parameter sensitivities
XQX R08 PHIREDSWH [NOPTSWITCH] [SPLITSWH] [DOAUI] [DOSENREUSE]                                              -- Variables
           0.1
XQX R09 C1 NOPTMAX           -- integer  , -2, -1, 0, or any number greater than zero                 , number of optimisation iterations
XQX R09 C2 PHIREDSTP         -- real     , greater than zero                                          , relative objective function reduction triggering termination
XQX R09 C3 NPHISTP           -- integer  , greater than zero                                          , number of successive iterations over whichPHIREDSTP applies
XQX R09 C4 NPHINORED         -- integer  , greater than zero                                          , number of iterations since last drop in objective function to trigger termination
XQX R09 C5 RELPARSTP         -- real     , greater than zero                                          , maximum relative parameter change triggering termination
XQX R09 C6 NRELPAR           -- integer  , greater than zero                                          , number of successive iterations over which RELPARSTP applies
XQX R09 C7 PHISTOPTHRESH     -- real     , optional; zero or greater                                  , objective function threshold triggering termination
XQX R09 C8 LASTRUN           -- integer  , optional; zero or one                                      , instructs PEST to undertake (or not) final model run with best parameters
XQX R09 C9 PHIABANDON        -- real/text, optional                                                   , objective function value at which to abandon optimisation process or filename containing abandonment schedule
XQX R09 NOPTMAX PHIREDSTP NPHISTP NPHINORED RELPARSTP NRELPAR [PHISTOPTHRESH] [LASTRUN] [PHIABANDON]        -- Variables
    |R|NOPTMAX|R|     0.005      5         5       0.001      5
XQX R10 C1 ICOV              -- integer  , zero or one                                                , record covariance matrix in matrix file
XQX R10 C2 ICOR              -- integer  , zero or one                                                , record correlation coefficient matrix in matrix file
XQX R10 C3 IEIG              -- integer  , zero or one                                                , record eigenvectors in matrix file
XQX R10 C4 IRES              -- integer  , zero or one                                                , record resolution data
XQX R10 C5 JCOSAVE           -- text     , “jcosave” or “nojcosave”                                   , Save best Jacobian file as a JCO file - overwriting previously-saved files of the same name as the inversion process progresses.
XQX R10 C6 VERBOSEREC        -- text     , “verboserec” or “noverboserec”                             , If set to “noverboserec”, parameter and observation data lists are ommitted from the run record file.
XQX R10 C7 JCOSAVEITN        -- text     , “jcosaveitn” or “nojcosaveitn”                             , Write current jacobian matrix to iteration-specific JCO file at the end of every optimisation iteration.
XQX R10 C8 REISAVEITN        -- text     , “reisaveitn” or “noreisaveitn”                             , Store best-fit residuals to iteration-specific residuals file at end of every optimisation iteration.
XQX R10 C9 PARSAVEITN        -- text     , “parsaveitn” or “noparsaveitn”                             , Store iteration specific parameter value file.
XQX R10 ICOV ICOR IEIG [IRES] [JCOSAVE] [VERBOSEREC] [JCOSAVEITN] [REISAVEITN] [PARSAVEITN]                 -- Variables
         0    0    0
XQX________________________________________________________________________________________________________________________________
XQX R11 * automatic user intervention                                                                       -- Section Heading
XQX R12 C1 MAXAUI            -- integer  , zero or greater                                            , maximum number of AUI iterations per optimisation iteration
XQX R12 C2 AUISTARTOPT       -- integer  , one or greater                                             , optimisation iteration at which to commence AUI
XQX R12 C3 NOAUIPHIRAT       -- real     , between zero and one                                       , relative objective function reduction threshold triggering AUI
XQX R12 C4 AUIRESTITN        -- integer  , zero or greater, but not one                               , AUI rest interval expressed in optimisation iterations
XQX R12 MAXAUI AUISTARTOPT NOAUIPHIRAT AUIRESTITN                                                           -- Variables
XQX R13 C1 AUISENSRAT        -- real     , greater than one                                           , composite parameter sensitivity ratio triggering AUI
XQX R13 C2 AUIHOLDMAXCHG     -- integer  , zero or one                                                , instructs PEST to target parameters which change most when deciding which parameters to hold
XQX R13 C3 AUINUMFREE        -- integer  , greater than zero                                          , cease AUI when only AUINUMFREE parameters are unheld
XQX R13 AUISENSRAT AUIHOLDMAXCHG AUINUMFREE                                                                 -- Variables
XQX R14 C1 AUIPHIRATSUF      -- real     , between zero and one                                       , relative objective function improvement for termination of AUI
XQX R14 C2 AUIPHIRATACCEPT   -- real     , between zero and one                                       , relative objective function reduction threshold for acceptance of AUI-calculated parameters
XQX R14 C3 NAUINOACCEPT      -- integer  , greater than zero                                          , number of iterations since acceptance of parameter change for termination of AUI
XQX R14 AUIPHIRATSUF AUIPHIRATACCEPT NAUINOACCEPT                                                           -- Variables
XQX________________________________________________________________________________________________________________________________
XQX R15 * singular value decomposition                                                                      -- Section Heading
* singular value decomposition
XQX R16 C1 SVDMODE           -- integer  , zero or one                                                , activates truncated singular value decomposition for solution of inverse problem
XQX R16 SVDMODE                                                                                             -- Variables
          1
XQX R17 C1 MAXSING           -- integer  , greater than zero                                          , number of singular values at which truncation occurs
XQX R17 C2 EIGTHRESH         -- real     , zero or greater, but less than one                         , eigenvalue ratio threshold for truncation
XQX R17 MAXSING EIGTHRESH                                                                                   -- Variables
     |N| NPAR |N|       1.0E-11
XQX R18 C1 EIGWRITE          -- integer  , zero or one                                                , determines content of SVD output file
XQX R18 EIGWRITE                                                                                            -- Variables
         0
XQX________________________________________________________________________________________________________________________________
XQX R19 * lsqr                                                                                              -- Section Heading
XQX R20 C1 LSQRMODE          -- integer  , zero or one                                                , activates LSQR solution of inverse problem
XQX R20 LSQRMODE                                                                                            -- Variables
XQX R21 C1 LSQR_ATOL         -- real     , zero or greater                                            , LSQR algorithm atol variable
XQX R21 C2 LSQR_BTOL         -- real     , zero or greater                                            , LSQR algorithm btol variable
XQX R21 C3 LSQR_CONLIM       -- real     , zero or greater                                            , LSQR algorithm conlim variable
XQX R21 C4 LSQR_ITNLIM       -- integer  , greater than zero                                          , LSQR algorithm itnlim variable
XQX R21 LSQR_ATOL LSQR_BTOL LSQR_CONLIM LSQR_ITNLIM                                                         -- Variables
XQX R22 C1 LSQR_WRITE        -- integer  , zero or one                                                , instructs PEST to write LSQR file
XQX R22 LSQR_WRITE                                                                                          -- Variables
XQX________________________________________________________________________________________________________________________________
XQX R23 * svd assist                                                                                        -- Section Heading
XQX R24 C1 BASEPESTFILE      -- text     , a filename                                                 , name of base PEST control file
XQX R24 BASEPESTFILE                                                                                        -- Variables
XQX R25 C1 BASEJACFILE       -- text     , a filename                                                 , name of base PEST Jacobian matrix file
XQX R25 BASEJACFILE                                                                                         -- Variables
XQX R26 C1 SVDA_MULBPA       -- integer  , zero or one                                                , instructs PEST to record multiple BPA files
XQX R26 C2 SVDA_SCALADJ      -- integer  , -4 to 4                                                    , sets type of parameter scaling undertaken in super parameter definition
XQX R26 C3 SVDA_EXTSUPER     -- integer  , 0, 1, 2, -2, 3                                             , sets means by which super parameters are calculated
XQX R26 C4 SVDA_SUPDERCALC   -- integer  , zero or one                                                , instructs PEST to compute super parameter sensitivities from base parameter sensitivities
XQX R26 C5 SVDA_PAR_EXCL     -- integer  , 0, 1 or -1                                                 , if set to 1, instructs PEST to compute super parameters on basis only of observation group in base parameter PEST control file to which pareto-adjustable weighting is assigned in super parameter PEST control file. If set to -1 all groups other than this form basis for super parameter definition.
XQX R26 SVDA_MULBPA SVDA_SCALADJ SVDA_EXTSUPER SVDA_SUPDERCALC SVDA_PAR_EXCL                                -- Variables
XQX R27 * sensitivity reuse                                                                                 -- Section Heading
XQX R28 C1 SENRELTHRESH      -- real     , zero to one                                                , relative parameter sensitivity below which sensitivity re-use is activated for a parameter
XQX R28 C2 SENMAXREUSE       -- integer  , integer other than zero                                    , maximum number of re-used sensitivities per iteration
XQX R28 SENRELTHRESH SENMAXREUSE                                                                            -- Variables
XQX R29 C1 SENALLCALCINT     -- integer  , greater than one                                           , iteration interval at which all sensitivities re- calculated
XQX R29 C2 SENPREDWEIGHT     -- real     , any number                                                 , weight to assign to prediction in computation of composite parameter sensitivities to determine sensitivity re-use
XQX R29 C3 SENPIEXCLUDE      -- test     , “yes” or “no”                                              , include or exclude prior information when computing composite parameter sensitivities to determine sensitivity re-use
XQX R29 SENALLCALCINT SENPREDWEIGHT SENPIEXCLUDE                                                            -- Variables
XQX________________________________________________________________________________________________________________________________
XQX R30 * parameter groups                                                                                  -- Section Heading
* parameter groups
XQX R31 C1 PARGPNME          -- text     , 12 characters or less                                      , parameter group name
XQX R31 C2 INCTYP            -- text     , “relative”, “absolute”, “rel_to_max”                       , method by which parameter increments are calculated
XQX R31 C3 DERINC            -- real     , greater than zero                                          , absolute or relative parameter increment
XQX R31 C4 DERINCLB          -- real     , zero or greater                                            , absolute lower bound of relative parameter increment
XQX R31 C5 FORCEN            -- text     , “switch”, “always_2”, “always_3”, “switch_5”, “always_5”   , determines whether central derivatives calculation is undertaken, and whether three points or four points are employed in central derivatives calculation
XQX R31 C6 DERINCMUL         -- real     , greater than zero                                          , derivative increment multiplier when undertaking central derivatives calculation
XQX R31 C7 DERMTHD           -- text     , “parabolic”, “outside_pts”, “best_fit”, “minvar”, “maxprec”, method of central derivatives calculation
XQX R31 C8 SPLITTHRESH       -- real     , greater than zero (or zero to deactive)                    , slope threshold for split slope analysis
XQX R31 C9 SPLITRELDIFF      -- real     , greater than zero                                          , relative slope difference threshold for action
XQX R31C10 SPLITACTION       -- text     , text                                                       , “smaller”, “zero” or “previous”
XQX R31 PARGPNME INCTYP DERINC DERINCLB FORCEN DERINCMUL DERMTHD [SPLITTHRESH SPLITRELDIFF SPLITACTION]     -- Variables
XQX R31 (one such line for each of NPARGP parameter groups)                                                 -- Variables
   COUNTER_START:NPARGP
OFFSET         absolute    0.0001      0.0   always_2    2.0    parabolic
Amplitude      absolute    0.001       0.0   always_2    2.0    parabolic
Phase          absolute    0.001       0.0   always_3    2.0    parabolic
HydProp        relative    0.01        0.0   always_2    2.0    parabolic
   COUNTER_STOP:NPARGP
XQX________________________________________________________________________________________________________________________________
XQX R32 * parameter data                                                                                    -- Section Heading
* parameter data
XQX R33 C1 PARNME            -- text     , 12 characters or less                                      , parameter name
XQX R33 C2 PARTRANS          -- text     , “none”, “log”, “fixed” or “tied”                           , As-Is, Log-transformed, not estimated, or linked to another parameter
XQX R33 C3 PARCHGLIM         -- text     , “relative” or “factor”                                     , type of parameter change limit
XQX R33 C4 PARVAL1           -- real     , any real number                                            , initial parameter value
XQX R33 C5 PARLBND           -- real     , less than or equal to PARVAL1                              , parameter lower bound
XQX R33 C6 PARUBND           -- real     , greater than or equal to PARVAL1                           , parameter upper bound
XQX R33 C7 PARGP             -- text     , 12 characters or less                                      , parameter group name
XQX R33 C8 SCALE             -- real     , any number other than zero      transforms PEST parameter, bp, to model parameter, bm, with bp = (bm - OFFSET) / SCALE
XQX R33 C9 OFFSET            -- real     , any number                      transforms PEST parameter, bp, to model parameter, bm, with bp = (bm - OFFSET) / SCALE
XQX R33 C10 DERCOM           -- integer  , zero or greater                                            , model command line used in computing parameter increments
XQX R33 PARNME PARTRANS PARCHGLIM PARVAL1 PARLBND PARUBND PARGP SCALE OFFSET DERCOM                         -- Variables
XQX R33 (one such line for each of NPAR parameters)                                                         -- Variables
   COUNTER_START:NPAR
  Redirect to file:PEST_Parameters.txt         !!   I/O redirect occurs here
   COUNTER_STOP:NPAR
XQX R34 C2 PARTIED           -- text     , 12 characters or less                                      , the name of the parameter to which another parameter is tied
XQX R34 PARNME PARTIED                                                                                      -- Variables
XQX R34 (one such line for each tied parameter)                                                             -- Variables
XQX   Redirect to file:PEST_TIED-Parameters.txt     !!   I/O redirect occurs here
XQX________________________________________________________________________________________________________________________________
XQX R35 * observation groups                                                                                -- Section Heading
* observation groups
XQX R36 C1 OBGNME            -- text     , 12 characters or less                                      , observation group name to which observation assigned
XQX R36 C2 GTARG             -- real     , positive                                                   , group-specific target measurement objective function
XQX R36 C3 COVFILE           -- text     , a filename                                                 , optional covariance matrix file associated with group
XQX R36 OBGNME [GTARG] [COVFLE]                                                                             -- Variables
XQX R36 (one such line for each of NOBSGP observation group)                                                -- Variables
   COUNTER_START:NOBSGP
|R|PI-GROUP|R|
WL_OBS
   COUNTER_STOP:NOBSGP
XQX________________________________________________________________________________________________________________________________
XQX R37 * observation data                                                                                  -- Section Heading
* observation data
XQX R38 C1 OBSNME            -- text     , 20 characters or less                                      , observation name, is case insensitive.
XQX R38 C2 OBSVAL            -- real     , any number                                                 , measured value of observation
XQX R38 C3 WEIGHT            -- real     , zero or greater                                            , Emphasis placed on matching an observation.
XQX R38 C4 OBGNME            -- text     , 12 characters or less                                      , observation group name to which observation assigned
XQX R38 OBSNME OBSVAL WEIGHT OBGNME                                                                         -- Variables
XQX R38 (one such line for each of NOBS observations)                                                       -- Variables
   COUNTER_START:NOBS
  Redirect to file:PEST_Observations.txt     !!   I/O redirect occurs here
   COUNTER_STOP:NOBS
XQX________________________________________________________________________________________________________________________________
XQX R39 * derivatives command line                                                                          -- Section Heading
XQX R40 C1 DERCOMLINE        -- text     , system command                                             , command to run model for derivatives calculation
XQX R40 DERCOMLINE                                                                                          -- Variables
XQX R41 C1 EXTDERFLE         -- text     , a filename                                                 , name of external derivatives file
XQX R41 EXTDERFLE                                                                                           -- Variables
XQX________________________________________________________________________________________________________________________________
XQX R42 * model command line                                                                                -- Section Heading
* model command line
XQX R43 C1 COMLINE           -- text     , system command                                             , command to run model
XQX R43 COMLINE                                                                                             -- Variables
XQX R43 (one such line for each of NUMCOM command lines)                                                    -- Variables
|R|COMLINE|R|
XQXPEST_WLmodel.bat
XQX________________________________________________________________________________________________________________________________
XQX R44 * model input/output                                                                                -- Section Heading
* model input/output
XQX R45 C1 TEMPFLE           -- text     , a filename                                                 , template file
XQX R45 C2 INFLE             -- text     , a filename                                                 , model input file
XQX R45 TEMPFLE INFLE                                                                                       -- Variables
XQX R45 (one such line for each of NTPLFLE template files)                                                  -- Variables
   COUNTER_START:NTPLFLE
   |R|TEMPFLE|R|         |R|INFLE|R|
XQX PEST_WLmodel.TPL.txt         PEST_WLmodel.INPUT.txt
   COUNTER_STOP:NTPLFLE
XQX R46 C1 INSFLE            -- text     , a filename                                                 , instruction file
XQX R46 C2 OUTFLE            -- text     , a filename                                                 , model output file
XQX R46 INSFLE OUTFLE                                                                                       -- Variables
XQX R46 (one such line for each of NINSLFE instruction files)                                               -- Variables
   COUNTER_START:NINSFLE
   |R|INSFLE|R|         |R|OUTFLE|R|
XQX PEST_WLsimulated.ins.txt     PEST_WLsimulated.txt
   COUNTER_STOP:NINSFLE
XQX________________________________________________________________________________________________________________________________
XQX___________PRIOR INFORMATION -- SUPPORTS REGULARIZATION _________________________________
XQX R47 * prior information                                                                                 -- Section Heading
* prior information
XQX
XQX R48  Each item in a PI equation must be separated by at least one space.
XQX R48  Each new PI equation begins on a new line.
XQX R48  No prior information line can exceed 300 characters
XQX R48  Prior information lines must adhere to syntax,
XQX R48             --Begin with a prior information label, character variable PILBL, limited to <=20 characters
XQX R48             --Follow label w/ PI equation.
XQX R48             --All parameters referenced in a PI equation must be adjustable
XQX R48             --A parameter can be referenced only once in A PI equation, can be referenced in multiple PI equations.
XQX R48             --Never omit parameter factor,
XQX R48 C1 PILBL       -- a prior information label
XQX R48 C2 PIFAC       -- Multiplier for parameter
XQX R33 C1 PARNME      -- text     , 12 characters or less,  unique parameter name, defined previously in "* parameter data" section
XQX R48 C3 PIVAL       -- Result of prior information equation.
XQX R48 C4 WEIGHT      -- real, Emphasis placed on matching an regularization constraint.
XQX R36 C1 OBGNME      -- character*12, name of regularization observation group                      , observation group name to which observation assigned
XQX R48 PILBL PIFAC * PARNME + PIFAC * log(PARNME) ... = PIVAL WEIGHT OBGNME                                -- Variables
XQX R48 (one such line for each of NPRIOR articles of prior information)                                    -- Variables
   COUNTER_START:NPRIOR
 Redirect to file:PEST_PriorInfo2Regular.txt        !!   I/O redirect occurs here
   COUNTER_STOP:NPRIOR
XQX________________________________________________________________________________________________________________________________
XQX R49 * predictive analysis                                                                               -- Section Heading
XQX R50 C1 NPREDMAXMIN       -- integer  , -1 or 1                                                    , maximise or minimise prediction
XQX R50 C2 PREDNOISE         -- integer  , 0 or 1                                                     , instructs PEST to include predictive noise in prediction
XQX R50 NPREDMAXMIN [PREDNOISE]                                                                             -- Variables
XQX R51 C1 PD0               -- real     , greater than zero                                          , target objective function
XQX R51 C2 PD1               -- real     , greater than PD0                                           , acceptable objective function
XQX R51 C3 PD2               -- real     , greater than PD1                                           , objective function at which Marquardt lambda testing procedure is altered as prediction is maximised/minimised
XQX R51 PD0 PD1 PD2                                                                                         -- Variables
XQX R52 C1 ABSPREDLAM        -- real     , zero or greater                                            , absolute prediction change to terminate Marquardt lambda testing
XQX R52 C2 RELPREDLAM        -- real     , zero or greater                                            , relative prediction change to terminate Marquardt lambda testing
XQX R52 C3 INITSCHFAC        -- real     , greater than zero                                          , initial line search factor
XQX R52 C4 MULSCHFAC         -- real     , greater than one                                           , factor by which line search factors are increased along line
XQX R52 C5 NSEARCH           -- integer  , greater than zero                                          , maximum number of model runs in line search
XQX R52 ABSPREDLAM RELPREDLAM INITSCHFAC MULSCHFAC NSEARCH                                                  -- Variables
XQX R53 C1 ABSPREDSWH        -- real     , zero or greater                                            , absolute prediction change at which to use central derivatives calculation
XQX R53 C2 RELPREDSWH        -- real     , zero or greater                                            , relative prediction change at which to use central derivatives calculation
XQX R53 ABSPREDSWH RELPREDSWH                                                                               -- Variables
XQX R54 C1 NPREDNORED        -- integer  , one or greater                                             , iterations since prediction raised/lowered at which termination is triggered
XQX R54 C2 ABSPREDSTP        -- real     , zero or greater                                            , absolute prediction change at which to trigger termination
XQX R54 C3 RELPREDSTP        -- real     , zero or greater                                            , relative prediction change at which to trigger termination
XQX R54 C4 NPREDSTP          -- integer  , two or greater                                             , number of iterations over which ABSPREDSTP and RELPREDSTP apply
XQX R54 NPREDNORED ABSPREDSTP RELPREDSTP NPREDSTP                                                           -- Variables
XQX________________________________________________________________________________________________________________________________
XQX  7.3.3 Control File - “Regularisation” Section
XQX R55 * regularisation                                                                                    -- Section Heading
* regularisation
XQX R56 C1 PHIMLIM           -- real     , greater than zero                                          , Upper level of model-to-measurement misfit -- Real error level
XQX R56 C2 PHIMACCEPT        -- real     , greater than PHIMLIM                                       , Should be 5-10% > PHIMLIM, gives PEST “room to move”
XQX R56 C3 FRACPHIM          -- real     , optional; zero or greater, but less than one               , Makes adjustable PHIMLIM = PhiMeas*FRACPHIM, USE 0.1 to 0.3, Ignored if <=0
XQX R56 C4 MEMSAVE           -- text     , “memsave” or “nomemsave”                                   , activate conservation of memory at cost of execution speed and quantity of model output"
XQX R56 PHIMLIM PHIMACCEPT [FRACPHIM] [MEMSAVE]                                                             -- Variables
 |R|PHIMLIM|R|     |R|PHIMACCEPT|R|   0.2
XQX R57 C1 WFINIT            -- real     , greater than zero                                          , initial regularisation weight factor, adjusts total PHI emphasis between assumptions and measurements.
XQX R57 C2 WFMIN             -- real     , greater than zero                                          , minimum regularisation weight factor, USE small, 1E-10. 
XQX R57 C3 WFMAX             -- real     , greater than WFMAX                                         , maximum regularisation weight factor, USE big, 1E+10.   
XQX R57 C4 LINREG            -- text     , “linreg” or “nonlinreg”                                    , informs PEST that all regularisation constraints are linear
XQX R57 C5 REGCONTINUE       -- text     , “continue” or “nocontinue”                                 , instructs PEST to continue minimising regularisation objective function even if measurement objective function less than PHIMLIM
XQX R57 WFINIT   WFMIN       WFMAX       [LINREG]     [REGCONTINUE]                                                           -- Variables
        1.0000   1.000E-10  1.00E+10       linreg       continue
XQX R58 C1 WFFAC             -- real     , greater than one                                           , regularisation weight factor adjustment factor
XQX R58 C2 WFTOL             -- real     , greater than zero                                          , convergence criterion for regularisation weight factor
XQX R58 C3 IREGADJ           -- integer  , 0, 1, 2, 3, 4 or 5                                         , instructs PEST to perform inter-regularisation group weight factor adjustment, or to compute new relative weights for regularisation observations and prior information equations
XQX R58 C4 NOPTREGADJ        -- integer  , 1 or greater                                               , the optimisation iteration interval for re- calculation of regularisation weights if IREGADJ is 4 or 5
XQX R58 C5 REGWEIGHTRAT      -- real     , absolute value of 1 or greater                             , the ratio of highest to lowest regularisation weight; spread is logarithmic with null space projection if set negative
XQX R58 C6 REGSINGTHRESH     -- real     , less than 1 and greater than zero                          , singular value of XtQX (as factor of highest singular value) at which use of higher regularisation weights commences if IREGADJ is set to 5
XQX R58 WFFAC WFTOL IREGADJ [NOPTREGADJ REGWEIGHTRAT [REGSINGTHRESH]]                                       -- Variables
         1.3  1.0e-2  1
XQX________________________________________________________________________________________________________________________________
XQX R59 * pareto                                                                                            -- Section Heading
XQX R60 C1 PARETO_OBSGROUP   -- text     , 12 characters or less                                      , name of observation group whose weights are subject to multiplication by a variable weight factor
XQX R60 PARETO_OBSGROUP                                                                                     -- Variables
XQX R61 C1 PARETO_WTFAC_START-- real     , zero or greater                                            , initial weight factor for user-specified observation group
XQX R61 C2 PARETO_WTFAC_FIN  -- real     , greater than PARETO_WTFAC_START                            , final weight factor for user-specified observation group
XQX R61 C3 NUM_WTFAC_INC     -- integer  , greater than zero                                          , number of weight factor increments to employ in traversing Pareto front
XQX R61 PARETO_WTFAC_START PARETO_WTFAC_FIN NUM_WTFAC_INC                                                   -- Variables
XQX R62 C1 NUM_ITER_START    -- integer  , zero or greater                                            , number of optimisation iterations to employ when using intial weight factor
XQX R62 C2 NUM_ITER_GEN      -- integer  , greater than zero                                          , number of optimization iterations to employ when using any weight factor other than PARETO_WTFAC_START or PARETO_WTFAC_FIN
XQX R62 C3 NUM_ITER_FIN      -- integer  , zero or greater                                            , number of optimization iterations to employ when using final weight factor
XQX R62 NUM_ITER_START NUM_ITER_GEN NUM_ITER_FIN                                                            -- Variables
XQX R63 C1 ALT_TERM          -- integer  , zero or one                                                , set to one in order to activate PEST termination determined by value of a specified model output
XQX R63 ALT_TERM                                                                                            -- Variables
XQX R64 C1 OBS_TERM          -- text     , 20 characters or less                                      , the name of an observation cited in the “observation data” section of the PEST control file whose value will be monitored for possible PEST run termination
XQX R64 C2 ABOVE_OR_BELOW    -- text     , “above” or “below”                                         , determines whether the monitored model output must be above or below the threshold to precipitate run termination
XQX R64 C3 OBS_THRESH        -- real     , any number                                                 , value that monitored model output must exceed or undercut to precipitate model run termination
XQX R64 C4 ITER_THRESH       -- integer  , zero or greater                                            , the number of optimization iterations for which the model output threshold must be exceeded or undercut to precipitate run termination
XQX R64 OBS_TERM ABOVE_OR_BELOW OBS_THRESH NUM_ITER_THRESH (only if ALT_TERM is non-zero)                   -- Variables
XQX R65 C1 NOBS_REPORT       -- integer  , 0 or greater                                               , number of model outputs whose values to report
XQX R65 NOBS_REPORT                                                                                         -- Variables
XQX R66 C3 OBS_REPORT_N      -- text     , 20 characters or less                                      , the name of the N’th observation whose value is reported in the POD and PPD files written by PEST when run in “pareto” mode
XQX R66 OBS_REPORT_1 OBS_REPORT_2 OBS_REPORT_3.. (NOBS_REPORT items)                                        -- Variables
EOF

