runsubbasin Subroutine

public subroutine runsubbasin(ihout, inum1, bSubcatch, da, da9, daycounter, ida, ieap, iy, iyr, mo, nbyr, nd)

Uses

  • 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

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 IntentOptional 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

Calls

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

Called by

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