Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
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 |
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