et_turc Function

public function et_turc(sub, humi, mo, omega, ra, tx)

Arguments

Type IntentOptional AttributesName
integer, intent(in) :: sub
real(kind=dp), intent(in), dimension(:):: humi
integer, intent(in) :: mo
real(kind=dp), intent(in), dimension(12):: omega
real(kind=dp), intent(in), dimension(:):: ra
real(kind=dp), intent(in), dimension(:):: tx

Return Value real(kind=dp)


Called by

proc~~et_turc~~CalledByGraph proc~et_turc et_turc proc~reservoir_process reservoir_process proc~reservoir_process->proc~et_turc proc~time_process_day time_process_day proc~time_process_day->proc~reservoir_process 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


Source Code

  real(dp) function et_turc(sub, humi, mo, omega, ra, tx)
    real(dp), dimension(:), intent(in) :: humi
    integer, intent(in) :: mo
    real(dp), dimension(12), intent(in) :: omega
    real(dp), dimension(:), intent(in) :: ra
    real(dp), dimension(:), intent(in) :: tx
    ! calculates potential evapotranspiration in [mm]
    ! Turc-Ivanov method
    integer, intent(in) :: sub
    ET_Turc = 0.

    ! #### CALCULATE EVAPORATION from water surface
    ! TURC-IVANOV POTENTIAL EVAP
    if (tx(sub) .ge. 5.) then
      ET_Turc = 0.0031 * omega(mo) * (ra(sub) + 209.4) * (tx(sub) / (tx(sub) + 15.))
    else
      if (humi(sub) < 0. ) then
        ET_Turc = 0.000036 * (25. + tx(sub)) ** 2. * 35.
      else
        ET_Turc = 0.000036 * (25. + tx(sub)) ** 2. * (100. - humi(sub))
      end if
    end if

  end function et_turc