profile_stop_timer Subroutine

private subroutine profile_stop_timer(self, label)

Type Bound

type_time

Arguments

Type IntentOptional Attributes Name
class(type_time), intent(inout) :: self
character(len=*), intent(in) :: label

Calls

proc~~profile_stop_timer~~CallsGraph proc~profile_stop_timer type_time%profile_stop_timer proc~error_message error_message proc~profile_stop_timer->proc~error_message proc~get_current_time get_current_time proc~profile_stop_timer->proc~get_current_time log_error log_error proc~error_message->log_error

Called by

proc~~profile_stop_timer~~CalledByGraph proc~profile_stop_timer type_time%profile_stop_timer proc~compute_type_hydraulic_crs compute_type_hydraulic_crs proc~compute_type_hydraulic_crs->proc~profile_stop_timer proc~compute_type_thermal_crs compute_type_thermal_crs proc~compute_type_thermal_crs->proc~profile_stop_timer proc~initialize_type_ftdss type_ftdss%initialize_type_ftdss proc~initialize_type_ftdss->proc~profile_stop_timer interface~compute_type_hydraulic_crs type_hydraulic_crs%compute_type_hydraulic_crs interface~compute_type_hydraulic_crs->proc~compute_type_hydraulic_crs interface~compute_type_thermal_crs type_thermal_crs%compute_type_thermal_crs interface~compute_type_thermal_crs->proc~compute_type_thermal_crs

Source Code

    subroutine profile_stop_timer(self, label)
        implicit none
        class(type_time), intent(inout) :: self
        character(*), intent(in) :: label
        integer(int32) :: i
        real(real64) :: end_time

        end_time = get_current_time()

        do i = 1, size(self%sections)
            if (trim(self%sections(i)%label) == trim(label)) then
                self%sections(i)%total_time = self%sections(i)%total_time + &
                                              (end_time - self%sections(i)%start_time)
                return
            end if
        end do

        call error_message(982, c_opt=label)
    end subroutine profile_stop_timer