0Getting Started
Auto-calibration uses computational optimization to find the best parameter values automatically, rather than testing one parameter at a time. SwaNET implements the NSGA-II (Non-dominated Sorting Genetic Algorithm II) developed by Ercan and Goodall (2016), which can optimize multiple objectives simultaneously.
Why NSGA-II? Traditional calibration optimizes one objective at a time. NSGA-II finds solutions that balance multiple objectives (NSE, PBIAS, RSR) simultaneously, producing a set of Pareto-optimal solutions rather than a single "best" answer.
Click Calibration Helper from the main menu, then click Auto calibration at the top.
1Load Observed Data
Upload User Observed File
- Upload a new file or select a previously uploaded one under "Load observed data."
- Click
Plot datato verify the data. - Select the output type (
SubbasinorReach) and the specific parameter to compare. - Select the subbasin outlet number. Click
Add observed data. The entry appears in the table with outlet ID, filename, parameter, and weight.
Add USGS Gauging Stations
If you added USGS stations as outlets during watershed delineation, you can load their streamflow data directly.
- Click
Add USGS stations. Select a station from the dropdown. - Choose data type:
Field measurement(sparse but high quality) orDaily(continuous record). - Click
Select. For daily data, set the download period and confirm. - Click
Applyto add stations to the calibration list. Adjust weights as needed (equal by default).
2Configure Options
Simulation Settings
- Set calibration and validation periods (continuous dates).
- Set warm-up years (1-2 recommended).
- Choose monthly or daily result summarization.
- Set parameter weights for NSE, PBIAS, and RSR. Set any to 0 to exclude from optimization.
Genetic Algorithm Settings
- Population size: Initial population (must be even). Default: 10.
- Number of generations: How many iterations the algorithm runs. Start small (3-5) for testing.
- Cross-over probability: Likelihood of gene exchange (0.5-1.0). Default: 0.8.
- Cross-over type: Simple (segment swap) or Uniform (random gene swap).
- Number of bits: Precision of parameter encoding. Default: 6.
- Mutation probability: Likelihood of random gene change (0-1). Default: 0.5.
- Seed: Random number seed for reproducibility (0-1).
- Sampling interval: Latin Hypercube Sampling intervals for initial population. Default: 10.
- Read from last population: Check to continue from a previous calibration run.
Performance note: Auto-calibration runs SWAT many times (population size x generations). Start with small numbers to test, then increase for final calibration. Each run may take several minutes to hours depending on model size.
3Select SWAT Parameters
- Under "Auto calibration parameters," select a parameter from the dropdown and click
Add. - The parameter, its default range, and operation method appear in the table. Continue adding until all desired parameters are listed.
- Adjust lower and upper bounds as needed. The defaults represent the suggested calibration range.
Key streamflow parameters: CN2 (curve number), ALPHA_BF (baseflow factor), ESCO (soil evaporation), GW_DELAY (groundwater delay), GWQMN (return flow threshold), and CH_N2 (channel roughness). Start with these for flow calibration.
4Run and Visualize Results
- Click
Run Auto Calibration. The algorithm runs through all generations. - To stop early, click
Stop autocalibration. To reload previous results, clickLoad latest results.
Results from the final generation are displayed. The left panel shows the best-fit time series (simulated vs. observed). The right panel shows calibration and validation statistics for each run.
Interpreting and Applying Results
- Select any run from the dropdown and click
Plot this runto see its time series. - Click
Apply this runto write that run's parameter values to the SWAT files. - Click
More optionsto see statistical plots across runs and the parameter values used in each run.
Important: Auto-calibration does not automatically change SWAT parameters. You must select a run and click Apply this run to write the calibrated values to your model files.