PEST Calibration

WEAP includes a linkage to a parameter estimation tool (PEST) that allows the user to automate the process of comparing WEAP outputs to historical observations and modifying model parameters to improve its accuracy.  You can use PEST to help calibrate one or more variables in your WEAP model, which can be particularly useful when using the Soil Moisture method of catchment hydrology.  PEST (Parameter ESTimation) is a free software package for Model-Independent Parameter Estimation and Uncertainty Analysis.  The basic PEST tool (pest.exe) is included in the WEAP installation.  For more information about PEST, and to download documentation or other PEST modules, see

Calibration Sets

WEAP can keep track of multiple sets of PEST Calibration settings.  For example, you might want to have one Set for calibrating snowpack in the mountains, and another Set for calibrating runoff in the lowlands.  Each set comprises all the following information: Parameters to Calibrate, Observations to Calibrate to, and Options.  The buttons to the right of the Calibration Set drop-down list let you add, delete or rename the Sets.

Parameters to Calibrate

Choose one or more parameters (variables in your model) to calibrate, giving allowable ranges for each.  PEST will find the values for these parameters that give the best fit to the observations specified (see below).  

To add a parameter, click the Add Parameter button.  (To edit an existing parameter, click the Edit Parameter button.)  On the "Parameter to Calibrate" screen, choose the Data View Branch and Variable you want to calibrate.  In each calibration iteration, this variable will be given a single value for all years and timesteps.  For example, if you were calibrating a catchment that used the Soil Moisture method, you might want to calibrate the Root Zone Conductivity and Preferred Flow Direction variables.  (If you had several land classes, you might need to calibrate these variables for each land class.)   Enter the Title and Description, which will be displayed on the Scenario Explorer Overview that the PEST Calibration Wizard will create.  The Parameter Name Abbreviation for PEST File will be used as the name of the parameter in the PEST control file.  The name can be up to 12 characters long, consisting of letters, numbers, and the underline character (e.g., "Pref_Flo_Dir", or "PFD_Forest").  You cannot have two parameters with the same 12 character name.  To specify the allowable range of values for this variable, enter the Lower Bound and Upper Bound, and the Initial Value to test.  PEST solutions can be sensitive to the initial value of a parameter, so you might want to experiment with different initial values.  Click the Save button to save your changes.

The table lists all the parameters defined so far.  You can edit the Lower Bound, Upper Bound and Initial Value directly in the table, or click the Edit Parameter button to edit on the "Parameter to Calibrate" screen.

Observations to Calibrate to

There are three different types of observations to which you can calibrate: Streamflow, Reservoir storage and Catchment snowpack.  You may select one or more types to calibrate to, and one or more within each selected type.  For Streamflow, PEST will compare the streamflow gauge data entered in the Data View, with streamflow results for the node immediately upstream of the gauge.  For Reservoir storage, PEST will compare the reservoir storage data entered in the Observed Volume variable for the reservoir in the Data View, with the reservoir storage results.  For Catchment snowpack, PEST will compare the snowpack data entered in the Snow Accumulation Gauge variable for the catchment in the Data View, with the Snow Accumulation results for the catchment. Note: if climate data are entered separately for each catchment branch, the snow accumulation gauge data and snow depth results will be by branch, not catchment.

You can choose to calibrate all Years and Months, or a subset of either.  


Choose one or more Scenarios to Calibrate.  PEST will run once for each selected scenario.

If you uncheck Modify parameters in Current Accounts also, then PEST will only modify the parameters in the selected scenarios.  If checked, the parameters will be modified in both Current Accounts and Scenarios.

If you choose Normalize observation data, PEST will use the reciprocal of each observation value as its weight.  For example, if the observations were 10, 30 and 25, the weights would be 1/10, 1/30 and 1/25.  This weighting will ensure that the larger values, such as flood flows in the river, do not outweigh of the smaller values, such as low flows.  Also, this option is essential when simultaneously calibrating different types of observations (e.g., streamflow and reservoir storage), because the two types are not comparable (different units, or could be many orders of magnitude different).  If you are unsure about this option, you should try it both ways and compare the calibrations.

You can choose to have WEAP build the PEST input files and then run PEST automatically, or just build the files but not run PEST.  This second option would allow you to edit the PEST control file directly in order to set advanced options before running PEST.  (The PEST control files that WEAP creates will be placed into a subdirectory named PEST of the area subdirectory, e.g., My Documents\WEAP Areas\Weaping River Basin\PEST.)  Choose the setting for the Run PEST after building PEST input files checkbox accordingly.

Running PEST

When you click the Build Files and Run PEST button, WEAP will run PEST once for each scenario selected.  In a single PEST run, PEST will repeatedly cycle through: modifying WEAP data variables, running WEAP calculations, then examining the results.  After PEST has run for each selected scenario, WEAP will go to the Scenario Explorer View, displaying each parameter to calibrate in the Data Section, and each Observation to calibrate to in the Results Section, for the selected scenarios.

Menu option: Advanced, PEST Calibration