End of the story (this continues the previous post). I read one year of data for one HRU from the output.hru in R (), and I applied the water balance equation described in the linked posts. This is basically the following:
t <- 2:12 tt <- t-1 DStorage <- c(NA, SNOFALL[t] - SNOMELT[t] + SW_END[t] - SW_END[tt] + SA_ST[t] - SA_ST[tt] + DA_ST[t] - DA_ST[tt]) Flows <- PRECIP + IRR + GW_RCHG - ET - REVAP - (SURQ - TLOSS) - LATQ - GW_Q - PERC BAL = Flows - DStorage
So, applying the previous equations I got:
As it can be seen, the mass balance error (BAL) is one to two orders of magnitude smaller than the flows or the variation in storage. That’s pretty decent, I think.
Please, note that I only had SWAT2005 output files at hand, so the balance for the snowpack is only approximate (since sublimation is not taken into account) and also QTILE is missing. Also, LATQ_CNT is not reported on SWAT2005, so I used LATQ instead. On SWAT2012 output these terms are correctly outputted in output.hru, so the error should be lower. The absence of the lagged terms surf_bs and bss even in SWAT2012 may still generate a little mass balance error, but I could not test this since I only had SWAT2005 output.
The following plot shows the flows, storage variation and mass balance error as computed from a SWAT2005 output.hru file, for a number of years in one random HRU.