1module m_object_debug
2
3  public :: set_object_debug_level, get_object_debug_level
4
5  integer, public :: debug_level  = 0
6  logical, public :: ok_to_print_debug_info = .false.
7
8  CONTAINS
9
10    subroutine set_object_debug_level(level)
11      integer, intent(in) :: level
12
13      debug_level = level
14      if (debug_level > 0) then
15         ok_to_print_debug_info = .true.
16      endif
17
18    end subroutine set_object_debug_level
19
20!--------------------
21    subroutine get_object_debug_level(level)
22      integer, intent(out) :: level
23
24      level = debug_level
25
26    end subroutine get_object_debug_level
27
28  end module m_object_debug
29!
30! Stand-alone function
31!
32  function print_debug_object_info() result(ok)
33    use m_object_debug, only: ok_to_print_debug_info
34    logical :: ok
35
36    ok = ok_to_print_debug_info
37
38  end function print_debug_object_info
39