wallo_control Subroutine

subroutine wallo_control(iwallo)

Uses

  • proc~~wallo_control~~UsesGraph proc~wallo_control wallo_control module~basin_module basin_module proc~wallo_control->module~basin_module module~constituent_mass_module constituent_mass_module proc~wallo_control->module~constituent_mass_module module~hru_module hru_module proc~wallo_control->module~hru_module module~hydrograph_module hydrograph_module proc~wallo_control->module~hydrograph_module module~organic_mineral_mass_module organic_mineral_mass_module proc~wallo_control->module~organic_mineral_mass_module module~plant_module plant_module proc~wallo_control->module~plant_module module~soil_module soil_module proc~wallo_control->module~soil_module module~time_module time_module proc~wallo_control->module~time_module module~water_allocation_module water_allocation_module proc~wallo_control->module~water_allocation_module module~hydrograph_module->module~basin_module module~hydrograph_module->module~time_module module~carbon_module carbon_module module~organic_mineral_mass_module->module~carbon_module module~soil_module->module~carbon_module

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

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 recall_nut recall_nut proc~wallo_control->recall_nut salt_irrig salt_irrig proc~wallo_control->salt_irrig 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