public subroutine runsubbasin(ihout, inum1, bSubcatch, da, da9, daycounter, ida, ieap, iy, iyr, mo, nbyr, nd)
proc~~runsubbasin~~UsesGraph
proc~runsubbasin
runsubbasin
module~crop
crop
proc~runsubbasin->module~crop
module~erosion
erosion
proc~runsubbasin->module~erosion
module~evapotranspiration
evapotranspiration
proc~runsubbasin->module~evapotranspiration
module~groundwater
groundwater
proc~runsubbasin->module~groundwater
module~hydrotope
hydrotope
proc~runsubbasin->module~hydrotope
module~landuse
landuse
proc~runsubbasin->module~landuse
module~management
management
proc~runsubbasin->module~management
module~nutrient
nutrient
proc~runsubbasin->module~nutrient
module~output
output
proc~runsubbasin->module~output
module~reservoir
reservoir
proc~runsubbasin->module~reservoir
module~river
river
proc~runsubbasin->module~river
module~snow
snow
proc~runsubbasin->module~snow
module~soil
soil
proc~runsubbasin->module~soil
module~vegetation
vegetation
proc~runsubbasin->module~vegetation
module~utilities
utilities
module~crop->module~utilities
module~erosion->module~utilities
module~evapotranspiration->module~utilities
module~groundwater->module~utilities
module~hydrotope->module~utilities
module~landuse->module~utilities
module~management->module~utilities
module~nutrient->module~utilities
module~output->module~utilities
module~reservoir->module~utilities
module~river->module~utilities
module~snow->module~utilities
module~soil->module~utilities
module~vegetation->module~utilities
Nodes of different colours represent the following:
Graph Key
Module
Module
Submodule
Submodule
Subroutine
Subroutine
Function
Function
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a submodule to the (sub)module which it is
descended from. Dashed arrows point from a module or program unit to
modules which it uses.
Add supply from water user(s) to subbasins' hydrograph storage location (=j)
If the subbasin is a reservoir, this step will be overwritten by the reservoir module
if external inputs from water user(s) are greater than 0
add supply of previous day to subbasins' hydrograph storage location (surface runoff component)
Withdraw water from subbasin outlet
but only if subbasin is a headwater .and. not a reservoir.
otherwise withdawals are taken during the routing process in subroutine 'add'
Moreover, the water users %supplied and %tr_losses are calculated.
Check if current subbasin is a headwater...in this case,
bWAMHydrograph is .true. at the array position of the subbasin number
ATTENTION: The values of sda(2, j) and sda(8, j) may be changed!
Arguments
Type
Intent Optional Attributes
Name
integer,
intent(in)
::
ihout
integer,
intent(in)
::
inum1
logical,
intent(in)
::
bSubcatch
real(kind=dp),
intent(in)
::
da
real(kind=dp),
intent(in)
::
da9
integer,
intent(in)
::
daycounter
integer,
intent(in)
::
ida
integer,
intent(inout)
::
ieap
integer,
intent(in)
::
iy
integer,
intent(in)
::
iyr
integer,
intent(in)
::
mo
integer,
intent(in)
::
nbyr
integer,
intent(in)
::
nd
proc~~runsubbasin~~CallsGraph
proc~runsubbasin
runsubbasin
proc~crop_yield_output
crop_yield_output
proc~runsubbasin->proc~crop_yield_output
proc~erosion_enritchment_ratio
erosion_enritchment_ratio
proc~runsubbasin->proc~erosion_enritchment_ratio
proc~erosion_organic_nitrate_loss
erosion_organic_nitrate_loss
proc~runsubbasin->proc~erosion_organic_nitrate_loss
proc~erosion_phosphorus_loss
erosion_phosphorus_loss
proc~runsubbasin->proc~erosion_phosphorus_loss
proc~erosion_soil_loss
erosion_soil_loss
proc~runsubbasin->proc~erosion_soil_loss
proc~groundwater_process
groundwater_process
proc~runsubbasin->proc~groundwater_process
proc~hydrotope_process
hydrotope_process
proc~runsubbasin->proc~hydrotope_process
proc~landuse_index
landuse_index
proc~runsubbasin->proc~landuse_index
proc~landuse_is_cropland
landuse_is_cropland
proc~runsubbasin->proc~landuse_is_cropland
proc~landuse_is_forest
landuse_is_forest
proc~runsubbasin->proc~landuse_is_forest
proc~landuse_is_natural_vegetation
landuse_is_natural_vegetation
proc~runsubbasin->proc~landuse_is_natural_vegetation
proc~log_error
log_error
proc~runsubbasin->proc~log_error
proc~management_is_transfer_subbasin
management_is_transfer_subbasin
proc~runsubbasin->proc~management_is_transfer_subbasin
proc~management_subbasin_pointer
management_subbasin_pointer
proc~runsubbasin->proc~management_subbasin_pointer
proc~management_transfer_out
management_transfer_out
proc~runsubbasin->proc~management_transfer_out
proc~output_store_hydrotope_value
output_store_hydrotope_value
proc~runsubbasin->proc~output_store_hydrotope_value
proc~output_store_subbasin_value
output_store_subbasin_value
proc~runsubbasin->proc~output_store_subbasin_value
proc~snow_degree_day_melting
snow_degree_day_melting
proc~runsubbasin->proc~snow_degree_day_melting
proc~snow_initialise_subbasin
snow_initialise_subbasin
proc~runsubbasin->proc~snow_initialise_subbasin
proc~snow_process
snow_process
proc~runsubbasin->proc~snow_process
proc~soil_curve_number_alpha
soil_curve_number_alpha
proc~runsubbasin->proc~soil_curve_number_alpha
proc~soil_curve_number_peak_runoff
soil_curve_number_peak_runoff
proc~runsubbasin->proc~soil_curve_number_peak_runoff
proc~soil_curve_transmission_losses
soil_curve_transmission_losses
proc~runsubbasin->proc~soil_curve_transmission_losses
proc~subbasin_flow_travel_time
subbasin_flow_travel_time
proc~runsubbasin->proc~subbasin_flow_travel_time
proc~subbasin_initialise_subbasin
subbasin_initialise_subbasin
proc~runsubbasin->proc~subbasin_initialise_subbasin
proc~hydrotope_process->proc~landuse_index
proc~hydrotope_process->proc~landuse_is_cropland
proc~hydrotope_process->proc~landuse_is_forest
proc~hydrotope_process->proc~landuse_is_natural_vegetation
proc~hydrotope_process->proc~management_is_transfer_subbasin
proc~hydrotope_process->proc~management_subbasin_pointer
amax1
amax1
proc~hydrotope_process->amax1
proc~crop_initialise_hydrotope
crop_initialise_hydrotope
proc~hydrotope_process->proc~crop_initialise_hydrotope
proc~crop_process
crop_process
proc~hydrotope_process->proc~crop_process
proc~erosion_cklsp_factor
erosion_cklsp_factor
proc~hydrotope_process->proc~erosion_cklsp_factor
proc~evapotranspiration_process
evapotranspiration_process
proc~hydrotope_process->proc~evapotranspiration_process
proc~management_is_active_period
management_is_active_period
proc~hydrotope_process->proc~management_is_active_period
proc~management_user_pointer
management_user_pointer
proc~hydrotope_process->proc~management_user_pointer
proc~nutrient_fertilisation
nutrient_fertilisation
proc~hydrotope_process->proc~nutrient_fertilisation
proc~nutrient_leaching
nutrient_leaching
proc~hydrotope_process->proc~nutrient_leaching
proc~soil_curve_number
soil_curve_number
proc~hydrotope_process->proc~soil_curve_number
proc~soil_curve_number_runoff
soil_curve_number_runoff
proc~hydrotope_process->proc~soil_curve_number_runoff
proc~soil_process
soil_process
proc~hydrotope_process->proc~soil_process
proc~soil_temperature
soil_temperature
proc~hydrotope_process->proc~soil_temperature
proc~vegetation_process
vegetation_process
proc~hydrotope_process->proc~vegetation_process
proc~vegetation_store_output
vegetation_store_output
proc~hydrotope_process->proc~vegetation_store_output
proc~landuse_index->proc~log_error
proc~landuse_is_cropland->proc~landuse_index
proc~landuse_is_forest->proc~landuse_index
proc~landuse_is_natural_vegetation->proc~landuse_index
proc~log_message
log_message
proc~log_error->proc~log_message
proc~management_transfer_out->proc~management_subbasin_pointer
proc~log_warn
log_warn
proc~management_transfer_out->proc~log_warn
proc~management_transfer_out->proc~management_is_active_period
proc~management_transfer_out->proc~management_user_pointer
proc~snow_process->proc~output_store_hydrotope_value
proc~snow_glacier_melt
snow_glacier_melt
proc~snow_process->proc~snow_glacier_melt
proc~snow_melting
snow_melting
proc~snow_process->proc~snow_melting
proc~gamma_distribution
gamma_distribution
proc~soil_curve_number_alpha->proc~gamma_distribution
proc~crop_growth
crop_growth
proc~crop_process->proc~crop_growth
proc~crop_operation
crop_operation
proc~crop_process->proc~crop_operation
proc~vegetation_water_stress
vegetation_water_stress
proc~crop_process->proc~vegetation_water_stress
proc~random_n
random_n
proc~gamma_distribution->proc~random_n
proc~log_format_message
log_format_message
proc~log_message->proc~log_format_message
proc~log_write
log_write
proc~log_message->proc~log_write
proc~log_warn->proc~log_message
proc~management_user_pointer->proc~log_error
proc~nutrient_nitrate_cycle
nutrient_nitrate_cycle
proc~nutrient_leaching->proc~nutrient_nitrate_cycle
proc~nutrient_nitrate_leaching
nutrient_nitrate_leaching
proc~nutrient_leaching->proc~nutrient_nitrate_leaching
proc~nutrient_phosphorus_cycle
nutrient_phosphorus_cycle
proc~nutrient_leaching->proc~nutrient_phosphorus_cycle
proc~nutrient_phosphorus_loss
nutrient_phosphorus_loss
proc~nutrient_leaching->proc~nutrient_phosphorus_loss
proc~soil_percolation
soil_percolation
proc~soil_process->proc~soil_percolation
amin1
amin1
proc~vegetation_process->amin1
proc~nutrient_nitrate_uptake
nutrient_nitrate_uptake
proc~vegetation_process->proc~nutrient_nitrate_uptake
proc~nutrient_phosphorus_uptake
nutrient_phosphorus_uptake
proc~vegetation_process->proc~nutrient_phosphorus_uptake
proc~vegetation_temperature_stress
vegetation_temperature_stress
proc~vegetation_process->proc~vegetation_temperature_stress
proc~vegetation_process->proc~vegetation_water_stress
proc~vegetation_store_output->proc~output_store_hydrotope_value
proc~crop_growth->amin1
proc~crop_growth->proc~nutrient_nitrate_uptake
proc~crop_growth->proc~nutrient_phosphorus_uptake
proc~crop_growth->proc~vegetation_temperature_stress
proc~vegetation_adjust_energy_ratio
vegetation_adjust_energy_ratio
proc~crop_growth->proc~vegetation_adjust_energy_ratio
proc~vegetation_s_curve
vegetation_s_curve
proc~crop_growth->proc~vegetation_s_curve
proc~crop_operation->proc~output_store_hydrotope_value
proc~colourise
colourise
proc~log_format_message->proc~colourise
proc~date_time_str
date_time_str
proc~log_format_message->proc~date_time_str
proc~to_string
to_string
proc~log_write->proc~to_string
proc~nutrient_nitrate_cycle->amin1
proc~vegetation_nutrient_stress
vegetation_nutrient_stress
proc~nutrient_nitrate_uptake->proc~vegetation_nutrient_stress
proc~nutrient_phosphorus_cycle->amin1
proc~nutrient_phosphorus_uptake->proc~vegetation_nutrient_stress
float
float
proc~random_n->float
proc~vegetation_temperature_stress->proc~landuse_is_cropland
proc~vegetation_water_stress->proc~landuse_is_cropland
proc~vegetation_water_stress->proc~management_is_transfer_subbasin
proc~vegetation_water_stress->proc~management_subbasin_pointer
proc~vegetation_water_stress->proc~management_is_active_period
proc~vegetation_water_stress->proc~management_user_pointer
proc~wam_correct_irrigationdemand
wam_correct_irrigationdemand
proc~vegetation_water_stress->proc~wam_correct_irrigationdemand
proc~string_index
string_index
proc~colourise->proc~string_index
Nodes of different colours represent the following:
Graph Key
Subroutine
Subroutine
Function
Function
Interface
Interface
Type Bound Procedure
Type Bound Procedure
Unknown Procedure Type
Unknown Procedure Type
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
proc~~runsubbasin~~CalledByGraph
proc~runsubbasin
runsubbasin
proc~time_process_day
time_process_day
proc~time_process_day->proc~runsubbasin
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
Nodes of different colours represent the following:
Graph Key
Subroutine
Subroutine
Function
Function
Interface
Interface
Type Bound Procedure
Type Bound Procedure
Unknown Procedure Type
Unknown Procedure Type
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.