\hypertarget{interfacemom__file__parser_1_1log__param}{}\doxysection{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}}


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

\doxysubsection*{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}


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



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


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


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


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


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


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


\begin{DoxyCode}{0}
\DoxyCodeLine{1395   \textcolor{keywordtype}{type}(param\_file\_type),      \textcolor{keywordtype}{intent(in)} :: CS\textcolor{comment}{      !< The control structure for the file\_parser module,}}
\DoxyCodeLine{1396 \textcolor{comment}{                                         !! it is also a structure to parse for run-\/time parameters}}
\DoxyCodeLine{1397   \textcolor{keywordtype}{character(len=*)},           \textcolor{keywordtype}{intent(in)} :: modulename\textcolor{comment}{ !< The name of the calling module}}
\DoxyCodeLine{1398   \textcolor{keywordtype}{character(len=*)},           \textcolor{keywordtype}{intent(in)} :: varname\textcolor{comment}{ !< The name of the parameter to log}}
\DoxyCodeLine{1399 \textcolor{keywordtype}{  real}, \textcolor{keywordtype}{dimension(:)},         \textcolor{keywordtype}{intent(in)} :: \textcolor{keywordtype}{value}\textcolor{comment}{   !< The value of the parameter to log}}
\DoxyCodeLine{1400   \textcolor{keywordtype}{character(len=*)}, \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: desc\textcolor{comment}{    !< A description of this variable; if not}}
\DoxyCodeLine{1401 \textcolor{comment}{                                             !! present, this parameter is not written to a doc file}}
\DoxyCodeLine{1402   \textcolor{keywordtype}{character(len=*)}, \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: units\textcolor{comment}{   !< The units of this parameter}}
\DoxyCodeLine{1403 \textcolor{keywordtype}{  real},             \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: default\textcolor{comment}{ !< The default value of the parameter}}
\DoxyCodeLine{1404   \textcolor{keywordtype}{logical},          \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: debuggingParam\textcolor{comment}{ !< If present and true, this parameter is}}
\DoxyCodeLine{1405 \textcolor{comment}{                                         !! logged in the debugging parameter file}}
\DoxyCodeLine{1406   \textcolor{keywordtype}{logical},          \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: like\_default\textcolor{comment}{ !< If present and true, log this parameter as}}
\DoxyCodeLine{1407 \textcolor{comment}{                                         !! though it has the default value, even if there is no default.}}
\DoxyCodeLine{1408 }
\DoxyCodeLine{1409   \textcolor{keywordtype}{character(len=1320)} :: mesg}
\DoxyCodeLine{1410   \textcolor{keywordtype}{character(len=240)} :: myunits}
\DoxyCodeLine{1411 }
\DoxyCodeLine{1412  \textcolor{comment}{!write(mesg, '("{}  "{},a,"{} "{},a,"{}: "{},ES19.12,99("{},"{},ES19.12))') \&}}
\DoxyCodeLine{1413  \textcolor{comment}{!write(mesg, '("{}  "{},a,"{} "{},a,"{}: "{},G,99("{},"{},G))') \&}}
\DoxyCodeLine{1414  \textcolor{comment}{!  trim(modulename), trim(varname), value}}
\DoxyCodeLine{1415   \textcolor{keyword}{write}(mesg, \textcolor{stringliteral}{'("{}  "{},a,"{} "{},a,"{}: "{},a)'}) \&}
\DoxyCodeLine{1416     trim(modulename), trim(varname), trim(left\_reals(\textcolor{keywordtype}{value}))}
\DoxyCodeLine{1417   \textcolor{keywordflow}{if} (is\_root\_pe()) \textcolor{keywordflow}{then}}
\DoxyCodeLine{1418     \textcolor{keywordflow}{if} (cs\%log\_open) \textcolor{keyword}{write}(cs\%stdlog,\textcolor{stringliteral}{'(a)'}) trim(mesg)}
\DoxyCodeLine{1419     \textcolor{keywordflow}{if} (cs\%log\_to\_stdout) \textcolor{keyword}{write}(cs\%stdout,\textcolor{stringliteral}{'(a)'}) trim(mesg)}
\DoxyCodeLine{1420 \textcolor{keywordflow}{  endif}}
\DoxyCodeLine{1421 }
\DoxyCodeLine{1422   myunits=\textcolor{stringliteral}{"{}not defined"{}}; \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(units)) \textcolor{keyword}{write}(myunits(1:240),\textcolor{stringliteral}{'(A)'}) trim(units)}
\DoxyCodeLine{1423   \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(desc)) \&}
\DoxyCodeLine{1424     \textcolor{keyword}{call }doc\_param(cs\%doc, varname, desc, myunits, \textcolor{keywordtype}{value}, default, \&}
\DoxyCodeLine{1425                    debuggingparam=debuggingparam, like\_default=like\_default)}
\DoxyCodeLine{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}}
\doxysubsubsection{\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{\texttt{ in}}  & {\em cs} & The control structure for the file\+\_\+parser module, it is also a structure to parse for run-\/time parameters \\
\hline
\mbox{\texttt{ in}}  & {\em modulename} & The name of the calling module \\
\hline
\mbox{\texttt{ in}}  & {\em varname} & The name of the parameter to log \\
\hline
\mbox{\texttt{ in}}  & {\em value} & The value of the parameter to log \\
\hline
\mbox{\texttt{ in}}  & {\em desc} & A description of this variable; if not present, this parameter is not written to a doc file \\
\hline
\mbox{\texttt{ in}}  & {\em units} & The units of this parameter \\
\hline
\mbox{\texttt{ in}}  & {\em default} & The default value of the parameter \\
\hline
\mbox{\texttt{ in}}  & {\em timeunit} & The number of seconds in a time unit for real-\/number output. \\
\hline
\mbox{\texttt{ in}}  & {\em log\+\_\+date} & If true, log the time\+\_\+type in date format. If missing the default is false. \\
\hline
\mbox{\texttt{ in}}  & {\em layoutparam} & If present and true, this parameter is logged in the layout parameter file \\
\hline
\mbox{\texttt{ in}}  & {\em debuggingparam} & If present and true, this parameter is logged in the debugging parameter file \\
\hline
\mbox{\texttt{ 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 1504 of file M\+O\+M\+\_\+file\+\_\+parser.\+F90.


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