type_time Derived Type

type, public :: type_time


Inherits

type~~type_time~~InheritsGraph type~type_time type_time type~type_profiler_section type_profiler_section type~type_time->type~type_profiler_section sections type~type_time_record type_time_record type~type_time->type~type_time_record start, end

Inherited by

type~~type_time~~InheritedByGraph type~type_time type_time type~type_ftdss type_ftdss type~type_ftdss->type~type_time time

Components

Type Visibility Attributes Name Initial
real(kind=real64), public :: dt
real(kind=real64), public :: dt_max
real(kind=real64), public :: dt_min
real(kind=real64), public, allocatable :: dt_old(:)
type(type_time_record), public :: end
real(kind=real64), public :: end_time
type(type_profiler_section), public, allocatable :: sections(:)
type(type_time_record), public :: start
real(kind=real64), public :: start_time
integer(kind=int32), public :: tick_rate = 0
real(kind=real64), public :: time
real(kind=real64), public :: time_old

Type-Bound Procedures

procedure, public, pass(self) :: initialize => initialize_type_time

  • private subroutine initialize_type_time(self, input, profiler_sections)

    Arguments

    Type IntentOptional Attributes Name
    class(type_time), intent(inout) :: self
    type(type_input), intent(in), optional :: input
    character(len=*), intent(in), optional :: profiler_sections(:)

procedure, public, pass(self) :: profile_start => profile_start_timer

  • private subroutine profile_start_timer(self, label)

    Arguments

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

procedure, public, pass(self) :: profile_stop => profile_stop_timer

  • private subroutine profile_stop_timer(self, label)

    Arguments

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

procedure, public, pass(self) :: record => record_timestamp

  • private subroutine record_timestamp(self, label)

    Arguments

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

Source Code

    type :: type_time
        real(real64) :: start_time
        real(real64) :: end_time
        real(real64) :: time
        real(real64) :: time_old
        real(real64) :: dt
        real(real64), allocatable :: dt_old(:)
        real(real64) :: dt_min
        real(real64) :: dt_max
        type(type_time_record) :: start
        type(type_time_record) :: end
        type(type_profiler_section), allocatable :: sections(:)
#ifndef _OPENMP
        integer(int32) :: tick_rate = 0
#endif
    contains
        procedure, public, pass(self) :: initialize    => initialize_type_time !&
        procedure, public, pass(self) :: record        => record_timestamp !&
        procedure, public, pass(self) :: profile_start => profile_start_timer !&
        procedure, public, pass(self) :: profile_stop  => profile_stop_timer !&
    end type type_time