wallo_control Subroutine

subroutine wallo_control(iwallo)

Uses

transfer water from sources to receiving objects for transfer object zero demand, withdrawal, and unmet for each source set demand for each transfer object - wallod_out(iwallo)%trn(itrn)%trn_flo initialize unmet to total demand and subtract as water is withdrawn zero demand, withdrawal, and unmet for each source compute demand for each source object if demand - check source availability and withdraw water check if water is available from each source - set withdrawal and unmet - wallo(iwallo)%trn(itrn)%src(isrc)%hd loop through sources again to check if compensation is allowed compute total withdrawal for receiving object from all sources transfer water (pipes) to receiving object from all sources add water withdrawn from source to the receiving object - wal_omd(iwallo)%trn(itrn)%h_tot irrigation transfer - set amount applied and runoff irrigate if amount withdrawn is > 0 --> or > irrig(j)%demand add irrigation water n and p to the soil when routing the soluble n and p divert flowing water from channel source reservoir transfer - maintain reservoir levels at a specified level or required transfer aquifer transfer - maintain aquifer levels at a specified level or required transfer calculate water table depth

wastewater treatment compute outflow and concentrations water use (domestic, industrial, commercial) compute outflow and concentrations water tower storage - don't change concentrations or compute outflow canal storage - compute outflow - change concentrations? compute losses - evap and seepage, and outflow outside receiving object sum organics sum constituents

sum demand, withdrawal, and unmet for entire allocation object

Arguments

Type IntentOptional Attributes Name
integer, intent(inout) :: iwallo

Calls

proc~~wallo_control~~CallsGraph proc~wallo_control wallo_control cs_irrig cs_irrig proc~wallo_control->cs_irrig res_control res_control proc~wallo_control->res_control salt_irrig salt_irrig proc~wallo_control->salt_irrig wallo_canal wallo_canal proc~wallo_control->wallo_canal wallo_demand wallo_demand proc~wallo_control->wallo_demand wallo_transfer wallo_transfer proc~wallo_control->wallo_transfer wallo_treatment wallo_treatment proc~wallo_control->wallo_treatment wallo_use wallo_use proc~wallo_control->wallo_use wallo_withdraw wallo_withdraw proc~wallo_control->wallo_withdraw