Non-deterministic NaN in wetland HRUs when filter strips are active (SWAT+ latest2025.12.12.exe)

17 views
Skip to first unread message

­김용걸 / 학생 / 조경·지역시스템공학부

unread,
Jul 31, 2026, 3:22:52 PMJul 31
to SWAT+ Toolbox
I am running SWAT+ on an agricultural watershed in Korea (11,110 HRUs, 289 LSUs, 146 channels) and I am getting different results from the same inputs. With filter strips (filterstrip.str) applied to upland cropland HRUs, re-running the same unmodified input folder produces a NaN collapse in some runs and a clean completion in others — 3 out of 5 repetitions in each of two separate filter strip configurations, so roughly 60% overall. When a run does collapse, the signature is always identical: 171 of 289 LSUs affected, and the first NaN always appears on the same simulation day. The baseline run without filter strips has never collapsed.

The NaN is tightly localized. All 644 wetland HRUs (wetl_comm 375 + wetw_comm 269) are affected — 100% of both land covers — while the other 10,466 HRUs are clean, including 1,271 paddy HRUs that also carry surf_stor objects. Within hru_wb, only 7 of 51 columns go NaN (wet_stor, surq_gen, lagsurf, surq_cont, surq_cha, surq_ls, wateryld), plus the three sediment-attached nutrients in hru_ls (sedorgn, sedorgp, sedminp). Meanwhile pet, et, cn, sw_*, perc, latq, sedyld, usle, surqsolp and surqno3 all stay valid. The NaN then propagates through channel routing: flo_in becomes NaN in 131 of 146 channels and total outflow drops to about 1% of normal, while the model still exits with code 0 and writes complete output files.

My questions: (1) Is SWAT+ expected to be bit-reproducible for identical inputs, and is the released Windows executable multithreaded? (2) Has anyone seen the wetland water balance diverge when filter strips are active? (3) Is there a known issue in the wetland storage routine that could produce a division by zero at low storage?
Reply all
Reply to author
Forward
0 new messages