In a previous post I dug into the SWAT code for determining how was the water balance computed at the HRU level. This is done at the daily level in the code, but values in the output.hru
file are usually given by months. The next question is how to compute a monthly water balance for a given HRU based on the data on output.hru
.
The problem is there is not a perfect correspondence between the variables in the water balance equations and the variables reported in the output.hru
file, making computing a proper water balance difficult. To be sure of this fact I had to read through two other SWAT routines, sumv.f
and hrumon.f
. These are in charge of making summary calculations for the HRUs and writing monthly HRU output to the output.hru
file. I traced all the variables in the daily water balance equation and I found out that some of them are missing, or are not exactly equal. This is, in brief, the correspondence between them:
storages | SWAT 2005 | SWAT 2009 | SWAT 2012 |
---|---|---|---|
sno_hru | missing | SNO_HRU | SNO_HRU |
sol_sw | SW_END | SW_END | SW_END |
shallst | SA_ST | SA_ST | SA_ST |
deepst | DA_ST | DA_ST | DA_ST |
surf_bs | missing | missing | missing |
bss | missing | missing | missing |
flows | SWAT 2005 | SWAT 2009 | SWAT 2012 |
---|---|---|---|
subp | PRECIP | PRECIP | PRECIP |
aird | IRR | IRR | IRR |
rchrg | GW_RCHG | GW_RCHG | GW_RCHG |
twlpnd | missing | missing | missing |
twlwet | missing | missing | missing |
etday | ET | ET | ET |
revapday | REVAP | REVAP | REVAP |
qday | SURQ_CNT-TLOSS | SURQ_CNT-TLOSS | SURQ_CNT-TLOSS |
latq | missing | missing | LATQ_CNT |
gw_q | GW_Q | GW_Q | GW_Q |
qtile | missing | missing | QTILE |
sepbtm | PERC | PERC | PERC |
As it can be seen, the situation depends on which version of SWAT you are using:
- Snowpack storage is missing in SWAT2005, but it’s there since SWAT2009.
- Only SWAT2012 reports on QTILE and LATQ_CNT (I guess that using LATQ_GEN would serve as an approximation to the latter).
- In all cases the surface runoff load to the main channel needs to be computed as
SURQ_CNT-TLOSS
. - Seepage at ponds and wetlands (
twlpnd
andtwlwet
) is missing even in the most recent version, although these are probably not relevant for most users because they are rare contributors to the HRU hydrology. - Surface runoff and lateral flow lagged at the end of the month are not reported. They probably contribute very little to the monthly water balance, but it would be interesting to have them, too.
With this correspondences computing the monthly water balance of any HRU should be an easy task. We shall check it in a later post.
Hi Santiago
I ´ve already tried to find the balance between Flux_in and Flux_out in my watersheds, but it´s really frustrating to talk about balance and not be able to show it. Do you have any example something like a spreadsheet that could show this topic?
Thank you for talking about this, there is very few people concern about the physical meaning of the components and SWAT and I haven´t found the way to present this problem.
I appreciate any piece of advice.
Hi Sergio, and sorry for the late response. I don’t have a spreadsheet, but the R function I posted should work with no issues. Please, let me know if it did work for you.