ChannelDetachmentRate Function

private function ChannelDetachmentRate(flow, s, k, c) result(d)

compute sediment detachment rate per second in channel element (kg/s) using simplified approach by Sun et al. (2002).

References:

Sun, H., P. S. Cornish, and T. M. Daniell, Contour-based digital elevation modeling of watershed erosion and sedimentation: Erosion and sedimentation estimation tool (EROSET), Water Resour. Res., 38(11), 1233, doi:10.1029/2001WR000960, 2002.

Arguments

Type IntentOptional Attributes Name
real(kind=float), intent(in) :: flow

water discharge in channel (m3/s)

real(kind=float), intent(in) :: s

channel slope (m/m)

real(kind=float), intent(in) :: k

soil erodibility factor ((tons h) / (MJ mm))

real(kind=float), intent(in) :: c

crop and management factor (-)

Return Value real(kind=float)


Variables

Type Visibility Attributes Name Initial
real(kind=float), public, parameter :: alpha = 4300.
real(kind=float), public, parameter :: beta = 2.

Source Code

FUNCTION ChannelDetachmentRate &
!
(flow, s, k, c) &
!
RESULT (d)

!Arguments with intent in:
REAL (KIND = float), INTENT(IN) :: flow !!water discharge in channel (m3/s)
REAL (KIND = float), INTENT(IN) :: s !!channel slope (m/m)
REAL (KIND = float), INTENT(IN) :: k !!soil erodibility factor ((tons h) / (MJ mm))
REAL (KIND = float), INTENT(IN) :: c !!crop and management factor (-)

!local declarations:
REAL (KIND = float) :: d
REAL (KIND = float), PARAMETER :: alpha = 4300. 
REAL (KIND = float), PARAMETER :: beta  = 2.

!------------end of declaration------------------------------------------------

d = alpha * flow ** beta * s * k * c

RETURN
END FUNCTION ChannelDetachmentRate