Functions/Subroutines | |
subroutine | initiate_waterbalance_output (n) |
subroutine | zero_waterbalance_flows () |
subroutine | zero_recharge_waterbalance () |
subroutine | set_irrigation_waterbalance_local (i, n, irrigationflows, irrevap) |
subroutine | set_waterbalance_regional_flows (m, n, horizontalflows2, regionalirrflows) |
subroutine | set_landclass_waterbalance_flows (i, snowfall, infiltrationflows, evapflows, verticalflows, horizontalflows, irrappl, aadj, oldsnowpart) |
subroutine | set_runoff_waterbalance_flows (i, j, recievinglayer, infiltrationflows, runofflows, a) |
subroutine | set_mainriver_floodplain_runoff_waterbalance_flows (i, infiltrationflows, evapflows, runofflows, floodplainflows, aadj) |
subroutine | set_olake_floodplain_runoff_waterbalance_flows (i, infiltrationflows, evapflows, runofflows, floodplainflows, aadj) |
subroutine | set_glacier_waterbalance_flows (i, glacvol, glacierflows, infiltrationflows, evapflows, a, oldsnowpart) |
subroutine | recalculate_waterbalance_flows_unit (i, area) |
subroutine | recalculate_glacier_waterbalance_flows_unit (i, area) |
subroutine | recalculate_floodplain_waterbalance_flows_unit (i, area) |
subroutine | prepare_waterbalance_files (dir, n, na, subid) |
subroutine | print_waterbalance_timestep (n, na, date) |
subroutine | print_initial_waterbalance_stores (n, na) |
subroutine | close_waterbalance_files (na) |
Variables | |
Water balance flow variable indices | |
integer, parameter | w_sfallsnow = 1 |
integer, parameter | w_smeltsl1 = 2 |
integer, parameter | w_smeltsr = 3 |
integer, parameter | w_smeltmp1 = 4 |
integer, parameter | w_smeltmp2 = 5 |
integer, parameter | w_smeltmp3 = 6 |
integer, parameter | w_stoice = 7 |
integer, parameter | w_precglac = 8 |
integer, parameter | w_gmeltsl1 = 9 |
integer, parameter | w_gmeltsr = 10 |
integer, parameter | w_gmeltmp1 = 11 |
integer, parameter | w_gmeltmp2 = 12 |
integer, parameter | w_gmeltmp3 = 13 |
integer, parameter | w_infrain = 14 |
integer, parameter | w_rainsr = 55 |
integer, parameter | w_rainmp1 = 15 |
integer, parameter | w_rainmp2 = 16 |
integer, parameter | w_rainmp3 = 17 |
integer, parameter | w_evap1 = 18 |
integer, parameter | w_evap2 = 19 |
integer, parameter | w_surfrf = 20 |
integer, parameter | w_tile1 = 21 |
integer, parameter | w_tile2 = 22 |
integer, parameter | w_tile3 = 23 |
integer, parameter | w_gwrunf1 = 24 |
integer, parameter | w_gwrunf2 = 25 |
integer, parameter | w_gwrunf3 = 26 |
integer, parameter | w_perc1 = 27 |
integer, parameter | w_perc2 = 28 |
integer, parameter | w_upwell1 = 29 |
integer, parameter | w_upwell2 = 30 |
integer, parameter | w_rural1 = 31 |
integer, parameter | w_rural2 = 32 |
integer, parameter | w_rural3 = 33 |
integer, parameter | w_rgrwto1 = 34 |
integer, parameter | w_rgrwto2 = 35 |
integer, parameter | w_rgrwto3 = 36 |
integer, parameter | w_piriver = 37 |
integer, parameter | w_pilake = 38 |
integer, parameter | w_pmriver = 39 |
integer, parameter | w_polake = 40 |
integer, parameter | w_eiriver = 41 |
integer, parameter | w_eilake = 42 |
integer, parameter | w_emriver = 43 |
integer, parameter | w_eolake = 44 |
integer, parameter | w_irtoil = 45 |
integer, parameter | w_irtomr = 46 |
integer, parameter | w_iltomr = 47 |
integer, parameter | w_mrtool = 48 |
integer, parameter | w_oltomb = 49 |
integer, parameter | w_oltob = 50 |
integer, parameter | w_rural4 = 51 |
integer, parameter | w_pstomr = 52 |
integer, parameter | w_abstmr = 53 |
integer, parameter | w_abstol = 54 |
integer, parameter | w_abstaq = 87 |
integer, parameter | w_rgrwtool = 56 |
integer, parameter | w_rgrwof1 = 57 |
integer, parameter | w_rgrwof2 = 58 |
integer, parameter | w_rgrwof3 = 59 |
integer, parameter | w_rgrwtoos = 60 |
integer, parameter | w_rgrwfromos = 100 |
integer, parameter | w_rgrwofmr = 61 |
integer, parameter | w_rgrwtomr = 62 |
integer, parameter | w_evap3 = 63 |
integer, parameter | w_evap4 = 64 |
integer, parameter | w_wtrtomr = 65 |
integer, parameter | w_wtrofol = 66 |
integer, parameter | w_oltombol = 67 |
integer, parameter | w_oltobol = 68 |
integer, parameter | w_mrtoow = 69 |
integer, parameter | w_owtomb = 70 |
integer, parameter | w_owtob = 71 |
integer, parameter | w_iwtoir = 72 |
integer, parameter | w_rainsrtoiw = 73 |
integer, parameter | w_smeltsrtoiw = 74 |
integer, parameter | w_gmeltsrtoiw = 75 |
integer, parameter | w_surfrftoiw = 76 |
integer, parameter | w_tile1toiw = 77 |
integer, parameter | w_tile2toiw = 78 |
integer, parameter | w_tile3toiw = 79 |
integer, parameter | w_gwrunf1toiw = 80 |
integer, parameter | w_gwrunf2toiw = 81 |
integer, parameter | w_gwrunf3toiw = 82 |
integer, parameter | w_preciwet = 83 |
integer, parameter | w_precowet = 84 |
integer, parameter | w_evapiwet = 85 |
integer, parameter | w_evapowet = 86 |
integer, parameter | w_rechameltr1 = 88 |
integer, parameter | w_rechameltr2 = 89 |
integer, parameter | w_rechameltr3 = 90 |
integer, parameter | w_recharainr1 = 91 |
integer, parameter | w_recharainr2 = 92 |
integer, parameter | w_recharainr3 = 93 |
integer, parameter | w_recharf1r2 = 94 |
integer, parameter | w_recharf1r3 = 95 |
integer, parameter | w_recharf2r1 = 96 |
integer, parameter | w_recharf2r3 = 97 |
integer, parameter | w_recharf3r1 = 98 |
integer, parameter | w_recharf3r2 = 99 |
integer, parameter, private | num_wbflows = 100 |
Water balance store variable indices | |
integer, parameter | w_snow = 1 |
integer, parameter | w_glacier = 2 |
integer, parameter | w_soil1 = 3 |
integer, parameter | w_soil2 = 4 |
integer, parameter | w_soil3 = 5 |
integer, parameter | w_iwet = 6 |
integer, parameter | w_iriver = 7 |
integer, parameter | w_ilake = 8 |
integer, parameter | w_mriver = 9 |
integer, parameter | w_olake = 10 |
integer, parameter | w_owet = 11 |
integer, parameter | w_irrcanal = 12 |
integer, parameter | w_aquifer = 13 |
integer, parameter | w_riverplain = 14 |
integer, parameter | w_lakeplain = 15 |
integer, parameter | w_wtcanal = 16 |
integer, parameter, private | num_wbstores = 16 |
Water balance selected subbasin flow variable indices (irrigation) | |
integer, parameter | w_apply1 = 1 |
integer, parameter | w_wdfromil = 2 |
integer, parameter | w_wdfromdg = 3 |
integer, parameter | w_wdfromol = 4 |
integer, parameter | w_wdfrommr = 5 |
integer, parameter | w_evapirrc = 6 |
integer, parameter | w_wdregol = 7 |
integer, parameter | w_wdregmr = 8 |
integer, parameter | w_evapregol = 9 |
integer, parameter | w_evapregmr = 10 |
integer, parameter | w_wdoutside = 11 |
integer, parameter | w_rgrwtoir = 12 |
integer, parameter, private | num_wbirrflows = 12 |
Water balance selected subbasin flow variable indices (floodplain) | |
integer, parameter | w_pmrfp = 1 |
integer, parameter | w_polfp = 2 |
integer, parameter | w_emrfp = 3 |
integer, parameter | w_eolfp = 4 |
integer, parameter | w_infmrfp = 5 |
integer, parameter | w_infolfp = 6 |
integer, parameter | w_smtsrmrfp = 7 |
integer, parameter | w_smtsrolfp = 8 |
integer, parameter | w_rtsrmrfp = 9 |
integer, parameter | w_rtsrolfp = 10 |
integer, parameter | w_srftmrfp = 11 |
integer, parameter | w_srftolfp = 12 |
integer, parameter | w_grf1mrfp = 13 |
integer, parameter | w_grf2mrfp = 14 |
integer, parameter | w_grf3mrfp = 15 |
integer, parameter | w_grf1olfp = 16 |
integer, parameter | w_grf2olfp = 17 |
integer, parameter | w_grf3olfp = 18 |
integer, parameter | w_stomrfp = 19 |
integer, parameter | w_stoolfp = 20 |
integer, parameter | w_fptomr = 21 |
integer, parameter | w_mrtofp = 22 |
integer, parameter | w_fptool = 23 |
integer, parameter | w_oltofp = 24 |
integer, parameter | w_trf1mrfp = 25 |
integer, parameter | w_trf2mrfp = 26 |
integer, parameter | w_trf3mrfp = 27 |
integer, parameter | w_trf1olfp = 28 |
integer, parameter | w_trf2olfp = 29 |
integer, parameter | w_trf3olfp = 30 |
integer, parameter | w_rgrwofmrfp = 31 |
integer, parameter, private | num_wbfpflows = 31 |
Variables for waterbalance output | |
integer, dimension(num_wbstores), private | funit_wbstores |
integer, dimension(num_wbflows), private | funit_wbflows |
integer, dimension(num_wbirrflows), private | funit_wbirrflows |
integer, dimension(num_wbfpflows), private | funit_wbfpflows |
character(len=20), dimension(num_wbstores), private | fname_wbstores = (/ 'WBs_snow.txt ', 'WBs_glacier.txt ','WBs_soillayer1.txt', 'WBs_soillayer2.txt','WBs_soillayer3.txt', 'WBs_iwet.txt ','WBs_lstream.txt ', 'WBs_ilake.txt ','WBs_mriver.txt ', 'WBs_olake.txt ','WBs_owet.txt ', 'WBs_irrcanal.txt ','WBs_aquifer.txt ', 'WBs_riverplain.txt','WBs_lakeplain.txt ', 'WBs_wtcanal.txt '/) |
character(len=50), dimension(num_wbflows), private | fname_wbflows = (/ 'WBf_snowfall__snow.txt ', 'WBf_snowmelt_snow_soillayer1.txt ', 'WBf_snowmelt_surfacerunoff_snow_lstream.txt ', 'WBf_snowmelt_via_macropore_snow_soillayer1.txt ', 'WBf_snowmelt_via_macropore_snow_soillayer2.txt ', 'WBf_snowmelt_via_macropore_snow_soillayer3.txt ', 'WBf_growingice_snow_glacier.txt ', 'WBf_precipitation__glacier.txt ', 'WBf_melt_glacier_soillayer1.txt ', 'WBf_melt_surfacerunoff_glacier_lstream.txt ', 'WBf_melt_via_macropore_glacier_sollayer1.txt ', 'WBf_melt_via_macropore_glacier_sollayer2.txt ', 'WBf_melt_via_macropore_glacier_sollayer3.txt ', 'WBf_rain__soillayer1.txt ', 'WBf_rain_via_macropore__soillayer1.txt ', 'WBf_rain_via_macropore__soillayer2.txt ', 'WBf_rain_via_macropore__soillayer3.txt ', 'WBf_evaporation_soillayer1_.txt ', 'WBf_evaporation_soillayer2_.txt ', 'WBf_satsurfaceflow_soillayer1_lstream.txt ', 'WBf_tilerunoff_soillayer1_lstream.txt ', 'WBf_tilerunoff_soillayer2_lstream.txt ', 'WBf_tilerunoff_soillayer3_lstream.txt ', 'WBf_soilrunoff_soillayer1_lstream.txt ', 'WBf_soilrunoff_soillayer2_lstream.txt ', 'WBf_soilrunoff_soillayer3_lstream.txt ', 'WBf_percolation_soillayer1_soillayer2.txt ', 'WBf_percolation_soillayer2_soillayer3.txt ', 'WBf_upwell_soillayer2_soillayer1.txt ', 'WBf_upwell_soillayer3_soillayer2.txt ', 'WBf_ruralflow__soillayer1.txt ', 'WBf_ruralflow__soillayer2.txt ', 'WBf_ruralflow__soillayer3.txt ', 'WBf_regionalgroundwater_reservoir_soillayer1.txt', 'WBf_regionalgroundwater_reservoir_soillayer2.txt', 'WBf_regionalgroundwater_reservoir_soillayer3.txt', 'WBf_precipitation__lstream.txt ', 'WBf_precipitation__ilake.txt ', 'WBf_precipitation__mriver.txt ', 'WBf_precipitation__olake.txt ', 'WBf_evaporation_lstream_.txt ', 'WBf_evaporation_ilake_.txt ', 'WBf_evaporation_mriver_.txt ', 'WBf_evaporation_olake_.txt ', 'WBf_flow_lstream_ilake.txt ', 'WBf_flow_lstream_mriver.txt ', 'WBf_flow_ilake_mriver.txt ', 'WBf_flow_mriver_olake.txt ', 'WBf_flow_olake_mriver_maindownstream.txt ', 'WBf_flow_olake_mriver_branchdownstream.txt ', 'WBf_ruralflow__lstream.txt ', 'WBf_pointsource__mriver.txt ', 'WBf_abstraction_mriver_.txt ', 'WBf_abstraction_olake_.txt ', 'WBf_rain_surfacerunoff__lstream.txt ', 'WBf_regionalgroundwater_reservoir_olake.txt ', 'WBf_regionalgroundwater_soillayer1_reservoir.txt', 'WBf_regionalgroundwater_soillayer2_reservoir.txt', 'WBf_regionalgroundwater_soillayer3_reservoir.txt', 'WBf_regionalgroundwater_reservoir_.txt ', 'WBf_regionalgroundwater_mriver_reservoir.txt ', 'WBf_regionalgroundwater_reservoir_mriver.txt ', 'WBf_evaporation_snow_.txt ', 'WBf_evaporation_glacier_.txt ', 'WBf_watertransfer_wtcanal_mriver.txt ', 'WBf_watertransfer_olake_wtcanal.txt ', 'WBf_flow_olake_olake_maindownstream.txt ', 'WBf_flow_olake_olake_branchdownstream.txt ', 'WBf_flow_mriver_owet.txt ', 'WBf_flow_owet_mriver_maindownstream.txt ', 'WBf_flow_owet_mriver_branchdownstream.txt ', 'WBf_flow_iwet_lstream.txt ', 'WBf_rain_surfacerunoff__iwet.txt ', 'WBf_snowmelt_surfacerunoff_snow_iwet.txt ', 'WBf_melt_surfacerunoff_glacier_iwet.txt ', 'WBf_satsurfaceflow_soillayer1_iwet.txt ', 'WBf_tilerunoff_soillayer1_iwet.txt ', 'WBf_tilerunoff_soillayer2_iwet.txt ', 'WBf_tilerunoff_soillayer3_iwet.txt ', 'WBf_soilrunoff_soillayer1_iwet.txt ', 'WBf_soilrunoff_soillayer2_iwet.txt ', 'WBf_soilrunoff_soillayer3_iwet.txt ', 'WBf_precipitation__iwet.txt ', 'WBf_precipitation__owet.txt ', 'WBf_evaporation_iwet_.txt ', 'WBf_evaporation_owet_.txt ', 'WBf_abstraction_aquifer_.txt ', 'WBf_rechargearea_flow_snow_soillayer1.txt ', 'WBf_rechargearea_flow_snow_soillayer2.txt ', 'WBf_rechargearea_flow_snow_soillayer3.txt ', 'WBf_rechargearea_flow__soillayer1.txt ', 'WBf_rechargearea_flow__soillayer2.txt ', 'WBf_rechargearea_flow__soillayer3.txt ', 'WBf_rechargearea_flow_soillayer1_soillayer2.txt ', 'WBf_rechargearea_flow_soillayer1_soillayer3.txt ', 'WBf_rechargearea_flow_soillayer2_soillayer1.txt ', 'WBf_rechargearea_flow_soillayer2_soillayer3.txt ', 'WBf_rechargearea_flow_soillayer3_soillayer1.txt ', 'WBf_rechargearea_flow_soillayer3_soillayer2.txt ', 'WBf_regionalgroundwater__reservoir.txt '/) |
character(len=50), dimension(num_wbirrflows), private | fname_wbirrflows = (/ 'WBfs_apply_irrcanal_soillayer1.txt ', 'WBfs_local_withdraw_ilake_irrcanal.txt ', 'WBfs_local_withdraw_deepgrw_irrcanal.txt ', 'WBfs_local_withdraw_olake_irrcanal.txt ', 'WBfs_local_withdraw_mriver_irrcanal.txt ', 'WBfs_evaporation_irrcanal_.txt ', 'WBfs_regsrc_withdraw_olake_irrcanal.txt ', 'WBfs_regsrc_withdraw_mriver_irrcanal.txt ', 'WBfs_regsrc_evaporation_olake_.txt ', 'WBfs_regsrc_evaporation_mriver_.txt ', 'WBfs_unlimited_withdraw__irrcanal.txt ', 'WBfs_regionalgroundwater_reservoir_irrcanal.txt'/) |
character(len=50), dimension(num_wbfpflows), private | fname_wbfpflows = (/ 'WBff_precipitation__mriver_floodplain.txt ', 'WBff_precipitation__olake_floodplain.txt ', 'WBff_evaporation_mriver_floodplain_.txt ', 'WBff_evaporation_olake_floodplain_.txt ', 'WBff_infilt_mriver_floodplain_soillayer1.txt ', 'WBff_infilt_olake_floodplain_soillayer1.txt ', 'WBff_melt_surfrunoff_snow_mriver_floodplain.txt', 'WBff_melt_surfrunoff_snow_olake_floodplain.txt ', 'WBff_rain_surfrunoff_mriver_floodplain.txt ', 'WBff_rain_surfrunoff_olake_floodplain.txt ', 'WBff_satsfflow_soillayer1_mriver_floodplain.txt', 'WBff_satsfflow_soillayer1_olake_floodplain.txt ', 'WBff_soilrunf_soillayer1_mriver_floodplain.txt ', 'WBff_soilrunf_soillayer2_mriver_floodplain.txt ', 'WBff_soilrunf_soillayer3_mriver_floodplain.txt ', 'WBff_soilrunf_soillayer1_olake_floodplain.txt ', 'WBff_soilrunf_soillayer2_olake_floodplain.txt ', 'WBff_soilrunf_soillayer3_olake_floodplain.txt ', 'WBff_flooded_snow_mriver_floodplain.txt ', 'WBff_flooded_snow_olake_floodplain.txt ', 'WBff_flow_mriver_floodplain_mriver.txt ', 'WBff_flow_mriver_mriver_floodplain.txt ', 'WBff_flow_olake_floodplain_olake.txt ', 'WBff_flow_olake_olake_floodplain.txt ', 'WBff_tilerunf_soillayer1_mriver_floodplain.txt ', 'WBff_tilerunf_soillayer2_mriver_floodplain.txt ', 'WBff_tilerunf_soillayer3_mriver_floodplain.txt ', 'WBff_tilerunf_soillayer1_olake_floodplain.txt ', 'WBff_tilerunf_soillayer2_olake_floodplain.txt ', 'WBff_tilerunf_soillayer3_olake_floodplain.txt ', 'WBff_reggroundwater_mr_floodplain_reservoir.txt'/) |
real, dimension(:,:), allocatable, public | wbflows |
real, dimension(:,:), allocatable, public | wbirrflows |
real, dimension(:,:), allocatable, public | wbfpflows |
real, dimension(:,:), allocatable, public | wbstores |
real, dimension(3), private | rechargerf |
integer, private | nwbirrbasin |
integer, private | nwbfpbasin |
integer, dimension(:), allocatable, private | printindex_wbirrflows |
integer, dimension(:), allocatable, private | printindex_wbfpflows |
Handles specific output of waterbalance for HYPE model.
subroutine hype_waterbalance::close_waterbalance_files | ( | integer, intent(in) | na | ) |
Close files of waterbalance flows and stores.
[in] | na | Number of aquifers |
subroutine hype_waterbalance::initiate_waterbalance_output | ( | integer, intent(in) | n | ) |
Allocate variables for water balance calculations.
[in] | n | Number of subbasins |
subroutine hype_waterbalance::prepare_waterbalance_files | ( | character(len=*), intent(in) | dir, |
integer, intent(in) | n, | ||
integer, intent(in) | na, | ||
integer, dimension(n), intent(in) | subid | ||
) |
Open and write heading for files of waterbalance flows and stores Calculate which subbasins need to print irrigation flows and floodplain flows.
[in] | dir | Result file directory |
[in] | n | Number of subbasins |
[in] | na | Number of aquifers |
[in] | subid | subid of subbasins |
subroutine hype_waterbalance::print_initial_waterbalance_stores | ( | integer, intent(in) | n, |
integer, intent(in) | na | ||
) |
Write one timestep of waterbalance stores.
[in] | n | Number of subbasins |
[in] | na | Number of aquifers |
subroutine hype_waterbalance::print_waterbalance_timestep | ( | integer, intent(in) | n, |
integer, intent(in) | na, | ||
type(datetype), intent(in) | date | ||
) |
Write one timestep of waterbalance flows and stores.
[in] | n | Number of subbasins |
[in] | na | Number of aquifers |
[in] | date | Current time in DateType format |
subroutine hype_waterbalance::recalculate_floodplain_waterbalance_flows_unit | ( | integer, intent(in) | i, |
real, intent(in) | area | ||
) |
Recalculate water balance flow for floodplains to cubic meter per timestep. They were accumulated in mm.
[in] | i | index of current subbasin |
[in] | area | area of current subbasin |
subroutine hype_waterbalance::recalculate_glacier_waterbalance_flows_unit | ( | integer, intent(in) | i, |
real, intent(in) | area | ||
) |
Recalculate water balance flow in cubic meter per timestep. They were accumulated in mm.
[in] | i | index of current subbasin |
[in] | area | area of current subbasin |
subroutine hype_waterbalance::recalculate_waterbalance_flows_unit | ( | integer, intent(in) | i, |
real, intent(in) | area | ||
) |
Recalculate water balance flow in cubic meter per timestep. They were accumulated in mm.
[in] | i | index of current subbasin |
[in] | area | area of current subbasin |
subroutine hype_waterbalance::set_glacier_waterbalance_flows | ( | integer, intent(in) | i, |
real, intent(in) | glacvol, | ||
real, dimension(2), intent(in) | glacierflows, | ||
real, dimension(7), intent(in) | infiltrationflows, | ||
real, dimension(4), intent(in) | evapflows, | ||
real, intent(in) | a, | ||
real, intent(in) | oldsnowpart | ||
) |
Set glacier water balance variables for subbasin.
[in] | i | index of current subbasin |
[in] | glacvol | glacier volume |
[in] | glacierflows | glacier flows |
[in] | infiltrationflows | infiltration |
[in] | evapflows | evaporation |
[in] | a | area fraction of class |
[in] | oldsnowpart | area fraction of old snow |
subroutine hype_waterbalance::set_irrigation_waterbalance_local | ( | integer, intent(in) | i, |
integer, intent(in) | n, | ||
real, dimension(7), intent(in) | irrigationflows, | ||
real, dimension(n), intent(in) | irrevap | ||
) |
Set irrigation water balance variables for subbasin.
[in] | i | index of current subbasin |
[in] | n | Number of subbasins |
[in] | irrigationflows | irrigation flows of this subbasin |
[in] | irrevap | regional irrigation evaporation due to irrigation of this subbasin |
subroutine hype_waterbalance::set_landclass_waterbalance_flows | ( | integer, intent(in) | i, |
real, intent(in) | snowfall, | ||
real, dimension(7), intent(in) | infiltrationflows, | ||
real, dimension(4), intent(in) | evapflows, | ||
real, dimension(6), intent(in) | verticalflows, | ||
real, dimension(3), intent(in) | horizontalflows, | ||
real, intent(in) | irrappl, | ||
real, intent(in) | aadj, | ||
real, intent(in) | oldsnowpart | ||
) |
Set land class water balance variables for subbasin, including floodplain parts.
[in] | i | index of current subbasin |
[in] | snowfall | snow fall |
[in] | infiltrationflows | infiltration |
[in] | evapflows | evaporation |
[in] | verticalflows | vertical flows |
[in] | horizontalflows | horizontal flows |
[in] | irrappl | applied irrigation |
[in] | aadj | area fraction of class, floodplain adjusted |
[in] | oldsnowpart | area fraction of old snow |
subroutine hype_waterbalance::set_mainriver_floodplain_runoff_waterbalance_flows | ( | integer, intent(in) | i, |
real, dimension(7), intent(in) | infiltrationflows, | ||
real, dimension(4), intent(in) | evapflows, | ||
real, dimension(7), intent(in) | runofflows, | ||
real, dimension(3), intent(in) | floodplainflows, | ||
real, intent(in) | aadj | ||
) |
Set runoff water balance variables for main river floodplain classes for subbasin.
[in] | i | index of current subbasin |
[in] | infiltrationflows | infiltration |
[in] | evapflows | evaporation |
[in] | runofflows | runoff |
[in] | floodplainflows | floodplain flows |
[in] | aadj | area fraction of class, floodplain adjusted |
subroutine hype_waterbalance::set_olake_floodplain_runoff_waterbalance_flows | ( | integer, intent(in) | i, |
real, dimension(7), intent(in) | infiltrationflows, | ||
real, dimension(4), intent(in) | evapflows, | ||
real, dimension(7), intent(in) | runofflows, | ||
real, dimension(3), intent(in) | floodplainflows, | ||
real, intent(in) | aadj | ||
) |
Set runoff water balance variables for outlet lake floodplain classes for subbasin.
[in] | i | index of current subbasin |
[in] | infiltrationflows | infiltration |
[in] | evapflows | evaporation |
[in] | runofflows | runoff |
[in] | floodplainflows | floodplain flows |
[in] | aadj | area fraction of class, floodplain adjusted |
subroutine hype_waterbalance::set_runoff_waterbalance_flows | ( | integer, intent(in) | i, |
integer, intent(in) | j, | ||
integer, intent(in) | recievinglayer, | ||
real, dimension(7), intent(in) | infiltrationflows, | ||
real, dimension(7), intent(in) | runofflows, | ||
real, intent(in) | a | ||
) |
Set runoff water balance variables for non floodplain land classes for subbasin.
[in] | i | index of current subbasin |
[in] | j | index of current class |
[in] | recievinglayer | index of soil layer recieving the flow (for discharge classes) |
[in] | infiltrationflows | infiltration |
[in] | runofflows | runoff |
[in] | a | area fraction of class |
subroutine hype_waterbalance::set_waterbalance_regional_flows | ( | integer, intent(in) | m, |
integer, intent(in) | n, | ||
real, dimension(m,n), intent(in) | horizontalflows2, | ||
real, dimension(n,4), intent(in) | regionalirrflows | ||
) |
Set regional irrigation and regional groundwater water balance variables for whole model.
[in] | m | Dimension of variable |
[in] | n | Number of subbasins |
[in] | horizontalflows2 | regional groundwater flows |
[in] | regionalirrflows | withdrawal from regional source and evaporation losses |
subroutine hype_waterbalance::zero_recharge_waterbalance |
Initiate variables for water balance calculations to zero for next subbasin and timestep.
subroutine hype_waterbalance::zero_waterbalance_flows |
Initiate variables for water balance calculations to zero for next timestep.
|
private |
filenames waterbalance flows
|
private |
filenames waterbalance floodplain flows
|
private |
filenames waterbalance irrigation flows
|
private |
filenames waterbalance stores
|
private |
fileunits waterbalance flows
|
private |
fileunits waterbalance floodplain flows
|
private |
fileunits waterbalance irrigation flows
|
private |
fileunits waterbalance stores
|
private |
Number of water balance flows.
|
private |
Number of water balance flows regarding floodplains.
|
private |
Number of water balance flows regarding irrigation.
|
private |
Number of water balance stores.
|
private |
Number of subbasins with floodplains.
|
private |
Number of subbasins with irrigation flows.
|
private |
index of subbasins with floodplains, to be printed
|
private |
index of subbasins with irrigation, to be printed
|
private |
Recharge-discharge area flow between the same soil layer of differnt classes, help variable.
integer, parameter hype_waterbalance::w_abstaq = 87 |
Index for abstraction from aquifer.
integer, parameter hype_waterbalance::w_abstmr = 53 |
Index for abstraction from main river.
integer, parameter hype_waterbalance::w_abstol = 54 |
Index for abstraction from outlet lake.
integer, parameter hype_waterbalance::w_apply1 = 1 |
Index for irrigation applied to soil layer 1.
integer, parameter hype_waterbalance::w_aquifer = 13 |
Index for aquifer.
integer, parameter hype_waterbalance::w_eilake = 42 |
Index for evaporation of internal lake.
integer, parameter hype_waterbalance::w_eiriver = 41 |
Index for evaporation of local stream.
integer, parameter hype_waterbalance::w_emrfp = 3 |
Index for evaporation of main river floodplain.
integer, parameter hype_waterbalance::w_emriver = 43 |
Index for evaporation of main river.
integer, parameter hype_waterbalance::w_eolake = 44 |
Index for evaporation of outlet lake.
integer, parameter hype_waterbalance::w_eolfp = 4 |
Index for evaporation of outlet lake floodplain.
integer, parameter hype_waterbalance::w_evap1 = 18 |
Index for evapotranspiration from soil layer 1.
integer, parameter hype_waterbalance::w_evap2 = 19 |
Index for evapotranspiration from soil layer 2.
integer, parameter hype_waterbalance::w_evap3 = 63 |
Index for evaporation from snow.
integer, parameter hype_waterbalance::w_evap4 = 64 |
Index for evaporation from glacier.
integer, parameter hype_waterbalance::w_evapirrc = 6 |
Index for evaporation losses of (local) irrigation canal.
integer, parameter hype_waterbalance::w_evapiwet = 85 |
Index for evapotranspiration iwet.
integer, parameter hype_waterbalance::w_evapowet = 86 |
Index for evapotranspiration owet.
integer, parameter hype_waterbalance::w_evapregmr = 10 |
Index for evaporation losses at withdrawal of water from river volume and inflow (regional source)
integer, parameter hype_waterbalance::w_evapregol = 9 |
Index for evaporation losses at withdrawal of water from outlet lake (regional source)
integer, parameter hype_waterbalance::w_fptomr = 21 |
Index for flow from floodplain to main river.
integer, parameter hype_waterbalance::w_fptool = 23 |
Index for flow from floodplain to outlet lake.
integer, parameter hype_waterbalance::w_glacier = 2 |
Index for glacier.
integer, parameter hype_waterbalance::w_gmeltmp1 = 11 |
Index for glacier melt to macropore to soil layer 1.
integer, parameter hype_waterbalance::w_gmeltmp2 = 12 |
Index for glacier melt to macropore to soil layer 2.
integer, parameter hype_waterbalance::w_gmeltmp3 = 13 |
Index for glacier melt to macropore to soil layer 3.
integer, parameter hype_waterbalance::w_gmeltsl1 = 9 |
Index for glacier melt to infiltration.
integer, parameter hype_waterbalance::w_gmeltsr = 10 |
Index for glacier melt to surface runoff.
integer, parameter hype_waterbalance::w_gmeltsrtoiw = 75 |
Index for glacier melt to surface runoff to iwet.
integer, parameter hype_waterbalance::w_grf1mrfp = 13 |
Index for groundwater runoff from soil layer 1 to main river floodplain.
integer, parameter hype_waterbalance::w_grf1olfp = 16 |
Index for groundwater runoff from soil layer 1 to outlet lake floodplain.
integer, parameter hype_waterbalance::w_grf2mrfp = 14 |
Index for groundwater runoff from soil layer 2 to main river floodplain.
integer, parameter hype_waterbalance::w_grf2olfp = 17 |
Index for groundwater runoff from soil layer 2 to outlet lake floodplain.
integer, parameter hype_waterbalance::w_grf3mrfp = 15 |
Index for groundwater runoff from soil layer 3 to main river floodplain.
integer, parameter hype_waterbalance::w_grf3olfp = 18 |
Index for groundwater runoff from soil layer 3 to outlet lake floodplain.
integer, parameter hype_waterbalance::w_gwrunf1 = 24 |
Index for groundwater runoff from soil layer 1.
integer, parameter hype_waterbalance::w_gwrunf1toiw = 80 |
Index for groundwater runoff from soil layer 1 to iwet.
integer, parameter hype_waterbalance::w_gwrunf2 = 25 |
Index for groundwater runoff from soil layer 2.
integer, parameter hype_waterbalance::w_gwrunf2toiw = 81 |
Index for groundwater runoff from soil layer 2 to iwet.
integer, parameter hype_waterbalance::w_gwrunf3 = 26 |
Index for groundwater runoff from soil layer 3.
integer, parameter hype_waterbalance::w_gwrunf3toiw = 82 |
Index for groundwater runoff from soil layer 3 to iwet.
integer, parameter hype_waterbalance::w_ilake = 8 |
Index for internal lake.
integer, parameter hype_waterbalance::w_iltomr = 47 |
Index for flow from internal lake to main river.
integer, parameter hype_waterbalance::w_infmrfp = 5 |
Index for infiltration from main river floodplain to soil layer 1.
integer, parameter hype_waterbalance::w_infolfp = 6 |
Index for infiltration from outlet lake floodplain to soil layer 1.
integer, parameter hype_waterbalance::w_infrain = 14 |
Index for infiltration of rain.
integer, parameter hype_waterbalance::w_iriver = 7 |
Index for local stream.
integer, parameter hype_waterbalance::w_irrcanal = 12 |
Index for irrigation canal.
integer, parameter hype_waterbalance::w_irtoil = 45 |
Index for flow from local stream to internal lake.
integer, parameter hype_waterbalance::w_irtomr = 46 |
Index for flow from local stream to main river.
integer, parameter hype_waterbalance::w_iwet = 6 |
Index for local wetland.
integer, parameter hype_waterbalance::w_iwtoir = 72 |
Index for flow from internal wetland to local stream.
integer, parameter hype_waterbalance::w_lakeplain = 15 |
Index for outlet lake floodplain.
integer, parameter hype_waterbalance::w_mriver = 9 |
Index for main river.
integer, parameter hype_waterbalance::w_mrtofp = 22 |
Index for flow from main river to floodplain.
integer, parameter hype_waterbalance::w_mrtool = 48 |
Index for flow from main river to outlet lake.
integer, parameter hype_waterbalance::w_mrtoow = 69 |
Index for flow from main river to outlet wetland.
integer, parameter hype_waterbalance::w_olake = 10 |
Index for outlet lake.
integer, parameter hype_waterbalance::w_oltob = 50 |
Index for flow from outlet lake to branch downstream.
integer, parameter hype_waterbalance::w_oltobol = 68 |
Index for flow from outlet lake to branch downstream directly to olake.
integer, parameter hype_waterbalance::w_oltofp = 24 |
Index for flow from outlet lake to floodplain.
integer, parameter hype_waterbalance::w_oltomb = 49 |
Index for flow from outlet lake to main downstream subbasin.
integer, parameter hype_waterbalance::w_oltombol = 67 |
Index for flow from outlet lake to main downstream subbasin directly to olake.
integer, parameter hype_waterbalance::w_owet = 11 |
Index for outlet wetland.
integer, parameter hype_waterbalance::w_owtob = 71 |
Index for flow from outlet wetland to branch downstream.
integer, parameter hype_waterbalance::w_owtomb = 70 |
Index for flow from outlet wetland to main downstream subbasin.
integer, parameter hype_waterbalance::w_perc1 = 27 |
Index for percolation from soil layer 1.
integer, parameter hype_waterbalance::w_perc2 = 28 |
Index for percolation from soil layer 2.
integer, parameter hype_waterbalance::w_pilake = 38 |
Index for precipitation on internal lake.
integer, parameter hype_waterbalance::w_piriver = 37 |
Index for precipitation on local stream.
integer, parameter hype_waterbalance::w_pmrfp = 1 |
Index for precipitation on main river floodplain.
integer, parameter hype_waterbalance::w_pmriver = 39 |
Index for precipitation on main river.
integer, parameter hype_waterbalance::w_polake = 40 |
Index for precipitation on outlet lake.
integer, parameter hype_waterbalance::w_polfp = 2 |
Index for precipitation on outlet lake floodplain.
integer, parameter hype_waterbalance::w_precglac = 8 |
Index for precipitation on glacier.
integer, parameter hype_waterbalance::w_preciwet = 83 |
Index for precipitation on iwet.
integer, parameter hype_waterbalance::w_precowet = 84 |
Index for precipitation on owet.
integer, parameter hype_waterbalance::w_pstomr = 52 |
Index for point source flow to main river.
integer, parameter hype_waterbalance::w_rainmp1 = 15 |
Index for rain to macropore to soil layer 1.
integer, parameter hype_waterbalance::w_rainmp2 = 16 |
Index for rain to macropore to soil layer 2.
integer, parameter hype_waterbalance::w_rainmp3 = 17 |
Index for rain to macropore to soil layer 3.
integer, parameter hype_waterbalance::w_rainsr = 55 |
Index for rain to surface runoff.
integer, parameter hype_waterbalance::w_rainsrtoiw = 73 |
Index for rain to surface runoff to iwet.
integer, parameter hype_waterbalance::w_rechameltr1 = 88 |
Index for recharge area flow from snow melt to soil layer 1.
integer, parameter hype_waterbalance::w_rechameltr2 = 89 |
Index for recharge area flow from snow melt to soil layer 2.
integer, parameter hype_waterbalance::w_rechameltr3 = 90 |
Index for recharge area flow from snow melt to soil layer 3.
integer, parameter hype_waterbalance::w_recharainr1 = 91 |
Index for recharge area flow from rain to soil layer 1.
integer, parameter hype_waterbalance::w_recharainr2 = 92 |
Index for recharge area flow from rain to soil layer 2.
integer, parameter hype_waterbalance::w_recharainr3 = 93 |
Index for recharge area flow from rain to soil layer 3.
integer, parameter hype_waterbalance::w_recharf1r2 = 94 |
Index for recharge area flow from soil layer 1 to soil layer 2.
integer, parameter hype_waterbalance::w_recharf1r3 = 95 |
Index for recharge area flow from soil layer 1 to soil layer 3.
integer, parameter hype_waterbalance::w_recharf2r1 = 96 |
Index for recharge area flow from soil layer 2 to soil layer 1.
integer, parameter hype_waterbalance::w_recharf2r3 = 97 |
Index for recharge area flow from soil layer 2 to soil layer 3.
integer, parameter hype_waterbalance::w_recharf3r1 = 98 |
Index for recharge area flow from soil layer 3 to soil layer 1.
integer, parameter hype_waterbalance::w_recharf3r2 = 99 |
Index for recharge area flow from soil layer 3 to soil layer 2.
integer, parameter hype_waterbalance::w_rgrwfromos = 100 |
Index for aquifer flow from outside model domain.
integer, parameter hype_waterbalance::w_rgrwof1 = 57 |
Index for regional groundwater flow from soil layer 1.
integer, parameter hype_waterbalance::w_rgrwof2 = 58 |
Index for regional groundwater flow from soil layer 2.
integer, parameter hype_waterbalance::w_rgrwof3 = 59 |
Index for regional groundwater flow from soil layer 3.
integer, parameter hype_waterbalance::w_rgrwofmr = 61 |
Index for regional groundwater flow from main river.
integer, parameter hype_waterbalance::w_rgrwofmrfp = 31 |
Index for regional groundwater flow leaving main river floodplain.
integer, parameter hype_waterbalance::w_rgrwto1 = 34 |
Index for regional groundwater flow to soil layer 1.
integer, parameter hype_waterbalance::w_rgrwto2 = 35 |
Index for regional groundwater flow to soil layer 2.
integer, parameter hype_waterbalance::w_rgrwto3 = 36 |
Index for regional groundwater flow to soil layer 3.
integer, parameter hype_waterbalance::w_rgrwtoir = 12 |
Index for withdrawal of water from aquifer.
integer, parameter hype_waterbalance::w_rgrwtomr = 62 |
Index for regional groundwater flow to main river.
integer, parameter hype_waterbalance::w_rgrwtool = 56 |
Index for regional groundwater flow to outlet lake.
integer, parameter hype_waterbalance::w_rgrwtoos = 60 |
Index for regional groundwater flow to outside model domain (grwdown=0)
integer, parameter hype_waterbalance::w_riverplain = 14 |
Index for main river floodplain.
integer, parameter hype_waterbalance::w_rtsrmrfp = 9 |
Index for rain to surface runoff to main river floodplain.
integer, parameter hype_waterbalance::w_rtsrolfp = 10 |
Index for rain to surface runoff to outlet lake floodplain.
integer, parameter hype_waterbalance::w_rural1 = 31 |
Index for flow from rural load to soil layer 1.
integer, parameter hype_waterbalance::w_rural2 = 32 |
Index for flow from rural load to soil layer 2.
integer, parameter hype_waterbalance::w_rural3 = 33 |
Index for flow from rural load to soil layer 3.
integer, parameter hype_waterbalance::w_rural4 = 51 |
Index for rural flow to local river.
integer, parameter hype_waterbalance::w_sfallsnow = 1 |
Index for snowfall on snow (on land)
integer, parameter hype_waterbalance::w_smeltmp1 = 4 |
Index for snow melt to macropore to soil layer 1.
integer, parameter hype_waterbalance::w_smeltmp2 = 5 |
Index for snow melt to macropore to soil layer 2.
integer, parameter hype_waterbalance::w_smeltmp3 = 6 |
Index for snow melt to macropore to soil layer 3.
integer, parameter hype_waterbalance::w_smeltsl1 = 2 |
Index for snow melt to infiltration.
integer, parameter hype_waterbalance::w_smeltsr = 3 |
Index for snow melt to surface runoff.
integer, parameter hype_waterbalance::w_smeltsrtoiw = 74 |
Index for snow melt to surface runoff to iwet.
integer, parameter hype_waterbalance::w_smtsrmrfp = 7 |
Index for snow melt to surface runoff to main river floodplain.
integer, parameter hype_waterbalance::w_smtsrolfp = 8 |
Index for snow melt to surface runoff to outlet lake floodplain.
integer, parameter hype_waterbalance::w_snow = 1 |
Index for snow.
integer, parameter hype_waterbalance::w_soil1 = 3 |
Index for soil layer 1 (uppermost)
integer, parameter hype_waterbalance::w_soil2 = 4 |
Index for soil layer 2.
integer, parameter hype_waterbalance::w_soil3 = 5 |
Index for soil layer 3 (deepest)
integer, parameter hype_waterbalance::w_srftmrfp = 11 |
Index for surface runoff (saturated overland flow) to main river floodplain.
integer, parameter hype_waterbalance::w_srftolfp = 12 |
Index for surface runoff (saturated overland flow) to outlet lake floodplain.
integer, parameter hype_waterbalance::w_stoice = 7 |
Index for snow incorporated in glacier.
integer, parameter hype_waterbalance::w_stomrfp = 19 |
Index for snow incorporated in main river floodplain.
integer, parameter hype_waterbalance::w_stoolfp = 20 |
Index for snow incorporated in outlet lake floodplain.
integer, parameter hype_waterbalance::w_surfrf = 20 |
Index for surface runoff (saturated overland flow)
integer, parameter hype_waterbalance::w_surfrftoiw = 76 |
Index for surface runoff (saturated overland flow) to iwet.
integer, parameter hype_waterbalance::w_tile1 = 21 |
Index for tile drainage pipes runoff from soil layer 1.
integer, parameter hype_waterbalance::w_tile1toiw = 77 |
Index for tile drainage pipes runoff from soil layer 1 to iwet.
integer, parameter hype_waterbalance::w_tile2 = 22 |
Index for tile drainage pipes runoff from soil layer 2.
integer, parameter hype_waterbalance::w_tile2toiw = 78 |
Index for tile drainage pipes runoff from soil layer 2 to iwet.
integer, parameter hype_waterbalance::w_tile3 = 23 |
Index for tile drainage pipes runoff from soil layer 3.
integer, parameter hype_waterbalance::w_tile3toiw = 79 |
Index for tile drainage pipes runoff from soil layer 3 to iwet.
integer, parameter hype_waterbalance::w_trf1mrfp = 25 |
Index for tile runoff to main river floodplain.
integer, parameter hype_waterbalance::w_trf1olfp = 28 |
Index for tile runoff to outlet lake floodplain.
integer, parameter hype_waterbalance::w_trf2mrfp = 26 |
Index for tile runoff to main river floodplain.
integer, parameter hype_waterbalance::w_trf2olfp = 29 |
Index for tile runoff to outlet lake floodplain.
integer, parameter hype_waterbalance::w_trf3mrfp = 27 |
Index for tile runoff to main river floodplain.
integer, parameter hype_waterbalance::w_trf3olfp = 30 |
Index for tile runoff to outlet lake floodplain.
integer, parameter hype_waterbalance::w_upwell1 = 29 |
Index for upwelling to soil layer 1.
integer, parameter hype_waterbalance::w_upwell2 = 30 |
Index for upwelling to soil layer 2.
integer, parameter hype_waterbalance::w_wdfromdg = 3 |
Index for withdrawal of water from deep groundwater.
integer, parameter hype_waterbalance::w_wdfromil = 2 |
Index for withdrawal of water from internal lake.
integer, parameter hype_waterbalance::w_wdfrommr = 5 |
Index for withdrawal of water from main river volume and inflow as local source.
integer, parameter hype_waterbalance::w_wdfromol = 4 |
Index for withdrawal of water from outlet lake as local source.
integer, parameter hype_waterbalance::w_wdoutside = 11 |
Index for withdrawal of water from outside model domain to cover all demands.
integer, parameter hype_waterbalance::w_wdregmr = 8 |
Index for withdrawal of water from regional source (main river volume and inflow) of this subbasin.
integer, parameter hype_waterbalance::w_wdregol = 7 |
Index for withdrawal of water from regional source (outlet lake) of this subbasin.
integer, parameter hype_waterbalance::w_wtcanal = 16 |
Index for water transfer canal.
integer, parameter hype_waterbalance::w_wtrofol = 66 |
Index for water transfer from outlet lake.
integer, parameter hype_waterbalance::w_wtrtomr = 65 |
Index for water transfer to main river.
real, dimension(:,:), allocatable, public hype_waterbalance::wbflows |
Current time step water balance flows (nsub,num_wbflows)
real, dimension(:,:), allocatable, public hype_waterbalance::wbfpflows |
Current time step water balance floodplain flows.
real, dimension(:,:), allocatable, public hype_waterbalance::wbirrflows |
Current time step water balance irrigation flows.
real, dimension(:,:), allocatable, public hype_waterbalance::wbstores |
Current time step water balance stores (at the end of the time step)