MODFLOW 6  version 6.7.0.dev0
USGS Modular Hydrologic Model
profilermodule::profilertype Type Reference

A public type for profiling performance in the application. The ProfilerType is used to measure and record the performance of various parts of the application. It provides mechanisms to start, stop, and. More...

Collaboration diagram for profilermodule::profilertype:
Collaboration graph

Public Member Functions

procedure initialize
 
procedure add_section
 
procedure start
 
procedure stop
 
procedure print
 
procedure destroy
 
procedure is_initialized
 
procedure set_print_option
 

Public Attributes

integer(i4b) tmr_run
 handle to timed section "Run" More...
 
integer(i4b) tmr_init
 handle to timed section "Initialize" More...
 
integer(i4b) tmr_update
 handle to timed section "Update" More...
 
integer(i4b) tmr_finalize
 handle to timed section "Finalize" More...
 
integer(i4b) tmr_prep_tstp
 handle to timed section "Prepare time step" More...
 
integer(i4b) tmr_do_tstp
 handle to timed section "Do time step" More...
 
integer(i4b) tmr_final_tstp
 handle to timed section "Finalize time step" More...
 
integer(i4b) tmr_output
 handle to timed section "Write output" More...
 
integer(i4b) tmr_nc_export
 handle to timed section "NetCDF export" More...
 
type(measuredsectiontype), dimension(:), pointer all_sections => null()
 all timed sections (up to MAX_NR_TIMED_SECTIONS) More...
 
type(stlstackintcallstack
 call stack of section ids More...
 

Private Member Functions

procedure, private print_section
 
procedure, private print_total
 
procedure, private aggregate_walltime
 
procedure, private aggregate_counts
 
procedure, private largest_title_length
 
procedure, private sort_by_walltime
 

Private Attributes

integer(i4b), private iout
 output unit number, typically simulation listing file More...
 
integer(i4b), private pr_option
 0 = NONE, 1 = SUMMARY, 2 = DETAIL More...
 
integer(i4b), private nr_sections
 number of sections More...
 
integer(i4b), dimension(3), private top_three
 top three leaf sections based on walltime More...
 
integer(i4b), private max_title_len
 maximum title length More...
 
integer(i4b), private root_id
 currently only one root section is supported, this is the id More...
 

Detailed Description

Definition at line 27 of file Profiler.f90.

Member Function/Subroutine Documentation

◆ add_section()

procedure profilermodule::profilertype::add_section

Definition at line 49 of file Profiler.f90.

◆ aggregate_counts()

procedure, private profilermodule::profilertype::aggregate_counts
private

Definition at line 60 of file Profiler.f90.

◆ aggregate_walltime()

procedure, private profilermodule::profilertype::aggregate_walltime
private

Definition at line 59 of file Profiler.f90.

◆ destroy()

procedure profilermodule::profilertype::destroy

Definition at line 53 of file Profiler.f90.

◆ initialize()

procedure profilermodule::profilertype::initialize

Definition at line 48 of file Profiler.f90.

◆ is_initialized()

procedure profilermodule::profilertype::is_initialized

Definition at line 54 of file Profiler.f90.

◆ largest_title_length()

procedure, private profilermodule::profilertype::largest_title_length
private

Definition at line 61 of file Profiler.f90.

◆ print()

procedure profilermodule::profilertype::print

Definition at line 52 of file Profiler.f90.

◆ print_section()

procedure, private profilermodule::profilertype::print_section
private

Definition at line 57 of file Profiler.f90.

◆ print_total()

procedure, private profilermodule::profilertype::print_total
private

Definition at line 58 of file Profiler.f90.

◆ set_print_option()

procedure profilermodule::profilertype::set_print_option

Definition at line 55 of file Profiler.f90.

◆ sort_by_walltime()

procedure, private profilermodule::profilertype::sort_by_walltime
private

Definition at line 62 of file Profiler.f90.

◆ start()

procedure profilermodule::profilertype::start

Definition at line 50 of file Profiler.f90.

◆ stop()

procedure profilermodule::profilertype::stop

Definition at line 51 of file Profiler.f90.

Member Data Documentation

◆ all_sections

type(measuredsectiontype), dimension(:), pointer profilermodule::profilertype::all_sections => null()

Definition at line 45 of file Profiler.f90.

45  type(MeasuredSectionType), dimension(:), pointer :: all_sections => null() !< all timed sections (up to MAX_NR_TIMED_SECTIONS)

◆ callstack

type(stlstackint) profilermodule::profilertype::callstack

Definition at line 46 of file Profiler.f90.

46  type(STLStackInt) :: callstack !< call stack of section ids

◆ iout

integer(i4b), private profilermodule::profilertype::iout
private

Definition at line 39 of file Profiler.f90.

39  integer(I4B), private :: iout !< output unit number, typically simulation listing file

◆ max_title_len

integer(i4b), private profilermodule::profilertype::max_title_len
private

Definition at line 43 of file Profiler.f90.

43  integer(I4B), private :: max_title_len !< maximum title length

◆ nr_sections

integer(i4b), private profilermodule::profilertype::nr_sections
private

Definition at line 41 of file Profiler.f90.

41  integer(I4B), private :: nr_sections !< number of sections

◆ pr_option

integer(i4b), private profilermodule::profilertype::pr_option
private

Definition at line 40 of file Profiler.f90.

40  integer(I4B), private :: pr_option !< 0 = NONE, 1 = SUMMARY, 2 = DETAIL

◆ root_id

integer(i4b), private profilermodule::profilertype::root_id
private

Definition at line 44 of file Profiler.f90.

44  integer(I4B), private :: root_id !< currently only one root section is supported, this is the id

◆ tmr_do_tstp

integer(i4b) profilermodule::profilertype::tmr_do_tstp

Definition at line 34 of file Profiler.f90.

34  integer(I4B) :: tmr_do_tstp !< handle to timed section "Do time step"

◆ tmr_final_tstp

integer(i4b) profilermodule::profilertype::tmr_final_tstp

Definition at line 35 of file Profiler.f90.

35  integer(I4B) :: tmr_final_tstp !< handle to timed section "Finalize time step"

◆ tmr_finalize

integer(i4b) profilermodule::profilertype::tmr_finalize

Definition at line 32 of file Profiler.f90.

32  integer(I4B) :: tmr_finalize !< handle to timed section "Finalize"

◆ tmr_init

integer(i4b) profilermodule::profilertype::tmr_init

Definition at line 30 of file Profiler.f90.

30  integer(I4B) :: tmr_init !< handle to timed section "Initialize"

◆ tmr_nc_export

integer(i4b) profilermodule::profilertype::tmr_nc_export

Definition at line 37 of file Profiler.f90.

37  integer(I4B) :: tmr_nc_export !< handle to timed section "NetCDF export"

◆ tmr_output

integer(i4b) profilermodule::profilertype::tmr_output

Definition at line 36 of file Profiler.f90.

36  integer(I4B) :: tmr_output !< handle to timed section "Write output"

◆ tmr_prep_tstp

integer(i4b) profilermodule::profilertype::tmr_prep_tstp

Definition at line 33 of file Profiler.f90.

33  integer(I4B) :: tmr_prep_tstp !< handle to timed section "Prepare time step"

◆ tmr_run

integer(i4b) profilermodule::profilertype::tmr_run

Definition at line 29 of file Profiler.f90.

29  integer(I4B) :: tmr_run !< handle to timed section "Run"

◆ tmr_update

integer(i4b) profilermodule::profilertype::tmr_update

Definition at line 31 of file Profiler.f90.

31  integer(I4B) :: tmr_update !< handle to timed section "Update"

◆ top_three

integer(i4b), dimension(3), private profilermodule::profilertype::top_three
private

Definition at line 42 of file Profiler.f90.

42  integer(I4B), private, dimension(3) :: top_three !< top three leaf sections based on walltime

The documentation for this type was generated from the following file: