PROGRESS  master
prg_progress_mod.F90
Go to the documentation of this file.
1 
3 !
4 !
5 
7 
8  use bml
10  use prg_timer_mod
11 
12  implicit none
13 
14  private !Everything is private by default
15 
16  integer, parameter :: dp = kind(1.0d0)
17 
18  public :: prg_version
19  public :: prg_progress_init
20  public :: prg_progress_shutdown
21 
22 contains
23 
25  subroutine prg_version()
26  character (len=:), allocatable :: astring
27 
28 #ifdef PROJECT_VERSION
29  astring = project_version
30 #else
31  astring = "Unknown"
32 #endif
33 
34  write(6,*) 'QMD-PROGRESS and BML are used!'
35  write(6,*) 'QMD-PROGRESS VERSION: ', astring
36  call bml_print_version()
37  write(6,*)
38 
39  end subroutine prg_version
40 
42  subroutine prg_progress_init()
43 
44  ! Initialize MPI
45  call prg_initparallel()
46 
47  ! Initialize timers
48  call timer_prg_init()
50 
51  end subroutine prg_progress_init
52 
54  subroutine prg_progress_shutdown()
55 
56  ! Timer report and finalize
58  call prg_timer_results()
59  call prg_timer_shutdown()
60 
61  ! Finalize MPI
63 
64  end subroutine prg_progress_shutdown
65 
66 end module prg_progress_mod
The parallel module.
subroutine, public prg_shutdownparallel()
integer, parameter dp
subroutine, public prg_initparallel()
The progress module.
subroutine, public prg_progress_init()
Initialize progress.
subroutine, public prg_version()
Print PROGRESS and BML versions.
subroutine, public prg_progress_shutdown()
Shutdown progress.
The timer module.
integer, public loop_timer
subroutine, public prg_timer_results()
subroutine, public prg_timer_shutdown()
Done with timers.
subroutine, public timer_prg_init()
Initialize timers.
subroutine, public prg_timer_start(itimer, tag)
Start Timing.
subroutine, public prg_timer_stop(itimer, verbose)
Stop timing.