The ProblemDDS calibration in SWAT+ Toolbox appears to run successfully:
- hydrographs are generated correctly,
- observed and simulated flows are plotted,
- KGE optimization progresses normally,
- best KGE reaches approximately 0.687.
However, the calibration statistics table consistently displays:
- NSE = NaN
- KGE = NaN
- RMSE = NaN
- PBIAS = NaN
despite the hydrograph plotting correctly and KGE clearly being optimized internally.
The issue persists after:
- verifying the observed CSV formatting,
- confirming the outlet channel,
- refining parameter ranges,
- and stabilizing snowmelt parameter combinations.
Observed data checks:
- Header format: Date,Flow
- Monthly end-of-month dates
- No missing values
- No duplicate records
- Continuous monthly series (84 records)
- Perfect overlap with simulation period
Current calibration settings:
- DDS algorithm
- KGE objective function
- 800 iterations
- 4 parallel processes
- Include current parameter values = YES
Current calibration parameters:
- cn2
- alpha
- lat_ttime
- revap_min
- chk
- snomelt_max
- snomelt_min
- snomelt_lag
- snomelt_tmp
Steps to Reproduce- Prepare monthly observed streamflow CSV using end-of-month dates.
- Run SWAT+ Toolbox calibration using DDS and KGE.
- Calibration progresses normally and hydrograph is displayed.
- Best KGE value updates during optimization.
- Final statistics panel displays NaN for NSE, KGE, RMSE, and PBIAS.