wallo_withdraw Subroutine

subroutine wallo_withdraw(iwallo, itrn, isrc)

Uses

  • proc~~wallo_withdraw~~UsesGraph proc~wallo_withdraw wallo_withdraw module~aquifer_module aquifer_module proc~wallo_withdraw->module~aquifer_module module~basin_module basin_module proc~wallo_withdraw->module~basin_module module~hydrograph_module hydrograph_module proc~wallo_withdraw->module~hydrograph_module module~recall_module recall_module proc~wallo_withdraw->module~recall_module module~reservoir_module reservoir_module proc~wallo_withdraw->module~reservoir_module module~time_module time_module proc~wallo_withdraw->module~time_module module~water_allocation_module water_allocation_module proc~wallo_withdraw->module~water_allocation_module module~hydrograph_module->module~basin_module module~hydrograph_module->module~time_module

check if water is available from each source - set withdrawal and unmet outside the basin source compute flow from source object using recall object if the transfer demand > outside source use all the outside source only take what is needed - the transfer demand for other transfer types (ave_day, dtbls), only take the transfer amount - for out of basin reservoirs/storages if the transfer demand > outside source use all the outside source only take what is needed - the transfer demand water treatment plant source water use source (effluent) water tower storage check if there is enough storage and compute outflow divert flowing water from channel source amount that can be diverted without falling below low flow limit don't divert when flow is below the minimum - cha_min only divert what is available - flow above the minimum - cha_div canal source check if withdrawal takes storage below the minimum reservoir source check if withdrawal takes storage below the minimum aquifer source only have flow, no3, and minp(solp) for aquifer unlimited source add source withdrawal hyd to get total withdrawal hyd for the demand object subtract withdrawal from unmet

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: iwallo
integer, intent(in) :: itrn
integer, intent(in) :: isrc

Calls

proc~~wallo_withdraw~~CallsGraph proc~wallo_withdraw wallo_withdraw gwflow_pump_allo gwflow_pump_allo proc~wallo_withdraw->gwflow_pump_allo