river_erosion_enritchment_ratio Subroutine

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

Called by

proc~~river_erosion_enritchment_ratio~~CalledByGraph proc~river_erosion_enritchment_ratio river_erosion_enritchment_ratio proc~river_route river_route proc~river_route->proc~river_erosion_enritchment_ratio proc~time_process_day time_process_day proc~time_process_day->proc~river_route 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

Contents


Source Code

  subroutine river_erosion_enritchment_ratio(inum1, da9, er, yd)
    !**** THIS SUBROUTINE CALCULATES ENRICHMENT RATIO
    !**** CALLED IN: ROUTE
    !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    !      PARAMETERS & VARIABLES
    !
    !       >>>>> COMMON PARAMETERS & VARIABLES
    !       da9 = drainage area, ha
    !       er = enrichment coefficient
    !       sdtsav(ir) = water storage in the reach, m3
    !       xxqd = surface flow - daily input in reaches, m3
    !       ydi = yd, daily soil loss caused by water erosion, t,
    !                    in route before call river_route_erosion
    !       yd = daily soil loss caused by water erosion, t, recalc in river_route_erosion
    !       >>>>>

    !       >>>>> STATIC PARAMETERS
    !       cy = local par
    !       dr = local par
    !       qdin = inflow + watre storage
    !       x1 = local par
    !       x2 = local par
    !       >>>>>
    !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    !**** Include common parameters

    real(dp), intent(in) :: da9
    real(dp), intent(inout) :: er
    real(dp), intent(in) :: yd
    integer inum1
    real(dp) cy, dr, qdin, x1, x2

    qdin = xxqd + sdtsav(inum1)
    if (qdin .le. 0.1E-20) return

    !**** CALC enrichment coefficient
    dr = yd / (ydi + 1.e-10)
    if (dr .le. 0.01) dr = .01
    if (dr .ge. 10.) dr = 10.
    cy = 100000. * ydi / (da9 * qdin)
    x2 = - log10(dr) / 2.699
    x1 = 1. / .25 ** x2
    er = x1 * (cy + 1.e-10) ** x2
    if (er .lt. 1.) er = 1.
    if (er .gt. 3.) er = 3.

    return
  end subroutine river_erosion_enritchment_ratio