wallo_transfer.f90 Source File


This file depends on

sourcefile~~wallo_transfer.f90~~EfferentGraph sourcefile~wallo_transfer.f90 wallo_transfer.f90 sourcefile~aquifer_module.f90 aquifer_module.f90 sourcefile~wallo_transfer.f90->sourcefile~aquifer_module.f90 sourcefile~hydrograph_module.f90 hydrograph_module.f90 sourcefile~wallo_transfer.f90->sourcefile~hydrograph_module.f90 sourcefile~reservoir_module.f90 reservoir_module.f90 sourcefile~wallo_transfer.f90->sourcefile~reservoir_module.f90 sourcefile~sd_channel_module.f90 sd_channel_module.f90 sourcefile~wallo_transfer.f90->sourcefile~sd_channel_module.f90 sourcefile~time_module.f90 time_module.f90 sourcefile~wallo_transfer.f90->sourcefile~time_module.f90 sourcefile~water_allocation_module.f90 water_allocation_module.f90 sourcefile~wallo_transfer.f90->sourcefile~water_allocation_module.f90 sourcefile~hydrograph_module.f90->sourcefile~time_module.f90 sourcefile~basin_module.f90 basin_module.f90 sourcefile~hydrograph_module.f90->sourcefile~basin_module.f90 sourcefile~water_allocation_module.f90->sourcefile~hydrograph_module.f90

Source Code

      subroutine wallo_transfer (iwallo, idmd)
      
      use water_allocation_module
      use hydrograph_module
      use sd_channel_module
      use aquifer_module
      use reservoir_module
      use time_module
      
      implicit none 

      integer, intent (in):: iwallo         !water allocation object number
      integer, intent (in) :: idmd          !water demand object number
      integer :: j = 0              !none       |object number of specific type (cha, res, aqu, etc)
      integer :: iob = 0            !none       |object number (ob)

      !! check if water is available from each source - set withdrawal and unmet
      select case (wallo(iwallo)%dmd(idmd)%rcv_ob)
      !! divert flowing water from channel source
      case ("cha")
        j = wallo(iwallo)%dmd(idmd)%rcv_num
        iob = sd_ch(j)%obj_no
        ob(iob)%trans = wallo(iwallo)%dmd(idmd)%hd
            
      !! reservor source
      case ("res") 
        j = wallo(iwallo)%dmd(idmd)%rcv_num
        res(j) = res(j) + wallo(iwallo)%dmd(idmd)%hd
            
      !! aquifer source
      case ("aqu") 
        j = wallo(iwallo)%dmd(idmd)%rcv_num
        aqu_d(j)%stor = aqu_d(j)%stor + (wallo(iwallo)%dmd(idmd)%hd%flo / (10. * aqu_prm(j)%area_ha))  !mm = m3/(10.*ha)
        aqu_d(j)%no3_st = aqu_d(j)%no3_st + wallo(iwallo)%dmd(idmd)%hd%no3
        aqu_d(j)%minp = aqu_d(j)%minp + wallo(iwallo)%dmd(idmd)%hd%solp
            
      end select
 
      return
      end subroutine wallo_transfer