calculate_wrf_bc_derivative Module Function

module function calculate_wrf_bc_derivative(self, h) result(dqw_dh)

Arguments

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

Return Value real(kind=real64)


Source Code

    module function calculate_wrf_bc_derivative(self, h) result(dqw_dh)
        implicit none
        class(type_wrf_bc), intent(in) :: self
        real(real64), intent(in) :: h
        real(real64) :: dqw_dh

        !@note alpha1 must be negative
        if (h < self%alpha1) then
            dqw_dh = -(self%theta_s - self%theta_r) * self%n1 * (self%alpha1 / h)**(self%n1 + 1.0d0) / self%alpha1
        else
            dqw_dh = 0.0d0
        end if
    end function calculate_wrf_bc_derivative