Nodes of different colours represent the following:
Solid arrows point from a submodule to the (sub)module which it is
descended from. Dashed arrows point from a module or program unit to
modules which it uses.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
zero total transfer and treatment and use outflows
loop through each demand object
zero demand, withdrawal, and unmet for each source
compute flow from outside sources
use decision table for outflow
use recall for outflow
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
send runoff to canal?
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
sum organics
sum constituents
sum demand, withdrawal, and unmet for entire allocation object
Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.