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:
- Has anyone encountered this issue where DDS calibration works and KGE is optimized, but the statistics panel displays NaN values?
- Could this be related to failed internal simulations during some DDS iterations?
- Is there a known SWAT+ Toolbox bug related to statistics aggregation/display?
- Are there recommended ways to debug invalid simulated values during calibration?
Any suggestions would be greatly appreciated.
Thank you very much.