\hypertarget{namespacemom__error__handler}{}\doxysection{mom\+\_\+error\+\_\+handler Module Reference}
\label{namespacemom__error__handler}\index{mom\_error\_handler@{mom\_error\_handler}}


\doxysubsection{Detailed Description}
Routines for error handling and I/O management. \doxysubsection*{Functions/\+Subroutines}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{namespacemom__error__handler_ad5f00a53059c72fe2332d1436c80ca71}\label{namespacemom__error__handler_ad5f00a53059c72fe2332d1436c80ca71}} 
logical function, public \mbox{\hyperlink{namespacemom__error__handler_ad5f00a53059c72fe2332d1436c80ca71}{is\+\_\+root\+\_\+pe}} ()
\begin{DoxyCompactList}\small\item\em This returns .true. if the current PE is the root PE. \end{DoxyCompactList}\item 
subroutine, public \mbox{\hyperlink{namespacemom__error__handler_a1c462df7b61f1296407b4af51dfeceab}{mom\+\_\+mesg}} (message, verb, all\+\_\+print)
\begin{DoxyCompactList}\small\item\em This provides a convenient interface for writing an informative comment. \end{DoxyCompactList}\item 
subroutine, public \mbox{\hyperlink{namespacemom__error__handler_a460cfb79a06c29fc249952c2a3710d67}{mom\+\_\+error}} (level, message, all\+\_\+print)
\begin{DoxyCompactList}\small\item\em This provides a convenient interface for writing an mpp\+\_\+error message with run-\/time filter based on a verbosity. \end{DoxyCompactList}\item 
subroutine, public \mbox{\hyperlink{namespacemom__error__handler_a12e2a267e28b6e335f7492a058f4dfa0}{mom\+\_\+set\+\_\+verbosity}} (verb)
\begin{DoxyCompactList}\small\item\em This subroutine sets the level of verbosity filtering M\+OM error messages. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{namespacemom__error__handler_a2e47f830d9b3ae003d057141096867d5}\label{namespacemom__error__handler_a2e47f830d9b3ae003d057141096867d5}} 
integer function, public \mbox{\hyperlink{namespacemom__error__handler_a2e47f830d9b3ae003d057141096867d5}{mom\+\_\+get\+\_\+verbosity}} ()
\begin{DoxyCompactList}\small\item\em This subroutine gets the level of verbosity filtering M\+OM error messages. \end{DoxyCompactList}\item 
logical function, public \mbox{\hyperlink{namespacemom__error__handler_a89f02f60296620d3b28e73bd4d771987}{mom\+\_\+verbose\+\_\+enough}} (verb)
\begin{DoxyCompactList}\small\item\em This tests whether the level of verbosity filtering M\+OM error messages is sufficient to write a message of verbosity level verb. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{namespacemom__error__handler_a82a9f62f000a7ad9ad9c8d3014346888}\label{namespacemom__error__handler_a82a9f62f000a7ad9ad9c8d3014346888}} 
logical function, public \mbox{\hyperlink{namespacemom__error__handler_a82a9f62f000a7ad9ad9c8d3014346888}{calltree\+\_\+showquery}} ()
\begin{DoxyCompactList}\small\item\em Returns True, if the verbosity$>$=6 indicating to show the call tree. \end{DoxyCompactList}\item 
subroutine, public \mbox{\hyperlink{namespacemom__error__handler_a9cda07a87815f0e5594066162b4345c3}{calltree\+\_\+enter}} (mesg, n)
\begin{DoxyCompactList}\small\item\em Writes a message about entering a subroutine if call tree reporting is active. \end{DoxyCompactList}\item 
subroutine, public \mbox{\hyperlink{namespacemom__error__handler_a88ea67781e2ed9b73ab7eac8ea5e8578}{calltree\+\_\+leave}} (mesg)
\begin{DoxyCompactList}\small\item\em Writes a message about leaving a subroutine if call tree reporting is active. \end{DoxyCompactList}\item 
subroutine, public \mbox{\hyperlink{namespacemom__error__handler_a34a02e601a60f03cb97a72fe25a32853}{calltree\+\_\+waypoint}} (mesg, n)
\begin{DoxyCompactList}\small\item\em Writes a message about reaching a milestone if call tree reporting is active. \end{DoxyCompactList}\item 
subroutine, public \mbox{\hyperlink{namespacemom__error__handler_a33bcd190d460095104954f2e654f9fe6}{assert}} (logical\+\_\+arg, msg)
\begin{DoxyCompactList}\small\item\em Issues a F\+A\+T\+AL error if the assertion fails, i.\+e. the first argument is false. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{namespacemom__error__handler_a516933590aeca45aa2023cf8f0774ef6}\label{namespacemom__error__handler_a516933590aeca45aa2023cf8f0774ef6}} 
integer \mbox{\hyperlink{namespacemom__error__handler_a516933590aeca45aa2023cf8f0774ef6}{verbosity}} = 6
\begin{DoxyCompactList}\small\item\em Verbosity level\+: 0 -\/ F\+A\+T\+AL messages only 1 -\/ F\+A\+T\+AL + W\+A\+R\+N\+I\+NG messages only 2 -\/ F\+A\+T\+AL + W\+A\+R\+N\+I\+NG + N\+O\+TE messages only \mbox{[}default\mbox{]} 3 -\/ above + informational 4 -\/ 5 -\/ 6 -\/ above + call tree 7 -\/ 8 -\/ 9 -\/ anything and everything (also set with D\+E\+B\+UG=True) \end{DoxyCompactList}\item 
\mbox{\Hypertarget{namespacemom__error__handler_ab177e97657bfddd06347ade5133cd5c0}\label{namespacemom__error__handler_ab177e97657bfddd06347ade5133cd5c0}} 
integer \mbox{\hyperlink{namespacemom__error__handler_ab177e97657bfddd06347ade5133cd5c0}{calltreeindentlevel}} = 0
\begin{DoxyCompactList}\small\item\em The level of calling within the call tree. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Function/\+Subroutine Documentation}
\mbox{\Hypertarget{namespacemom__error__handler_a33bcd190d460095104954f2e654f9fe6}\label{namespacemom__error__handler_a33bcd190d460095104954f2e654f9fe6}} 
\index{mom\_error\_handler@{mom\_error\_handler}!assert@{assert}}
\index{assert@{assert}!mom\_error\_handler@{mom\_error\_handler}}
\doxysubsubsection{\texorpdfstring{assert()}{assert()}}
{\footnotesize\ttfamily subroutine, public mom\+\_\+error\+\_\+handler\+::assert (\begin{DoxyParamCaption}\item[{logical, intent(in)}]{logical\+\_\+arg,  }\item[{character(len=$\ast$), intent(in)}]{msg }\end{DoxyParamCaption})}



Issues a F\+A\+T\+AL error if the assertion fails, i.\+e. the first argument is false. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em logical\+\_\+arg} & If false causes a F\+A\+T\+AL error \\
\hline
\mbox{\texttt{ in}}  & {\em msg} & Message to issue in case of failed assertion \\
\hline
\end{DoxyParams}


Definition at line 181 of file M\+O\+M\+\_\+error\+\_\+handler.\+F90.


\begin{DoxyCode}{0}
\DoxyCodeLine{182   \textcolor{keywordtype}{logical}, \textcolor{keywordtype}{intent(in)} :: logical\_arg\textcolor{comment}{ !< If false causes a FATAL error}}
\DoxyCodeLine{183   \textcolor{keywordtype}{character(len=*)}, \textcolor{keywordtype}{intent(in)} :: msg\textcolor{comment}{ !< Message to issue in case of failed assertion}}
\DoxyCodeLine{184 }
\DoxyCodeLine{185   \textcolor{keywordflow}{if} (.not. logical\_arg) \textcolor{keywordflow}{then}}
\DoxyCodeLine{186     \textcolor{keyword}{call }mom\_error(fatal, msg)}
\DoxyCodeLine{187 \textcolor{keywordflow}{  endif}}
\DoxyCodeLine{188 }

\end{DoxyCode}
\mbox{\Hypertarget{namespacemom__error__handler_a9cda07a87815f0e5594066162b4345c3}\label{namespacemom__error__handler_a9cda07a87815f0e5594066162b4345c3}} 
\index{mom\_error\_handler@{mom\_error\_handler}!calltree\_enter@{calltree\_enter}}
\index{calltree\_enter@{calltree\_enter}!mom\_error\_handler@{mom\_error\_handler}}
\doxysubsubsection{\texorpdfstring{calltree\_enter()}{calltree\_enter()}}
{\footnotesize\ttfamily subroutine, public mom\+\_\+error\+\_\+handler\+::calltree\+\_\+enter (\begin{DoxyParamCaption}\item[{character(len=$\ast$), intent(in)}]{mesg,  }\item[{integer, intent(in), optional}]{n }\end{DoxyParamCaption})}



Writes a message about entering a subroutine if call tree reporting is active. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em mesg} & Message to write \\
\hline
\mbox{\texttt{ in}}  & {\em n} & An optional integer to write at end of message \\
\hline
\end{DoxyParams}


Definition at line 129 of file M\+O\+M\+\_\+error\+\_\+handler.\+F90.


\begin{DoxyCode}{0}
\DoxyCodeLine{130   \textcolor{keywordtype}{character(len=*)},  \textcolor{keywordtype}{intent(in)} :: mesg\textcolor{comment}{ !< Message to write}}
\DoxyCodeLine{131   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: n\textcolor{comment}{ !< An optional integer to write at end of message}}
\DoxyCodeLine{132   \textcolor{comment}{! Local variables}}
\DoxyCodeLine{133   \textcolor{keywordtype}{character(len=8)} :: nAsString}
\DoxyCodeLine{134   calltreeindentlevel = calltreeindentlevel + 1}
\DoxyCodeLine{135   \textcolor{keywordflow}{if} (verbosity<6) \textcolor{keywordflow}{return}}
\DoxyCodeLine{136   \textcolor{keywordflow}{if} (is\_root\_pe()) \textcolor{keywordflow}{then}}
\DoxyCodeLine{137     nasstring = \textcolor{stringliteral}{''}}
\DoxyCodeLine{138     \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(n)) \textcolor{keywordflow}{then}}
\DoxyCodeLine{139       \textcolor{keyword}{write}(nasstring(1:8),\textcolor{stringliteral}{'(i8)'}) n}
\DoxyCodeLine{140       \textcolor{keyword}{call }mpp\_error(note, \textcolor{stringliteral}{'callTree: '}// \&}
\DoxyCodeLine{141         repeat(\textcolor{stringliteral}{'   '},calltreeindentlevel-\/1)//\textcolor{stringliteral}{'loop '}//trim(mesg)//trim(nasstring))}
\DoxyCodeLine{142     \textcolor{keywordflow}{else}}
\DoxyCodeLine{143       \textcolor{keyword}{call }mpp\_error(note, \textcolor{stringliteral}{'callTree: '}// \&}
\DoxyCodeLine{144         repeat(\textcolor{stringliteral}{'   '},calltreeindentlevel-\/1)//\textcolor{stringliteral}{'-\/-\/-\/> '}//trim(mesg))}
\DoxyCodeLine{145 \textcolor{keywordflow}{    endif}}
\DoxyCodeLine{146 \textcolor{keywordflow}{  endif}}

\end{DoxyCode}
\mbox{\Hypertarget{namespacemom__error__handler_a88ea67781e2ed9b73ab7eac8ea5e8578}\label{namespacemom__error__handler_a88ea67781e2ed9b73ab7eac8ea5e8578}} 
\index{mom\_error\_handler@{mom\_error\_handler}!calltree\_leave@{calltree\_leave}}
\index{calltree\_leave@{calltree\_leave}!mom\_error\_handler@{mom\_error\_handler}}
\doxysubsubsection{\texorpdfstring{calltree\_leave()}{calltree\_leave()}}
{\footnotesize\ttfamily subroutine, public mom\+\_\+error\+\_\+handler\+::calltree\+\_\+leave (\begin{DoxyParamCaption}\item[{character(len=$\ast$)}]{mesg }\end{DoxyParamCaption})}



Writes a message about leaving a subroutine if call tree reporting is active. 


\begin{DoxyParams}{Parameters}
{\em mesg} & Message to write \\
\hline
\end{DoxyParams}


Definition at line 150 of file M\+O\+M\+\_\+error\+\_\+handler.\+F90.


\begin{DoxyCode}{0}
\DoxyCodeLine{151   \textcolor{keywordtype}{character(len=*)} :: mesg\textcolor{comment}{ !< Message to write}}
\DoxyCodeLine{152   \textcolor{keywordflow}{if} (calltreeindentlevel<1) \textcolor{keyword}{write}(0,*) \textcolor{stringliteral}{'callTree\_leave: error callTreeIndentLevel='},calltreeindentlevel,trim(mesg)}
\DoxyCodeLine{153   calltreeindentlevel = calltreeindentlevel -\/ 1}
\DoxyCodeLine{154   \textcolor{keywordflow}{if} (verbosity<6) \textcolor{keywordflow}{return}}
\DoxyCodeLine{155   \textcolor{keywordflow}{if} (is\_root\_pe()) \textcolor{keyword}{call }mpp\_error(note, \textcolor{stringliteral}{'callTree: '}// \&}
\DoxyCodeLine{156         repeat(\textcolor{stringliteral}{'   '},calltreeindentlevel)//\textcolor{stringliteral}{'<-\/-\/-\/ '}//trim(mesg))}

\end{DoxyCode}
\mbox{\Hypertarget{namespacemom__error__handler_a34a02e601a60f03cb97a72fe25a32853}\label{namespacemom__error__handler_a34a02e601a60f03cb97a72fe25a32853}} 
\index{mom\_error\_handler@{mom\_error\_handler}!calltree\_waypoint@{calltree\_waypoint}}
\index{calltree\_waypoint@{calltree\_waypoint}!mom\_error\_handler@{mom\_error\_handler}}
\doxysubsubsection{\texorpdfstring{calltree\_waypoint()}{calltree\_waypoint()}}
{\footnotesize\ttfamily subroutine, public mom\+\_\+error\+\_\+handler\+::calltree\+\_\+waypoint (\begin{DoxyParamCaption}\item[{character(len=$\ast$), intent(in)}]{mesg,  }\item[{integer, intent(in), optional}]{n }\end{DoxyParamCaption})}



Writes a message about reaching a milestone if call tree reporting is active. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em mesg} & Message to write \\
\hline
\mbox{\texttt{ in}}  & {\em n} & An optional integer to write at end of message \\
\hline
\end{DoxyParams}


Definition at line 160 of file M\+O\+M\+\_\+error\+\_\+handler.\+F90.


\begin{DoxyCode}{0}
\DoxyCodeLine{161   \textcolor{keywordtype}{character(len=*)},  \textcolor{keywordtype}{intent(in)} :: mesg\textcolor{comment}{ !< Message to write}}
\DoxyCodeLine{162   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: n\textcolor{comment}{ !< An optional integer to write at end of message}}
\DoxyCodeLine{163   \textcolor{comment}{! Local variables}}
\DoxyCodeLine{164   \textcolor{keywordtype}{character(len=8)} :: nAsString}
\DoxyCodeLine{165   \textcolor{keywordflow}{if} (calltreeindentlevel<0) \textcolor{keyword}{write}(0,*) \textcolor{stringliteral}{'callTree\_waypoint: error callTreeIndentLevel='},calltreeindentlevel,trim(mesg)}
\DoxyCodeLine{166   \textcolor{keywordflow}{if} (verbosity<6) \textcolor{keywordflow}{return}}
\DoxyCodeLine{167   \textcolor{keywordflow}{if} (is\_root\_pe()) \textcolor{keywordflow}{then}}
\DoxyCodeLine{168     nasstring = \textcolor{stringliteral}{''}}
\DoxyCodeLine{169     \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(n)) \textcolor{keywordflow}{then}}
\DoxyCodeLine{170       \textcolor{keyword}{write}(nasstring(1:8),\textcolor{stringliteral}{'(i8)'}) n}
\DoxyCodeLine{171       \textcolor{keyword}{call }mpp\_error(note, \textcolor{stringliteral}{'callTree: '}// \&}
\DoxyCodeLine{172         repeat(\textcolor{stringliteral}{'   '},calltreeindentlevel)//\textcolor{stringliteral}{'loop '}//trim(mesg)//trim(nasstring))}
\DoxyCodeLine{173     \textcolor{keywordflow}{else}}
\DoxyCodeLine{174       \textcolor{keyword}{call }mpp\_error(note, \textcolor{stringliteral}{'callTree: '}// \&}
\DoxyCodeLine{175         repeat(\textcolor{stringliteral}{'   '},calltreeindentlevel)//\textcolor{stringliteral}{'o '}//trim(mesg))}
\DoxyCodeLine{176 \textcolor{keywordflow}{    endif}}
\DoxyCodeLine{177 \textcolor{keywordflow}{  endif}}

\end{DoxyCode}
\mbox{\Hypertarget{namespacemom__error__handler_a460cfb79a06c29fc249952c2a3710d67}\label{namespacemom__error__handler_a460cfb79a06c29fc249952c2a3710d67}} 
\index{mom\_error\_handler@{mom\_error\_handler}!mom\_error@{mom\_error}}
\index{mom\_error@{mom\_error}!mom\_error\_handler@{mom\_error\_handler}}
\doxysubsubsection{\texorpdfstring{mom\_error()}{mom\_error()}}
{\footnotesize\ttfamily subroutine, public mom\+\_\+error\+\_\+handler\+::mom\+\_\+error (\begin{DoxyParamCaption}\item[{integer, intent(in)}]{level,  }\item[{character(len=$\ast$), intent(in)}]{message,  }\item[{logical, intent(in), optional}]{all\+\_\+print }\end{DoxyParamCaption})}



This provides a convenient interface for writing an mpp\+\_\+error message with run-\/time filter based on a verbosity. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em level} & The verbosity level of this message \\
\hline
\mbox{\texttt{ in}}  & {\em message} & A message to write out \\
\hline
\mbox{\texttt{ in}}  & {\em all\+\_\+print} & If present and true, any P\+Es are able to write this message. \\
\hline
\end{DoxyParams}


Definition at line 71 of file M\+O\+M\+\_\+error\+\_\+handler.\+F90.


\begin{DoxyCode}{0}
\DoxyCodeLine{72   \textcolor{keywordtype}{integer},           \textcolor{keywordtype}{intent(in)} :: level\textcolor{comment}{ !< The verbosity level of this message}}
\DoxyCodeLine{73   \textcolor{keywordtype}{character(len=*)},  \textcolor{keywordtype}{intent(in)} :: message\textcolor{comment}{ !< A message to write out}}
\DoxyCodeLine{74   \textcolor{keywordtype}{logical}, \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: all\_print\textcolor{comment}{ !< If present and true, any PEs are}}
\DoxyCodeLine{75 \textcolor{comment}{                                             !! able to write this message.}}
\DoxyCodeLine{76   \textcolor{comment}{! This provides a convenient interface for writing an mpp\_error message}}
\DoxyCodeLine{77   \textcolor{comment}{! with run-\/time filter based on a verbosity.}}
\DoxyCodeLine{78   \textcolor{keywordtype}{logical} :: write\_msg}
\DoxyCodeLine{79 }
\DoxyCodeLine{80   write\_msg = is\_root\_pe()}
\DoxyCodeLine{81   \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(all\_print)) write\_msg = write\_msg .or. all\_print}
\DoxyCodeLine{82 }
\DoxyCodeLine{83   \textcolor{keywordflow}{select case} (level)}
\DoxyCodeLine{84     \textcolor{keywordflow}{case} (note)}
\DoxyCodeLine{85       \textcolor{keywordflow}{if} (write\_msg.and.verbosity>=2) \textcolor{keyword}{call }mpp\_error(note, message)}
\DoxyCodeLine{86     \textcolor{keywordflow}{case} (warning)}
\DoxyCodeLine{87       \textcolor{keywordflow}{if} (write\_msg.and.verbosity>=1) \textcolor{keyword}{call }mpp\_error(warning, message)}
\DoxyCodeLine{88     \textcolor{keywordflow}{case} (fatal)}
\DoxyCodeLine{89       \textcolor{keywordflow}{if} (verbosity>=0) \textcolor{keyword}{call }mpp\_error(fatal, message)}
\DoxyCodeLine{90 \textcolor{keywordflow}{    case default}}
\DoxyCodeLine{91       \textcolor{keyword}{call }mpp\_error(level, message)}
\DoxyCodeLine{92 \textcolor{keywordflow}{  end select}}

\end{DoxyCode}
\mbox{\Hypertarget{namespacemom__error__handler_a1c462df7b61f1296407b4af51dfeceab}\label{namespacemom__error__handler_a1c462df7b61f1296407b4af51dfeceab}} 
\index{mom\_error\_handler@{mom\_error\_handler}!mom\_mesg@{mom\_mesg}}
\index{mom\_mesg@{mom\_mesg}!mom\_error\_handler@{mom\_error\_handler}}
\doxysubsubsection{\texorpdfstring{mom\_mesg()}{mom\_mesg()}}
{\footnotesize\ttfamily subroutine, public mom\+\_\+error\+\_\+handler\+::mom\+\_\+mesg (\begin{DoxyParamCaption}\item[{character(len=$\ast$), intent(in)}]{message,  }\item[{integer, intent(in), optional}]{verb,  }\item[{logical, intent(in), optional}]{all\+\_\+print }\end{DoxyParamCaption})}



This provides a convenient interface for writing an informative comment. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em message} & A message to write out \\
\hline
\mbox{\texttt{ in}}  & {\em verb} & A level of verbosity for this message \\
\hline
\mbox{\texttt{ in}}  & {\em all\+\_\+print} & If present and true, any P\+Es are able to write this message. \\
\hline
\end{DoxyParams}


Definition at line 52 of file M\+O\+M\+\_\+error\+\_\+handler.\+F90.


\begin{DoxyCode}{0}
\DoxyCodeLine{53   \textcolor{keywordtype}{character(len=*)}, \textcolor{keywordtype}{intent(in)}  :: message\textcolor{comment}{ !< A message to write out}}
\DoxyCodeLine{54   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: verb\textcolor{comment}{ !< A level of verbosity for this message}}
\DoxyCodeLine{55   \textcolor{keywordtype}{logical}, \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: all\_print\textcolor{comment}{ !< If present and true, any PEs are}}
\DoxyCodeLine{56 \textcolor{comment}{                                             !! able to write this message.}}
\DoxyCodeLine{57   \textcolor{comment}{! This provides a convenient interface for writing an informative comment.}}
\DoxyCodeLine{58   \textcolor{keywordtype}{integer} :: verb\_msg}
\DoxyCodeLine{59   \textcolor{keywordtype}{logical} :: write\_msg}
\DoxyCodeLine{60 }
\DoxyCodeLine{61   write\_msg = is\_root\_pe()}
\DoxyCodeLine{62   \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(all\_print)) write\_msg = write\_msg .or. all\_print}
\DoxyCodeLine{63 }
\DoxyCodeLine{64   verb\_msg = 2 ; \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(verb)) verb\_msg = verb}
\DoxyCodeLine{65   \textcolor{keywordflow}{if} (write\_msg .and. (verbosity >= verb\_msg)) \textcolor{keyword}{call }mpp\_error(note, message)}
\DoxyCodeLine{66 }

\end{DoxyCode}
\mbox{\Hypertarget{namespacemom__error__handler_a12e2a267e28b6e335f7492a058f4dfa0}\label{namespacemom__error__handler_a12e2a267e28b6e335f7492a058f4dfa0}} 
\index{mom\_error\_handler@{mom\_error\_handler}!mom\_set\_verbosity@{mom\_set\_verbosity}}
\index{mom\_set\_verbosity@{mom\_set\_verbosity}!mom\_error\_handler@{mom\_error\_handler}}
\doxysubsubsection{\texorpdfstring{mom\_set\_verbosity()}{mom\_set\_verbosity()}}
{\footnotesize\ttfamily subroutine, public mom\+\_\+error\+\_\+handler\+::mom\+\_\+set\+\_\+verbosity (\begin{DoxyParamCaption}\item[{integer, intent(in)}]{verb }\end{DoxyParamCaption})}



This subroutine sets the level of verbosity filtering M\+OM error messages. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em verb} & A level of verbosity to set \\
\hline
\end{DoxyParams}


Definition at line 96 of file M\+O\+M\+\_\+error\+\_\+handler.\+F90.


\begin{DoxyCode}{0}
\DoxyCodeLine{97   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)} :: verb\textcolor{comment}{ !< A level of verbosity to set}}
\DoxyCodeLine{98   \textcolor{keywordtype}{character(len=80)} :: msg}
\DoxyCodeLine{99   \textcolor{keywordflow}{if} (verb>0 .and. verb<10) \textcolor{keywordflow}{then}}
\DoxyCodeLine{100     verbosity=verb}
\DoxyCodeLine{101   \textcolor{keywordflow}{else}}
\DoxyCodeLine{102     \textcolor{keyword}{write}(msg(1:80),\textcolor{stringliteral}{'("Attempt to set verbosity outside of range (0-\/9). verb=",I0)'}) verb}
\DoxyCodeLine{103     \textcolor{keyword}{call }mom\_error(fatal,msg)}
\DoxyCodeLine{104 \textcolor{keywordflow}{  endif}}

\end{DoxyCode}
\mbox{\Hypertarget{namespacemom__error__handler_a89f02f60296620d3b28e73bd4d771987}\label{namespacemom__error__handler_a89f02f60296620d3b28e73bd4d771987}} 
\index{mom\_error\_handler@{mom\_error\_handler}!mom\_verbose\_enough@{mom\_verbose\_enough}}
\index{mom\_verbose\_enough@{mom\_verbose\_enough}!mom\_error\_handler@{mom\_error\_handler}}
\doxysubsubsection{\texorpdfstring{mom\_verbose\_enough()}{mom\_verbose\_enough()}}
{\footnotesize\ttfamily logical function, public mom\+\_\+error\+\_\+handler\+::mom\+\_\+verbose\+\_\+enough (\begin{DoxyParamCaption}\item[{integer, intent(in)}]{verb }\end{DoxyParamCaption})}



This tests whether the level of verbosity filtering M\+OM error messages is sufficient to write a message of verbosity level verb. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em verb} & A level of verbosity to test \\
\hline
\end{DoxyParams}


Definition at line 115 of file M\+O\+M\+\_\+error\+\_\+handler.\+F90.


\begin{DoxyCode}{0}
\DoxyCodeLine{116   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)} :: verb\textcolor{comment}{ !< A level of verbosity to test}}
\DoxyCodeLine{117   \textcolor{keywordtype}{logical} :: MOM\_verbose\_enough}
\DoxyCodeLine{118   mom\_verbose\_enough = (verbosity >= verb)}

\end{DoxyCode}
