Oasis3-MCT
Data Types | Functions/Subroutines | Variables
mod_oasis_timer Module Reference

Performance timer methods. More...

Data Types

type  timer_details
 Storage for timer data. More...
 

Functions/Subroutines

subroutine, public oasis_timer_init (app, file, nt)
 Initializes the timer methods, called once in an application. More...
 
subroutine, public oasis_timer_start (timer_label, barrier)
 Start a timer. More...
 
subroutine, public oasis_timer_stop (timer_label)
 Stop a timer. More...
 
subroutine, public oasis_timer_print (timer_label)
 Print timers. More...
 
subroutine oasis_timer_c2i (tname, tid)
 Convert a timer name to the timer id number. More...
 

Variables

character(len=ic_med) app_name
 
character(len=ic_med) file_name
 
character(len=ic_med) file_hold
 
integer mtimer
 
type(timer_details), dimension(:), pointer timer
 
double precision, dimension(:), pointer sum_ctime
 
double precision, dimension(:), pointer sum_wtime
 
integer, dimension(:), pointer timer_count
 
integer ntimer
 
integer output_unit = 901
 
logical, save single_timer_header
 
character(len=1), parameter t_stopped = ' '
 
character(len=1), parameter t_running = '*'
 

Detailed Description

Performance timer methods.

This is used to measure the time consumed in specific parts of the code. Timers are defined by character strings that are stored in an internal datatype.

Function/Subroutine Documentation

◆ oasis_timer_c2i()

subroutine mod_oasis_timer::oasis_timer_c2i ( character(len=*), intent(in)  tname,
integer, intent(out)  tid 
)
private

Convert a timer name to the timer id number.

Parameters
[in]tnametimer name
[out]tidtimer id

Definition at line 681 of file mod_oasis_timer.F90.

◆ oasis_timer_init()

subroutine, public mod_oasis_timer::oasis_timer_init ( character (len=*), intent(in)  app,
character (len=*), intent(in)  file,
integer, intent(in)  nt 
)

Initializes the timer methods, called once in an application.

Parameters
[in]appname of application
[in]fileoutput filename
[in]ntnumber of timers

Definition at line 92 of file mod_oasis_timer.F90.

◆ oasis_timer_print()

subroutine, public mod_oasis_timer::oasis_timer_print ( character(len=*), intent(in), optional  timer_label)

Print timers.

Parameters
[in]timer_labelif unset, print all timers

Definition at line 222 of file mod_oasis_timer.F90.

◆ oasis_timer_start()

subroutine, public mod_oasis_timer::oasis_timer_start ( character(len=*), intent(in)  timer_label,
logical, intent(in), optional  barrier 
)

Start a timer.

Parameters
[in]timer_labeltimer name
[in]barrierflag to barrier this timer

Definition at line 134 of file mod_oasis_timer.F90.

◆ oasis_timer_stop()

subroutine, public mod_oasis_timer::oasis_timer_stop ( character(len=*), intent(in)  timer_label)

Stop a timer.

Parameters
[in]timer_labeltimer name

Definition at line 178 of file mod_oasis_timer.F90.

Variable Documentation

◆ app_name

character (len=ic_med) mod_oasis_timer::app_name
private

Definition at line 54 of file mod_oasis_timer.F90.

◆ file_hold

character (len=ic_med) mod_oasis_timer::file_hold
private

Definition at line 58 of file mod_oasis_timer.F90.

◆ file_name

character (len=ic_med) mod_oasis_timer::file_name
private

Definition at line 57 of file mod_oasis_timer.F90.

◆ mtimer

integer mod_oasis_timer::mtimer
private

Definition at line 72 of file mod_oasis_timer.F90.

◆ ntimer

integer mod_oasis_timer::ntimer
private

Definition at line 78 of file mod_oasis_timer.F90.

◆ output_unit

integer mod_oasis_timer::output_unit = 901
private

Definition at line 80 of file mod_oasis_timer.F90.

◆ single_timer_header

logical, save mod_oasis_timer::single_timer_header
private

Definition at line 81 of file mod_oasis_timer.F90.

◆ sum_ctime

double precision, dimension(:), pointer mod_oasis_timer::sum_ctime
private

Definition at line 74 of file mod_oasis_timer.F90.

◆ sum_wtime

double precision, dimension(:), pointer mod_oasis_timer::sum_wtime
private

Definition at line 75 of file mod_oasis_timer.F90.

◆ t_running

character(len=1), parameter mod_oasis_timer::t_running = '*'
private

Definition at line 83 of file mod_oasis_timer.F90.

◆ t_stopped

character(len=1), parameter mod_oasis_timer::t_stopped = ' '
private

Definition at line 82 of file mod_oasis_timer.F90.

◆ timer

type (timer_details), dimension(:), pointer mod_oasis_timer::timer
private

Definition at line 73 of file mod_oasis_timer.F90.

◆ timer_count

integer, dimension(:), pointer mod_oasis_timer::timer_count
private

Definition at line 76 of file mod_oasis_timer.F90.