🌾 SwaNET · Quick Tutorial 3 of 19

Manual Model Calibration

Calibrate your SWAT model interactively by adjusting one parameter at a time, running multiple simulations, and comparing results with observed streamflow data using NSE, PBIAS, and RSR statistics.

SwaNET Tutorial 3Prereq: Loaded Model with Weather Data10 min read

What You Will Learn

Calibration ConceptsWhy calibration matters, what NSE/PBIAS/RSR measure, and how to interpret results
Parameter SensitivityTest individual SWAT parameters across a range to find the best-fit value
Iterative RefinementManually update parameters one at a time until satisfactory model performance is achieved

0Getting Started

Calibration is the process of adjusting model parameters so that simulated outputs match observed measurements. Without calibration, even a well-constructed SWAT model may produce inaccurate results because default parameter values rarely capture site-specific conditions.

ℹ️

What are NSE, PBIAS, and RSR? These are standard statistics for evaluating hydrologic model performance. NSE (Nash-Sutcliffe Efficiency) measures overall fit (1.0 = perfect). PBIAS (Percent Bias) measures systematic over/under-prediction (0% = perfect). RSR (RMSE-observations Standard Deviation Ratio) measures error magnitude (0 = perfect).

Click Calibration Helper from the main SwaNET menu to open the manual calibration interface.

Manual calibration interface
Figure 1. Manual calibration interface

1Load Observed Data

You need observed data (typically streamflow) to compare against model outputs. The observed file must identify the subbasin outlet and parameter being measured.

  1. Upload a new observed file: check Import and click it. Browse and select. Or click Use Uploaded File to load a previously uploaded file.
  2. Click Plot data to visualize the uploaded observations and confirm the data looks correct.
Format of observed data file
Figure 2. Format of observed data file
📄

Observed file format: CSV file. Line 1: header (ignored). Line 2: start date as year,month,day,hour. Line 3: multiply factor. Line 4+: days from start, observed value. Example: 0,0.42 means day 0 with value 0.42 m3/s.

2Select Output to Compare

  1. Choose Subbasin or Reach to load the corresponding SWAT output parameters.
  2. Select the specific parameter from the list (e.g., average streamflow out of reach for flow calibration).
  3. Select the subbasin number where the observed data was recorded.

3Simulation Options

  1. Set calibration period start and end dates. This is the period used to fit parameters.
  2. Set validation period start and end dates. This is the independent period to test model performance.
  3. Set warm-up years (typically 1-2). SWAT needs time to reach steady state before results are meaningful.
  4. Choose summarize results: monthly or daily. Monthly smooths out noise and is recommended for initial calibration.
💡

Calibration strategy: Start with monthly time steps and a few key parameters (CN2, ALPHA_BF, ESCO). Once monthly performance is acceptable, switch to daily to refine further.

4Run Calibration

  1. Select Calibration mode. Choose the parameter type (streamflow, sediment, nitrogen, or phosphorus).
  2. Select a parameter from the list. Its default value, operator, bounds, and description are shown.
  3. Set the lower bound, upper bound, and number of runs. SWAT runs multiple times across this range.
  4. Click Run. Results display a time series plot comparing simulated vs. observed values, plus statistics (NSE, PBIAS, RSR) for each run.
Manual calibration results
Figure 3. Manual calibration results

The calibration summary chart shows how each statistic changes across the parameter range, helping you identify the optimal value.

5Manually Update Parameters

  1. Click Update parameter to expand the interface.
  2. Select a parameter type and specific parameter. Set the new value.
  3. Click Update. SWAT runs with the new value and comparison results are displayed.

Repeat this process, adjusting different parameters, until you achieve satisfactory NSE, RSR, and PBIAS values. General guidelines: NSE > 0.5, RSR < 0.7, and PBIAS within ±25% indicate acceptable performance for streamflow.

Frequently Asked Questions

What is a good NSE value?
NSE ranges from negative infinity to 1.0. Values above 0.5 are generally acceptable, above 0.65 is good, and above 0.75 is very good. An NSE of 0 means the model is no better than using the observed mean.
Which parameters should I calibrate first?
For streamflow: start with CN2 (curve number), ALPHA_BF (baseflow), ESCO (evaporation), and GW_DELAY (groundwater). These typically have the greatest impact on flow simulation.
What is the difference between calibration and validation?
Calibration adjusts parameters using one time period. Validation tests the calibrated model on an independent time period. Good validation performance confirms the model is not overfit to the calibration data.
What does the operator "Add (%)" mean?
The parameter's existing value is multiplied by the calibration factor. For example, CN2 with Add(%) of 1.1 means each CN2 value increases by 10%. "Replace by" means the parameter is set directly to the calibration value.