reservoir_subbasin Subroutine

public subroutine reservoir_subbasin(in1, da, aff, dart, flu, neap, precip, qtl, sbp, sda, smq, smsq, snowVal, sub, subp, sumcn, susb, tx, varoute, wysb, xeo, xpercn, xqi, xsep, xssf, xssfn, xswind, xyno3, xysp, yd, yon, yph)

Uses

  • proc~~reservoir_subbasin~~UsesGraph proc~reservoir_subbasin reservoir_subbasin module~evapotranspiration evapotranspiration proc~reservoir_subbasin->module~evapotranspiration module~groundwater groundwater proc~reservoir_subbasin->module~groundwater module~hydrotope hydrotope proc~reservoir_subbasin->module~hydrotope module~output output proc~reservoir_subbasin->module~output module~snow snow proc~reservoir_subbasin->module~snow module~soil soil proc~reservoir_subbasin->module~soil module~utilities utilities module~evapotranspiration->module~utilities module~groundwater->module~utilities module~hydrotope->module~utilities module~output->module~utilities module~snow->module~utilities module~soil->module~utilities

remove ground water flow from shallow aquifer storage Ground water contribution is added to varoute(8, ) in RSV_Reservoir_processes pd_outflow is the total outflow from the reservoir in [mm] For surface and subsurface (subbasin) output it must be corrected on ground water contribution Otherwise, some water balance output files are accounting double The half is distributed to surface runoff and the other half to subsurface

flu(j) replaced by tot_area / da

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: in1
real(kind=dp), intent(in) :: da
real(kind=dp), intent(out) :: aff
real(kind=dp), intent(in), dimension(:) :: dart
real(kind=dp), intent(in), dimension(:) :: flu
integer, intent(in), dimension(:) :: neap
real(kind=dp), intent(inout) :: precip
real(kind=dp), intent(inout) :: qtl
real(kind=dp), intent(inout), dimension(:) :: sbp
real(kind=dp), intent(inout), dimension(:, :) :: sda
real(kind=dp), intent(inout), dimension(:) :: smq
real(kind=dp), intent(inout), dimension(:) :: smsq
real(kind=dp), intent(out) :: snowVal
real(kind=dp), intent(inout), dimension(30) :: sub
real(kind=dp), intent(in), dimension(:) :: subp
real(kind=dp), intent(in) :: sumcn
real(kind=dp), intent(inout), dimension(:, :) :: susb
real(kind=dp), intent(in), dimension(:) :: tx
real(kind=dp), intent(out), dimension(:, :) :: varoute
real(kind=dp), intent(inout) :: wysb
real(kind=dp), intent(inout) :: xeo
real(kind=dp), intent(inout) :: xpercn
real(kind=dp), intent(out) :: xqi
real(kind=dp), intent(inout) :: xsep
real(kind=dp), intent(inout) :: xssf
real(kind=dp), intent(inout) :: xssfn
real(kind=dp), intent(inout) :: xswind
real(kind=dp), intent(inout) :: xyno3
real(kind=dp), intent(inout) :: xysp
real(kind=dp), intent(inout) :: yd
real(kind=dp), intent(inout) :: yon
real(kind=dp), intent(inout) :: yph

Calls

proc~~reservoir_subbasin~~CallsGraph proc~reservoir_subbasin reservoir_subbasin proc~output_store_hydrotope_value output_store_hydrotope_value proc~reservoir_subbasin->proc~output_store_hydrotope_value proc~output_store_subbasin_value output_store_subbasin_value proc~reservoir_subbasin->proc~output_store_subbasin_value proc~reservoir_get reservoir_get proc~reservoir_subbasin->proc~reservoir_get proc~rsv_pol rsv_pol proc~reservoir_subbasin->proc~rsv_pol

Called by

proc~~reservoir_subbasin~~CalledByGraph proc~reservoir_subbasin reservoir_subbasin proc~time_process_day time_process_day proc~time_process_day->proc~reservoir_subbasin proc~time_process_month time_process_month proc~time_process_month->proc~time_process_day proc~time_process_years time_process_years proc~time_process_years->proc~time_process_month program~swim swim program~swim->proc~time_process_years