subbasin Module


Uses

  • module~~subbasin~~UsesGraph module~subbasin subbasin module~utilities utilities module~subbasin->module~utilities

Used by

  • module~~subbasin~~UsedByGraph module~subbasin subbasin proc~initialise initialise proc~initialise->module~subbasin proc~print_module_parameters print_module_parameters proc~print_module_parameters->module~subbasin proc~terminate terminate proc~terminate->module~subbasin proc~time_finish_year time_finish_year proc~time_finish_year->module~subbasin proc~time_initialise_year time_initialise_year proc~time_initialise_year->module~subbasin proc~time_process_day time_process_day proc~time_process_day->module~subbasin

Variables

Type Visibility Attributes Name Initial
real(kind=dp), public, save :: aff
logical, public, save :: bRunoffDat = .false.
character(len=path_max_length), public :: climate_input_file = "climate.csv"
real(kind=dp), public, parameter :: clt = 57.296
real(kind=dp), public, save, dimension(:), allocatable :: dart
character(len=path_max_length), public :: discharge_input_file = "discharge.csv"
integer, public :: discharge_input_file_id
integer, public :: discharge_offset = 1
real(kind=dp), public, save, dimension(:), allocatable :: flu
integer, public :: humidity_column_ix = 0
integer, public, save, dimension(:), allocatable :: icodes
integer, public, save, dimension(:), allocatable :: ihouts
integer, public, save, dimension(:), allocatable :: inum1s
integer, public, save, dimension(:), allocatable :: inum2s
integer, public, save :: mb
integer, public, save :: mch
integer, public, save :: mhyd
integer, public, save, dimension(:), allocatable :: neap
integer, public, save :: nqobs = 1
real(kind=dp), public, save, dimension(12) :: obmn = (/7.51, 8.72, 10.34, 11.32, 11.82, 10.66, 10.43, 10.64, 9.41, 10.52, 9.34, 7.89/)
real(kind=dp), public, save, dimension(12) :: obmx = (/31.44, 32.71, 34.51, 34.73, 33.93, 31.46, 28.66, 29.07, 30.76, 30.56, 29.98, 30.27/)
real(kind=dp), public, dimension(:, :), allocatable :: obs_discharge
integer, public, save, dimension(100) :: obssb
real(kind=dp), public, save :: precip
integer, public :: precipitation_column_ix
real(kind=dp), public, save, dimension(2, 12) :: prw = reshape((/0.03, 0.59, 0.06, 0.43, 0.09, 0.48, 0.14, 0.57, 0.21, 0.56, 0.32, 0.5, 0.39, 0.41, 0.43, 0.51, 0.31, 0.42, 0.12, 0.49, 0.08, 0.56, 0.05, 0.63/), shape=(/2, 12/))
real(kind=dp), public, save :: qtl
integer, public :: radiation_column_ix
integer, public :: river_runoff_output_id = 0
real(kind=dp), public, save, dimension(12) :: rst = (/0.2, 0.2, 0.9, 1.3, 4.2, 7.6, 10.7, 10.3, 7.4, 4.3, 1.3, 0.3/)
real(kind=dp), public, save, dimension(:), allocatable :: runoff_mm
real(kind=dp), public, save, dimension(366) :: runs
real(kind=dp), public, save, dimension(:), allocatable :: sbar
real(kind=dp), public, save, dimension(:), allocatable :: sbp
real(kind=dp), public, save, dimension(:, :), allocatable :: sda
real(kind=dp), public, save, dimension(:), allocatable :: slope_length
real(kind=dp), public, save, dimension(:), allocatable :: smq
real(kind=dp), public, save, dimension(:), allocatable :: smsq
character(len=path_max_length), public, dimension(:), allocatable :: station_ids
real(kind=dp), public, save, dimension(:), allocatable :: stp
real(kind=dp), public, save, dimension(30) :: sub = 0.
integer, public :: subbasin_climate_file_id
integer, public, dimension(:), allocatable :: subbasin_ids
character(len=path_max_length), public :: subbasin_input_file = "subbasin.csv"
integer, public :: subbasin_input_file_id
character(len=path_max_length), public :: subbasin_routing_input_file = "subbasin_routing.csv"
integer, public :: subbasin_routing_input_file_id = 0
integer, public, save, dimension(:), allocatable :: subcatch_id
integer, public, save, dimension(:), allocatable :: subcatch_idx
integer, public, save, dimension(:), allocatable :: subouthyd
real(kind=dp), public, save, dimension(:), allocatable :: subp
integer, public, save, dimension(:), allocatable :: subs
real(kind=dp), public, save :: sumcn
real(kind=dp), public, save, dimension(:, :), allocatable :: susb
integer, public :: tmax_column_ix
integer, public :: tmean_column_ix
integer, public :: tmin_column_ix
real(kind=dp), public, save, dimension(:), allocatable :: tp5
real(kind=dp), public :: tp5_default = 15.
real(kind=dp), public, save, dimension(:), allocatable :: tp6
real(kind=dp), public :: tp6_default = 22.
real(kind=dp), public, save, dimension(:), allocatable :: tpnyr
real(kind=dp), public :: tpnyr_default = 54.
real(kind=dp), public, save, dimension(:), allocatable :: tx
real(kind=dp), public, save, dimension(12) :: wim = (/7.0, 7.0, 9.0, 9.0, 10.0, 10.0, 10.0, 10.0, 9.0, 9.0, 7.0, 7.0/)
real(kind=dp), public, save :: wysb
real(kind=dp), public, save :: xeo
real(kind=dp), public, save :: xpercn
real(kind=dp), public, save :: xporgp
real(kind=dp), public, save :: xpsed
real(kind=dp), public, save :: xqi
real(kind=dp), public, save :: xsep
real(kind=dp), public, save :: xsnoev
real(kind=dp), public, save :: xssf
real(kind=dp), public, save :: xssfn
real(kind=dp), public, save :: xswind
real(kind=dp), public, save :: xyno3
real(kind=dp), public, save :: xysp
real(kind=dp), public, save :: yd

Subroutines

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

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

Read more…

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

public subroutine subbasin_allocate()

Arguments

None

public subroutine subbasin_allocate_obs_discharge()

Arguments

None

public subroutine subbasin_close()

Arguments

None

public subroutine subbasin_flow_travel_time(j, je, k, bSubcatch, bff, hrtc, nn, sc, sccor, z)

Arguments

Type IntentOptional Attributes Name
integer :: j
integer :: je
integer :: k
logical, intent(in) :: bSubcatch
real(kind=dp), intent(inout), dimension(:) :: bff
real(kind=dp), intent(inout), dimension(:, :, :) :: hrtc
integer, intent(in) :: nn
real(kind=dp), intent(in), dimension(:, :) :: sc
real(kind=dp), intent(in), dimension(:) :: sccor
real(kind=dp), intent(in), dimension(:, :) :: z

public subroutine subbasin_initialise()

Arguments

None

public subroutine subbasin_initialise_area(da)

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in) :: da

public subroutine subbasin_initialise_subbasin(canev, sml, xcklsp, xet, xnorg, xnorgp, xporg, xpsedp, xqd, yon, yph)

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(out) :: canev
real(kind=dp), intent(out) :: sml
real(kind=dp), intent(out) :: xcklsp
real(kind=dp), intent(out) :: xet
real(kind=dp), intent(out) :: xnorg
real(kind=dp), intent(out) :: xnorgp
real(kind=dp), intent(out) :: xporg
real(kind=dp), intent(out) :: xpsedp
real(kind=dp), intent(out) :: xqd
real(kind=dp), intent(out) :: yon
real(kind=dp), intent(out) :: yph

public subroutine subbasin_initialise_weather_gen(amp, avt, ffc, lat, nc, wft, wi)

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(inout), dimension(:) :: amp
real(kind=dp), intent(inout), dimension(:) :: avt
real(kind=dp), intent(inout), dimension(:) :: ffc
real(kind=dp), intent(in), dimension(:) :: lat
integer, intent(in), dimension(13) :: nc
real(kind=dp), intent(inout), dimension(:, :) :: wft
real(kind=dp), intent(inout), dimension(:, :) :: wi

public subroutine subbasin_read_climate(humi, mb, ra, subp, tmn, tmx, tx)

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(inout), dimension(:) :: humi
integer, intent(inout) :: mb
real(kind=dp), intent(inout), dimension(:) :: ra
real(kind=dp), intent(inout), dimension(:) :: subp
real(kind=dp), intent(inout), dimension(:) :: tmn
real(kind=dp), intent(inout), dimension(:) :: tmx
real(kind=dp), intent(inout), dimension(:) :: tx

public subroutine subbasin_read_input()

Arguments

None

public subroutine subbasin_read_routing()

Arguments

None