Water allocation tables are very specific to the watershed and new feature in SWAT+. We recommend working with the model development team if you are unsure. Because this is a new addition, the interface is still limited if you're trying to build a large table with many source and demand objects.
Demand. Demand can be irrigation demand from an hru, municipal demand, or demand to transfer to another source object (channel, reservoir, aquifer). For irrigation demand, the hru number, decision table for triggering irrigation, and irrigation depth (mm) are input. For municipal demand, a muni number is input. The user then has the option to input an average daily demand or a recall name that can be daily, monthly, or annual. For transfer demand, the trans number is input and the user can input an average daily demand or a decision table to specify demand.
Treatment. Treatment is designed for municipal treatment plants or industrial plants that treat or change the water chemistry. There are 2 options – 1) recall where you can specify the amount of return flow and 2) delivery where you can specify the change in flow and chemistry.
Receiving. This can be used to return the treated municipal water (point sources) or to transfer (divert) water to other objects. The simple option is the input the return object and number. Or a decision table can be input to condition the diversions to multiple objects. Inputting “lost” assumes the water is diverted out of the basin.
Source Allocation. The sources are listed in order of selection and the fraction from each source is input. The other input is compensation – if other sources are not available, the current source may be allowed to compensate for the demand. The model goes through all sources in the order listed and allocates based on the fractions. The model loops through the sources again, checking to see if compensation is allowed
Field
Description
Type
name
name of the water allocation object
string
rule_typ
rule type to allocate water
string
src_obs
number of source objects
integer
dmd_obs
number of demand objects
integer
cha_ob
channel object (enter y=yes there is a channel object; enter n=no channel object (only one per water allocation object)
string
Field
Description
Type
num
demand object number
integer
ob_typ
object type (channel=cha; reservoir=res; aquifer=aqu; unlimited source=unl)
string
ob_num
number of the object type
integer
limit_mon
minimum monthly values for object type:
channel flow (m3/s)
minimum reservoir level (fraction principal);
maximum aquifer depth (m);
real
Field
Description
Type
num
demand object number
integer
ob_typ
hru (for irrigation) or muni (muncipal) or divert (interbasin diversion)
string
ob_num
number of the object type
integer
withdr
withdrawal type - average day or recall for muni and divert; irrigation for HRU
string
amount
m3 per day for muni and mm for HRU
real
right
water right (sr=senior; jr=junior)
string
treat_typ
recall for inputting a recall object and treat for a treatment object
string
treatment
pointer to the recall or delivery ratio file
string
rcv_ob
receiving object (channel, reservoir, aquifer) - no decision table, all return to this object
string
rcv_num
receiving object number
integer
rcv_dtl
receiving object decision table - to condition water transfers and diversions
string
dmd_src_obs
number of source objects available for the demand object
integer