<< Click to Display Table of Contents >> Creating a PEST control file |
![]() ![]() ![]() |
A PEST control file is a little complicated. It is not so much the control variables that make it complicated. It is the large number of parameters, observations and prior information equations that it may hold. An extra problem that accompanies the use of lots of observations is the creation of instruction sets that read lots of numbers from model output files. A number of programs from PEST utility support suites can assist with these tasks. These are briefly discussed on the present page. The following page discusses programs that can modify an existing PEST control file. |
PESTGEN is a simple program that was supplied with the original version of PEST way back in 1995. It creates a rudimentary PEST control file. Parameter names and initial values are read from a user-supplied "parameter value file". (This is the same type of file that PEST uses to record optimised parameter values.) Observation names and values are read from an "observation value file". Such a file is written by the INSCHEK utility when asked to verify that an instruction set can read a model output file. A PESTGEN-constructed PEST control file requires user-editing before being used by PEST. (Don't forget to run PESTCHEK before you run PEST.) |
TPL2PST is supplied with PEST. It builds a "partial PEST control file" in which the following sections are filled: •control data •singular value decomposition •parameter groups •parameter data •model input/output In this partial PEST control file, a number of control variables are supplied with default values which you may wish to alter. TPL2PST was designed to provide assistance with construction of those aspects of a PEST control file that pertain to parameters. Automation of this procedure is particularly helpful where parameter numbers are large, such as can occur when pilot points are used for model parameterisation. It is assumed that a modeller has already constructed templates of pertinent model input files. (This can be done relatively easily with the help of text editors and/or spreadsheets, particularly for pilot point parameters.) A modeller must also create an easily-prepared TPL2PST control file that allows TPL2PST to assign initial parameter values, as well as parameter upper and lower bounds, to groups of parameters which feature in each template file. The PEST control file that is written by TPL2PST can easily be edited to add extra detail. Meanwhile, those sections of a PEST control file that pertain to observations can be created using programs such as OLPROC, PESTPREP1, PESTPREP2 and other packages that are discussed below. |
OLPROC can be downloaded from the PEST web pages as its own package. In contrast to TPL2PST, it focusses on observations rather than on parameters. It writes the following sections of a PEST control file: •observation groups •observation data •model command line •model input/output Actually, OLPROC does a lot more than this. It runs as a simulator postprocessor, and can thus form an important component of the model sandwich that PEST must run repeatedly. It can be particularly useful as a MODFLOW postprocessor. As a simulator postprocessor, OLPROC writes files that are suitable for PEST to read after performing tasks such as the following: •time-interpolation of model outputs to measurement times; •expansion of a history-matching dataset through inclusion of temporal differences of system state and flux measurements and their model-generated counterparts; •expansion of a history-matching dataset through generation of secondary observations that are calculated from primary observations using equations of arbitrary complexity. When run as a PEST input dataset constructor, OLPROC writes instruction files that can read its own output files. In writing a PEST control file, observation weights can be calculated from observation values using equations of arbitrary complexity. OLPROC can obtain field measurements from Excel spreadsheets and from site sample files. The latter type of file is used extensively by members of the PEST groundwater utility suite. OLPROC can read model-generated quantities from site sample files and comma-delimited files produced by the MODFLOW 6 OBS package. A large number of programs from the groundwater utility suite are programmed to read binary output files produced by all versions of MODFLOW, and record spatially-interpolated quantities in site sample file format. Hence OLPROC complements use of programs from this suite.
Part of a site sample file. |
PESTPREP, PESTPREP1 and PESTPREP2 are supplied with the PEST groundwater utility suite. Like OLPROC, their focus is on observations rather than on parameters. Some of their functionality is similar to that of OLPROC. However their capabilities do not extend as far as OLPROC. PESTPREP is superseded by PESTPREP1 and PESTPREP2. However it is still useful. Unlike OLPROC, none of the PESTPREP family run as model postprocessors. However they assume that simulator postprocessing tasks are performed by other members of the PEST groundwater utility suite. Furthermore they assume that: •these simulator postprocessing programs record their outcomes in site sample file format; •field measurements are recorded in site sample file format; •simulator post-processors have undertaken spatial and temporal interpolation of model outputs to the sites and times of field measurements. These assumptions are easily met, as many programs from the PEST groundwater utility suite were built to perform exactly these tasks. Various programs from this suite can read system state and budget files written by all versions of MODFLOW (and some other models). Others can undertake time-interpolation of one site sample file to another. Each PESTPREP program reads two site sample files. One contains field measurements, while the other contains model-calculated counterparts to these measurements. PESTPREP programs give names to observations, write instruction files to read simulator postprocessor output files, and then write the "observation data" section of a PEST control file. Uniform weights are ascribed to all observations. These are easily altered using a text editor, a spreadsheet, or specialist utility programs that are supplied with PEST and with the PEST groundwater utility suite. |
TSPROC is the flagship of the PEST surface water utility suite. This suite can be downloaded from the PEST web pages. A version of TSPROC with expanded functionality has been produced by USGS personnel. "TSPROC" stands for "time series processor". It undertakes the type of processing that is required for formulation of a multi-component objective function in which each objective function component includes an important aspect of stream behaviour. Both measured and computed time series can be processed in this manner. Processing options include: •time-interpolation from one time series to another; •volumetric accumulation over arbitrary time intervals; •baseflow extraction; •low and high pass digital filtering; •calculation of flow duration and other statistics. Like OLPROC, TSPROC can write instruction files that read its own output files. It can also write a PEST control file which features processed flow components that pertain to one or many gauging stations. Weights can be calculated from observed flows and processed flows using equations of arbitrary complexity. History-matching based on a multi-component objective function. |