diff --git a/src/DEPENDENCIES b/src/DEPENDENCIES index 5baa9fc3dd..30361bffa7 100644 --- a/src/DEPENDENCIES +++ b/src/DEPENDENCIES @@ -65,6 +65,7 @@ initialize.o: mpi_routines.o initialize.o: output.o initialize.o: source.o initialize.o: string.o +initialize.o: timing.o input_old.o: constants.o input_old.o: datatypes.o diff --git a/src/initialize.f90 b/src/initialize.f90 index f5d67997f2..88084d0992 100644 --- a/src/initialize.f90 +++ b/src/initialize.f90 @@ -18,6 +18,7 @@ module initialize print_particle, header use source, only: init_source use string, only: int_to_str + use timing, only: timer_start, timer_stop contains @@ -29,9 +30,12 @@ contains !=============================================================================== subroutine initialize_run() - + type(Universe), pointer :: univ + ! Start initialization timer + call timer_start(time_init) + ! Setup MPI call setup_mpi() @@ -98,6 +102,9 @@ contains call print_summary() end if + ! Stop initialization timer + call timer_stop(time_init) + end subroutine initialize_run !=============================================================================== diff --git a/src/main.f90 b/src/main.f90 index c9eb05d01f..bf4eeee771 100644 --- a/src/main.f90 +++ b/src/main.f90 @@ -23,9 +23,7 @@ program main call timer_start(time_total) ! set up problem - call timer_start(time_init) call initialize_run() - call timer_stop(time_init) ! start problem call run_problem() diff --git a/src/timing.f90 b/src/timing.f90 index 92bcb571c8..f6e91c0583 100644 --- a/src/timing.f90 +++ b/src/timing.f90 @@ -14,11 +14,11 @@ module timing logical :: running = .false. ! is timer running? integer :: start_counts = 0 ! counts when started real(8) :: elapsed = 0. ! total time elapsed in seconds - contains - procedure :: start => timer_start - procedure :: get_value => timer_get_value - procedure :: stop => timer_stop - procedure :: reset => timer_reset +!!$ contains +!!$ procedure :: start => timer_start +!!$ procedure :: get_value => timer_get_value +!!$ procedure :: stop => timer_stop +!!$ procedure :: reset => timer_reset end type Timer contains @@ -29,7 +29,7 @@ contains subroutine timer_start(self) - class(Timer), intent(inout) :: self + type(Timer), intent(inout) :: self ! Turn timer on and measure starting time self % running = .true. @@ -43,7 +43,7 @@ contains function timer_get_value(self) result(elapsed) - class(Timer), intent(in) :: self ! the timer + type(Timer), intent(in) :: self ! the timer real(8) :: elapsed ! total elapsed time integer :: end_counts ! current number of counts @@ -66,13 +66,13 @@ contains subroutine timer_stop(self) - class(Timer), intent(inout) :: self + type(Timer), intent(inout) :: self ! Check to make sure timer was running if (.not. self % running) return ! Stop timer and add time - self % elapsed = self % get_value() + self % elapsed = timer_get_value(self) self % running = .false. end subroutine timer_stop @@ -83,7 +83,7 @@ contains subroutine timer_reset(self) - class(Timer), intent(inout) :: self + type(Timer), intent(inout) :: self self % running = .false. self % start_counts = 0