\hypertarget{namespacemod__oasis__timer}{}\section{mod\+\_\+oasis\+\_\+timer Module Reference}
\label{namespacemod__oasis__timer}\index{mod\+\_\+oasis\+\_\+timer@{mod\+\_\+oasis\+\_\+timer}}


Performance timer methods.  


\subsection*{Data Types}
\begin{DoxyCompactItemize}
\item 
type \hyperlink{structmod__oasis__timer_1_1timer__details}{timer\+\_\+details}
\begin{DoxyCompactList}\small\item\em Storage for timer data. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Functions/\+Subroutines}
\begin{DoxyCompactItemize}
\item 
subroutine, public \hyperlink{namespacemod__oasis__timer_a44a1bb64d1d892a9710d8c94d0ed0e3a}{oasis\+\_\+timer\+\_\+init} (app, file, nt)
\begin{DoxyCompactList}\small\item\em Initializes the timer methods, called once in an application. \end{DoxyCompactList}\item 
subroutine, public \hyperlink{namespacemod__oasis__timer_a13a16c07778911b45f3f42a542348019}{oasis\+\_\+timer\+\_\+start} (timer\+\_\+label, barrier)
\begin{DoxyCompactList}\small\item\em Start a timer. \end{DoxyCompactList}\item 
subroutine, public \hyperlink{namespacemod__oasis__timer_a01a76142a72cc6bc845736e79ad99bd3}{oasis\+\_\+timer\+\_\+stop} (timer\+\_\+label)
\begin{DoxyCompactList}\small\item\em Stop a timer. \end{DoxyCompactList}\item 
subroutine, public \hyperlink{namespacemod__oasis__timer_a3071ad54f61d88f16ad98ad7c0303915}{oasis\+\_\+timer\+\_\+print} (timer\+\_\+label)
\begin{DoxyCompactList}\small\item\em Print timers. \end{DoxyCompactList}\item 
subroutine \hyperlink{namespacemod__oasis__timer_a23df8ae4894ac3fde178fe17292b317b}{oasis\+\_\+timer\+\_\+c2i} (tname, tid)
\begin{DoxyCompactList}\small\item\em Convert a timer name to the timer id number. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Variables}
\begin{DoxyCompactItemize}
\item 
character(len=ic\+\_\+med) \hyperlink{namespacemod__oasis__timer_ad73dfe7213bbfab6212b9617000f4ce3}{app\+\_\+name}
\item 
character(len=ic\+\_\+med) \hyperlink{namespacemod__oasis__timer_a12dc3f95f8178d2ea46037a33da0e823}{file\+\_\+name}
\item 
character(len=ic\+\_\+med) \hyperlink{namespacemod__oasis__timer_a25a9f5f978c475475b48d782c4ad279c}{file\+\_\+hold}
\item 
integer \hyperlink{namespacemod__oasis__timer_acb04b78110e512ad551f7a500af70ef7}{mtimer}
\item 
type(\hyperlink{structmod__oasis__timer_1_1timer__details}{timer\+\_\+details}), dimension(\+:), pointer \hyperlink{namespacemod__oasis__timer_a8a4b64983bdf68b795ab2112bc02b8bc}{timer}
\item 
double precision, dimension(\+:), pointer \hyperlink{namespacemod__oasis__timer_a88e3c8171551da0ee64d10270484f6bf}{sum\+\_\+ctime}
\item 
double precision, dimension(\+:), pointer \hyperlink{namespacemod__oasis__timer_ab4d27b8be5c21939ab8d8e32d5582e9e}{sum\+\_\+wtime}
\item 
integer, dimension(\+:), pointer \hyperlink{namespacemod__oasis__timer_a225db1b2b8bd57f0567d37b5c4d00ca3}{timer\+\_\+count}
\item 
integer \hyperlink{namespacemod__oasis__timer_aa92116f5ed11fd498b11b37e368e7b72}{ntimer}
\item 
integer \hyperlink{namespacemod__oasis__timer_a80e0bc610eb9e9b0aa07e926d5a9fde8}{output\+\_\+unit} = 901
\item 
logical, save \hyperlink{namespacemod__oasis__timer_a3733877ab9fa9d07df0ff70f21cd08b0}{single\+\_\+timer\+\_\+header}
\item 
character(len=1), parameter \hyperlink{namespacemod__oasis__timer_aceca66a08f073eb12f2643edc7c400fe}{t\+\_\+stopped} = \textquotesingle{} \textquotesingle{}
\item 
character(len=1), parameter \hyperlink{namespacemod__oasis__timer_a110185cdca99e2889419692182b0440a}{t\+\_\+running} = \textquotesingle{}$\ast$\textquotesingle{}
\end{DoxyCompactItemize}


\subsection{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. 

\subsection{Function/\+Subroutine Documentation}
\mbox{\Hypertarget{namespacemod__oasis__timer_a23df8ae4894ac3fde178fe17292b317b}\label{namespacemod__oasis__timer_a23df8ae4894ac3fde178fe17292b317b}} 
\index{mod\+\_\+oasis\+\_\+timer@{mod\+\_\+oasis\+\_\+timer}!oasis\+\_\+timer\+\_\+c2i@{oasis\+\_\+timer\+\_\+c2i}}
\index{oasis\+\_\+timer\+\_\+c2i@{oasis\+\_\+timer\+\_\+c2i}!mod\+\_\+oasis\+\_\+timer@{mod\+\_\+oasis\+\_\+timer}}
\subsubsection{\texorpdfstring{oasis\+\_\+timer\+\_\+c2i()}{oasis\_timer\_c2i()}}
{\footnotesize\ttfamily subroutine mod\+\_\+oasis\+\_\+timer\+::oasis\+\_\+timer\+\_\+c2i (\begin{DoxyParamCaption}\item[{character(len=$\ast$), intent(in)}]{tname,  }\item[{integer, intent(out)}]{tid }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Convert a timer name to the timer id number. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em tname} & timer name\\
\hline
\mbox{\tt out}  & {\em tid} & timer id \\
\hline
\end{DoxyParams}


Definition at line 681 of file mod\+\_\+oasis\+\_\+timer.\+F90.

\mbox{\Hypertarget{namespacemod__oasis__timer_a44a1bb64d1d892a9710d8c94d0ed0e3a}\label{namespacemod__oasis__timer_a44a1bb64d1d892a9710d8c94d0ed0e3a}} 
\index{mod\+\_\+oasis\+\_\+timer@{mod\+\_\+oasis\+\_\+timer}!oasis\+\_\+timer\+\_\+init@{oasis\+\_\+timer\+\_\+init}}
\index{oasis\+\_\+timer\+\_\+init@{oasis\+\_\+timer\+\_\+init}!mod\+\_\+oasis\+\_\+timer@{mod\+\_\+oasis\+\_\+timer}}
\subsubsection{\texorpdfstring{oasis\+\_\+timer\+\_\+init()}{oasis\_timer\_init()}}
{\footnotesize\ttfamily subroutine, public mod\+\_\+oasis\+\_\+timer\+::oasis\+\_\+timer\+\_\+init (\begin{DoxyParamCaption}\item[{character (len=$\ast$), intent(in)}]{app,  }\item[{character (len=$\ast$), intent(in)}]{file,  }\item[{integer, intent(in)}]{nt }\end{DoxyParamCaption})}



Initializes the timer methods, called once in an application. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em app} & name of application\\
\hline
\mbox{\tt in}  & {\em file} & output filename\\
\hline
\mbox{\tt in}  & {\em nt} & number of timers \\
\hline
\end{DoxyParams}


Definition at line 92 of file mod\+\_\+oasis\+\_\+timer.\+F90.

\mbox{\Hypertarget{namespacemod__oasis__timer_a3071ad54f61d88f16ad98ad7c0303915}\label{namespacemod__oasis__timer_a3071ad54f61d88f16ad98ad7c0303915}} 
\index{mod\+\_\+oasis\+\_\+timer@{mod\+\_\+oasis\+\_\+timer}!oasis\+\_\+timer\+\_\+print@{oasis\+\_\+timer\+\_\+print}}
\index{oasis\+\_\+timer\+\_\+print@{oasis\+\_\+timer\+\_\+print}!mod\+\_\+oasis\+\_\+timer@{mod\+\_\+oasis\+\_\+timer}}
\subsubsection{\texorpdfstring{oasis\+\_\+timer\+\_\+print()}{oasis\_timer\_print()}}
{\footnotesize\ttfamily subroutine, public mod\+\_\+oasis\+\_\+timer\+::oasis\+\_\+timer\+\_\+print (\begin{DoxyParamCaption}\item[{character(len=$\ast$), intent(in), optional}]{timer\+\_\+label }\end{DoxyParamCaption})}



Print timers. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em timer\+\_\+label} & if unset, print all timers \\
\hline
\end{DoxyParams}


Definition at line 222 of file mod\+\_\+oasis\+\_\+timer.\+F90.

\mbox{\Hypertarget{namespacemod__oasis__timer_a13a16c07778911b45f3f42a542348019}\label{namespacemod__oasis__timer_a13a16c07778911b45f3f42a542348019}} 
\index{mod\+\_\+oasis\+\_\+timer@{mod\+\_\+oasis\+\_\+timer}!oasis\+\_\+timer\+\_\+start@{oasis\+\_\+timer\+\_\+start}}
\index{oasis\+\_\+timer\+\_\+start@{oasis\+\_\+timer\+\_\+start}!mod\+\_\+oasis\+\_\+timer@{mod\+\_\+oasis\+\_\+timer}}
\subsubsection{\texorpdfstring{oasis\+\_\+timer\+\_\+start()}{oasis\_timer\_start()}}
{\footnotesize\ttfamily subroutine, public mod\+\_\+oasis\+\_\+timer\+::oasis\+\_\+timer\+\_\+start (\begin{DoxyParamCaption}\item[{character(len=$\ast$), intent(in)}]{timer\+\_\+label,  }\item[{logical, intent(in), optional}]{barrier }\end{DoxyParamCaption})}



Start a timer. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em timer\+\_\+label} & timer name\\
\hline
\mbox{\tt in}  & {\em barrier} & flag to barrier this timer \\
\hline
\end{DoxyParams}


Definition at line 134 of file mod\+\_\+oasis\+\_\+timer.\+F90.

\mbox{\Hypertarget{namespacemod__oasis__timer_a01a76142a72cc6bc845736e79ad99bd3}\label{namespacemod__oasis__timer_a01a76142a72cc6bc845736e79ad99bd3}} 
\index{mod\+\_\+oasis\+\_\+timer@{mod\+\_\+oasis\+\_\+timer}!oasis\+\_\+timer\+\_\+stop@{oasis\+\_\+timer\+\_\+stop}}
\index{oasis\+\_\+timer\+\_\+stop@{oasis\+\_\+timer\+\_\+stop}!mod\+\_\+oasis\+\_\+timer@{mod\+\_\+oasis\+\_\+timer}}
\subsubsection{\texorpdfstring{oasis\+\_\+timer\+\_\+stop()}{oasis\_timer\_stop()}}
{\footnotesize\ttfamily subroutine, public mod\+\_\+oasis\+\_\+timer\+::oasis\+\_\+timer\+\_\+stop (\begin{DoxyParamCaption}\item[{character(len=$\ast$), intent(in)}]{timer\+\_\+label }\end{DoxyParamCaption})}



Stop a timer. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em timer\+\_\+label} & timer name \\
\hline
\end{DoxyParams}


Definition at line 178 of file mod\+\_\+oasis\+\_\+timer.\+F90.



\subsection{Variable Documentation}
\mbox{\Hypertarget{namespacemod__oasis__timer_ad73dfe7213bbfab6212b9617000f4ce3}\label{namespacemod__oasis__timer_ad73dfe7213bbfab6212b9617000f4ce3}} 
\index{mod\+\_\+oasis\+\_\+timer@{mod\+\_\+oasis\+\_\+timer}!app\+\_\+name@{app\+\_\+name}}
\index{app\+\_\+name@{app\+\_\+name}!mod\+\_\+oasis\+\_\+timer@{mod\+\_\+oasis\+\_\+timer}}
\subsubsection{\texorpdfstring{app\+\_\+name}{app\_name}}
{\footnotesize\ttfamily character (len=ic\+\_\+med) mod\+\_\+oasis\+\_\+timer\+::app\+\_\+name\hspace{0.3cm}{\ttfamily [private]}}



Definition at line 54 of file mod\+\_\+oasis\+\_\+timer.\+F90.

\mbox{\Hypertarget{namespacemod__oasis__timer_a25a9f5f978c475475b48d782c4ad279c}\label{namespacemod__oasis__timer_a25a9f5f978c475475b48d782c4ad279c}} 
\index{mod\+\_\+oasis\+\_\+timer@{mod\+\_\+oasis\+\_\+timer}!file\+\_\+hold@{file\+\_\+hold}}
\index{file\+\_\+hold@{file\+\_\+hold}!mod\+\_\+oasis\+\_\+timer@{mod\+\_\+oasis\+\_\+timer}}
\subsubsection{\texorpdfstring{file\+\_\+hold}{file\_hold}}
{\footnotesize\ttfamily character (len=ic\+\_\+med) mod\+\_\+oasis\+\_\+timer\+::file\+\_\+hold\hspace{0.3cm}{\ttfamily [private]}}



Definition at line 58 of file mod\+\_\+oasis\+\_\+timer.\+F90.

\mbox{\Hypertarget{namespacemod__oasis__timer_a12dc3f95f8178d2ea46037a33da0e823}\label{namespacemod__oasis__timer_a12dc3f95f8178d2ea46037a33da0e823}} 
\index{mod\+\_\+oasis\+\_\+timer@{mod\+\_\+oasis\+\_\+timer}!file\+\_\+name@{file\+\_\+name}}
\index{file\+\_\+name@{file\+\_\+name}!mod\+\_\+oasis\+\_\+timer@{mod\+\_\+oasis\+\_\+timer}}
\subsubsection{\texorpdfstring{file\+\_\+name}{file\_name}}
{\footnotesize\ttfamily character (len=ic\+\_\+med) mod\+\_\+oasis\+\_\+timer\+::file\+\_\+name\hspace{0.3cm}{\ttfamily [private]}}



Definition at line 57 of file mod\+\_\+oasis\+\_\+timer.\+F90.

\mbox{\Hypertarget{namespacemod__oasis__timer_acb04b78110e512ad551f7a500af70ef7}\label{namespacemod__oasis__timer_acb04b78110e512ad551f7a500af70ef7}} 
\index{mod\+\_\+oasis\+\_\+timer@{mod\+\_\+oasis\+\_\+timer}!mtimer@{mtimer}}
\index{mtimer@{mtimer}!mod\+\_\+oasis\+\_\+timer@{mod\+\_\+oasis\+\_\+timer}}
\subsubsection{\texorpdfstring{mtimer}{mtimer}}
{\footnotesize\ttfamily integer mod\+\_\+oasis\+\_\+timer\+::mtimer\hspace{0.3cm}{\ttfamily [private]}}



Definition at line 72 of file mod\+\_\+oasis\+\_\+timer.\+F90.

\mbox{\Hypertarget{namespacemod__oasis__timer_aa92116f5ed11fd498b11b37e368e7b72}\label{namespacemod__oasis__timer_aa92116f5ed11fd498b11b37e368e7b72}} 
\index{mod\+\_\+oasis\+\_\+timer@{mod\+\_\+oasis\+\_\+timer}!ntimer@{ntimer}}
\index{ntimer@{ntimer}!mod\+\_\+oasis\+\_\+timer@{mod\+\_\+oasis\+\_\+timer}}
\subsubsection{\texorpdfstring{ntimer}{ntimer}}
{\footnotesize\ttfamily integer mod\+\_\+oasis\+\_\+timer\+::ntimer\hspace{0.3cm}{\ttfamily [private]}}



Definition at line 78 of file mod\+\_\+oasis\+\_\+timer.\+F90.

\mbox{\Hypertarget{namespacemod__oasis__timer_a80e0bc610eb9e9b0aa07e926d5a9fde8}\label{namespacemod__oasis__timer_a80e0bc610eb9e9b0aa07e926d5a9fde8}} 
\index{mod\+\_\+oasis\+\_\+timer@{mod\+\_\+oasis\+\_\+timer}!output\+\_\+unit@{output\+\_\+unit}}
\index{output\+\_\+unit@{output\+\_\+unit}!mod\+\_\+oasis\+\_\+timer@{mod\+\_\+oasis\+\_\+timer}}
\subsubsection{\texorpdfstring{output\+\_\+unit}{output\_unit}}
{\footnotesize\ttfamily integer mod\+\_\+oasis\+\_\+timer\+::output\+\_\+unit = 901\hspace{0.3cm}{\ttfamily [private]}}



Definition at line 80 of file mod\+\_\+oasis\+\_\+timer.\+F90.

\mbox{\Hypertarget{namespacemod__oasis__timer_a3733877ab9fa9d07df0ff70f21cd08b0}\label{namespacemod__oasis__timer_a3733877ab9fa9d07df0ff70f21cd08b0}} 
\index{mod\+\_\+oasis\+\_\+timer@{mod\+\_\+oasis\+\_\+timer}!single\+\_\+timer\+\_\+header@{single\+\_\+timer\+\_\+header}}
\index{single\+\_\+timer\+\_\+header@{single\+\_\+timer\+\_\+header}!mod\+\_\+oasis\+\_\+timer@{mod\+\_\+oasis\+\_\+timer}}
\subsubsection{\texorpdfstring{single\+\_\+timer\+\_\+header}{single\_timer\_header}}
{\footnotesize\ttfamily logical, save mod\+\_\+oasis\+\_\+timer\+::single\+\_\+timer\+\_\+header\hspace{0.3cm}{\ttfamily [private]}}



Definition at line 81 of file mod\+\_\+oasis\+\_\+timer.\+F90.

\mbox{\Hypertarget{namespacemod__oasis__timer_a88e3c8171551da0ee64d10270484f6bf}\label{namespacemod__oasis__timer_a88e3c8171551da0ee64d10270484f6bf}} 
\index{mod\+\_\+oasis\+\_\+timer@{mod\+\_\+oasis\+\_\+timer}!sum\+\_\+ctime@{sum\+\_\+ctime}}
\index{sum\+\_\+ctime@{sum\+\_\+ctime}!mod\+\_\+oasis\+\_\+timer@{mod\+\_\+oasis\+\_\+timer}}
\subsubsection{\texorpdfstring{sum\+\_\+ctime}{sum\_ctime}}
{\footnotesize\ttfamily double precision, dimension(\+:), pointer mod\+\_\+oasis\+\_\+timer\+::sum\+\_\+ctime\hspace{0.3cm}{\ttfamily [private]}}



Definition at line 74 of file mod\+\_\+oasis\+\_\+timer.\+F90.

\mbox{\Hypertarget{namespacemod__oasis__timer_ab4d27b8be5c21939ab8d8e32d5582e9e}\label{namespacemod__oasis__timer_ab4d27b8be5c21939ab8d8e32d5582e9e}} 
\index{mod\+\_\+oasis\+\_\+timer@{mod\+\_\+oasis\+\_\+timer}!sum\+\_\+wtime@{sum\+\_\+wtime}}
\index{sum\+\_\+wtime@{sum\+\_\+wtime}!mod\+\_\+oasis\+\_\+timer@{mod\+\_\+oasis\+\_\+timer}}
\subsubsection{\texorpdfstring{sum\+\_\+wtime}{sum\_wtime}}
{\footnotesize\ttfamily double precision, dimension(\+:), pointer mod\+\_\+oasis\+\_\+timer\+::sum\+\_\+wtime\hspace{0.3cm}{\ttfamily [private]}}



Definition at line 75 of file mod\+\_\+oasis\+\_\+timer.\+F90.

\mbox{\Hypertarget{namespacemod__oasis__timer_a110185cdca99e2889419692182b0440a}\label{namespacemod__oasis__timer_a110185cdca99e2889419692182b0440a}} 
\index{mod\+\_\+oasis\+\_\+timer@{mod\+\_\+oasis\+\_\+timer}!t\+\_\+running@{t\+\_\+running}}
\index{t\+\_\+running@{t\+\_\+running}!mod\+\_\+oasis\+\_\+timer@{mod\+\_\+oasis\+\_\+timer}}
\subsubsection{\texorpdfstring{t\+\_\+running}{t\_running}}
{\footnotesize\ttfamily character(len=1), parameter mod\+\_\+oasis\+\_\+timer\+::t\+\_\+running = \textquotesingle{}$\ast$\textquotesingle{}\hspace{0.3cm}{\ttfamily [private]}}



Definition at line 83 of file mod\+\_\+oasis\+\_\+timer.\+F90.

\mbox{\Hypertarget{namespacemod__oasis__timer_aceca66a08f073eb12f2643edc7c400fe}\label{namespacemod__oasis__timer_aceca66a08f073eb12f2643edc7c400fe}} 
\index{mod\+\_\+oasis\+\_\+timer@{mod\+\_\+oasis\+\_\+timer}!t\+\_\+stopped@{t\+\_\+stopped}}
\index{t\+\_\+stopped@{t\+\_\+stopped}!mod\+\_\+oasis\+\_\+timer@{mod\+\_\+oasis\+\_\+timer}}
\subsubsection{\texorpdfstring{t\+\_\+stopped}{t\_stopped}}
{\footnotesize\ttfamily character(len=1), parameter mod\+\_\+oasis\+\_\+timer\+::t\+\_\+stopped = \textquotesingle{} \textquotesingle{}\hspace{0.3cm}{\ttfamily [private]}}



Definition at line 82 of file mod\+\_\+oasis\+\_\+timer.\+F90.

\mbox{\Hypertarget{namespacemod__oasis__timer_a8a4b64983bdf68b795ab2112bc02b8bc}\label{namespacemod__oasis__timer_a8a4b64983bdf68b795ab2112bc02b8bc}} 
\index{mod\+\_\+oasis\+\_\+timer@{mod\+\_\+oasis\+\_\+timer}!timer@{timer}}
\index{timer@{timer}!mod\+\_\+oasis\+\_\+timer@{mod\+\_\+oasis\+\_\+timer}}
\subsubsection{\texorpdfstring{timer}{timer}}
{\footnotesize\ttfamily type (\hyperlink{structmod__oasis__timer_1_1timer__details}{timer\+\_\+details}), dimension(\+:), pointer mod\+\_\+oasis\+\_\+timer\+::timer\hspace{0.3cm}{\ttfamily [private]}}



Definition at line 73 of file mod\+\_\+oasis\+\_\+timer.\+F90.

\mbox{\Hypertarget{namespacemod__oasis__timer_a225db1b2b8bd57f0567d37b5c4d00ca3}\label{namespacemod__oasis__timer_a225db1b2b8bd57f0567d37b5c4d00ca3}} 
\index{mod\+\_\+oasis\+\_\+timer@{mod\+\_\+oasis\+\_\+timer}!timer\+\_\+count@{timer\+\_\+count}}
\index{timer\+\_\+count@{timer\+\_\+count}!mod\+\_\+oasis\+\_\+timer@{mod\+\_\+oasis\+\_\+timer}}
\subsubsection{\texorpdfstring{timer\+\_\+count}{timer\_count}}
{\footnotesize\ttfamily integer, dimension(\+:), pointer mod\+\_\+oasis\+\_\+timer\+::timer\+\_\+count\hspace{0.3cm}{\ttfamily [private]}}



Definition at line 76 of file mod\+\_\+oasis\+\_\+timer.\+F90.

