calculate_wrf_ko Module Function

module function calculate_wrf_ko(self, h) result(theta_w)

Arguments

Type IntentOptional Attributes Name
class(type_wrf_ko), intent(in) :: self
real(kind=real64), intent(in) :: h

Return Value real(kind=real64)


Source Code

    module function calculate_wrf_ko(self, h) result(theta_w)
        implicit none
        class(type_wrf_ko), intent(in) :: self
        real(real64), intent(in) :: h
        real(real64) :: theta_w

        if (h < 0.0d0) then
            theta_w = self%theta_r + (self%theta_s - self%theta_r) * 0.5d0 * erfc(log(h / self%alpha1) / (self%n1 * sqrt(2.0d0)))
        else
            theta_w = self%theta_s
        end if

    end function calculate_wrf_ko