SWAT+ Toolbox DDS Calibration Produces Valid Hydrograph and KGE but Statistics Table Shows NaN Values

4 views
Skip to first unread message

Khybeer

unread,
May 11, 2026, 10:49:08 AM (4 days ago) May 11
to QSWAT+

Hello everyone,

I am working on calibrating a snowmelt-dominated watershed using SWAT+ Toolbox and would appreciate guidance regarding a persistent issue with calibration statistics.

Model setup:

  • SWAT+ Toolbox
  • Monthly streamflow calibration
  • Snow-fed watershed
  • Calibration period: 2008–2014
  • 2-year warm-up
  • Objective function: KGE
  • Calibration algorithm: DDS
  • Sensitivity method previously used: RBD-FAST

Observed data:

  • CSV format
  • Header: Date,Flow
  • Monthly end-of-month dates
  • No missing values
  • Continuous series (84 months)
  • Observation linked to Channel 1 (confirmed outlet)

Sensitivity analysis:
Initially Sobol produced unstable/extreme values (billions), so I switched to RBD-FAST. The sensitivity analysis then stabilized and showed low but distinguishable sensitivities, which appears reasonable for a monthly snowmelt-dominated basin.

Calibration settings:

  • DDS
  • KGE
  • 800 iterations
  • 4 parallel processes
  • Include current parameter values = YES

Current issue:
The calibration itself appears to run correctly:

  • hydrographs are plotted normally,
  • seasonal snowmelt timing is reasonably captured,
  • best KGE reaches approximately 0.687.

However, the statistics table consistently shows:

  • NSE = NaN
  • KGE = NaN
  • RMSE = NaN
  • PBIAS = NaN

even though the hydrograph is plotted and KGE is clearly being optimized internally.

Additional observations:

  • The observed CSV has been checked carefully and contains no missing rows, NaNs, duplicate dates, or formatting issues.
  • Channel linkage has been confirmed.
  • Simulated and observed periods match exactly.
  • The issue persists even after refining parameter ranges and stabilizing the snowmelt parameter combinations.
  • The Toolbox GUI still displays a valid “Best KGE” value while the statistics panel shows NaN.

My questions:

  1. Has anyone encountered this issue where DDS calibration works and KGE is optimized, but the statistics panel displays NaN values?
  2. Could this be related to failed internal simulations during some DDS iterations?
  3. Is there a known SWAT+ Toolbox bug related to statistics aggregation/display?
  4. Are there recommended ways to debug invalid simulated values during calibration?

Any suggestions would be greatly appreciated.

Thank you very much. 

 


11.png
1.png
Reply all
Reply to author
Forward
0 new messages