Initialise parameters for first day necessary for subroutine Rsv_subbasin
subroutine reservoir_initial_values
! CALLED BY: reservoir_init_reservoir
integer :: i
real(dp) :: A, SH, ResA_dry, ResA_wet
! rsv_B and Rsv in [m^3]
do i = 1, rsv_nReservoirs
! if reservoir is active from the first day
if (rsv_active(i) ) then
! set dead storage volume to its capacity
! if not, it was already initialised with 0.
rsv_dead_stor_act(i) = rsv_dead_stor_capac(i)
! initialise filling at first day
! Filling of reservoir beginning of month [m^3
! RsvB(k)= Rsv_Day_Cap_Act(k) * Start_Fill (Hagens version)
rsv_B(i) = rsv_Capac_Max(i) * rsv_Start_Fill(i) - rsv_dead_stor_act(i) ! not the same as in Hagens version, because 'Rsv_Day_Cap_Act' not yet initialised
rsv_B(i) = max(0.0_dp, rsv_B(i))
end if
! Filling of reservoir during steps of simulation [m^3]
Rsv(1, i) = rsv_B(i)
!! Initialise parameters for first day
!! necessary for subroutine Rsv_subbasin
Rsv(2, i) = max(Rsv(1, i), 0.0_dp)
SH = 0. ! water level [m.a.s.l.]
SH = RSV_POL(20, rsv_pol_V(i, :), rsv_pol_L(i, :), Rsv(2, i) + rsv_dead_stor_act(i))
A = 0. ! flooded surface area
A = RSV_POL(20, rsv_pol_L(i, :), rsv_pol_A(i, :), SH)
! calculate dry and wet (flooded) reservoir surface area [km^2]
ResA_dry = rsv_pol_A(i, 20) - A
ResA_dry = max(real(1.e-6, dp), ResA_dry)
ResA_wet = A
ResA_wet = max(real(1.e-6, dp), ResA_wet)
! sl 2015-08-18
!pd_seepage(i) = (Rsv(1, i) * rsv_loss_seepage(i))/(ResA_wet*10**6)*1000. ![mm]
rsv_tot_area(i) = ResA_wet * 10 ** 6 + ResA_dry * 10 ** 6
!rsv_tot_area(i) = dart(rsv_ResSubbasins(i))*10**6 ! subbasin area of the reservoir in m^2
pd_seepage(i) = (Rsv(1, i) * rsv_loss_seepage(i)) / rsv_tot_area(i) * 1000. ![mm]
rsv_frac_sr(i) = 0.5
pd_outflow(i) = 0.5 ![mm]
pd_et(i) = 1. ![mm]
end do
end subroutine reservoir_initial_values