SWATGenXSWATGenX
Watershed ExplorerExample modelsCloud calibrationDocsAccess
Sign inSign up

Worked examples · real basins

Calibration Examples: Controlled Basins to Regional Fleets

How SWATGenX calibration performs on real gaged watersheds — two compact controlled basins with honest split-sample metrics (one strong, one deliberately weak), and living regional cascade examples from the west-central Florida fleet, where a pooled prior lifts a 58-gauge roster in a single uncalibrated run.

  • 2 controlled basins · split-sample
  • 4-basin regional campaign (west-central FL)
  • Zero-shot prior: median mNSE 0.05 → 0.50
  • Weak results published, not hidden
Scatter plot of pooled-prior versus default (uncalibrated) monthly NSE for the 58-gauge Tampa Bay roster: most well-assigned gauges move above the one-to-one line, several into the satisfactory band, from a single zero-shot simulation.
1

Scope and intent

These are calibration examples. The two controlled basins show how a generated SWAT+ project moves through initialization, calibration, verification, and sensitivity analysis on compact single-gauge watersheds; the regional cascade tier below shows the same platform operating at fleet scale — 57k–77k-HRU basins with rosters of dozens of gauges. None of it is intended to claim national predictive skill.

Each controlled-basin example below includes (1) a compact model identity record, (2) interactive figures sourced from the same exported artifacts used in the publication, and (3) a Morris-ranked parameter subset and split-sample metrics table for quick comparison.

Parameter bounds and transformation rules come from the SWATGenX calibration template documented on /calibration-methods. For each basin below, the calibration run uses a Morris-trimmed subset of those candidate parameters.

The two basins deliberately bracket the range. Florida is a clean rainfall–runoff watershed where the generated model, calibrated against a single daily-plus-monthly NSE objective, reaches strong split-sample skill (daily NSE 0.84 in calibration, 0.73 in independent verification). Illinois is the harder case — snowmelt- and baseflow-driven, where the same single-objective workflow is markedly weaker (daily NSE 0.37 and 0.22) and snow and groundwater parameters dominate the sensitivity ranking. We show both unedited, because an honest example set has to include where an automated calibration does and does not do well.

2

Methods

For each basin the model identity record and simulation/optimizer configuration document how the example was built; the calibration uses a Morris-trimmed subset of the candidate parameter template.

3

Controlled-basin results

Per basin: the Morris sensitivity ranking, the calibration and verification split-sample metrics, and the interactive figure switcher (calibration, verification, and sensitivity outputs).

Florida controlled basin (USGS 02297600)

Calibration station: 02297600 (gage channel 2).

Use the figure controls to compare calibration and verification performance at the same station and to see the Morris screening outcome that selected the calibration subset.

Interactive figures: switch between calibration, verification, and sensitivity outputs. Hydrograph plots include the run-stage metrics on the figure (as in the publication artifacts).

02297600 Calibration global best (daily) streamflow artifact plot

Calibration global best (daily)

  • Calibration: compares the pre-optimization initialization pool and the calibrated global best for the scored calibration window.
  • Verification: shows the independent holdout window results (no overlap with the scored calibration period).
  • Sensitivity: Morris tornado plot used to rank candidate parameters and pick the trimmed calibration subset.
FieldValue
Calibration stationUSGS streamgage 02297600 (NHDPlus HR region 0310)
Scored calibration window2013-01-01 to 2018-12-31
Independent verification window2019-01-01 to 2024-12-31
Simulation & optimizerSimulated 20102018 with a 3-year warm-up; particle-swarm optimization with 36 particles over 70 iterations, 6 run concurrently.

Sensitivity analysis (Morris)

Morris screening runs a fixed evaluation budget and reports μ* (magnitude of the elementary effect) and σ (interaction / nonlinearity signal). The table below lists the top drivers by μ*.

RankParameterμ* (mean effect)σ (interaction)
1surq_lag0.64350.4685
2perco0.2880.4113
3cn3_swf0.14130.1699
4alpha_bf0.09210.0987
5dep_wt0.08820.1565
6spec_yld0.05450.0945
7flo_min0.05190.0774
8dp_es0.050.0282

Sensitive parameters (top 8 by μ*): surq_lag, perco, cn3_swf, alpha_bf, dep_wt, spec_yld, flo_min, dp_es.

Parameters selected for calibration in this example: 8 (the Morris-trimmed subset above). The complete candidate parameter template and bounds are documented on /calibration-methods.

Calibration and verification results

Metrics are reported for daily and monthly time steps (NSE, KGE, and PBIAS). Values below are pulled from the exported run summary tables used in the publication workflow evaluation.

StagePeriodDaily NSEMonthly NSEDaily KGEMonthly KGEPBIAS (%)
Initialization pool best2013–20180.7950.8430.680.71328.127
Calibration global best2013–20180.8370.8970.8160.8869.791
Verification global best2019–20240.7290.7980.7470.8177.48

Illinois controlled basin (USGS 05536265)

Calibration station: 05536265 (gage channel 25).

Use the figure controls to compare calibration and verification performance at the same station and to see the Morris screening outcome that selected the calibration subset.

Interactive figures: switch between calibration, verification, and sensitivity outputs. Hydrograph plots include the run-stage metrics on the figure (as in the publication artifacts).

05536265 Calibration global best (daily) streamflow artifact plot

Calibration global best (daily)

  • Calibration: compares the pre-optimization initialization pool and the calibrated global best for the scored calibration window.
  • Verification: shows the independent holdout window results (no overlap with the scored calibration period).
  • Sensitivity: Morris tornado plot used to rank candidate parameters and pick the trimmed calibration subset.
FieldValue
Calibration stationUSGS streamgage 05536265 (NHDPlus HR region 0712)
Scored calibration window2020-01-01 to 2024-12-31
Independent verification window2012-01-01 to 2015-12-31
Simulation & optimizerSimulated 20182024 with a 2-year warm-up; particle-swarm optimization with 48 particles over 50 iterations, 6 run concurrently.

Sensitivity analysis (Morris)

Morris screening runs a fixed evaluation budget and reports μ* (magnitude of the elementary effect) and σ (interaction / nonlinearity signal). The table below lists the top drivers by μ*.

RankParameterμ* (mean effect)σ (interaction)
1melt_min3.829.8425
2k3.68323.7334
3cn3_swf3.31982.0242
4perco3.15074.9258
5melt_max2.95099.8071
6urban_cn_c2.86812.9149
7mann1.7821.3773
8surq_lag1.77152.685

Sensitive parameters (top 8 by μ*): melt_min, k, cn3_swf, perco, melt_max, urban_cn_c, mann, surq_lag.

Parameters selected for calibration in this example: 8 (the Morris-trimmed subset above). The complete candidate parameter template and bounds are documented on /calibration-methods.

Calibration and verification results

Metrics are reported for daily and monthly time steps (NSE, KGE, and PBIAS). Values below are pulled from the exported run summary tables used in the publication workflow evaluation.

StagePeriodDaily NSEMonthly NSEDaily KGEMonthly KGEPBIAS (%)
Initialization pool best2020–20240.2020.4050.6050.612.856
Calibration global best2020–20240.3710.60.5480.792-7.201
Verification global best2012–20150.2230.4160.4420.659-21.581
4

Regional cascade examples (west-central Florida)

The controlled basins above are single-gauge problems. The west-central Florida fleet — Tampa Bay, Peace, Hillsborough, and Myakka, four platform-generated coupled SWAT+/MODFLOW 6 basin models — is where the calibration methodology scales up: 29k–77k-HRU models, rosters of dozens of USGS gauges, regionalized parameters, and the information-cascade workflow (pooled priors → zero-shot seeding → bounded terminal MMPSO) documented on /calibration-methods. These are living examples: the campaign is running now, and this section is updated as stages complete. The fleet’s home is the Florida nonpoint-source living page, with interactive 3D viewers for each basin (Tampa Bay, Peace, Hillsborough, Myakka).

Tampa Bay: what a pooled regional prior does zero-shot

A parameter distribution pooled from previously calibrated Peace-area models was applied to the 77.6k-HRU Tampa Bay catalog model — a different basin, a different estuary — in one simulation, with no optimizer and no tuning. The scatter compares each gauge’s monthly NSE under the default (uncalibrated) parameters against the pooled prior, over the 2016–2024 scored window.

Pooled-prior versus default monthly NSE scatter for 58 Tampa Bay gauges, split into well-assigned gauges (DA ratio 0.7–1.4) and assignment artifacts; the satisfactory band above NSE 0.5 is shaded.

Default (uncalibrated) vs pooled-prior monthly NSE per gauge, clipped at −1 for display. Blue points are well-assigned gauges (drainage-area ratio 0.7–1.4); grey squares are assignment artifacts excluded from the honest subset. Shaded band = Moriasi Satisfactory and better. Source artifact: tampa_catalog_pooled_vs_default.png/.csv in the calibration-campaign research log.

Gauge setSatisfactory+Good+Very goodMedian monthly NSE
All 58 evaluated gauges19 → 259 → 174 → 11−0.11 → +0.26
Correctly-assigned subset (n=32, DA ratio 0.7–1.4)11 → 167 → 124 → 80.05 → 0.50

All values are default (uncalibrated) → pooled prior, from one 10-year simulation scored with the same evaluation pipeline as the baseline (2016–2024 window, monthly Moriasi ratings). The honest trade-off: a few small urban canals that the default happened to fit went down under the regional prior — it trades a handful of idiosyncratic gauges for large basin-wide gains. The terminal calibration stage that follows the Peace playbook has since completed on this model — its per-gauge results are below.

Peace River: the first production regionalized MMPSO calibration

Complete

The Peace River model is the fleet’s calibration flagship and the demonstration target of the information-cascade methodology (manuscript in preparation). Terminal calibration stage COMPLETE — regional MMPSO, converged at iteration 8. The terminal step — a regionalized MMPSO over only the sensitive parameters, seeded from the pooled prior — closes the cascade: prior (a pooled distribution that transfers zero-shot) → diagnosis (which parameters to move, and a calibratability screen) → a short, seeded, regional terminal search that satisfices the fixed criteria on the reaches that carry the basin.

FieldValue
Target model57,998-HRU Peace River basin model (HUC8 03100101, NHDPlus HR region 0310)
Gauge roster38 evaluated → 11 structural exclusions (drainage-area mismatch, lake-outlet orphaning, regulated canals); the terminal objective couples the retained gauges as per-gauge sub-objectives — 21 returned computable NSE over the scored window
Regionalizationcn3_swf, perco, esco, epco expanded over 9 tributary regions — 73 optimizer dimensions (insensitive + basin-uniform parameters stay global)
OptimizerMMPSO with per-gauge sub-objectives (by-gauge grouping); pooled-prior vector injected as a protected initial particle
Objective hardeningPer-gauge NSE floor at −1 inside the optimizer sum (reported metrics unclipped) — pathological reaches are protected in-objective and reported honestly, not hand-excluded
ConvergenceGlobal best reached at iteration 8 and held byte-identical through iteration 23 (spot instance reclaimed) — 15 iterations of zero improvement; ~100 model evaluations at 12 particles

The search converged fast: the global-best objective (−19.25 in penalized units) was reached at iteration 8 and held unchanged for the remaining 15 iterations until the AWS spot instance was reclaimed — convergence, not a truncated run. A good pooled prior plus a fixed search space places the satisficing target within ~8 iterations, at roughly 100 model evaluations against the several hundred a from-scratch campaign would spend.

Per-gauge skill (2016–2022 calibration window (daily and monthly Moriasi NSE))

GaugeDaily NSEMonthly NSEGroup
4270.790.88Mainstem / Charlie core
4220.780.86Mainstem / Charlie core
4390.780.87Mainstem / Charlie core
3320.770.92Mainstem / Charlie core
3990.770.86Mainstem / Charlie core
27180.680.77Mainstem / Charlie core
2690.640.91Mainstem / Charlie core
4510.630.76Mainstem / Charlie core
2200.390.80Interior tributary
6500.240.47Interior tributary
9680.190.12Lower-basin (floor-protected)
6030.12−0.27Lower-basin, regulated (floor-protected)
933−0.27−0.49Tidal reach (floor-protected)
947−2.360.53Tidal — daily degenerate, monthly recovers (floor-protected)

The mainstem and Charlie Creek core — the reaches that integrate the basin’s water balance — is Good to Very Good (monthly NSE 0.86–0.92, daily 0.63–0.79). Four lower-basin and tidal gauges remain weak: the per-gauge floor is why they neither dominated the search nor were quietly dropped. Their failures are hydrologic-signal and regulation artifacts of the coastal setting (e.g. gauge 947, whose daily NSE is degenerate under tidal aliasing yet whose monthly NSE recovers to 0.53), not parametric deficits the free set could repair. They are reported at face value rather than excluded post hoc to inflate a count.

Regionalization is visible in the solution: percolation (perco) ranges from 1.98 in Horse Creek to 2.83 in Shell Creek across tributary groups (Prairie 2.79, Charlie 2.70, Peace mainstem 2.52, other 2.63) — spatially-varying calibrated parameters a single global scalar could not produce, reconciling the opposite per-tributary biases.

Per-gauge NSE above are from the best-so-far synchronized forward-run snapshot (the readable, directly-interpretable units); the assembled global-best solution is marginally better but stored in penalized units. Why the objective is floored: an earlier attempt collapsed because one pathological near-zero-flow gauge dominated a naive summed-NSE objective — the honest finding that produced the per-gauge floor and the roster discipline documented on /calibration-methods. Cost context: this class of run — a full regional calibration of a 57k-HRU model — has a measured compute cost of about $14 on AWS (see the AWS calibration page).

Cross-basin replication: the same cascade on Tampa Bay and Myakka

The cascade is designed to be basin-agnostic, so the demonstration should not rest on one basin. We ran the identical workflow — pooled prior → optimizer-free diagnosis → a short, seeded, regional terminal MMPSO — to completion on two more fleet models. Both converged from the same pooled-prior seed, giving a three-basin demonstration rather than a single case.

Tampa Bay (77.6k HRUs): terminal calibration

Complete

The zero-shot pooled prior above lifted the 58-gauge roster in one simulation; the terminal step then refines it. Terminal calibration stage COMPLETE — regional MMPSO, converged at iteration 6. This is the cross-basin case: the pooled prior carried no Tampa Bay information, yet a six-iteration regional search on a 77.6k-HRU model recovers Satisfactory-to-Very-Good skill on the reaches that carry the basin.

FieldValue
Target model77,636-HRU Tampa Bay integrated model (70 HUC12s, HUC12-outlet 031002060700, region 0310) — a separate drainage feeding a nitrogen-limited estuary
Gauge roster32 gauges retained after coverage + drainage-area vetting; 27 returned computable NSE over the scored window
Regionalizationrunoff-controlling parameters (cn3_swf, perco, esco, epco) distributed by tributary sub-watershed; snow / storage / channel / baseflow stay global
OptimizerMMPSO with per-gauge NSE sub-objectives (floor −1); pooled-prior vector (built entirely from the Peace-area pool, no Tampa Bay information) injected as a protected initial particle
ConvergenceGlobal best (−15.48 in penalized units) reached at iteration 6 and held byte-identical through the final synchronized iteration — a converged plateau, not a truncated run

Per-gauge skill (2016–2022 calibration window (daily and monthly Moriasi NSE))

GaugeDaily NSEMonthly NSEGroup
8170.700.85Well-gauged core
11060.610.74Well-gauged core
8370.600.68Well-gauged core
16710.550.62Well-gauged core
19790.540.85Well-gauged core
21840.530.66Well-gauged core
8440.520.64Well-gauged core
18680.420.82Interior (strong monthly)
10130.420.80Interior (strong monthly)
14950.350.82Interior (strong monthly)
1265−0.19−0.78Small urban canal (floor-protected)
1689−0.28−0.71Small urban canal (floor-protected)
1267−0.29−0.42Small urban canal (floor-protected)

The well-gauged core is Satisfactory-to-Very-Good on the reaches that carry the basin (core daily NSE 0.52–0.70, monthly 0.62–0.85, with several interior gauges reaching monthly NSE 0.80–0.85). A cluster of seven small urban canals stays weak — their monthly PBIAS pins at roughly −100% (near-zero measured baseflow the coarse 500 m routing cannot reproduce) — and the per-gauge floor is why they neither dominated the search nor were quietly dropped. The same cascade, the same honesty rail: seeded from the pooled prior, converged in six iterations on a 77.6k-HRU model, weak tail reported at face value.

Myakka River (29k HRUs): terminal calibration

Complete

Terminal calibration stage COMPLETE — regional MMPSO, converged at iteration 5. Myakka ran against the coverage-vetted 11-gauge roster — the corrected roster after a −99 sentinel value was found and scrubbed, the same roster-discipline point documented on /calibration-methods.

FieldValue
Target model29,071-HRU Myakka River model (HUC8 03100102, region 0310) — a flat wet-prairie / flatwoods basin draining to phosphorus-driven Charlotte Harbor
Gauge roster11-gauge coverage-vetted roster — the corrected roster after a −99 sentinel value was discovered and scrubbed; 10 returned computable NSE
Regionalizationrunoff-controlling parameters distributed by tributary sub-watershed, insensitive + basin-uniform parameters global (same dispatch as Peace / Tampa Bay)
OptimizerMMPSO with per-gauge NSE sub-objectives (floor −1); pooled-prior vector injected as a protected initial particle
ConvergenceGlobal best (−7.03 in penalized units) reached at iteration 5 and held byte-identical through the final synchronized iteration

Per-gauge skill (2016–2022 calibration window (daily and monthly Moriasi NSE))

GaugeDaily NSEMonthly NSEGroup
35920.400.56Mainstem core
1480.330.64Mainstem core
1910.310.65Mainstem core
2970.210.64Interior tributary
6760.250.51Interior tributary
4900.250.42Interior tributary
2200.230.31Interior tributary
5060.180.46Interior tributary
9500.170.21Flatwoods / low-yield
4330.090.19Flatwoods / low-yield

Myakka is the flattest, most diffuse basin in the fleet, and its daily skill is inherently lower — but the whole coverage-vetted roster stays positive at both time scales. The core mainstem/wet-prairie gauges reach monthly NSE 0.56–0.65 (gauges 3592, 148, 191, 297), with daily NSE a modest 0.17–0.40 reflecting the flatwoods hydrology. No pathological floored tail: a fully-positive but honestly modest result from the same pooled-prior seed and the same short terminal search.

Across three basins — Peace (57,998 HRUs), Tampa Bay (77,636), and Myakka (29,071) — the same three-step cascade converged from the same pooled-prior seed in five to eight iterations, each time recovering defensible skill on the core gauges while retaining any weak reaches honestly under the per-gauge floor. That the workflow holds across a phosphorus-driven mining basin, a nitrogen-limited estuary drainage, and a flat wet-prairie river is the point: the method is basin-agnostic, now with three basins of evidence.

5

Notes

Notes

  • Controlled-basin calibration objective: minimize the negative sum of daily NSE and monthly NSE at the gaged channel. Fleet-scale runs extend the same objective across the whole gauge roster with a per-gauge NSE floor (see calibration methods).
  • Verification uses an independent window with no overlap with the scored calibration period (split-sample).
  • The regional cascade tier reports platform-generated models finished by expert workflow steps; every number on this page cites its exported artifact, and in-progress stages are labeled as such.
  • If you order a calibration run on your own model, the UI will show runtime/cost estimates before execution.