construct_type_wrf_durner Module Function

module function construct_type_wrf_durner(input) result(property)

Arguments

Type IntentOptional Attributes Name
type(type_materials_wrf), intent(in) :: input

Return Value class(abst_wrf), allocatable


Source Code

    module function construct_type_wrf_durner(input) result(property)
        implicit none
        type(type_materials_wrf), intent(in) :: input
        class(abst_wrf), allocatable :: property

        if (allocated(property)) deallocate (property)
        allocate (type_wrf_durner :: property)

        select type (this => property)
        type is (type_wrf_durner)
            this%theta_r = input%theta_r
            this%theta_s = input%theta_s
            this%alpha1 = input%alpha1
            this%n1 = input%n1
            this%m1 = 1.0d0 - 1.0d0 / this%n1
            this%w1 = input%w1
            this%alpha2 = input%alpha2
            this%n2 = input%n2
            this%m2 = 1.0d0 - 1.0d0 / this%n2
            this%w2 = 1.0d0 - this%w1
        end select

    end function construct_type_wrf_durner