\hypertarget{interfacemom__file__parser_1_1log__param}{}\section{mom\+\_\+file\+\_\+parser\+:\+:log\+\_\+param Interface Reference}
\label{interfacemom__file__parser_1_1log__param}\index{mom\+\_\+file\+\_\+parser\+::log\+\_\+param@{mom\+\_\+file\+\_\+parser\+::log\+\_\+param}}


\subsection{Detailed Description}
An overloaded interface to log the values of various types of parameters. 

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

\subsection*{Private functions}
\begin{DoxyCompactItemize}
\item 
subroutine \mbox{\hyperlink{interfacemom__file__parser_1_1log__param_a5ee3ad4a3b066568d115df17b885e308}{log\+\_\+param\+\_\+int}} (CS, modulename, varname, value, desc, units, default, layout\+Param, debugging\+Param, like\+\_\+default)
\begin{DoxyCompactList}\small\item\em Log the name and value of an integer model parameter in documentation files. \end{DoxyCompactList}\item 
subroutine \mbox{\hyperlink{interfacemom__file__parser_1_1log__param_a52003a742a757ad9df099fc281106f97}{log\+\_\+param\+\_\+real}} (CS, modulename, varname, value, desc, units, default, debugging\+Param, like\+\_\+default)
\begin{DoxyCompactList}\small\item\em Log the name and value of a real model parameter in documentation files. \end{DoxyCompactList}\item 
subroutine \mbox{\hyperlink{interfacemom__file__parser_1_1log__param_a137a69c680ddcea0a81b7af9a23c9683}{log\+\_\+param\+\_\+logical}} (CS, modulename, varname, value, desc, units, default, layout\+Param, debugging\+Param, like\+\_\+default)
\begin{DoxyCompactList}\small\item\em Log the name and value of a logical model parameter in documentation files. \end{DoxyCompactList}\item 
subroutine \mbox{\hyperlink{interfacemom__file__parser_1_1log__param_a73fa0c5f32c20d395f54bd1fcc087513}{log\+\_\+param\+\_\+char}} (CS, modulename, varname, value, desc, units, default, layout\+Param, debugging\+Param, like\+\_\+default)
\begin{DoxyCompactList}\small\item\em Log the name and value of a character string model parameter in documentation files. \end{DoxyCompactList}\item 
subroutine \mbox{\hyperlink{interfacemom__file__parser_1_1log__param_a657a6d328abc438e1ca6dc94adaf4cfb}{log\+\_\+param\+\_\+time}} (CS, modulename, varname, value, desc, units, default, timeunit, layout\+Param, debugging\+Param, log\+\_\+date, like\+\_\+default)
\begin{DoxyCompactList}\small\item\em This subroutine writes the value of a time-\/type parameter to a log file, along with its name and the module it came from. \end{DoxyCompactList}\item 
subroutine \mbox{\hyperlink{interfacemom__file__parser_1_1log__param_ae7342287964d97dd94fc1ebc8737e64f}{log\+\_\+param\+\_\+int\+\_\+array}} (CS, modulename, varname, value, desc, units, default, layout\+Param, debugging\+Param, like\+\_\+default)
\begin{DoxyCompactList}\small\item\em Log the name and values of an array of integer model parameter in documentation files. \end{DoxyCompactList}\item 
subroutine \mbox{\hyperlink{interfacemom__file__parser_1_1log__param_aed5310dee8dfec362f8ce61161352db8}{log\+\_\+param\+\_\+real\+\_\+array}} (CS, modulename, varname, value, desc, units, default, debugging\+Param, like\+\_\+default)
\begin{DoxyCompactList}\small\item\em Log the name and values of an array of real model parameter in documentation files. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
An overloaded interface to log the values of various types of parameters. 

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



\subsection{Functions and subroutines}
\mbox{\Hypertarget{interfacemom__file__parser_1_1log__param_a73fa0c5f32c20d395f54bd1fcc087513}\label{interfacemom__file__parser_1_1log__param_a73fa0c5f32c20d395f54bd1fcc087513}} 
\index{mom\+\_\+file\+\_\+parser\+::log\+\_\+param@{mom\+\_\+file\+\_\+parser\+::log\+\_\+param}!log\+\_\+param\+\_\+char@{log\+\_\+param\+\_\+char}}
\index{log\+\_\+param\+\_\+char@{log\+\_\+param\+\_\+char}!mom\+\_\+file\+\_\+parser\+::log\+\_\+param@{mom\+\_\+file\+\_\+parser\+::log\+\_\+param}}
\subsubsection{\texorpdfstring{log\+\_\+param\+\_\+char()}{log\_param\_char()}}
{\footnotesize\ttfamily subroutine mom\+\_\+file\+\_\+parser\+::log\+\_\+param\+::log\+\_\+param\+\_\+char (\begin{DoxyParamCaption}\item[{type(\mbox{\hyperlink{structmom__file__parser_1_1param__file__type}{param\+\_\+file\+\_\+type}}), intent(in)}]{CS,  }\item[{character(len=$\ast$), intent(in)}]{modulename,  }\item[{character(len=$\ast$), intent(in)}]{varname,  }\item[{character(len=$\ast$), intent(in)}]{value,  }\item[{character(len=$\ast$), intent(in), optional}]{desc,  }\item[{character(len=$\ast$), intent(in), optional}]{units,  }\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]}}



Log the name and value of a character string model parameter in documentation files. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em cs} & The control structure for the file\+\_\+parser module, it is also a structure to parse for run-\/time parameters\\
\hline
\mbox{\tt in}  & {\em modulename} & The name of the calling module\\
\hline
\mbox{\tt in}  & {\em varname} & The name of the parameter to log\\
\hline
\mbox{\tt in}  & {\em value} & The value of the parameter to log\\
\hline
\mbox{\tt in}  & {\em desc} & A description of this variable; if not present, this parameter is not written to a doc file\\
\hline
\mbox{\tt in}  & {\em units} & The units of this parameter\\
\hline
\mbox{\tt in}  & {\em default} & The default value of the parameter\\
\hline
\mbox{\tt in}  & {\em layoutparam} & If present and true, this parameter is logged in the layout parameter file\\
\hline
\mbox{\tt in}  & {\em debuggingparam} & If present and true, this parameter is logged in the debugging parameter file\\
\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 1470 of file M\+O\+M\+\_\+file\+\_\+parser.\+F90.


\begin{DoxyCode}
1470   \textcolor{keywordtype}{type}(param\_file\_type),      \textcolor{keywordtype}{intent(in)} :: CS\textcolor{comment}{      !< The control structure for the file\_parser module,}
1471 \textcolor{comment}{                                         !! it is also a structure to parse for run-time parameters}
1472   \textcolor{keywordtype}{character(len=*)},           \textcolor{keywordtype}{intent(in)} :: modulename\textcolor{comment}{ !< The name of the calling module}
1473   \textcolor{keywordtype}{character(len=*)},           \textcolor{keywordtype}{intent(in)} :: varname\textcolor{comment}{ !< The name of the parameter to log}
1474   \textcolor{keywordtype}{character(len=*)},           \textcolor{keywordtype}{intent(in)} :: \textcolor{keywordtype}{value}\textcolor{comment}{   !< The value of the parameter to log}
1475   \textcolor{keywordtype}{character(len=*)}, \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: desc\textcolor{comment}{    !< A description of this variable; if not}
1476 \textcolor{comment}{                                         !! present, this parameter is not written to a doc file}
1477   \textcolor{keywordtype}{character(len=*)}, \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: units\textcolor{comment}{   !< The units of this parameter}
1478   \textcolor{keywordtype}{character(len=*)}, \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: default\textcolor{comment}{ !< The default value of the parameter}
1479   \textcolor{keywordtype}{logical},          \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: layoutParam\textcolor{comment}{ !< If present and true, this parameter is}
1480 \textcolor{comment}{                                         !! logged in the layout parameter file}
1481   \textcolor{keywordtype}{logical},          \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: debuggingParam\textcolor{comment}{ !< If present and true, this parameter is}
1482 \textcolor{comment}{                                         !! logged in the debugging parameter file}
1483   \textcolor{keywordtype}{logical},          \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: like\_default\textcolor{comment}{ !< If present and true, log this parameter as}
1484 \textcolor{comment}{                                         !! though it has the default value, even if there is no default.}
1485 
1486   \textcolor{keywordtype}{character(len=1024)} :: mesg, myunits
1487 
1488   \textcolor{keyword}{write}(mesg, \textcolor{stringliteral}{'("  ",a," ",a,": ",a)'}) &
1489     trim(modulename), trim(varname), trim(\textcolor{keywordtype}{value})
1490   \textcolor{keywordflow}{if} (is\_root\_pe()) \textcolor{keywordflow}{then}
1491     \textcolor{keywordflow}{if} (cs%log\_open) \textcolor{keyword}{write}(cs%stdlog,\textcolor{stringliteral}{'(a)'}) trim(mesg)
1492     \textcolor{keywordflow}{if} (cs%log\_to\_stdout) \textcolor{keyword}{write}(cs%stdout,\textcolor{stringliteral}{'(a)'}) trim(mesg)
1493 \textcolor{keywordflow}{  endif}
1494 
1495   myunits=\textcolor{stringliteral}{" "}; \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(units)) \textcolor{keyword}{write}(myunits(1:1024),\textcolor{stringliteral}{'(A)'}) trim(units)
1496   \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(desc)) &
1497     \textcolor{keyword}{call }doc\_param(cs%doc, varname, desc, myunits, \textcolor{keywordtype}{value}, default, &
1498                    layoutparam=layoutparam, debuggingparam=debuggingparam, like\_default=like\_default)
1499 
\end{DoxyCode}
\mbox{\Hypertarget{interfacemom__file__parser_1_1log__param_a5ee3ad4a3b066568d115df17b885e308}\label{interfacemom__file__parser_1_1log__param_a5ee3ad4a3b066568d115df17b885e308}} 
\index{mom\+\_\+file\+\_\+parser\+::log\+\_\+param@{mom\+\_\+file\+\_\+parser\+::log\+\_\+param}!log\+\_\+param\+\_\+int@{log\+\_\+param\+\_\+int}}
\index{log\+\_\+param\+\_\+int@{log\+\_\+param\+\_\+int}!mom\+\_\+file\+\_\+parser\+::log\+\_\+param@{mom\+\_\+file\+\_\+parser\+::log\+\_\+param}}
\subsubsection{\texorpdfstring{log\+\_\+param\+\_\+int()}{log\_param\_int()}}
{\footnotesize\ttfamily subroutine mom\+\_\+file\+\_\+parser\+::log\+\_\+param\+::log\+\_\+param\+\_\+int (\begin{DoxyParamCaption}\item[{type(\mbox{\hyperlink{structmom__file__parser_1_1param__file__type}{param\+\_\+file\+\_\+type}}), intent(in)}]{CS,  }\item[{character(len=$\ast$), intent(in)}]{modulename,  }\item[{character(len=$\ast$), intent(in)}]{varname,  }\item[{integer, intent(in)}]{value,  }\item[{character(len=$\ast$), intent(in), optional}]{desc,  }\item[{character(len=$\ast$), intent(in), optional}]{units,  }\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]}}



Log the name and value of an integer model parameter in documentation files. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em cs} & The control structure for the file\+\_\+parser module, it is also a structure to parse for run-\/time parameters\\
\hline
\mbox{\tt in}  & {\em modulename} & The name of the module using this parameter\\
\hline
\mbox{\tt in}  & {\em varname} & The name of the parameter to log\\
\hline
\mbox{\tt in}  & {\em value} & The value of the parameter to log\\
\hline
\mbox{\tt in}  & {\em desc} & A description of this variable; if not present, this parameter is not written to a doc file\\
\hline
\mbox{\tt in}  & {\em units} & The units of this parameter\\
\hline
\mbox{\tt in}  & {\em default} & The default value of the parameter\\
\hline
\mbox{\tt in}  & {\em layoutparam} & If present and true, this parameter is logged in the layout parameter file\\
\hline
\mbox{\tt in}  & {\em debuggingparam} & If present and true, this parameter is logged in the debugging parameter file\\
\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 1293 of file M\+O\+M\+\_\+file\+\_\+parser.\+F90.


\begin{DoxyCode}
1293   \textcolor{keywordtype}{type}(param\_file\_type),      \textcolor{keywordtype}{intent(in)} :: CS\textcolor{comment}{      !< The control structure for the file\_parser module,}
1294 \textcolor{comment}{                                         !! it is also a structure to parse for run-time parameters}
1295   \textcolor{keywordtype}{character(len=*)},           \textcolor{keywordtype}{intent(in)} :: modulename\textcolor{comment}{ !< The name of the module using this parameter}
1296   \textcolor{keywordtype}{character(len=*)},           \textcolor{keywordtype}{intent(in)} :: varname\textcolor{comment}{ !< The name of the parameter to log}
1297   \textcolor{keywordtype}{integer},                    \textcolor{keywordtype}{intent(in)} :: \textcolor{keywordtype}{value}\textcolor{comment}{   !< The value of the parameter to log}
1298   \textcolor{keywordtype}{character(len=*)}, \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: desc\textcolor{comment}{    !< A description of this variable; if not}
1299 \textcolor{comment}{                                         !! present, this parameter is not written to a doc file}
1300   \textcolor{keywordtype}{character(len=*)}, \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: units\textcolor{comment}{   !< The units of this parameter}
1301   \textcolor{keywordtype}{integer},          \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: default\textcolor{comment}{ !< The default value of the parameter}
1302   \textcolor{keywordtype}{logical},          \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: layoutParam\textcolor{comment}{ !< If present and true, this parameter is}
1303 \textcolor{comment}{                                         !! logged in the layout parameter file}
1304   \textcolor{keywordtype}{logical},          \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: debuggingParam\textcolor{comment}{ !< If present and true, this parameter is}
1305 \textcolor{comment}{                                         !! logged in the debugging parameter file}
1306   \textcolor{keywordtype}{logical},          \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: like\_default\textcolor{comment}{ !< If present and true, log this parameter as}
1307 \textcolor{comment}{                                         !! though it has the default value, even if there is no default.}
1308 
1309   \textcolor{keywordtype}{character(len=240)} :: mesg, myunits
1310 
1311   \textcolor{keyword}{write}(mesg, \textcolor{stringliteral}{'("  ",a," ",a,": ",a)'}) trim(modulename), trim(varname), trim(left\_int(\textcolor{keywordtype}{value}))
1312   \textcolor{keywordflow}{if} (is\_root\_pe()) \textcolor{keywordflow}{then}
1313     \textcolor{keywordflow}{if} (cs%log\_open) \textcolor{keyword}{write}(cs%stdlog,\textcolor{stringliteral}{'(a)'}) trim(mesg)
1314     \textcolor{keywordflow}{if} (cs%log\_to\_stdout) \textcolor{keyword}{write}(cs%stdout,\textcolor{stringliteral}{'(a)'}) trim(mesg)
1315 \textcolor{keywordflow}{  endif}
1316 
1317   myunits=\textcolor{stringliteral}{" "}; \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(units)) \textcolor{keyword}{write}(myunits(1:240),\textcolor{stringliteral}{'(A)'}) trim(units)
1318   \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(desc)) &
1319     \textcolor{keyword}{call }doc\_param(cs%doc, varname, desc, myunits, \textcolor{keywordtype}{value}, default, &
1320                    layoutparam=layoutparam, debuggingparam=debuggingparam, like\_default=like\_default)
1321 
\end{DoxyCode}
\mbox{\Hypertarget{interfacemom__file__parser_1_1log__param_ae7342287964d97dd94fc1ebc8737e64f}\label{interfacemom__file__parser_1_1log__param_ae7342287964d97dd94fc1ebc8737e64f}} 
\index{mom\+\_\+file\+\_\+parser\+::log\+\_\+param@{mom\+\_\+file\+\_\+parser\+::log\+\_\+param}!log\+\_\+param\+\_\+int\+\_\+array@{log\+\_\+param\+\_\+int\+\_\+array}}
\index{log\+\_\+param\+\_\+int\+\_\+array@{log\+\_\+param\+\_\+int\+\_\+array}!mom\+\_\+file\+\_\+parser\+::log\+\_\+param@{mom\+\_\+file\+\_\+parser\+::log\+\_\+param}}
\subsubsection{\texorpdfstring{log\+\_\+param\+\_\+int\+\_\+array()}{log\_param\_int\_array()}}
{\footnotesize\ttfamily subroutine mom\+\_\+file\+\_\+parser\+::log\+\_\+param\+::log\+\_\+param\+\_\+int\+\_\+array (\begin{DoxyParamCaption}\item[{type(\mbox{\hyperlink{structmom__file__parser_1_1param__file__type}{param\+\_\+file\+\_\+type}}), intent(in)}]{CS,  }\item[{character(len=$\ast$), intent(in)}]{modulename,  }\item[{character(len=$\ast$), intent(in)}]{varname,  }\item[{integer, dimension(\+:), intent(in)}]{value,  }\item[{character(len=$\ast$), intent(in), optional}]{desc,  }\item[{character(len=$\ast$), intent(in), optional}]{units,  }\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]}}



Log the name and values of an array of integer model parameter in documentation files. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em cs} & The control structure for the file\+\_\+parser module, it is also a structure to parse for run-\/time parameters\\
\hline
\mbox{\tt in}  & {\em modulename} & The name of the module using this parameter\\
\hline
\mbox{\tt in}  & {\em varname} & The name of the parameter to log\\
\hline
\mbox{\tt in}  & {\em value} & The value of the parameter to log\\
\hline
\mbox{\tt in}  & {\em desc} & A description of this variable; if not present, this parameter is not written to a doc file\\
\hline
\mbox{\tt in}  & {\em units} & The units of this parameter\\
\hline
\mbox{\tt in}  & {\em default} & The default value of the parameter\\
\hline
\mbox{\tt in}  & {\em layoutparam} & If present and true, this parameter is logged in the layout parameter file\\
\hline
\mbox{\tt in}  & {\em debuggingparam} & If present and true, this parameter is logged in the debugging parameter file\\
\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 1327 of file M\+O\+M\+\_\+file\+\_\+parser.\+F90.


\begin{DoxyCode}
1327   \textcolor{keywordtype}{type}(param\_file\_type),      \textcolor{keywordtype}{intent(in)} :: CS\textcolor{comment}{      !< The control structure for the file\_parser module,}
1328 \textcolor{comment}{                                         !! it is also a structure to parse for run-time parameters}
1329   \textcolor{keywordtype}{character(len=*)},           \textcolor{keywordtype}{intent(in)} :: modulename\textcolor{comment}{ !< The name of the module using this parameter}
1330   \textcolor{keywordtype}{character(len=*)},           \textcolor{keywordtype}{intent(in)} :: varname\textcolor{comment}{ !< The name of the parameter to log}
1331   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{dimension(:)},      \textcolor{keywordtype}{intent(in)} :: \textcolor{keywordtype}{value}\textcolor{comment}{   !< The value of the parameter to log}
1332   \textcolor{keywordtype}{character(len=*)}, \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: desc\textcolor{comment}{    !< A description of this variable; if not}
1333 \textcolor{comment}{                                         !! present, this parameter is not written to a doc file}
1334   \textcolor{keywordtype}{character(len=*)}, \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: units\textcolor{comment}{   !< The units of this parameter}
1335   \textcolor{keywordtype}{integer},          \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: default\textcolor{comment}{ !< The default value of the parameter}
1336   \textcolor{keywordtype}{logical},          \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: layoutParam\textcolor{comment}{ !< If present and true, this parameter is}
1337 \textcolor{comment}{                                         !! logged in the layout parameter file}
1338   \textcolor{keywordtype}{logical},          \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: debuggingParam\textcolor{comment}{ !< If present and true, this parameter is}
1339 \textcolor{comment}{                                         !! logged in the debugging parameter file}
1340   \textcolor{keywordtype}{logical},          \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: like\_default\textcolor{comment}{ !< If present and true, log this parameter as}
1341 \textcolor{comment}{                                         !! though it has the default value, even if there is no default.}
1342 
1343   \textcolor{keywordtype}{character(len=1320)} :: mesg
1344   \textcolor{keywordtype}{character(len=240)} :: myunits
1345 
1346   \textcolor{keyword}{write}(mesg, \textcolor{stringliteral}{'("  ",a," ",a,": ",A)'}) trim(modulename), trim(varname), trim(left\_ints(\textcolor{keywordtype}{value}))
1347   \textcolor{keywordflow}{if} (is\_root\_pe()) \textcolor{keywordflow}{then}
1348     \textcolor{keywordflow}{if} (cs%log\_open) \textcolor{keyword}{write}(cs%stdlog,\textcolor{stringliteral}{'(a)'}) trim(mesg)
1349     \textcolor{keywordflow}{if} (cs%log\_to\_stdout) \textcolor{keyword}{write}(cs%stdout,\textcolor{stringliteral}{'(a)'}) trim(mesg)
1350 \textcolor{keywordflow}{  endif}
1351 
1352   myunits=\textcolor{stringliteral}{" "}; \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(units)) \textcolor{keyword}{write}(myunits(1:240),\textcolor{stringliteral}{'(A)'}) trim(units)
1353   \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(desc)) &
1354     \textcolor{keyword}{call }doc\_param(cs%doc, varname, desc, myunits, \textcolor{keywordtype}{value}, default, &
1355                    layoutparam=layoutparam, debuggingparam=debuggingparam, like\_default=like\_default)
1356 
\end{DoxyCode}
\mbox{\Hypertarget{interfacemom__file__parser_1_1log__param_a137a69c680ddcea0a81b7af9a23c9683}\label{interfacemom__file__parser_1_1log__param_a137a69c680ddcea0a81b7af9a23c9683}} 
\index{mom\+\_\+file\+\_\+parser\+::log\+\_\+param@{mom\+\_\+file\+\_\+parser\+::log\+\_\+param}!log\+\_\+param\+\_\+logical@{log\+\_\+param\+\_\+logical}}
\index{log\+\_\+param\+\_\+logical@{log\+\_\+param\+\_\+logical}!mom\+\_\+file\+\_\+parser\+::log\+\_\+param@{mom\+\_\+file\+\_\+parser\+::log\+\_\+param}}
\subsubsection{\texorpdfstring{log\+\_\+param\+\_\+logical()}{log\_param\_logical()}}
{\footnotesize\ttfamily subroutine mom\+\_\+file\+\_\+parser\+::log\+\_\+param\+::log\+\_\+param\+\_\+logical (\begin{DoxyParamCaption}\item[{type(\mbox{\hyperlink{structmom__file__parser_1_1param__file__type}{param\+\_\+file\+\_\+type}}), intent(in)}]{CS,  }\item[{character(len=$\ast$), intent(in)}]{modulename,  }\item[{character(len=$\ast$), intent(in)}]{varname,  }\item[{logical, intent(in)}]{value,  }\item[{character(len=$\ast$), intent(in), optional}]{desc,  }\item[{character(len=$\ast$), intent(in), optional}]{units,  }\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]}}



Log the name and value of a logical model parameter in documentation files. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em cs} & The control structure for the file\+\_\+parser module, it is also a structure to parse for run-\/time parameters\\
\hline
\mbox{\tt in}  & {\em modulename} & The name of the calling module\\
\hline
\mbox{\tt in}  & {\em varname} & The name of the parameter to log\\
\hline
\mbox{\tt in}  & {\em value} & The value of the parameter to log\\
\hline
\mbox{\tt in}  & {\em desc} & A description of this variable; if not present, this parameter is not written to a doc file\\
\hline
\mbox{\tt in}  & {\em units} & The units of this parameter\\
\hline
\mbox{\tt in}  & {\em default} & The default value of the parameter\\
\hline
\mbox{\tt in}  & {\em layoutparam} & If present and true, this parameter is logged in the layout parameter file\\
\hline
\mbox{\tt in}  & {\em debuggingparam} & If present and true, this parameter is logged in the debugging parameter file\\
\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 1432 of file M\+O\+M\+\_\+file\+\_\+parser.\+F90.


\begin{DoxyCode}
1432   \textcolor{keywordtype}{type}(param\_file\_type),      \textcolor{keywordtype}{intent(in)} :: CS\textcolor{comment}{      !< The control structure for the file\_parser module,}
1433 \textcolor{comment}{                                         !! it is also a structure to parse for run-time parameters}
1434   \textcolor{keywordtype}{character(len=*)},           \textcolor{keywordtype}{intent(in)} :: modulename\textcolor{comment}{ !< The name of the calling module}
1435   \textcolor{keywordtype}{character(len=*)},           \textcolor{keywordtype}{intent(in)} :: varname\textcolor{comment}{ !< The name of the parameter to log}
1436   \textcolor{keywordtype}{logical},                    \textcolor{keywordtype}{intent(in)} :: \textcolor{keywordtype}{value}\textcolor{comment}{   !< The value of the parameter to log}
1437   \textcolor{keywordtype}{character(len=*)}, \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: desc\textcolor{comment}{    !< A description of this variable; if not}
1438 \textcolor{comment}{                                         !! present, this parameter is not written to a doc file}
1439   \textcolor{keywordtype}{character(len=*)}, \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: units\textcolor{comment}{   !< The units of this parameter}
1440   \textcolor{keywordtype}{logical},          \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: default\textcolor{comment}{ !< The default value of the parameter}
1441   \textcolor{keywordtype}{logical},          \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: layoutParam\textcolor{comment}{ !< If present and true, this parameter is}
1442 \textcolor{comment}{                                         !! logged in the layout parameter file}
1443   \textcolor{keywordtype}{logical},          \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: debuggingParam\textcolor{comment}{ !< If present and true, this parameter is}
1444 \textcolor{comment}{                                         !! logged in the debugging parameter file}
1445   \textcolor{keywordtype}{logical},          \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: like\_default\textcolor{comment}{ !< If present and true, log this parameter as}
1446 \textcolor{comment}{                                         !! though it has the default value, even if there is no default.}
1447 
1448   \textcolor{keywordtype}{character(len=240)} :: mesg, myunits
1449 
1450   \textcolor{keywordflow}{if} (\textcolor{keywordtype}{value}) \textcolor{keywordflow}{then}
1451     \textcolor{keyword}{write}(mesg, \textcolor{stringliteral}{'("  ",a," ",a,": True")'}) trim(modulename), trim(varname)
1452   \textcolor{keywordflow}{else}
1453     \textcolor{keyword}{write}(mesg, \textcolor{stringliteral}{'("  ",a," ",a,": False")'}) trim(modulename), trim(varname)
1454 \textcolor{keywordflow}{  endif}
1455   \textcolor{keywordflow}{if} (is\_root\_pe()) \textcolor{keywordflow}{then}
1456     \textcolor{keywordflow}{if} (cs%log\_open) \textcolor{keyword}{write}(cs%stdlog,\textcolor{stringliteral}{'(a)'}) trim(mesg)
1457     \textcolor{keywordflow}{if} (cs%log\_to\_stdout) \textcolor{keyword}{write}(cs%stdout,\textcolor{stringliteral}{'(a)'}) trim(mesg)
1458 \textcolor{keywordflow}{  endif}
1459 
1460   myunits=\textcolor{stringliteral}{"Boolean"}; \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(units)) \textcolor{keyword}{write}(myunits(1:240),\textcolor{stringliteral}{'(A)'}) trim(units)
1461   \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(desc)) &
1462     \textcolor{keyword}{call }doc\_param(cs%doc, varname, desc, myunits, \textcolor{keywordtype}{value}, default, &
1463                    layoutparam=layoutparam, debuggingparam=debuggingparam, like\_default=like\_default)
1464 
\end{DoxyCode}
\mbox{\Hypertarget{interfacemom__file__parser_1_1log__param_a52003a742a757ad9df099fc281106f97}\label{interfacemom__file__parser_1_1log__param_a52003a742a757ad9df099fc281106f97}} 
\index{mom\+\_\+file\+\_\+parser\+::log\+\_\+param@{mom\+\_\+file\+\_\+parser\+::log\+\_\+param}!log\+\_\+param\+\_\+real@{log\+\_\+param\+\_\+real}}
\index{log\+\_\+param\+\_\+real@{log\+\_\+param\+\_\+real}!mom\+\_\+file\+\_\+parser\+::log\+\_\+param@{mom\+\_\+file\+\_\+parser\+::log\+\_\+param}}
\subsubsection{\texorpdfstring{log\+\_\+param\+\_\+real()}{log\_param\_real()}}
{\footnotesize\ttfamily subroutine mom\+\_\+file\+\_\+parser\+::log\+\_\+param\+::log\+\_\+param\+\_\+real (\begin{DoxyParamCaption}\item[{type(\mbox{\hyperlink{structmom__file__parser_1_1param__file__type}{param\+\_\+file\+\_\+type}}), intent(in)}]{CS,  }\item[{character(len=$\ast$), intent(in)}]{modulename,  }\item[{character(len=$\ast$), intent(in)}]{varname,  }\item[{real, intent(in)}]{value,  }\item[{character(len=$\ast$), intent(in), optional}]{desc,  }\item[{character(len=$\ast$), intent(in), optional}]{units,  }\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]}}



Log the name and value of a real model parameter in documentation files. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em cs} & The control structure for the file\+\_\+parser module, it is also a structure to parse for run-\/time parameters\\
\hline
\mbox{\tt in}  & {\em modulename} & The name of the calling module\\
\hline
\mbox{\tt in}  & {\em varname} & The name of the parameter to log\\
\hline
\mbox{\tt in}  & {\em value} & The value of the parameter to log\\
\hline
\mbox{\tt in}  & {\em desc} & A description of this variable; if not present, this parameter is not written to a doc file\\
\hline
\mbox{\tt in}  & {\em units} & The units of this parameter\\
\hline
\mbox{\tt in}  & {\em default} & The default value of the parameter\\
\hline
\mbox{\tt in}  & {\em debuggingparam} & If present and true, this parameter is logged in the debugging parameter file\\
\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 1362 of file M\+O\+M\+\_\+file\+\_\+parser.\+F90.


\begin{DoxyCode}
1362   \textcolor{keywordtype}{type}(param\_file\_type),      \textcolor{keywordtype}{intent(in)} :: CS\textcolor{comment}{      !< The control structure for the file\_parser module,}
1363 \textcolor{comment}{                                         !! it is also a structure to parse for run-time parameters}
1364   \textcolor{keywordtype}{character(len=*)},           \textcolor{keywordtype}{intent(in)} :: modulename\textcolor{comment}{ !< The name of the calling module}
1365   \textcolor{keywordtype}{character(len=*)},           \textcolor{keywordtype}{intent(in)} :: varname\textcolor{comment}{ !< The name of the parameter to log}
1366   \textcolor{keywordtype}{real},                       \textcolor{keywordtype}{intent(in)} :: \textcolor{keywordtype}{value}\textcolor{comment}{   !< The value of the parameter to log}
1367   \textcolor{keywordtype}{character(len=*)}, \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: desc\textcolor{comment}{    !< A description of this variable; if not}
1368 \textcolor{comment}{                                         !! present, this parameter is not written to a doc file}
1369   \textcolor{keywordtype}{character(len=*)}, \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: units\textcolor{comment}{   !< The units of this parameter}
1370   \textcolor{keywordtype}{real},             \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: default\textcolor{comment}{ !< The default value of the parameter}
1371   \textcolor{keywordtype}{logical},          \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: debuggingParam\textcolor{comment}{ !< If present and true, this parameter is}
1372 \textcolor{comment}{                                         !! logged in the debugging parameter file}
1373   \textcolor{keywordtype}{logical},          \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: like\_default\textcolor{comment}{ !< If present and true, log this parameter as}
1374 \textcolor{comment}{                                         !! though it has the default value, even if there is no default.}
1375 
1376   \textcolor{keywordtype}{character(len=240)} :: mesg, myunits
1377 
1378   \textcolor{keyword}{write}(mesg, \textcolor{stringliteral}{'("  ",a," ",a,": ",a)'}) &
1379     trim(modulename), trim(varname), trim(left\_real(\textcolor{keywordtype}{value}))
1380   \textcolor{keywordflow}{if} (is\_root\_pe()) \textcolor{keywordflow}{then}
1381     \textcolor{keywordflow}{if} (cs%log\_open) \textcolor{keyword}{write}(cs%stdlog,\textcolor{stringliteral}{'(a)'}) trim(mesg)
1382     \textcolor{keywordflow}{if} (cs%log\_to\_stdout) \textcolor{keyword}{write}(cs%stdout,\textcolor{stringliteral}{'(a)'}) trim(mesg)
1383 \textcolor{keywordflow}{  endif}
1384 
1385   myunits=\textcolor{stringliteral}{"not defined"}; \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(units)) \textcolor{keyword}{write}(myunits(1:240),\textcolor{stringliteral}{'(A)'}) trim(units)
1386   \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(desc)) &
1387     \textcolor{keyword}{call }doc\_param(cs%doc, varname, desc, myunits, \textcolor{keywordtype}{value}, default, &
1388                    debuggingparam=debuggingparam, like\_default=like\_default)
1389 
\end{DoxyCode}
\mbox{\Hypertarget{interfacemom__file__parser_1_1log__param_aed5310dee8dfec362f8ce61161352db8}\label{interfacemom__file__parser_1_1log__param_aed5310dee8dfec362f8ce61161352db8}} 
\index{mom\+\_\+file\+\_\+parser\+::log\+\_\+param@{mom\+\_\+file\+\_\+parser\+::log\+\_\+param}!log\+\_\+param\+\_\+real\+\_\+array@{log\+\_\+param\+\_\+real\+\_\+array}}
\index{log\+\_\+param\+\_\+real\+\_\+array@{log\+\_\+param\+\_\+real\+\_\+array}!mom\+\_\+file\+\_\+parser\+::log\+\_\+param@{mom\+\_\+file\+\_\+parser\+::log\+\_\+param}}
\subsubsection{\texorpdfstring{log\+\_\+param\+\_\+real\+\_\+array()}{log\_param\_real\_array()}}
{\footnotesize\ttfamily subroutine mom\+\_\+file\+\_\+parser\+::log\+\_\+param\+::log\+\_\+param\+\_\+real\+\_\+array (\begin{DoxyParamCaption}\item[{type(\mbox{\hyperlink{structmom__file__parser_1_1param__file__type}{param\+\_\+file\+\_\+type}}), intent(in)}]{CS,  }\item[{character(len=$\ast$), intent(in)}]{modulename,  }\item[{character(len=$\ast$), intent(in)}]{varname,  }\item[{real, dimension(\+:), intent(in)}]{value,  }\item[{character(len=$\ast$), intent(in), optional}]{desc,  }\item[{character(len=$\ast$), intent(in), optional}]{units,  }\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]}}



Log the name and values of an array of real model parameter in documentation files. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em cs} & The control structure for the file\+\_\+parser module, it is also a structure to parse for run-\/time parameters\\
\hline
\mbox{\tt in}  & {\em modulename} & The name of the calling module\\
\hline
\mbox{\tt in}  & {\em varname} & The name of the parameter to log\\
\hline
\mbox{\tt in}  & {\em value} & The value of the parameter to log\\
\hline
\mbox{\tt in}  & {\em desc} & A description of this variable; if not present, this parameter is not written to a doc file\\
\hline
\mbox{\tt in}  & {\em units} & The units of this parameter\\
\hline
\mbox{\tt in}  & {\em default} & The default value of the parameter\\
\hline
\mbox{\tt in}  & {\em debuggingparam} & If present and true, this parameter is logged in the debugging parameter file\\
\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 1395 of file M\+O\+M\+\_\+file\+\_\+parser.\+F90.


\begin{DoxyCode}
1395   \textcolor{keywordtype}{type}(param\_file\_type),      \textcolor{keywordtype}{intent(in)} :: CS\textcolor{comment}{      !< The control structure for the file\_parser module,}
1396 \textcolor{comment}{                                         !! it is also a structure to parse for run-time parameters}
1397   \textcolor{keywordtype}{character(len=*)},           \textcolor{keywordtype}{intent(in)} :: modulename\textcolor{comment}{ !< The name of the calling module}
1398   \textcolor{keywordtype}{character(len=*)},           \textcolor{keywordtype}{intent(in)} :: varname\textcolor{comment}{ !< The name of the parameter to log}
1399   \textcolor{keywordtype}{real}, \textcolor{keywordtype}{dimension(:)},         \textcolor{keywordtype}{intent(in)} :: \textcolor{keywordtype}{value}\textcolor{comment}{   !< The value of the parameter to log}
1400   \textcolor{keywordtype}{character(len=*)}, \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: desc\textcolor{comment}{    !< A description of this variable; if not}
1401 \textcolor{comment}{                                             !! present, this parameter is not written to a doc file}
1402   \textcolor{keywordtype}{character(len=*)}, \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: units\textcolor{comment}{   !< The units of this parameter}
1403   \textcolor{keywordtype}{real},             \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: default\textcolor{comment}{ !< The default value of the parameter}
1404   \textcolor{keywordtype}{logical},          \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: debuggingParam\textcolor{comment}{ !< If present and true, this parameter is}
1405 \textcolor{comment}{                                         !! logged in the debugging parameter file}
1406   \textcolor{keywordtype}{logical},          \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: like\_default\textcolor{comment}{ !< If present and true, log this parameter as}
1407 \textcolor{comment}{                                         !! though it has the default value, even if there is no default.}
1408 
1409   \textcolor{keywordtype}{character(len=1320)} :: mesg
1410   \textcolor{keywordtype}{character(len=240)} :: myunits
1411 
1412  \textcolor{comment}{!write(mesg, '("  ",a," ",a,": ",ES19.12,99(",",ES19.12))') &}
1413  \textcolor{comment}{!write(mesg, '("  ",a," ",a,": ",G,99(",",G))') &}
1414  \textcolor{comment}{!  trim(modulename), trim(varname), value}
1415   \textcolor{keyword}{write}(mesg, \textcolor{stringliteral}{'("  ",a," ",a,": ",a)'}) &
1416     trim(modulename), trim(varname), trim(left\_reals(\textcolor{keywordtype}{value}))
1417   \textcolor{keywordflow}{if} (is\_root\_pe()) \textcolor{keywordflow}{then}
1418     \textcolor{keywordflow}{if} (cs%log\_open) \textcolor{keyword}{write}(cs%stdlog,\textcolor{stringliteral}{'(a)'}) trim(mesg)
1419     \textcolor{keywordflow}{if} (cs%log\_to\_stdout) \textcolor{keyword}{write}(cs%stdout,\textcolor{stringliteral}{'(a)'}) trim(mesg)
1420 \textcolor{keywordflow}{  endif}
1421 
1422   myunits=\textcolor{stringliteral}{"not defined"}; \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(units)) \textcolor{keyword}{write}(myunits(1:240),\textcolor{stringliteral}{'(A)'}) trim(units)
1423   \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(desc)) &
1424     \textcolor{keyword}{call }doc\_param(cs%doc, varname, desc, myunits, \textcolor{keywordtype}{value}, default, &
1425                    debuggingparam=debuggingparam, like\_default=like\_default)
1426 
\end{DoxyCode}
\mbox{\Hypertarget{interfacemom__file__parser_1_1log__param_a657a6d328abc438e1ca6dc94adaf4cfb}\label{interfacemom__file__parser_1_1log__param_a657a6d328abc438e1ca6dc94adaf4cfb}} 
\index{mom\+\_\+file\+\_\+parser\+::log\+\_\+param@{mom\+\_\+file\+\_\+parser\+::log\+\_\+param}!log\+\_\+param\+\_\+time@{log\+\_\+param\+\_\+time}}
\index{log\+\_\+param\+\_\+time@{log\+\_\+param\+\_\+time}!mom\+\_\+file\+\_\+parser\+::log\+\_\+param@{mom\+\_\+file\+\_\+parser\+::log\+\_\+param}}
\subsubsection{\texorpdfstring{log\+\_\+param\+\_\+time()}{log\_param\_time()}}
{\footnotesize\ttfamily subroutine mom\+\_\+file\+\_\+parser\+::log\+\_\+param\+::log\+\_\+param\+\_\+time (\begin{DoxyParamCaption}\item[{type(\mbox{\hyperlink{structmom__file__parser_1_1param__file__type}{param\+\_\+file\+\_\+type}}), intent(in)}]{CS,  }\item[{character(len=$\ast$), intent(in)}]{modulename,  }\item[{character(len=$\ast$), intent(in)}]{varname,  }\item[{type(time\+\_\+type), intent(in)}]{value,  }\item[{character(len=$\ast$), intent(in), optional}]{desc,  }\item[{character(len=$\ast$), intent(in), optional}]{units,  }\item[{type(time\+\_\+type), intent(in), optional}]{default,  }\item[{real, intent(in), optional}]{timeunit,  }\item[{logical, intent(in), optional}]{layout\+Param,  }\item[{logical, intent(in), optional}]{debugging\+Param,  }\item[{logical, intent(in), optional}]{log\+\_\+date,  }\item[{logical, intent(in), optional}]{like\+\_\+default }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



This subroutine writes the value of a time-\/type parameter to a log file, along with its name and the module it came from. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em cs} & The control structure for the file\+\_\+parser module, it is also a structure to parse for run-\/time parameters\\
\hline
\mbox{\tt in}  & {\em modulename} & The name of the calling module\\
\hline
\mbox{\tt in}  & {\em varname} & The name of the parameter to log\\
\hline
\mbox{\tt in}  & {\em value} & The value of the parameter to log\\
\hline
\mbox{\tt in}  & {\em desc} & A description of this variable; if not present, this parameter is not written to a doc file\\
\hline
\mbox{\tt in}  & {\em units} & The units of this parameter\\
\hline
\mbox{\tt in}  & {\em default} & The default value of the parameter\\
\hline
\mbox{\tt in}  & {\em timeunit} & The number of seconds in a time unit for real-\/number output.\\
\hline
\mbox{\tt in}  & {\em log\+\_\+date} & If true, log the time\+\_\+type in date format. If missing the default is false.\\
\hline
\mbox{\tt in}  & {\em layoutparam} & If present and true, this parameter is logged in the layout parameter file\\
\hline
\mbox{\tt in}  & {\em debuggingparam} & If present and true, this parameter is logged in the debugging parameter file\\
\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 1506 of file M\+O\+M\+\_\+file\+\_\+parser.\+F90.


\begin{DoxyCode}
1506   \textcolor{keywordtype}{type}(param\_file\_type),      \textcolor{keywordtype}{intent(in)} :: CS\textcolor{comment}{      !< The control structure for the file\_parser module,}
1507 \textcolor{comment}{                                         !! it is also a structure to parse for run-time parameters}
1508   \textcolor{keywordtype}{character(len=*)},           \textcolor{keywordtype}{intent(in)} :: modulename\textcolor{comment}{ !< The name of the calling module}
1509   \textcolor{keywordtype}{character(len=*)},           \textcolor{keywordtype}{intent(in)} :: varname\textcolor{comment}{ !< The name of the parameter to log}
1510   \textcolor{keywordtype}{type}(time\_type),            \textcolor{keywordtype}{intent(in)} :: \textcolor{keywordtype}{value}\textcolor{comment}{   !< The value of the parameter to log}
1511   \textcolor{keywordtype}{character(len=*)}, \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: desc\textcolor{comment}{    !< A description of this variable; if not}
1512 \textcolor{comment}{                                         !! present, this parameter is not written to a doc file}
1513   \textcolor{keywordtype}{character(len=*)}, \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: units\textcolor{comment}{   !< The units of this parameter}
1514   \textcolor{keywordtype}{type}(time\_type),  \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: default\textcolor{comment}{ !< The default value of the parameter}
1515   \textcolor{keywordtype}{real},             \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: timeunit\textcolor{comment}{ !< The number of seconds in a time unit for}
1516 \textcolor{comment}{                                         !! real-number output.}
1517   \textcolor{keywordtype}{logical},          \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: log\_date\textcolor{comment}{   !< If true, log the time\_type in date format.}
1518 \textcolor{comment}{                                         !! If missing the default is false.}
1519   \textcolor{keywordtype}{logical},          \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: layoutParam\textcolor{comment}{ !< If present and true, this parameter is}
1520 \textcolor{comment}{                                         !! logged in the layout parameter file}
1521   \textcolor{keywordtype}{logical},          \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: debuggingParam\textcolor{comment}{ !< If present and true, this parameter is}
1522 \textcolor{comment}{                                         !! logged in the debugging parameter file}
1523   \textcolor{keywordtype}{logical},          \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: like\_default\textcolor{comment}{ !< If present and true, log this parameter as}
1524 \textcolor{comment}{                                         !! though it has the default value, even if there is no default.}
1525 
1526   \textcolor{comment}{! Local variables}
1527   \textcolor{keywordtype}{real} :: real\_time, real\_default
1528   \textcolor{keywordtype}{logical} :: use\_timeunit, date\_format
1529   \textcolor{keywordtype}{character(len=240)} :: mesg, myunits
1530   \textcolor{keywordtype}{character(len=80)} :: date\_string, default\_string
1531   \textcolor{keywordtype}{integer} :: days, secs, ticks, ticks\_per\_sec
1532 
1533   use\_timeunit = .false.
1534   date\_format = .false. ; \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(log\_date)) date\_format = log\_date
1535 
1536   \textcolor{keyword}{call }get\_time(\textcolor{keywordtype}{value}, secs, days, ticks)
1537 
1538   \textcolor{keywordflow}{if} (ticks == 0) \textcolor{keywordflow}{then}
1539     \textcolor{keyword}{write}(mesg, \textcolor{stringliteral}{'("  ",a," ",a," (Time): ",i0,":",i0)'}) trim(modulename), &
1540        trim(varname), days, secs
1541   \textcolor{keywordflow}{else}
1542     \textcolor{keyword}{write}(mesg, \textcolor{stringliteral}{'("  ",a," ",a," (Time): ",i0,":",i0,":",i0)'}) trim(modulename), &
1543        trim(varname), days, secs, ticks
1544 \textcolor{keywordflow}{  endif}
1545   \textcolor{keywordflow}{if} (is\_root\_pe()) \textcolor{keywordflow}{then}
1546     \textcolor{keywordflow}{if} (cs%log\_open) \textcolor{keyword}{write}(cs%stdlog,\textcolor{stringliteral}{'(a)'}) trim(mesg)
1547     \textcolor{keywordflow}{if} (cs%log\_to\_stdout) \textcolor{keyword}{write}(cs%stdout,\textcolor{stringliteral}{'(a)'}) trim(mesg)
1548 \textcolor{keywordflow}{  endif}
1549 
1550   \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(desc)) \textcolor{keywordflow}{then}
1551     \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(timeunit)) use\_timeunit = (timeunit > 0.0)
1552     \textcolor{keywordflow}{if} (date\_format) \textcolor{keywordflow}{then}
1553       myunits=\textcolor{stringliteral}{'[date]'}
1554 
1555       date\_string = convert\_date\_to\_string(\textcolor{keywordtype}{value})
1556       \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(default)) \textcolor{keywordflow}{then}
1557         default\_string = convert\_date\_to\_string(default)
1558         \textcolor{keyword}{call }doc\_param(cs%doc, varname, desc, myunits, date\_string, &
1559                        default=default\_string, layoutparam=layoutparam, &
1560                        debuggingparam=debuggingparam, like\_default=like\_default)
1561       \textcolor{keywordflow}{else}
1562         \textcolor{keyword}{call }doc\_param(cs%doc, varname, desc, myunits, date\_string, &
1563                        layoutparam=layoutparam, debuggingparam=debuggingparam, like\_default=like\_default)
1564 \textcolor{keywordflow}{      endif}
1565     \textcolor{keywordflow}{elseif} (use\_timeunit) \textcolor{keywordflow}{then}
1566       \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(units)) \textcolor{keywordflow}{then}
1567         \textcolor{keyword}{write}(myunits(1:240),\textcolor{stringliteral}{'(A)'}) trim(units)
1568       \textcolor{keywordflow}{else}
1569         \textcolor{keywordflow}{if} (abs(timeunit-1.0) < 0.01) \textcolor{keywordflow}{then} ; myunits = \textcolor{stringliteral}{"seconds"}
1570         \textcolor{keywordflow}{elseif} (abs(timeunit-3600.0) < 1.0) \textcolor{keywordflow}{then} ; myunits = \textcolor{stringliteral}{"hours"}
1571         \textcolor{keywordflow}{elseif} (abs(timeunit-86400.0) < 1.0) \textcolor{keywordflow}{then} ; myunits = \textcolor{stringliteral}{"days"}
1572         \textcolor{keywordflow}{elseif} (abs(timeunit-3.1e7) < 1.0e6) \textcolor{keywordflow}{then} ; myunits = \textcolor{stringliteral}{"years"}
1573         \textcolor{keywordflow}{else} ; \textcolor{keyword}{write}(myunits,\textcolor{stringliteral}{'(es8.2," sec")'}) timeunit ;\textcolor{keywordflow}{ endif}
1574 \textcolor{keywordflow}{      endif}
1575       real\_time = (86400.0/timeunit)*days + secs/timeunit
1576       \textcolor{keywordflow}{if} (ticks > 0) real\_time = real\_time + &
1577                            \textcolor{keywordtype}{real(ticks)} / (timeunit*get\_ticks\_per\_second())
1578       \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(default)) \textcolor{keywordflow}{then}
1579         \textcolor{keyword}{call }get\_time(default, secs, days, ticks)
1580         real\_default = (86400.0/timeunit)*days + secs/timeunit
1581         \textcolor{keywordflow}{if} (ticks > 0) real\_default = real\_default + &
1582                            \textcolor{keywordtype}{real(ticks)} / (timeunit*get\_ticks\_per\_second())
1583         \textcolor{keyword}{call }doc\_param(cs%doc, varname, desc, myunits, real\_time, real\_default, like\_default=like\_default)
1584       \textcolor{keywordflow}{else}
1585         \textcolor{keyword}{call }doc\_param(cs%doc, varname, desc, myunits, real\_time, like\_default=like\_default)
1586 \textcolor{keywordflow}{      endif}
1587     \textcolor{keywordflow}{else}
1588       \textcolor{keyword}{call }doc\_param(cs%doc, varname, desc, \textcolor{keywordtype}{value}, default, units=units, like\_default=like\_default)
1589 \textcolor{keywordflow}{    endif}
1590 \textcolor{keywordflow}{  endif}
1591 
\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\+\_\+file\+\_\+parser.\+F90\end{DoxyCompactItemize}
