module interface2
implicit none

abstract interface
    subroutine read_params(this, params)
    import
    class(porous_drag_model), intent(inout) :: this
    type(parameter_list), pointer, intent(in) :: params
    end subroutine read_params
end interface

interface assignment (=)
    module procedure SomeProc
    procedure SomeProc2
    procedure SomeProc3
end interface assignment (=)

end module interface2
