<< Click to Display Table of Contents >> Structure of PEST control file |
![]() ![]() ![]() |
There are two versions of the PEST control file. PEST and its associated utility software read and write the older version of this file. Programs of the PEST++ suite can also read the older version of a PEST control file. However they can read and write the newer version of this file as well. Old protocolIn the old version of the PEST control file, variables are recognised by location. That is, they are recognised by the line on which they are recorded, and by the order of their occurrence on that line. Variables can be separated by any number of spaces or tabs. For this protocol to work, values must be provided for all variables, as a missing variable would change the sequence of those to the right of it. However PEST allows some variables to be optional. These are generally placed at the end of a line; in some cases they are recognised by the accompaniment of a keyword; or the variable can itself be a keyword. This allows a little more flexibility in their placement on a line. However the line to which any particular variable is assigned cannot be changed. Nevertheless, certain flexibilities are allowed. Blank lines can appear anywhere in a PEST control file. Comments are also allowed. Comments are marked by a "#" character. All variables which follow the "#" character on any line are ignored. The figure below shows part of the "control data" section of a PEST control file which adopts the old protocol. The comment lines and blank lines are not required, but are added for clarity.
New protocolThe new PEST control file protocol requires that the values of variables follow keywords. These are recorded one to a line. A user can omit variables from a PEST control file; default values are supplied for missing variables. The new PEST control file requires fewer sections than the old PEST control file. Many variables are shifted to the "control data" section of the new file. Variables and sections in an old PEST control file that are not required by PEST++ are simply ignored. The new PEST control file protocol is illustrated by the following figure. This shows part of the "control data" section of a new PEST control file. Notice that the string "keyword" follows the string "control data" in the header to this section. This indicates adoption of the new protocol. Notice also that blank and comment lines are supported, just as for the old PEST control file.
See the PEST++ manual for details. For the remainder of this section we focus on the older version of the PEST control file, this being the version that is used by PEST and its utility support software. Using PEST++ with an older PEST control filePrograms of the PEST++ suite will happily read a PEST control file which uses the older protocol. As stated above, they ignore variables and sections that do not concern them. Meanwhile, PEST++ control variables can be inserted anywhere in this file. Each of these variables must be provided on a line of its own; this line must begin with "++". The figure below shows the last few lines of an old-protocol PEST control file to which PESTPP-IES control variables have been added. Lines which contain PESTPP-IES control variables are in bold.
|
![]() | Sections of a PEST control file |
A PEST control file is subdivided into sections. Some of them are mandatory and some of them are optional. Some are used by PEST but not by PEST_HP, and vice versa. Sections that are not used by a particular version of PEST are ignored when that version is run. Each section in a PEST control file begins with "*" followed by a space followed by the name of the section - for example "* control data". The purpose and status of different sections of a PEST control file are listed in the following table.
|
It is easy to make a mistake when building or modifying a PEST control file. Control variables must be consistent with each other, and with the values and types of parameters and observations. All parameters which are listed in a PEST control file must feature in template files that it cites. All observations which are listed in a PEST control file must feature in instruction files that it cites. When you run PEST it will detect and report any errors or inconsistencies that it finds in a PEST control file. However it is better to run PESTCHEK before you run PEST. PESTCHEK's error-checking is comprehensive and well-explained. PESTCHEK reads a PEST control file, as well as all of the template and instruction files that are cited in the PEST control file. When reading the latter file types, PESTCHEK replicates some of the checking functionality provided by TEMPCHEK and INSCHEK. Any and all errors and inconsistencies are reported to the screen. |