\hypertarget{interfacemom__document_1_1doc__param}{}\section{mom\+\_\+document\+:\+:doc\+\_\+param Interface Reference}
\label{interfacemom__document_1_1doc__param}\index{mom\+\_\+document\+::doc\+\_\+param@{mom\+\_\+document\+::doc\+\_\+param}}


\subsection{Detailed Description}
Document parameter values. 

Definition at line 16 of file M\+O\+M\+\_\+document.\+F90.

\subsection*{Private functions}
\begin{DoxyCompactItemize}
\item 
subroutine \hyperlink{interfacemom__document_1_1doc__param_a1e59592804280468052b124568e287c5}{doc\+\_\+param\+\_\+none} (doc, varname, desc, units)
\begin{DoxyCompactList}\small\item\em This subroutine handles parameter documentation with no value. \end{DoxyCompactList}\item 
subroutine \hyperlink{interfacemom__document_1_1doc__param_a18c0fde22167cdac3aba2059ffdbea1e}{doc\+\_\+param\+\_\+logical} (doc, varname, desc, units, val, default, layout\+Param, debugging\+Param, like\+\_\+default)
\begin{DoxyCompactList}\small\item\em This subroutine handles parameter documentation for logicals. \end{DoxyCompactList}\item 
subroutine \hyperlink{interfacemom__document_1_1doc__param_a52ef7f58c669fe262f67b9b9e07bac84}{doc\+\_\+param\+\_\+logical\+\_\+array} (doc, varname, desc, units, vals, default, layout\+Param, debugging\+Param, like\+\_\+default)
\begin{DoxyCompactList}\small\item\em This subroutine handles parameter documentation for arrays of logicals. \end{DoxyCompactList}\item 
subroutine \hyperlink{interfacemom__document_1_1doc__param_a726380b39dc507d473a2aa3dcc82c22a}{doc\+\_\+param\+\_\+int} (doc, varname, desc, units, val, default, layout\+Param, debugging\+Param, like\+\_\+default)
\begin{DoxyCompactList}\small\item\em This subroutine handles parameter documentation for integers. \end{DoxyCompactList}\item 
subroutine \hyperlink{interfacemom__document_1_1doc__param_a3bab2fc487e6bf1a16154a951ef647d4}{doc\+\_\+param\+\_\+int\+\_\+array} (doc, varname, desc, units, vals, default, layout\+Param, debugging\+Param, like\+\_\+default)
\begin{DoxyCompactList}\small\item\em This subroutine handles parameter documentation for arrays of integers. \end{DoxyCompactList}\item 
subroutine \hyperlink{interfacemom__document_1_1doc__param_a5663dff9ddd3541819df971a85b12930}{doc\+\_\+param\+\_\+real} (doc, varname, desc, units, val, default, debugging\+Param, like\+\_\+default)
\begin{DoxyCompactList}\small\item\em This subroutine handles parameter documentation for reals. \end{DoxyCompactList}\item 
subroutine \hyperlink{interfacemom__document_1_1doc__param_a624b5bc989abdf7e8c3b3ee0de9cf2e0}{doc\+\_\+param\+\_\+real\+\_\+array} (doc, varname, desc, units, vals, default, debugging\+Param, like\+\_\+default)
\begin{DoxyCompactList}\small\item\em This subroutine handles parameter documentation for arrays of reals. \end{DoxyCompactList}\item 
subroutine \hyperlink{interfacemom__document_1_1doc__param_a851801350e4b8a54fabfb0d4c30308ec}{doc\+\_\+param\+\_\+char} (doc, varname, desc, units, val, default, layout\+Param, debugging\+Param, like\+\_\+default)
\begin{DoxyCompactList}\small\item\em This subroutine handles parameter documentation for character strings. \end{DoxyCompactList}\item 
subroutine \hyperlink{interfacemom__document_1_1doc__param_a4418c43edd8909f57ba27472cdf6382a}{doc\+\_\+param\+\_\+time} (doc, varname, desc, val, default, units, debugging\+Param, like\+\_\+default)
\begin{DoxyCompactList}\small\item\em This subroutine handles parameter documentation for time-\/type variables. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Document parameter values. 

Definition at line 16 of file M\+O\+M\+\_\+document.\+F90.



\subsection{Functions and subroutines}
\mbox{\Hypertarget{interfacemom__document_1_1doc__param_a851801350e4b8a54fabfb0d4c30308ec}\label{interfacemom__document_1_1doc__param_a851801350e4b8a54fabfb0d4c30308ec}} 
\index{mom\+\_\+document\+::doc\+\_\+param@{mom\+\_\+document\+::doc\+\_\+param}!doc\+\_\+param\+\_\+char@{doc\+\_\+param\+\_\+char}}
\index{doc\+\_\+param\+\_\+char@{doc\+\_\+param\+\_\+char}!mom\+\_\+document\+::doc\+\_\+param@{mom\+\_\+document\+::doc\+\_\+param}}
\subsubsection{\texorpdfstring{doc\+\_\+param\+\_\+char()}{doc\_param\_char()}}
{\footnotesize\ttfamily subroutine mom\+\_\+document\+::doc\+\_\+param\+::doc\+\_\+param\+\_\+char (\begin{DoxyParamCaption}\item[{type(\hyperlink{structmom__document_1_1doc__type}{doc\+\_\+type}), pointer}]{doc,  }\item[{character(len=$\ast$), intent(in)}]{varname,  }\item[{character(len=$\ast$), intent(in)}]{desc,  }\item[{character(len=$\ast$), intent(in)}]{units,  }\item[{character(len=$\ast$), intent(in)}]{val,  }\item[{character(len=$\ast$), intent(in), optional}]{default,  }\item[{logical, intent(in), optional}]{layout\+Param,  }\item[{logical, intent(in), optional}]{debugging\+Param,  }\item[{logical, intent(in), optional}]{like\+\_\+default }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



This subroutine handles parameter documentation for character strings. 


\begin{DoxyParams}[1]{Parameters}
 & {\em doc} & A pointer to a structure that controls where the documentation occurs and its formatting\\
\hline
\mbox{\tt in}  & {\em varname} & The name of the parameter being documented\\
\hline
\mbox{\tt in}  & {\em desc} & A description of the parameter being documented\\
\hline
\mbox{\tt in}  & {\em units} & The units of the parameter being documented\\
\hline
\mbox{\tt in}  & {\em val} & The value of the parameter\\
\hline
\mbox{\tt in}  & {\em default} & The default value of this parameter\\
\hline
\mbox{\tt in}  & {\em layoutparam} & If present and true, this is a layout parameter.\\
\hline
\mbox{\tt in}  & {\em debuggingparam} & If present and true, this is a debugging parameter.\\
\hline
\mbox{\tt in}  & {\em like\+\_\+default} & If present and true, log this parameter as though it has the default value, even if there is no default. \\
\hline
\end{DoxyParams}


Definition at line 348 of file M\+O\+M\+\_\+document.\+F90.


\begin{DoxyCode}
348   \textcolor{keywordtype}{type}(doc\_type),    \textcolor{keywordtype}{pointer}    :: doc\textcolor{comment}{     !< A pointer to a structure that controls where the}
349 \textcolor{comment}{                                           !! documentation occurs and its formatting}
350   \textcolor{keywordtype}{character(len=*)},  \textcolor{keywordtype}{intent(in)} :: varname\textcolor{comment}{ !< The name of the parameter being documented}
351   \textcolor{keywordtype}{character(len=*)},  \textcolor{keywordtype}{intent(in)} :: desc\textcolor{comment}{    !< A description of the parameter being documented}
352   \textcolor{keywordtype}{character(len=*)},  \textcolor{keywordtype}{intent(in)} :: units\textcolor{comment}{   !< The units of the parameter being documented}
353   \textcolor{keywordtype}{character(len=*)},  \textcolor{keywordtype}{intent(in)} :: val\textcolor{comment}{     !< The value of the parameter}
354   \textcolor{keywordtype}{character(len=*)}, &
355            \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: default\textcolor{comment}{ !< The default value of this parameter}
356   \textcolor{keywordtype}{logical}, \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: layoutparam\textcolor{comment}{ !< If present and true, this is a layout parameter.}
357   \textcolor{keywordtype}{logical}, \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: debuggingparam\textcolor{comment}{ !< If present and true, this is a debugging parameter.}
358   \textcolor{keywordtype}{logical}, \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: like\_default\textcolor{comment}{ !< If present and true, log this parameter as though}
359 \textcolor{comment}{                                           !! it has the default value, even if there is no default.}
360 \textcolor{comment}{! This subroutine handles parameter documentation for character strings.}
361   \textcolor{keywordtype}{character(len=mLen)} :: mesg
362   \textcolor{keywordtype}{logical} :: equalsdefault
363 
364   \textcolor{keywordflow}{if} (.not. (is\_root\_pe() .and. \textcolor{keyword}{associated}(doc))) \textcolor{keywordflow}{return}
365   \textcolor{keyword}{call }open\_doc\_file(doc)
366 
367   \textcolor{keywordflow}{if} (doc%filesAreOpen) \textcolor{keywordflow}{then}
368     mesg = define\_string(doc, varname, \textcolor{stringliteral}{'"'}//trim(val)//\textcolor{stringliteral}{'"'}, units)
369 
370     equalsdefault = .false.
371     \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(like\_default)) equalsdefault = like\_default
372     \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(default)) \textcolor{keywordflow}{then}
373       \textcolor{keywordflow}{if} (trim(val) == trim(default)) equalsdefault = .true.
374       mesg = trim(mesg)//\textcolor{stringliteral}{' default = "'}//trim(adjustl(default))//\textcolor{stringliteral}{'"'}
375 \textcolor{keywordflow}{    endif}
376 
377     \textcolor{keywordflow}{if} (mesghasbeendocumented(doc, varname, mesg)) \textcolor{keywordflow}{return} \textcolor{comment}{! Avoid duplicates}
378     \textcolor{keyword}{call }writemessageanddesc(doc, mesg, desc, equalsdefault, &
379                              layoutparam=layoutparam, debuggingparam=debuggingparam)
380 \textcolor{keywordflow}{  endif}
381 
\end{DoxyCode}
\mbox{\Hypertarget{interfacemom__document_1_1doc__param_a726380b39dc507d473a2aa3dcc82c22a}\label{interfacemom__document_1_1doc__param_a726380b39dc507d473a2aa3dcc82c22a}} 
\index{mom\+\_\+document\+::doc\+\_\+param@{mom\+\_\+document\+::doc\+\_\+param}!doc\+\_\+param\+\_\+int@{doc\+\_\+param\+\_\+int}}
\index{doc\+\_\+param\+\_\+int@{doc\+\_\+param\+\_\+int}!mom\+\_\+document\+::doc\+\_\+param@{mom\+\_\+document\+::doc\+\_\+param}}
\subsubsection{\texorpdfstring{doc\+\_\+param\+\_\+int()}{doc\_param\_int()}}
{\footnotesize\ttfamily subroutine mom\+\_\+document\+::doc\+\_\+param\+::doc\+\_\+param\+\_\+int (\begin{DoxyParamCaption}\item[{type(\hyperlink{structmom__document_1_1doc__type}{doc\+\_\+type}), pointer}]{doc,  }\item[{character(len=$\ast$), intent(in)}]{varname,  }\item[{character(len=$\ast$), intent(in)}]{desc,  }\item[{character(len=$\ast$), intent(in)}]{units,  }\item[{integer, intent(in)}]{val,  }\item[{integer, intent(in), optional}]{default,  }\item[{logical, intent(in), optional}]{layout\+Param,  }\item[{logical, intent(in), optional}]{debugging\+Param,  }\item[{logical, intent(in), optional}]{like\+\_\+default }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



This subroutine handles parameter documentation for integers. 


\begin{DoxyParams}[1]{Parameters}
 & {\em doc} & A pointer to a structure that controls where the documentation occurs and its formatting\\
\hline
\mbox{\tt in}  & {\em varname} & The name of the parameter being documented\\
\hline
\mbox{\tt in}  & {\em desc} & A description of the parameter being documented\\
\hline
\mbox{\tt in}  & {\em units} & The units of the parameter being documented\\
\hline
\mbox{\tt in}  & {\em val} & The value of this parameter\\
\hline
\mbox{\tt in}  & {\em default} & The default value of this parameter\\
\hline
\mbox{\tt in}  & {\em layoutparam} & If present and true, this is a layout parameter.\\
\hline
\mbox{\tt in}  & {\em debuggingparam} & If present and true, this is a debugging parameter.\\
\hline
\mbox{\tt in}  & {\em like\+\_\+default} & If present and true, log this parameter as though it has the default value, even if there is no default. \\
\hline
\end{DoxyParams}


Definition at line 187 of file M\+O\+M\+\_\+document.\+F90.


\begin{DoxyCode}
187   \textcolor{keywordtype}{type}(doc\_type),    \textcolor{keywordtype}{pointer}    :: doc\textcolor{comment}{     !< A pointer to a structure that controls where the}
188 \textcolor{comment}{                                           !! documentation occurs and its formatting}
189   \textcolor{keywordtype}{character(len=*)},  \textcolor{keywordtype}{intent(in)} :: varname\textcolor{comment}{ !< The name of the parameter being documented}
190   \textcolor{keywordtype}{character(len=*)},  \textcolor{keywordtype}{intent(in)} :: desc\textcolor{comment}{    !< A description of the parameter being documented}
191   \textcolor{keywordtype}{character(len=*)},  \textcolor{keywordtype}{intent(in)} :: units\textcolor{comment}{   !< The units of the parameter being documented}
192   \textcolor{keywordtype}{integer},           \textcolor{keywordtype}{intent(in)} :: val\textcolor{comment}{     !< The value of this parameter}
193   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: default\textcolor{comment}{ !< The default value of this parameter}
194   \textcolor{keywordtype}{logical}, \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: layoutparam\textcolor{comment}{ !< If present and true, this is a layout parameter.}
195   \textcolor{keywordtype}{logical}, \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: debuggingparam\textcolor{comment}{ !< If present and true, this is a debugging parameter.}
196   \textcolor{keywordtype}{logical}, \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: like\_default\textcolor{comment}{ !< If present and true, log this parameter as though}
197 \textcolor{comment}{                                           !! it has the default value, even if there is no default.}
198 \textcolor{comment}{! This subroutine handles parameter documentation for integers.}
199   \textcolor{keywordtype}{character(len=mLen)} :: mesg
200   \textcolor{keywordtype}{character(len=doc%commentColumn)}  :: valstring
201   \textcolor{keywordtype}{logical} :: equalsdefault
202 
203   \textcolor{keywordflow}{if} (.not. (is\_root\_pe() .and. \textcolor{keyword}{associated}(doc))) \textcolor{keywordflow}{return}
204   \textcolor{keyword}{call }open\_doc\_file(doc)
205 
206   \textcolor{keywordflow}{if} (doc%filesAreOpen) \textcolor{keywordflow}{then}
207     valstring = int\_string(val)
208     mesg = define\_string(doc, varname, valstring, units)
209 
210     equalsdefault = .false.
211     \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(like\_default)) equalsdefault = like\_default
212     \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(default)) \textcolor{keywordflow}{then}
213       \textcolor{keywordflow}{if} (val == default) equalsdefault = .true.
214       mesg = trim(mesg)//\textcolor{stringliteral}{" default = "}//(trim(int\_string(default)))
215 \textcolor{keywordflow}{    endif}
216 
217     \textcolor{keywordflow}{if} (mesghasbeendocumented(doc, varname, mesg)) \textcolor{keywordflow}{return} \textcolor{comment}{! Avoid duplicates}
218     \textcolor{keyword}{call }writemessageanddesc(doc, mesg, desc, equalsdefault, &
219                              layoutparam=layoutparam, debuggingparam=debuggingparam)
220 \textcolor{keywordflow}{  endif}
\end{DoxyCode}
\mbox{\Hypertarget{interfacemom__document_1_1doc__param_a3bab2fc487e6bf1a16154a951ef647d4}\label{interfacemom__document_1_1doc__param_a3bab2fc487e6bf1a16154a951ef647d4}} 
\index{mom\+\_\+document\+::doc\+\_\+param@{mom\+\_\+document\+::doc\+\_\+param}!doc\+\_\+param\+\_\+int\+\_\+array@{doc\+\_\+param\+\_\+int\+\_\+array}}
\index{doc\+\_\+param\+\_\+int\+\_\+array@{doc\+\_\+param\+\_\+int\+\_\+array}!mom\+\_\+document\+::doc\+\_\+param@{mom\+\_\+document\+::doc\+\_\+param}}
\subsubsection{\texorpdfstring{doc\+\_\+param\+\_\+int\+\_\+array()}{doc\_param\_int\_array()}}
{\footnotesize\ttfamily subroutine mom\+\_\+document\+::doc\+\_\+param\+::doc\+\_\+param\+\_\+int\+\_\+array (\begin{DoxyParamCaption}\item[{type(\hyperlink{structmom__document_1_1doc__type}{doc\+\_\+type}), pointer}]{doc,  }\item[{character(len=$\ast$), intent(in)}]{varname,  }\item[{character(len=$\ast$), intent(in)}]{desc,  }\item[{character(len=$\ast$), intent(in)}]{units,  }\item[{integer, dimension(\+:), intent(in)}]{vals,  }\item[{integer, intent(in), optional}]{default,  }\item[{logical, intent(in), optional}]{layout\+Param,  }\item[{logical, intent(in), optional}]{debugging\+Param,  }\item[{logical, intent(in), optional}]{like\+\_\+default }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



This subroutine handles parameter documentation for arrays of integers. 


\begin{DoxyParams}[1]{Parameters}
 & {\em doc} & A pointer to a structure that controls where the documentation occurs and its formatting\\
\hline
\mbox{\tt in}  & {\em varname} & The name of the parameter being documented\\
\hline
\mbox{\tt in}  & {\em desc} & A description of the parameter being documented\\
\hline
\mbox{\tt in}  & {\em units} & The units of the parameter being documented\\
\hline
\mbox{\tt in}  & {\em vals} & The array of values to record\\
\hline
\mbox{\tt in}  & {\em default} & The default value of this parameter\\
\hline
\mbox{\tt in}  & {\em layoutparam} & If present and true, this is a layout parameter.\\
\hline
\mbox{\tt in}  & {\em debuggingparam} & If present and true, this is a debugging parameter.\\
\hline
\mbox{\tt in}  & {\em like\+\_\+default} & If present and true, log this parameter as though it has the default value, even if there is no default. \\
\hline
\end{DoxyParams}


Definition at line 226 of file M\+O\+M\+\_\+document.\+F90.


\begin{DoxyCode}
226   \textcolor{keywordtype}{type}(doc\_type),    \textcolor{keywordtype}{pointer}    :: doc\textcolor{comment}{     !< A pointer to a structure that controls where the}
227 \textcolor{comment}{                                           !! documentation occurs and its formatting}
228   \textcolor{keywordtype}{character(len=*)},  \textcolor{keywordtype}{intent(in)} :: varname\textcolor{comment}{ !< The name of the parameter being documented}
229   \textcolor{keywordtype}{character(len=*)},  \textcolor{keywordtype}{intent(in)} :: desc\textcolor{comment}{    !< A description of the parameter being documented}
230   \textcolor{keywordtype}{character(len=*)},  \textcolor{keywordtype}{intent(in)} :: units\textcolor{comment}{   !< The units of the parameter being documented}
231   \textcolor{keywordtype}{integer},           \textcolor{keywordtype}{intent(in)} :: vals(:)\textcolor{comment}{ !< The array of values to record}
232   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: default\textcolor{comment}{ !< The default value of this parameter}
233   \textcolor{keywordtype}{logical}, \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: layoutparam\textcolor{comment}{ !< If present and true, this is a layout parameter.}
234   \textcolor{keywordtype}{logical}, \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: debuggingparam\textcolor{comment}{ !< If present and true, this is a debugging parameter.}
235   \textcolor{keywordtype}{logical}, \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: like\_default\textcolor{comment}{ !< If present and true, log this parameter as though}
236 \textcolor{comment}{                                           !! it has the default value, even if there is no default.}
237 \textcolor{comment}{! This subroutine handles parameter documentation for arrays of integers.}
238   \textcolor{keywordtype}{integer} :: i
239   \textcolor{keywordtype}{character(len=mLen)} :: mesg
240   \textcolor{keywordtype}{character(len=mLen)}  :: valstring
241   \textcolor{keywordtype}{logical} :: equalsdefault
242 
243   \textcolor{keywordflow}{if} (.not. (is\_root\_pe() .and. \textcolor{keyword}{associated}(doc))) \textcolor{keywordflow}{return}
244   \textcolor{keyword}{call }open\_doc\_file(doc)
245 
246   \textcolor{keywordflow}{if} (doc%filesAreOpen) \textcolor{keywordflow}{then}
247     valstring = int\_string(vals(1))
248     \textcolor{keywordflow}{do} i=2,min(\textcolor{keyword}{size}(vals),128)
249       valstring = trim(valstring)//\textcolor{stringliteral}{", "}//trim(int\_string(vals(i)))
250 \textcolor{keywordflow}{    enddo}
251 
252     mesg = define\_string(doc, varname, valstring, units)
253 
254     equalsdefault = .false.
255     \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(default)) \textcolor{keywordflow}{then}
256       equalsdefault = .true.
257       \textcolor{keywordflow}{do} i=1,\textcolor{keyword}{size}(vals) ; \textcolor{keywordflow}{if} (vals(i) /= default) equalsdefault = .false. ;\textcolor{keywordflow}{ enddo}
258       mesg = trim(mesg)//\textcolor{stringliteral}{" default = "}//(trim(int\_string(default)))
259 \textcolor{keywordflow}{    endif}
260     \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(like\_default)) \textcolor{keywordflow}{then} ; \textcolor{keywordflow}{if} (like\_default) equalsdefault = .true. ;\textcolor{keywordflow}{ endif}
261 
262     \textcolor{keywordflow}{if} (mesghasbeendocumented(doc, varname, mesg)) \textcolor{keywordflow}{return} \textcolor{comment}{! Avoid duplicates}
263     \textcolor{keyword}{call }writemessageanddesc(doc, mesg, desc, equalsdefault, &
264                              layoutparam=layoutparam, debuggingparam=debuggingparam)
265 \textcolor{keywordflow}{  endif}
266 
\end{DoxyCode}
\mbox{\Hypertarget{interfacemom__document_1_1doc__param_a18c0fde22167cdac3aba2059ffdbea1e}\label{interfacemom__document_1_1doc__param_a18c0fde22167cdac3aba2059ffdbea1e}} 
\index{mom\+\_\+document\+::doc\+\_\+param@{mom\+\_\+document\+::doc\+\_\+param}!doc\+\_\+param\+\_\+logical@{doc\+\_\+param\+\_\+logical}}
\index{doc\+\_\+param\+\_\+logical@{doc\+\_\+param\+\_\+logical}!mom\+\_\+document\+::doc\+\_\+param@{mom\+\_\+document\+::doc\+\_\+param}}
\subsubsection{\texorpdfstring{doc\+\_\+param\+\_\+logical()}{doc\_param\_logical()}}
{\footnotesize\ttfamily subroutine mom\+\_\+document\+::doc\+\_\+param\+::doc\+\_\+param\+\_\+logical (\begin{DoxyParamCaption}\item[{type(\hyperlink{structmom__document_1_1doc__type}{doc\+\_\+type}), pointer}]{doc,  }\item[{character(len=$\ast$), intent(in)}]{varname,  }\item[{character(len=$\ast$), intent(in)}]{desc,  }\item[{character(len=$\ast$), intent(in)}]{units,  }\item[{logical, intent(in)}]{val,  }\item[{logical, intent(in), optional}]{default,  }\item[{logical, intent(in), optional}]{layout\+Param,  }\item[{logical, intent(in), optional}]{debugging\+Param,  }\item[{logical, intent(in), optional}]{like\+\_\+default }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



This subroutine handles parameter documentation for logicals. 


\begin{DoxyParams}[1]{Parameters}
 & {\em doc} & A pointer to a structure that controls where the documentation occurs and its formatting\\
\hline
\mbox{\tt in}  & {\em varname} & The name of the parameter being documented\\
\hline
\mbox{\tt in}  & {\em desc} & A description of the parameter being documented\\
\hline
\mbox{\tt in}  & {\em units} & The units of the parameter being documented\\
\hline
\mbox{\tt in}  & {\em val} & The value of this parameter\\
\hline
\mbox{\tt in}  & {\em default} & The default value of this parameter\\
\hline
\mbox{\tt in}  & {\em layoutparam} & If present and true, this is a layout parameter.\\
\hline
\mbox{\tt in}  & {\em debuggingparam} & If present and true, this is a debugging parameter.\\
\hline
\mbox{\tt in}  & {\em like\+\_\+default} & If present and true, log this parameter as though it has the default value, even if there is no default. \\
\hline
\end{DoxyParams}


Definition at line 89 of file M\+O\+M\+\_\+document.\+F90.


\begin{DoxyCode}
89   \textcolor{keywordtype}{type}(doc\_type),    \textcolor{keywordtype}{pointer}    :: doc\textcolor{comment}{     !< A pointer to a structure that controls where the}
90 \textcolor{comment}{                                           !! documentation occurs and its formatting}
91   \textcolor{keywordtype}{character(len=*)},  \textcolor{keywordtype}{intent(in)} :: varname\textcolor{comment}{ !< The name of the parameter being documented}
92   \textcolor{keywordtype}{character(len=*)},  \textcolor{keywordtype}{intent(in)} :: desc\textcolor{comment}{    !< A description of the parameter being documented}
93   \textcolor{keywordtype}{character(len=*)},  \textcolor{keywordtype}{intent(in)} :: units\textcolor{comment}{   !< The units of the parameter being documented}
94   \textcolor{keywordtype}{logical},           \textcolor{keywordtype}{intent(in)} :: val\textcolor{comment}{     !< The value of this parameter}
95   \textcolor{keywordtype}{logical}, \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: default\textcolor{comment}{ !< The default value of this parameter}
96   \textcolor{keywordtype}{logical}, \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: layoutparam\textcolor{comment}{ !< If present and true, this is a layout parameter.}
97   \textcolor{keywordtype}{logical}, \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: debuggingparam\textcolor{comment}{ !< If present and true, this is a debugging parameter.}
98   \textcolor{keywordtype}{logical}, \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: like\_default\textcolor{comment}{ !< If present and true, log this parameter as though}
99 \textcolor{comment}{                                           !! it has the default value, even if there is no default.}
100 \textcolor{comment}{! This subroutine handles parameter documentation for logicals.}
101   \textcolor{keywordtype}{character(len=mLen)} :: mesg
102   \textcolor{keywordtype}{logical} :: equalsdefault
103 
104   \textcolor{keywordflow}{if} (.not. (is\_root\_pe() .and. \textcolor{keyword}{associated}(doc))) \textcolor{keywordflow}{return}
105   \textcolor{keyword}{call }open\_doc\_file(doc)
106 
107   \textcolor{keywordflow}{if} (doc%filesAreOpen) \textcolor{keywordflow}{then}
108     \textcolor{keywordflow}{if} (val) \textcolor{keywordflow}{then}
109       mesg = define\_string(doc, varname, string\_true, units)
110     \textcolor{keywordflow}{else}
111       mesg = undef\_string(doc, varname, units)
112 \textcolor{keywordflow}{    endif}
113 
114     equalsdefault = .false.
115     \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(like\_default)) equalsdefault = like\_default
116     \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(default)) \textcolor{keywordflow}{then}
117       \textcolor{keywordflow}{if} (val .eqv. default) equalsdefault = .true.
118       \textcolor{keywordflow}{if} (default) \textcolor{keywordflow}{then}
119         mesg = trim(mesg)//\textcolor{stringliteral}{" default = "}//string\_true
120       \textcolor{keywordflow}{else}
121         mesg = trim(mesg)//\textcolor{stringliteral}{" default = "}//string\_false
122 \textcolor{keywordflow}{      endif}
123 \textcolor{keywordflow}{    endif}
124 
125     \textcolor{keywordflow}{if} (mesghasbeendocumented(doc, varname, mesg)) \textcolor{keywordflow}{return} \textcolor{comment}{! Avoid duplicates}
126     \textcolor{keyword}{call }writemessageanddesc(doc, mesg, desc, equalsdefault, &
127                              layoutparam=layoutparam, debuggingparam=debuggingparam)
128 \textcolor{keywordflow}{  endif}
\end{DoxyCode}
\mbox{\Hypertarget{interfacemom__document_1_1doc__param_a52ef7f58c669fe262f67b9b9e07bac84}\label{interfacemom__document_1_1doc__param_a52ef7f58c669fe262f67b9b9e07bac84}} 
\index{mom\+\_\+document\+::doc\+\_\+param@{mom\+\_\+document\+::doc\+\_\+param}!doc\+\_\+param\+\_\+logical\+\_\+array@{doc\+\_\+param\+\_\+logical\+\_\+array}}
\index{doc\+\_\+param\+\_\+logical\+\_\+array@{doc\+\_\+param\+\_\+logical\+\_\+array}!mom\+\_\+document\+::doc\+\_\+param@{mom\+\_\+document\+::doc\+\_\+param}}
\subsubsection{\texorpdfstring{doc\+\_\+param\+\_\+logical\+\_\+array()}{doc\_param\_logical\_array()}}
{\footnotesize\ttfamily subroutine mom\+\_\+document\+::doc\+\_\+param\+::doc\+\_\+param\+\_\+logical\+\_\+array (\begin{DoxyParamCaption}\item[{type(\hyperlink{structmom__document_1_1doc__type}{doc\+\_\+type}), pointer}]{doc,  }\item[{character(len=$\ast$), intent(in)}]{varname,  }\item[{character(len=$\ast$), intent(in)}]{desc,  }\item[{character(len=$\ast$), intent(in)}]{units,  }\item[{logical, dimension(\+:), intent(in)}]{vals,  }\item[{logical, intent(in), optional}]{default,  }\item[{logical, intent(in), optional}]{layout\+Param,  }\item[{logical, intent(in), optional}]{debugging\+Param,  }\item[{logical, intent(in), optional}]{like\+\_\+default }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



This subroutine handles parameter documentation for arrays of logicals. 


\begin{DoxyParams}[1]{Parameters}
 & {\em doc} & A pointer to a structure that controls where the documentation occurs and its formatting\\
\hline
\mbox{\tt in}  & {\em varname} & The name of the parameter being documented\\
\hline
\mbox{\tt in}  & {\em desc} & A description of the parameter being documented\\
\hline
\mbox{\tt in}  & {\em units} & The units of the parameter being documented\\
\hline
\mbox{\tt in}  & {\em vals} & The array of values to record\\
\hline
\mbox{\tt in}  & {\em default} & The default value of this parameter\\
\hline
\mbox{\tt in}  & {\em layoutparam} & If present and true, this is a layout parameter.\\
\hline
\mbox{\tt in}  & {\em debuggingparam} & If present and true, this is a debugging parameter.\\
\hline
\mbox{\tt in}  & {\em like\+\_\+default} & If present and true, log this parameter as though it has the default value, even if there is no default. \\
\hline
\end{DoxyParams}


Definition at line 134 of file M\+O\+M\+\_\+document.\+F90.


\begin{DoxyCode}
134   \textcolor{keywordtype}{type}(doc\_type),    \textcolor{keywordtype}{pointer}    :: doc\textcolor{comment}{     !< A pointer to a structure that controls where the}
135 \textcolor{comment}{                                           !! documentation occurs and its formatting}
136   \textcolor{keywordtype}{character(len=*)},  \textcolor{keywordtype}{intent(in)} :: varname\textcolor{comment}{ !< The name of the parameter being documented}
137   \textcolor{keywordtype}{character(len=*)},  \textcolor{keywordtype}{intent(in)} :: desc\textcolor{comment}{    !< A description of the parameter being documented}
138   \textcolor{keywordtype}{character(len=*)},  \textcolor{keywordtype}{intent(in)} :: units\textcolor{comment}{   !< The units of the parameter being documented}
139   \textcolor{keywordtype}{logical},           \textcolor{keywordtype}{intent(in)} :: vals(:)\textcolor{comment}{ !< The array of values to record}
140   \textcolor{keywordtype}{logical}, \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: default\textcolor{comment}{ !< The default value of this parameter}
141   \textcolor{keywordtype}{logical}, \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: layoutparam\textcolor{comment}{ !< If present and true, this is a layout parameter.}
142   \textcolor{keywordtype}{logical}, \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: debuggingparam\textcolor{comment}{ !< If present and true, this is a debugging parameter.}
143   \textcolor{keywordtype}{logical}, \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: like\_default\textcolor{comment}{ !< If present and true, log this parameter as though}
144 \textcolor{comment}{                                           !! it has the default value, even if there is no default.}
145 \textcolor{comment}{! This subroutine handles parameter documentation for arrays of logicals.}
146   \textcolor{keywordtype}{integer} :: i
147   \textcolor{keywordtype}{character(len=mLen)} :: mesg
148   \textcolor{keywordtype}{character(len=mLen)} :: valstring
149   \textcolor{keywordtype}{logical} :: equalsdefault
150 
151   \textcolor{keywordflow}{if} (.not. (is\_root\_pe() .and. \textcolor{keyword}{associated}(doc))) \textcolor{keywordflow}{return}
152   \textcolor{keyword}{call }open\_doc\_file(doc)
153 
154   \textcolor{keywordflow}{if} (doc%filesAreOpen) \textcolor{keywordflow}{then}
155     \textcolor{keywordflow}{if} (vals(1)) \textcolor{keywordflow}{then} ; valstring = string\_true ; \textcolor{keywordflow}{else} ; valstring = string\_false ;\textcolor{keywordflow}{ endif}
156     \textcolor{keywordflow}{do} i=2,min(\textcolor{keyword}{size}(vals),128)
157       \textcolor{keywordflow}{if} (vals(i)) \textcolor{keywordflow}{then}
158         valstring = trim(valstring)//\textcolor{stringliteral}{", "}//string\_true
159       \textcolor{keywordflow}{else}
160         valstring = trim(valstring)//\textcolor{stringliteral}{", "}//string\_false
161 \textcolor{keywordflow}{      endif}
162 \textcolor{keywordflow}{    enddo}
163 
164     mesg = define\_string(doc, varname, valstring, units)
165 
166     equalsdefault = .false.
167     \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(default)) \textcolor{keywordflow}{then}
168       equalsdefault = .true.
169       \textcolor{keywordflow}{do} i=1,\textcolor{keyword}{size}(vals) ; \textcolor{keywordflow}{if} (vals(i) .neqv. default) equalsdefault = .false. ;\textcolor{keywordflow}{ enddo}
170       \textcolor{keywordflow}{if} (default) \textcolor{keywordflow}{then}
171         mesg = trim(mesg)//\textcolor{stringliteral}{" default = "}//string\_true
172       \textcolor{keywordflow}{else}
173         mesg = trim(mesg)//\textcolor{stringliteral}{" default = "}//string\_false
174 \textcolor{keywordflow}{      endif}
175 \textcolor{keywordflow}{    endif}
176     \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(like\_default)) \textcolor{keywordflow}{then} ; \textcolor{keywordflow}{if} (like\_default) equalsdefault = .true. ;\textcolor{keywordflow}{ endif}
177 
178     \textcolor{keywordflow}{if} (mesghasbeendocumented(doc, varname, mesg)) \textcolor{keywordflow}{return} \textcolor{comment}{! Avoid duplicates}
179     \textcolor{keyword}{call }writemessageanddesc(doc, mesg, desc, equalsdefault, &
180                              layoutparam=layoutparam, debuggingparam=debuggingparam)
181 \textcolor{keywordflow}{  endif}
\end{DoxyCode}
\mbox{\Hypertarget{interfacemom__document_1_1doc__param_a1e59592804280468052b124568e287c5}\label{interfacemom__document_1_1doc__param_a1e59592804280468052b124568e287c5}} 
\index{mom\+\_\+document\+::doc\+\_\+param@{mom\+\_\+document\+::doc\+\_\+param}!doc\+\_\+param\+\_\+none@{doc\+\_\+param\+\_\+none}}
\index{doc\+\_\+param\+\_\+none@{doc\+\_\+param\+\_\+none}!mom\+\_\+document\+::doc\+\_\+param@{mom\+\_\+document\+::doc\+\_\+param}}
\subsubsection{\texorpdfstring{doc\+\_\+param\+\_\+none()}{doc\_param\_none()}}
{\footnotesize\ttfamily subroutine mom\+\_\+document\+::doc\+\_\+param\+::doc\+\_\+param\+\_\+none (\begin{DoxyParamCaption}\item[{type(\hyperlink{structmom__document_1_1doc__type}{doc\+\_\+type}), pointer}]{doc,  }\item[{character(len=$\ast$), intent(in)}]{varname,  }\item[{character(len=$\ast$), intent(in)}]{desc,  }\item[{character(len=$\ast$), intent(in)}]{units }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



This subroutine handles parameter documentation with no value. 


\begin{DoxyParams}[1]{Parameters}
 & {\em doc} & A pointer to a structure that controls where the documentation occurs and its formatting\\
\hline
\mbox{\tt in}  & {\em varname} & The name of the parameter being documented\\
\hline
\mbox{\tt in}  & {\em desc} & A description of the parameter being documented\\
\hline
\mbox{\tt in}  & {\em units} & The units of the parameter being documented \\
\hline
\end{DoxyParams}


Definition at line 64 of file M\+O\+M\+\_\+document.\+F90.


\begin{DoxyCode}
64   \textcolor{keywordtype}{type}(doc\_type),   \textcolor{keywordtype}{pointer}    :: doc\textcolor{comment}{     !< A pointer to a structure that controls where the}
65 \textcolor{comment}{                                          !! documentation occurs and its formatting}
66   \textcolor{keywordtype}{character(len=*)}, \textcolor{keywordtype}{intent(in)} :: varname\textcolor{comment}{ !< The name of the parameter being documented}
67   \textcolor{keywordtype}{character(len=*)}, \textcolor{keywordtype}{intent(in)} :: desc\textcolor{comment}{    !< A description of the parameter being documented}
68   \textcolor{keywordtype}{character(len=*)}, \textcolor{keywordtype}{intent(in)} :: units\textcolor{comment}{   !< The units of the parameter being documented}
69 \textcolor{comment}{! This subroutine handles parameter documentation with no value.}
70   \textcolor{keywordtype}{integer} :: numspc
71   \textcolor{keywordtype}{character(len=mLen)} :: mesg
72 
73   \textcolor{keywordflow}{if} (.not. (is\_root\_pe() .and. \textcolor{keyword}{associated}(doc))) \textcolor{keywordflow}{return}
74   \textcolor{keyword}{call }open\_doc\_file(doc)
75 
76   \textcolor{keywordflow}{if} (doc%filesAreOpen) \textcolor{keywordflow}{then}
77     numspc = max(1,doc%commentColumn-8-len\_trim(varname))
78     mesg = \textcolor{stringliteral}{"#define "}//trim(varname)//repeat(\textcolor{stringliteral}{" "},numspc)//\textcolor{stringliteral}{"!"}
79     \textcolor{keywordflow}{if} (len\_trim(units) > 0) mesg = trim(mesg)//\textcolor{stringliteral}{"   ["}//trim(units)//\textcolor{stringliteral}{"]"}
80 
81     \textcolor{keywordflow}{if} (mesghasbeendocumented(doc, varname, mesg)) \textcolor{keywordflow}{return} \textcolor{comment}{! Avoid duplicates}
82     \textcolor{keyword}{call }writemessageanddesc(doc, mesg, desc)
83 \textcolor{keywordflow}{  endif}
\end{DoxyCode}
\mbox{\Hypertarget{interfacemom__document_1_1doc__param_a5663dff9ddd3541819df971a85b12930}\label{interfacemom__document_1_1doc__param_a5663dff9ddd3541819df971a85b12930}} 
\index{mom\+\_\+document\+::doc\+\_\+param@{mom\+\_\+document\+::doc\+\_\+param}!doc\+\_\+param\+\_\+real@{doc\+\_\+param\+\_\+real}}
\index{doc\+\_\+param\+\_\+real@{doc\+\_\+param\+\_\+real}!mom\+\_\+document\+::doc\+\_\+param@{mom\+\_\+document\+::doc\+\_\+param}}
\subsubsection{\texorpdfstring{doc\+\_\+param\+\_\+real()}{doc\_param\_real()}}
{\footnotesize\ttfamily subroutine mom\+\_\+document\+::doc\+\_\+param\+::doc\+\_\+param\+\_\+real (\begin{DoxyParamCaption}\item[{type(\hyperlink{structmom__document_1_1doc__type}{doc\+\_\+type}), pointer}]{doc,  }\item[{character(len=$\ast$), intent(in)}]{varname,  }\item[{character(len=$\ast$), intent(in)}]{desc,  }\item[{character(len=$\ast$), intent(in)}]{units,  }\item[{real, intent(in)}]{val,  }\item[{real, intent(in), optional}]{default,  }\item[{logical, intent(in), optional}]{debugging\+Param,  }\item[{logical, intent(in), optional}]{like\+\_\+default }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



This subroutine handles parameter documentation for reals. 


\begin{DoxyParams}[1]{Parameters}
 & {\em doc} & A pointer to a structure that controls where the documentation occurs and its formatting\\
\hline
\mbox{\tt in}  & {\em varname} & The name of the parameter being documented\\
\hline
\mbox{\tt in}  & {\em desc} & A description of the parameter being documented\\
\hline
\mbox{\tt in}  & {\em units} & The units of the parameter being documented\\
\hline
\mbox{\tt in}  & {\em val} & The value of this parameter\\
\hline
\mbox{\tt in}  & {\em default} & The default value of this parameter\\
\hline
\mbox{\tt in}  & {\em debuggingparam} & If present and true, this is a debugging parameter.\\
\hline
\mbox{\tt in}  & {\em like\+\_\+default} & If present and true, log this parameter as though it has the default value, even if there is no default. \\
\hline
\end{DoxyParams}


Definition at line 271 of file M\+O\+M\+\_\+document.\+F90.


\begin{DoxyCode}
271   \textcolor{keywordtype}{type}(doc\_type),    \textcolor{keywordtype}{pointer}    :: doc\textcolor{comment}{     !< A pointer to a structure that controls where the}
272 \textcolor{comment}{                                           !! documentation occurs and its formatting}
273   \textcolor{keywordtype}{character(len=*)},  \textcolor{keywordtype}{intent(in)} :: varname\textcolor{comment}{ !< The name of the parameter being documented}
274   \textcolor{keywordtype}{character(len=*)},  \textcolor{keywordtype}{intent(in)} :: desc\textcolor{comment}{    !< A description of the parameter being documented}
275   \textcolor{keywordtype}{character(len=*)},  \textcolor{keywordtype}{intent(in)} :: units\textcolor{comment}{   !< The units of the parameter being documented}
276   \textcolor{keywordtype}{real},              \textcolor{keywordtype}{intent(in)} :: val\textcolor{comment}{     !< The value of this parameter}
277   \textcolor{keywordtype}{real},    \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: default\textcolor{comment}{ !< The default value of this parameter}
278   \textcolor{keywordtype}{logical}, \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: debuggingparam\textcolor{comment}{ !< If present and true, this is a debugging parameter.}
279   \textcolor{keywordtype}{logical}, \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: like\_default\textcolor{comment}{ !< If present and true, log this parameter as though}
280 \textcolor{comment}{                                           !! it has the default value, even if there is no default.}
281 \textcolor{comment}{! This subroutine handles parameter documentation for reals.}
282   \textcolor{keywordtype}{character(len=mLen)} :: mesg
283   \textcolor{keywordtype}{character(len=doc%commentColumn)}  :: valstring
284   \textcolor{keywordtype}{logical} :: equalsdefault
285 
286   \textcolor{keywordflow}{if} (.not. (is\_root\_pe() .and. \textcolor{keyword}{associated}(doc))) \textcolor{keywordflow}{return}
287   \textcolor{keyword}{call }open\_doc\_file(doc)
288 
289   \textcolor{keywordflow}{if} (doc%filesAreOpen) \textcolor{keywordflow}{then}
290     valstring = real\_string(val)
291     mesg = define\_string(doc, varname, valstring, units)
292 
293     equalsdefault = .false.
294     \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(like\_default)) equalsdefault = like\_default
295     \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(default)) \textcolor{keywordflow}{then}
296       \textcolor{keywordflow}{if} (val == default) equalsdefault = .true.
297       mesg = trim(mesg)//\textcolor{stringliteral}{" default = "}//trim(real\_string(default))
298 \textcolor{keywordflow}{    endif}
299 
300     \textcolor{keywordflow}{if} (mesghasbeendocumented(doc, varname, mesg)) \textcolor{keywordflow}{return} \textcolor{comment}{! Avoid duplicates}
301     \textcolor{keyword}{call }writemessageanddesc(doc, mesg, desc, equalsdefault, debuggingparam=debuggingparam)
302 \textcolor{keywordflow}{  endif}
\end{DoxyCode}
\mbox{\Hypertarget{interfacemom__document_1_1doc__param_a624b5bc989abdf7e8c3b3ee0de9cf2e0}\label{interfacemom__document_1_1doc__param_a624b5bc989abdf7e8c3b3ee0de9cf2e0}} 
\index{mom\+\_\+document\+::doc\+\_\+param@{mom\+\_\+document\+::doc\+\_\+param}!doc\+\_\+param\+\_\+real\+\_\+array@{doc\+\_\+param\+\_\+real\+\_\+array}}
\index{doc\+\_\+param\+\_\+real\+\_\+array@{doc\+\_\+param\+\_\+real\+\_\+array}!mom\+\_\+document\+::doc\+\_\+param@{mom\+\_\+document\+::doc\+\_\+param}}
\subsubsection{\texorpdfstring{doc\+\_\+param\+\_\+real\+\_\+array()}{doc\_param\_real\_array()}}
{\footnotesize\ttfamily subroutine mom\+\_\+document\+::doc\+\_\+param\+::doc\+\_\+param\+\_\+real\+\_\+array (\begin{DoxyParamCaption}\item[{type(\hyperlink{structmom__document_1_1doc__type}{doc\+\_\+type}), pointer}]{doc,  }\item[{character(len=$\ast$), intent(in)}]{varname,  }\item[{character(len=$\ast$), intent(in)}]{desc,  }\item[{character(len=$\ast$), intent(in)}]{units,  }\item[{real, dimension(\+:), intent(in)}]{vals,  }\item[{real, intent(in), optional}]{default,  }\item[{logical, intent(in), optional}]{debugging\+Param,  }\item[{logical, intent(in), optional}]{like\+\_\+default }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



This subroutine handles parameter documentation for arrays of reals. 


\begin{DoxyParams}[1]{Parameters}
 & {\em doc} & A pointer to a structure that controls where the documentation occurs and its formatting\\
\hline
\mbox{\tt in}  & {\em varname} & The name of the parameter being documented\\
\hline
\mbox{\tt in}  & {\em desc} & A description of the parameter being documented\\
\hline
\mbox{\tt in}  & {\em units} & The units of the parameter being documented\\
\hline
\mbox{\tt in}  & {\em vals} & The array of values to record\\
\hline
\mbox{\tt in}  & {\em default} & The default value of this parameter\\
\hline
\mbox{\tt in}  & {\em debuggingparam} & If present and true, this is a debugging parameter.\\
\hline
\mbox{\tt in}  & {\em like\+\_\+default} & If present and true, log this parameter as though it has the default value, even if there is no default. \\
\hline
\end{DoxyParams}


Definition at line 307 of file M\+O\+M\+\_\+document.\+F90.


\begin{DoxyCode}
307   \textcolor{keywordtype}{type}(doc\_type),    \textcolor{keywordtype}{pointer}    :: doc\textcolor{comment}{     !< A pointer to a structure that controls where the}
308 \textcolor{comment}{                                           !! documentation occurs and its formatting}
309   \textcolor{keywordtype}{character(len=*)},  \textcolor{keywordtype}{intent(in)} :: varname\textcolor{comment}{ !< The name of the parameter being documented}
310   \textcolor{keywordtype}{character(len=*)},  \textcolor{keywordtype}{intent(in)} :: desc\textcolor{comment}{    !< A description of the parameter being documented}
311   \textcolor{keywordtype}{character(len=*)},  \textcolor{keywordtype}{intent(in)} :: units\textcolor{comment}{   !< The units of the parameter being documented}
312   \textcolor{keywordtype}{real},              \textcolor{keywordtype}{intent(in)} :: vals(:)\textcolor{comment}{ !< The array of values to record}
313   \textcolor{keywordtype}{real},    \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: default\textcolor{comment}{ !< The default value of this parameter}
314   \textcolor{keywordtype}{logical}, \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: debuggingparam\textcolor{comment}{ !< If present and true, this is a debugging parameter.}
315   \textcolor{keywordtype}{logical}, \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: like\_default\textcolor{comment}{ !< If present and true, log this parameter as though}
316 \textcolor{comment}{                                           !! it has the default value, even if there is no default.}
317 \textcolor{comment}{! This subroutine handles parameter documentation for arrays of reals.}
318   \textcolor{keywordtype}{integer} :: i
319   \textcolor{keywordtype}{character(len=mLen)} :: mesg
320   \textcolor{keywordtype}{character(len=mLen)} :: valstring
321   \textcolor{keywordtype}{logical} :: equalsdefault
322 
323   \textcolor{keywordflow}{if} (.not. (is\_root\_pe() .and. \textcolor{keyword}{associated}(doc))) \textcolor{keywordflow}{return}
324   \textcolor{keyword}{call }open\_doc\_file(doc)
325 
326   \textcolor{keywordflow}{if} (doc%filesAreOpen) \textcolor{keywordflow}{then}
327     valstring = trim(real\_array\_string(vals(:)))
328 
329     mesg = define\_string(doc, varname, valstring, units)
330 
331     equalsdefault = .false.
332     \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(default)) \textcolor{keywordflow}{then}
333       equalsdefault = .true.
334       \textcolor{keywordflow}{do} i=1,\textcolor{keyword}{size}(vals) ; \textcolor{keywordflow}{if} (vals(i) /= default) equalsdefault = .false. ;\textcolor{keywordflow}{ enddo}
335       mesg = trim(mesg)//\textcolor{stringliteral}{" default = "}//trim(real\_string(default))
336 \textcolor{keywordflow}{    endif}
337     \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(like\_default)) \textcolor{keywordflow}{then} ; \textcolor{keywordflow}{if} (like\_default) equalsdefault = .true. ;\textcolor{keywordflow}{ endif}
338 
339     \textcolor{keywordflow}{if} (mesghasbeendocumented(doc, varname, mesg)) \textcolor{keywordflow}{return} \textcolor{comment}{! Avoid duplicates}
340     \textcolor{keyword}{call }writemessageanddesc(doc, mesg, desc, equalsdefault, debuggingparam=debuggingparam)
341 \textcolor{keywordflow}{  endif}
342 
\end{DoxyCode}
\mbox{\Hypertarget{interfacemom__document_1_1doc__param_a4418c43edd8909f57ba27472cdf6382a}\label{interfacemom__document_1_1doc__param_a4418c43edd8909f57ba27472cdf6382a}} 
\index{mom\+\_\+document\+::doc\+\_\+param@{mom\+\_\+document\+::doc\+\_\+param}!doc\+\_\+param\+\_\+time@{doc\+\_\+param\+\_\+time}}
\index{doc\+\_\+param\+\_\+time@{doc\+\_\+param\+\_\+time}!mom\+\_\+document\+::doc\+\_\+param@{mom\+\_\+document\+::doc\+\_\+param}}
\subsubsection{\texorpdfstring{doc\+\_\+param\+\_\+time()}{doc\_param\_time()}}
{\footnotesize\ttfamily subroutine mom\+\_\+document\+::doc\+\_\+param\+::doc\+\_\+param\+\_\+time (\begin{DoxyParamCaption}\item[{type(\hyperlink{structmom__document_1_1doc__type}{doc\+\_\+type}), pointer}]{doc,  }\item[{character(len=$\ast$), intent(in)}]{varname,  }\item[{character(len=$\ast$), intent(in)}]{desc,  }\item[{type(time\+\_\+type), intent(in)}]{val,  }\item[{type(time\+\_\+type), intent(in), optional}]{default,  }\item[{character(len=$\ast$), intent(in), optional}]{units,  }\item[{logical, intent(in), optional}]{debugging\+Param,  }\item[{logical, intent(in), optional}]{like\+\_\+default }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



This subroutine handles parameter documentation for time-\/type variables. 


\begin{DoxyParams}[1]{Parameters}
 & {\em doc} & A pointer to a structure that controls where the documentation occurs and its formatting\\
\hline
\mbox{\tt in}  & {\em varname} & The name of the parameter being documented\\
\hline
\mbox{\tt in}  & {\em desc} & A description of the parameter being documented\\
\hline
\mbox{\tt in}  & {\em val} & The value of the parameter\\
\hline
\mbox{\tt in}  & {\em default} & The default value of this parameter\\
\hline
\mbox{\tt in}  & {\em units} & The units of the parameter being documented\\
\hline
\mbox{\tt in}  & {\em debuggingparam} & If present and true, this is a debugging parameter.\\
\hline
\mbox{\tt in}  & {\em like\+\_\+default} & If present and true, log this parameter as though it has the default value, even if there is no default. \\
\hline
\end{DoxyParams}


Definition at line 437 of file M\+O\+M\+\_\+document.\+F90.


\begin{DoxyCode}
437   \textcolor{keywordtype}{type}(doc\_type),   \textcolor{keywordtype}{pointer}    :: doc\textcolor{comment}{     !< A pointer to a structure that controls where the}
438 \textcolor{comment}{                                          !! documentation occurs and its formatting}
439   \textcolor{keywordtype}{character(len=*)}, \textcolor{keywordtype}{intent(in)} :: varname\textcolor{comment}{ !< The name of the parameter being documented}
440   \textcolor{keywordtype}{character(len=*)}, \textcolor{keywordtype}{intent(in)} :: desc\textcolor{comment}{    !< A description of the parameter being documented}
441   \textcolor{keywordtype}{type}(time\_type),  \textcolor{keywordtype}{intent(in)} :: val\textcolor{comment}{     !< The value of the parameter}
442   \textcolor{keywordtype}{type}(time\_type),  \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: default\textcolor{comment}{ !< The default value of this parameter}
443   \textcolor{keywordtype}{character(len=*)}, \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: units\textcolor{comment}{   !< The units of the parameter being documented}
444   \textcolor{keywordtype}{logical},          \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: debuggingparam\textcolor{comment}{ !< If present and true, this is a debugging
       parameter.}
445   \textcolor{keywordtype}{logical},          \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: like\_default\textcolor{comment}{ !< If present and true, log this parameter as
       though}
446 \textcolor{comment}{                                             !! it has the default value, even if there is no default.}
447 
448   \textcolor{comment}{! Local varables}
449   \textcolor{keywordtype}{character(len=mLen)}              :: mesg          \textcolor{comment}{! The output message}
450   \textcolor{keywordtype}{character(len=doc%commentColumn)} :: valstring     \textcolor{comment}{! A string with the formatted value.}
451   \textcolor{keywordtype}{logical}                          :: equalsdefault \textcolor{comment}{! True if val = default.}
452 
453   \textcolor{keywordflow}{if} (.not. (is\_root\_pe() .and. \textcolor{keyword}{associated}(doc))) \textcolor{keywordflow}{return}
454   \textcolor{keyword}{call }open\_doc\_file(doc)
455 
456   \textcolor{keywordflow}{if} (doc%filesAreOpen) \textcolor{keywordflow}{then}
457     valstring = time\_string(val)
458     \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(units)) \textcolor{keywordflow}{then}
459       mesg = define\_string(doc, varname, valstring, units)
460     \textcolor{keywordflow}{else}
461       mesg = define\_string(doc, varname, valstring, \textcolor{stringliteral}{"[days : seconds]"})
462 \textcolor{keywordflow}{    endif}
463 
464     equalsdefault = .false.
465     \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(like\_default)) equalsdefault = like\_default
466     \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(default)) \textcolor{keywordflow}{then}
467       \textcolor{keywordflow}{if} (val == default) equalsdefault = .true.
468       mesg = trim(mesg)//\textcolor{stringliteral}{" default = "}//trim(time\_string(default))
469 \textcolor{keywordflow}{    endif}
470 
471     \textcolor{keywordflow}{if} (mesghasbeendocumented(doc, varname, mesg)) \textcolor{keywordflow}{return} \textcolor{comment}{! Avoid duplicates}
472     \textcolor{keyword}{call }writemessageanddesc(doc, mesg, desc, equalsdefault, debuggingparam=debuggingparam)
473 \textcolor{keywordflow}{  endif}
474 
\end{DoxyCode}


The documentation for this interface was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
/home/cermak/src/\+M\+O\+M6.\+devrob/src/framework/M\+O\+M\+\_\+document.\+F90\end{DoxyCompactItemize}
