river Module


Uses

  • module~~river~~UsesGraph module~river river module~utilities utilities module~river->module~utilities

Used by

  • module~~river~~UsedByGraph module~river river proc~terminate terminate proc~terminate->module~river proc~initialise initialise proc~initialise->module~river proc~catchment_read_subcatch_params catchment_read_subcatch_params proc~catchment_read_subcatch_params->module~river proc~runsubbasin runsubbasin proc~runsubbasin->module~river proc~catchment_assign_subcatch catchment_assign_subcatch proc~catchment_assign_subcatch->module~river proc~print_module_parameters print_module_parameters proc~print_module_parameters->module~river proc~time_process_day time_process_day proc~time_process_day->module~river proc~catchment_initialise_subcatchm catchment_initialise_subcatchm proc~catchment_initialise_subcatchm->module~river

Contents


Variables

TypeVisibility AttributesNameInitial
real(kind=dp), public, save, dimension(10):: accf =0.
real(kind=dp), public, save, dimension(:), allocatable:: bsn_roc2
real(kind=dp), public, save, dimension(:), allocatable:: bsn_roc4
real(kind=dp), public, save, allocatable, dimension(:):: c1_qd
real(kind=dp), public, save, allocatable, dimension(:):: c1_ssf
real(kind=dp), public, save, allocatable, dimension(:):: c2_qd
real(kind=dp), public, save, allocatable, dimension(:):: c2_ssf
real(kind=dp), public, save, allocatable, dimension(:):: c3_qd
real(kind=dp), public, save, allocatable, dimension(:):: c3_ssf
real(kind=dp), public, save, allocatable, dimension(:):: c4_qd
real(kind=dp), public, save, allocatable, dimension(:):: c4_ssf
real(kind=dp), public, save, dimension(:), allocatable:: chd
real(kind=dp), public, save, dimension(:, :), allocatable:: chk
real(kind=dp), public, save, dimension(:, :), allocatable:: chl
real(kind=dp), public, save, dimension(:), allocatable:: chn
real(kind=dp), public, save, dimension(:), allocatable:: chnn
real(kind=dp), public, save:: chnnc0 =1.
real(kind=dp), public, save, dimension(:), allocatable:: chs
real(kind=dp), public, save, dimension(:), allocatable:: chss
real(kind=dp), public, save, dimension(:, :), allocatable:: chw
real(kind=dp), public, save:: chwc0 =1.
real(kind=dp), public, save:: diver
real(kind=dp), public, save:: evp
real(kind=dp), public, save:: evrch =1.
real(kind=dp), public, save, dimension(:), allocatable:: ovn
real(kind=dp), public, save, dimension(:), allocatable:: pet_day
real(kind=dp), public, save, dimension(:, :), allocatable:: phi
real(kind=dp), public, save:: prf =1.
real(kind=dp), public, save, dimension(:), allocatable:: qdilast
real(kind=dp), public, save, dimension(:, :), allocatable:: qdinp
real(kind=dp), public, save, dimension(:), allocatable:: qdolast
real(kind=dp), public, save, dimension(:, :), allocatable:: qdout
real(kind=dp), public, save, dimension(:), allocatable:: qsilast
real(kind=dp), public, save, dimension(:), allocatable:: qsolast
real(kind=dp), public, save, dimension(:, :), allocatable:: qssinp
real(kind=dp), public, save, dimension(:, :), allocatable:: qssout
real(kind=dp), public, save:: rflow
integer, public :: river_discharge_output_id =0
real(kind=dp), public, save:: rl
real(kind=dp), public, save:: roc1
real(kind=dp), public, save, dimension(:), allocatable:: roc2
real(kind=dp), public :: roc2_0 =9.
real(kind=dp), public, save:: roc3
real(kind=dp), public, save, dimension(:), allocatable:: roc4
real(kind=dp), public :: roc4_0 =9.
real(kind=dp), public, save, dimension(:), allocatable:: rt
real(kind=dp), public, save, dimension(:), allocatable:: runsub_m3s
real(kind=dp), public, save:: sdti
real(kind=dp), public, save, dimension(:), allocatable:: sdtsav
real(kind=dp), public, save:: spcon
real(kind=dp), public, save:: spexp =1.
real(kind=dp), public, save, dimension(:, :), allocatable:: srch
real(kind=dp), public, save:: storc1 =0.5
real(kind=dp), public, save:: tlc
integer, public, save:: tlgw =0
real(kind=dp), public, save:: tlrch =1.
real(kind=dp), public, save, dimension(:, :), allocatable:: varoute
real(kind=dp), public, save, allocatable, dimension(:):: xkm_qd
real(kind=dp), public, save, allocatable, dimension(:):: xkm_ssf
real(kind=dp), public, save:: xxnit
real(kind=dp), public, save:: xxqd
real(kind=dp), public, save:: xxssf
real(kind=dp), public, save:: ydi

Functions

public function river_mannings_discharge(a, rh, xn, chslope)

Arguments

Type IntentOptional AttributesName
real(kind=dp) :: a
real(kind=dp) :: rh
real(kind=dp) :: xn
real(kind=dp) :: chslope

Return Value real(kind=dp)


Subroutines

public subroutine dealloc_river()

Arguments

None

public subroutine river_allocate(mb, mch, mhyd)

Arguments

Type IntentOptional AttributesName
integer, intent(in) :: mb
integer, intent(in) :: mch
integer, intent(in) :: mhyd

public subroutine river_allocate_subcatch(n_subcatch)

Arguments

Type IntentOptional AttributesName
integer, intent(in) :: n_subcatch

public subroutine river_erosion_enritchment_ratio(inum1, da9, er, yd)

Arguments

Type IntentOptional AttributesName
integer :: inum1
real(kind=dp), intent(in) :: da9
real(kind=dp), intent(inout) :: er
real(kind=dp), intent(in) :: yd

public subroutine river_initialise(mb, mch, mhyd, subbasin_input_file_id)

Arguments

Type IntentOptional AttributesName
integer, intent(in) :: mb
integer, intent(in) :: mch
integer, intent(in) :: mhyd
integer, intent(in) :: subbasin_input_file_id

public subroutine river_initialise_travel_time(mb)

Arguments

Type IntentOptional AttributesName
integer, intent(in) :: mb

public subroutine river_muskingum_routing(j, ihout, inum1, ida, iy, iyr)

!!!! DO NOT ALLOW NEGATIVE FLOWS !!!! This shouldn't be a long-term solution but an attempt to make the user aware of !!!! obviously wrong parameter settings

Arguments

Type IntentOptional AttributesName
integer :: j
integer :: ihout
integer :: inum1
integer, intent(in) :: ida
integer, intent(in) :: iy
integer, intent(in) :: iyr

public subroutine river_muskingum_travel_time(j)

Arguments

Type IntentOptional AttributesName
integer :: j

public subroutine river_read_input(subbasin_input_file_id)

Arguments

Type IntentOptional AttributesName
integer, intent(in) :: subbasin_input_file_id

public subroutine river_route(ihout, inum1, inum2, chc, chxk, conn, cpp, da9, dart, er, flu, ida, iy, iyr, revapst, runs, sbar, sub, susb, xysp, yd, yon, yph)

Arguments

Type IntentOptional AttributesName
integer, intent(in) :: ihout
integer, intent(in) :: inum1
integer, intent(in) :: inum2
real(kind=dp), intent(in), dimension(:):: chc
real(kind=dp), intent(in), dimension(:):: chxk
real(kind=dp), intent(in) :: conn
real(kind=dp), intent(in) :: cpp
real(kind=dp), intent(in) :: da9
real(kind=dp), intent(in), dimension(:):: dart
real(kind=dp), intent(inout) :: er
real(kind=dp), intent(in), dimension(:):: flu
integer, intent(in) :: ida
integer, intent(in) :: iy
integer, intent(in) :: iyr
real(kind=dp), intent(inout), dimension(:):: revapst
real(kind=dp), intent(inout), dimension(366):: runs
real(kind=dp), intent(in), dimension(:):: sbar
real(kind=dp), intent(inout), dimension(30):: sub
real(kind=dp), intent(inout), dimension(:, :):: susb
real(kind=dp), intent(inout) :: xysp
real(kind=dp), intent(inout) :: yd
real(kind=dp), intent(inout) :: yon
real(kind=dp), intent(inout) :: yph

public subroutine river_route_add(bRunoffdat, ihout, inum1, inum2, additionalGwUptake, bWAM_Module, daycounter, ida, iyr, mb, nqobs, obssb, obs_discharge, runs, subouthyd, inum1s, bRsvModule, rsv_is_operational, rsvSubbasin)

Withdraw water from subbasin outlet but only if subbasin is not a headwater .and. not a reservoir.

Read more…

Arguments

Type IntentOptional AttributesName
logical, intent(in) :: bRunoffdat
integer, intent(in) :: ihout
integer, intent(in) :: inum1
integer, intent(in) :: inum2
real(kind=dp), intent(out), dimension(:):: additionalGwUptake
logical, intent(in) :: bWAM_Module
integer, intent(in) :: daycounter
integer, intent(in) :: ida
integer, intent(in) :: iyr
integer, intent(in) :: mb
integer, intent(in) :: nqobs
integer, intent(in), dimension(100):: obssb
real(kind=dp), intent(in), dimension(:, :):: obs_discharge
real(kind=dp), intent(inout), dimension(366):: runs
integer, intent(in), dimension(:):: subouthyd
integer, intent(in), dimension(:):: inum1s
logical, intent(in) :: bRsvModule
logical, intent(in) :: rsv_is_operational
integer, intent(in), dimension(:):: rsvSubbasin

public subroutine river_route_erosion(j, inum1, chc, chxk, yd)

Arguments

Type IntentOptional AttributesName
integer :: j
integer :: inum1
real(kind=dp), intent(in), dimension(:):: chc
real(kind=dp), intent(in), dimension(:):: chxk
real(kind=dp), intent(inout) :: yd

public subroutine river_route_nitrate(conn, da9, er, yon)

Arguments

Type IntentOptional AttributesName
real(kind=dp), intent(in) :: conn
real(kind=dp), intent(in) :: da9
real(kind=dp), intent(in) :: er
real(kind=dp), intent(out) :: yon

public subroutine river_route_phosphorus(cpp, da9, yph)

Arguments

Type IntentOptional AttributesName
real(kind=dp), intent(in) :: cpp
real(kind=dp), intent(in) :: da9
real(kind=dp), intent(out) :: yph

public subroutine river_transfer()

Arguments

None

public subroutine river_transmission_loss(j)

this is the time to empty the volume of water at the bankfull Q perform flood plain simulation increase Q in flood plain until all the volume can be emptied in one day 1 cm interval find the cross sectional area and depth for volrt 1 cm interval depth calculate width of channel at water level

Arguments

Type IntentOptional AttributesName
integer :: j

public subroutine river_travel_time_coefficients(qq1, q2, tt1, tt2, p1, pp2)

Arguments

Type IntentOptional AttributesName
real(kind=dp) :: qq1
real(kind=dp) :: q2
real(kind=dp) :: tt1
real(kind=dp) :: tt2
real(kind=dp) :: p1
real(kind=dp) :: pp2