After two decades bouncing between HEC-HMS, GR4J, and MODFLOW 6, I’m convinced our bottleneck is epistemic — scale mismatch and equifinality — more than solver sophistication. The only thing that moved my posterior spreads lately was adding IMERG+gauge fusion via a simple Kalman update on a 410 km² basin, not yet another optimizer chasing NSE. What, if anything, in your kit has measurably cut uncertainty at decision time (e.g., a 24–48 h flood window)?
On a 380 km² piedmont basin, the biggest shrink came from kriging gauges into IMERG (KED) and a tiny EnKF where I let a multiplicative P-bias be a state — that ‘bias drift’ finally pulled peaks and tails together. Small caveat: KED helped only after I fit variograms by storm type and flagged dodgy gauges; otherwise it was false confidence. If you want a quick build, PyKrige (PyKrige — PyKrige 1.7.3.dev9 documentation) + xarray was enough.
I totally get where you’re coming from! For me, using a Bayesian framework really changed the game — it’s like trying to feel for the right key in the dark, but once I added prior distributions, things just fell into place. Have you thought about incorporating Bayesian methods in your work?