\hypertarget{namespacemom__obsolete__params}{}\section{mom\+\_\+obsolete\+\_\+params Module Reference}
\label{namespacemom__obsolete__params}\index{mom\+\_\+obsolete\+\_\+params@{mom\+\_\+obsolete\+\_\+params}}


\subsection{Detailed Description}
Methods for testing for, and list of, obsolete run-\/time parameters. \subsection*{Functions/\+Subroutines}
\begin{DoxyCompactItemize}
\item 
subroutine, public \mbox{\hyperlink{namespacemom__obsolete__params_adeed714b8b74959c25e3acd8e40061f6}{find\+\_\+obsolete\+\_\+params}} (param\+\_\+file)
\begin{DoxyCompactList}\small\item\em Scans input parameter file for list obsolete parameters. \end{DoxyCompactList}\item 
subroutine, public \mbox{\hyperlink{namespacemom__obsolete__params_a0f74da6ca1e81bb5029fbdcd284d5427}{obsolete\+\_\+logical}} (param\+\_\+file, varname, warning\+\_\+val, hint)
\begin{DoxyCompactList}\small\item\em Test for presence of obsolete L\+O\+G\+I\+C\+AL in parameter file. \end{DoxyCompactList}\item 
subroutine, public \mbox{\hyperlink{namespacemom__obsolete__params_a6c1f3234bdde506565cc552c53dedaf8}{obsolete\+\_\+char}} (param\+\_\+file, varname, warning\+\_\+val, hint)
\begin{DoxyCompactList}\small\item\em Test for presence of obsolete S\+T\+R\+I\+NG in parameter file. \end{DoxyCompactList}\item 
subroutine, public \mbox{\hyperlink{namespacemom__obsolete__params_ae7343199aaed0daa5cda091cbd136c0c}{obsolete\+\_\+real}} (param\+\_\+file, varname, warning\+\_\+val, hint)
\begin{DoxyCompactList}\small\item\em Test for presence of obsolete R\+E\+AL in parameter file. \end{DoxyCompactList}\item 
subroutine, public \mbox{\hyperlink{namespacemom__obsolete__params_aa0a8fe574d071d3a40ac146c2b8070f0}{obsolete\+\_\+int}} (param\+\_\+file, varname, warning\+\_\+val, hint)
\begin{DoxyCompactList}\small\item\em Test for presence of obsolete I\+N\+T\+E\+G\+ER in parameter file. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Function/\+Subroutine Documentation}
\mbox{\Hypertarget{namespacemom__obsolete__params_adeed714b8b74959c25e3acd8e40061f6}\label{namespacemom__obsolete__params_adeed714b8b74959c25e3acd8e40061f6}} 
\index{mom\+\_\+obsolete\+\_\+params@{mom\+\_\+obsolete\+\_\+params}!find\+\_\+obsolete\+\_\+params@{find\+\_\+obsolete\+\_\+params}}
\index{find\+\_\+obsolete\+\_\+params@{find\+\_\+obsolete\+\_\+params}!mom\+\_\+obsolete\+\_\+params@{mom\+\_\+obsolete\+\_\+params}}
\subsubsection{\texorpdfstring{find\+\_\+obsolete\+\_\+params()}{find\_obsolete\_params()}}
{\footnotesize\ttfamily subroutine, public mom\+\_\+obsolete\+\_\+params\+::find\+\_\+obsolete\+\_\+params (\begin{DoxyParamCaption}\item[{type(param\+\_\+file\+\_\+type), intent(in)}]{param\+\_\+file }\end{DoxyParamCaption})}



Scans input parameter file for list obsolete parameters. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em param\+\_\+file} & Structure containing parameter file data. \\
\hline
\end{DoxyParams}


Definition at line 21 of file M\+O\+M\+\_\+obsolete\+\_\+params.\+F90.


\begin{DoxyCode}
21   \textcolor{keywordtype}{type}(param\_file\_type), \textcolor{keywordtype}{intent(in)} :: param\_file\textcolor{comment}{ !< Structure containing parameter file data.}
22   \textcolor{comment}{! Local variables}
23   \textcolor{keywordtype}{character(len=40)}  :: mdl = \textcolor{stringliteral}{"find\_obsolete\_params"} \textcolor{comment}{! This module's name.}
24 \textcolor{comment}{! This include declares and sets the variable "version".}
25 \textcolor{preprocessor}{#include "version\_variable.h"}
26 \textcolor{preprocessor}{}  \textcolor{keywordtype}{integer} :: test\_int, l\_seg, nseg
27   \textcolor{keywordtype}{logical} :: test\_logic, test\_logic2, test\_logic3, split
28   \textcolor{keywordtype}{character(len=40)}  :: temp\_string
29 
30   \textcolor{keywordflow}{if} (.not.is\_root\_pe()) \textcolor{keywordflow}{return}
31 
32   \textcolor{keyword}{call }obsolete\_logical(param\_file, \textcolor{stringliteral}{"BLOCKED\_ANALYTIC\_FV\_PGF"}, &
33        hint=\textcolor{stringliteral}{"BLOCKED\_ANALYTIC\_FV\_PGF is no longer available."})
34 
35   \textcolor{keyword}{call }obsolete\_logical(param\_file, \textcolor{stringliteral}{"ADD\_KV\_SLOW"}, &
36        hint=\textcolor{stringliteral}{"This option is no longer needed, nor supported."})
37 
38   \textcolor{keyword}{call }obsolete\_char(param\_file, \textcolor{stringliteral}{"OBC\_CONFIG"}, &
39        hint=\textcolor{stringliteral}{"Instead use OBC\_USER\_CONFIG and use the new segments protocol."})
40   \textcolor{keyword}{call }obsolete\_char(param\_file, \textcolor{stringliteral}{"READ\_OBC\_ETA"}, &
41        hint=\textcolor{stringliteral}{"Instead use OBC\_SEGMENT\_XXX\_DATA."})
42   \textcolor{keyword}{call }obsolete\_char(param\_file, \textcolor{stringliteral}{"READ\_OBC\_UV"}, &
43        hint=\textcolor{stringliteral}{"Instead use OBC\_SEGMENT\_XXX\_DATA."})
44   \textcolor{keyword}{call }obsolete\_char(param\_file, \textcolor{stringliteral}{"READ\_OBC\_TS"}, &
45        hint=\textcolor{stringliteral}{"Instead use OBC\_SEGMENT\_XXX\_DATA."})
46   \textcolor{keyword}{call }obsolete\_char(param\_file, \textcolor{stringliteral}{"EXTEND\_OBC\_SEGMENTS"}, &
47        hint=\textcolor{stringliteral}{"This option is no longer needed, nor supported."})
48   \textcolor{keyword}{call }obsolete\_char(param\_file, \textcolor{stringliteral}{"MEKE\_VISCOSITY\_COEFF"}, &
49        hint=\textcolor{stringliteral}{"This option has been replaced by MEKE\_VISCOSITY\_COEFF\_KU and \(\backslash\)n"} //&
50             \textcolor{stringliteral}{" MEKE\_VISCOSITY\_COEFF\_AU. Please set these parameters instead."})
51   nseg = 0
52   \textcolor{keyword}{call }read\_param(param\_file, \textcolor{stringliteral}{"OBC\_NUMBER\_OF\_SEGMENTS"}, nseg)
53   \textcolor{keywordflow}{do} l\_seg = 1,nseg
54     \textcolor{keyword}{write}(temp\_string(1:22),\textcolor{stringliteral}{"('OBC\_SEGMENT\_',i3.3,'\_TNUDGE')"}) l\_seg
55     \textcolor{keyword}{call }obsolete\_real(param\_file, temp\_string, &
56          hint=\textcolor{stringliteral}{"Instead use OBC\_SEGMENT\_xxx\_VELOCITY\_NUDGING\_TIMESCALES."})
57 \textcolor{keywordflow}{  enddo}
58 
59   \textcolor{keyword}{call }obsolete\_logical(param\_file, \textcolor{stringliteral}{"MASK\_MASSLESS\_TRACERS"}, .false.)
60 
61   \textcolor{keyword}{call }obsolete\_logical(param\_file, \textcolor{stringliteral}{"SALT\_REJECT\_BELOW\_ML"}, .false.)
62   \textcolor{keyword}{call }obsolete\_logical(param\_file, \textcolor{stringliteral}{"MLE\_USE\_MLD\_AVE\_BUG"}, .false.)
63   \textcolor{keyword}{call }obsolete\_logical(param\_file, \textcolor{stringliteral}{"KG\_BG\_2D\_BUG"}, .false.)
64   \textcolor{keyword}{call }obsolete\_logical(param\_file, \textcolor{stringliteral}{"CORRECT\_DENSITY"}, .true.)
65   \textcolor{keyword}{call }obsolete\_char(param\_file, \textcolor{stringliteral}{"WINDSTRESS\_STAGGER"}, warning\_val=\textcolor{stringliteral}{"C"}, &
66                      hint=\textcolor{stringliteral}{"Use WIND\_STAGGER instead."})
67 
68   \textcolor{keyword}{call }obsolete\_char(param\_file, \textcolor{stringliteral}{"DIAG\_REMAP\_Z\_GRID\_DEF"}, &
69                      hint=\textcolor{stringliteral}{"Use NUM\_DIAG\_COORDS, DIAG\_COORDS and DIAG\_COORD\_DEF\_Z"})
70 
71   \textcolor{keyword}{call }obsolete\_real(param\_file, \textcolor{stringliteral}{"VSTAR\_SCALE\_FACTOR"}, hint=\textcolor{stringliteral}{"Use EPBL\_VEL\_SCALE\_FACTOR instead."})
72   \textcolor{keyword}{call }obsolete\_logical(param\_file, \textcolor{stringliteral}{"ORIG\_MLD\_ITERATION"}, .false.)
73 
74   \textcolor{keyword}{call }obsolete\_real(param\_file, \textcolor{stringliteral}{"VSTAR\_SCALE\_COEF"})
75   \textcolor{keyword}{call }obsolete\_real(param\_file, \textcolor{stringliteral}{"ZSTAR\_RIGID\_SURFACE\_THRESHOLD"})
76 
77   \textcolor{comment}{! Test for inconsistent parameter settings.}
78   split = .true. ; test\_logic = .false.
79   \textcolor{keyword}{call }read\_param(param\_file,\textcolor{stringliteral}{"SPLIT"},split)
80   \textcolor{keyword}{call }read\_param(param\_file,\textcolor{stringliteral}{"DYNAMIC\_SURFACE\_PRESSURE"},test\_logic)
81   \textcolor{keywordflow}{if} (test\_logic .and. .not.split) \textcolor{keyword}{call }mom\_error(fatal, &
82     \textcolor{stringliteral}{"find\_obsolete\_params: #define DYNAMIC\_SURFACE\_PRESSURE is not yet "}//&
83     \textcolor{stringliteral}{"implemented without #define SPLIT."})
84 
85   \textcolor{keyword}{call }obsolete\_real(param\_file, \textcolor{stringliteral}{"BT\_MASS\_SOURCE\_LIMIT"}, 0.0)
86 
87   \textcolor{keyword}{call }obsolete\_int(param\_file, \textcolor{stringliteral}{"SEAMOUNT\_LENGTH\_SCALE"}, hint=\textcolor{stringliteral}{"Use SEAMOUNT\_X\_LENGTH\_SCALE instead."})
88 
89   \textcolor{keyword}{call }obsolete\_logical(param\_file, \textcolor{stringliteral}{"MSTAR\_FIXED"}, hint=\textcolor{stringliteral}{"Instead use MSTAR\_MODE."})
90   \textcolor{keyword}{call }obsolete\_logical(param\_file, \textcolor{stringliteral}{"USE\_VISBECK\_SLOPE\_BUG"}, .false.)
91 
92   \textcolor{keyword}{call }obsolete\_real(param\_file, \textcolor{stringliteral}{"MIN\_Z\_DIAG\_INTERVAL"})
93   \textcolor{keyword}{call }obsolete\_char(param\_file, \textcolor{stringliteral}{"Z\_OUTPUT\_GRID\_FILE"})
94 
95   \textcolor{comment}{! Write the file version number to the model log.}
96   \textcolor{keyword}{call }log\_version(param\_file, mdl, version)
97 
\end{DoxyCode}
\mbox{\Hypertarget{namespacemom__obsolete__params_a6c1f3234bdde506565cc552c53dedaf8}\label{namespacemom__obsolete__params_a6c1f3234bdde506565cc552c53dedaf8}} 
\index{mom\+\_\+obsolete\+\_\+params@{mom\+\_\+obsolete\+\_\+params}!obsolete\+\_\+char@{obsolete\+\_\+char}}
\index{obsolete\+\_\+char@{obsolete\+\_\+char}!mom\+\_\+obsolete\+\_\+params@{mom\+\_\+obsolete\+\_\+params}}
\subsubsection{\texorpdfstring{obsolete\+\_\+char()}{obsolete\_char()}}
{\footnotesize\ttfamily subroutine, public mom\+\_\+obsolete\+\_\+params\+::obsolete\+\_\+char (\begin{DoxyParamCaption}\item[{type(param\+\_\+file\+\_\+type), intent(in)}]{param\+\_\+file,  }\item[{character(len=$\ast$), intent(in)}]{varname,  }\item[{character(len=$\ast$), intent(in), optional}]{warning\+\_\+val,  }\item[{character(len=$\ast$), intent(in), optional}]{hint }\end{DoxyParamCaption})}



Test for presence of obsolete S\+T\+R\+I\+NG in parameter file. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em param\+\_\+file} & Structure containing parameter file data.\\
\hline
\mbox{\tt in}  & {\em varname} & Name of obsolete S\+T\+R\+I\+NG parameter.\\
\hline
\mbox{\tt in}  & {\em warning\+\_\+val} & An allowed value that causes a warning instead of an error.\\
\hline
\mbox{\tt in}  & {\em hint} & A hint to the user about what to do. \\
\hline
\end{DoxyParams}


Definition at line 145 of file M\+O\+M\+\_\+obsolete\+\_\+params.\+F90.


\begin{DoxyCode}
145   \textcolor{keywordtype}{type}(param\_file\_type), \textcolor{keywordtype}{intent(in)} :: param\_file\textcolor{comment}{ !< Structure containing parameter file data.}
146   \textcolor{keywordtype}{character(len=*)},      \textcolor{keywordtype}{intent(in)} :: varname\textcolor{comment}{    !< Name of obsolete STRING parameter.}
147   \textcolor{keywordtype}{character(len=*)}, \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: warning\_val\textcolor{comment}{ !< An allowed value that causes a warning instead
       of an error.}
148   \textcolor{keywordtype}{character(len=*)}, \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: hint\textcolor{comment}{  !< A hint to the user about what to do.}
149   \textcolor{comment}{! Local variables}
150   \textcolor{keywordtype}{character(len=200)} :: test\_string, hint\_msg
151   \textcolor{keywordtype}{logical} :: only\_warn
152 
153   test\_string = \textcolor{stringliteral}{''}; \textcolor{keyword}{call }read\_param(param\_file, varname, test\_string)
154   hint\_msg = \textcolor{stringliteral}{" "} ; \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(hint)) hint\_msg = hint
155 
156   \textcolor{keywordflow}{if} (len\_trim(test\_string) > 0) \textcolor{keywordflow}{then}
157     only\_warn = .false.
158     \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(warning\_val)) \textcolor{keywordflow}{then} \textcolor{comment}{! Check if test\_string and warning\_val are the same.}
159       \textcolor{keywordflow}{if} (len\_trim(warning\_val) == len\_trim(test\_string)) \textcolor{keywordflow}{then}
160         \textcolor{keywordflow}{if} (index(trim(test\_string), trim(warning\_val)) == 1) only\_warn = .true.
161 \textcolor{keywordflow}{      endif}
162 \textcolor{keywordflow}{    endif}
163 
164     \textcolor{keywordflow}{if} (only\_warn) \textcolor{keywordflow}{then}
165       \textcolor{keyword}{call }mom\_error(warning, &
166              \textcolor{stringliteral}{"MOM\_obsolete\_params: "}//trim(varname)// &
167              \textcolor{stringliteral}{" is an obsolete run-time flag. "}//trim(hint\_msg))
168     \textcolor{keywordflow}{else}
169       \textcolor{keyword}{call }mom\_error(fatal, &
170              \textcolor{stringliteral}{"MOM\_obsolete\_params: "}//trim(varname)// &
171              \textcolor{stringliteral}{" is an obsolete run-time flag, and should not be used. "}//trim(hint\_msg))
172 \textcolor{keywordflow}{    endif}
173 \textcolor{keywordflow}{  endif}
\end{DoxyCode}
\mbox{\Hypertarget{namespacemom__obsolete__params_aa0a8fe574d071d3a40ac146c2b8070f0}\label{namespacemom__obsolete__params_aa0a8fe574d071d3a40ac146c2b8070f0}} 
\index{mom\+\_\+obsolete\+\_\+params@{mom\+\_\+obsolete\+\_\+params}!obsolete\+\_\+int@{obsolete\+\_\+int}}
\index{obsolete\+\_\+int@{obsolete\+\_\+int}!mom\+\_\+obsolete\+\_\+params@{mom\+\_\+obsolete\+\_\+params}}
\subsubsection{\texorpdfstring{obsolete\+\_\+int()}{obsolete\_int()}}
{\footnotesize\ttfamily subroutine, public mom\+\_\+obsolete\+\_\+params\+::obsolete\+\_\+int (\begin{DoxyParamCaption}\item[{type(param\+\_\+file\+\_\+type), intent(in)}]{param\+\_\+file,  }\item[{character(len=$\ast$), intent(in)}]{varname,  }\item[{integer, intent(in), optional}]{warning\+\_\+val,  }\item[{character(len=$\ast$), intent(in), optional}]{hint }\end{DoxyParamCaption})}



Test for presence of obsolete I\+N\+T\+E\+G\+ER in parameter file. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em param\+\_\+file} & Structure containing parameter file data.\\
\hline
\mbox{\tt in}  & {\em varname} & Name of obsolete I\+N\+T\+E\+G\+ER parameter.\\
\hline
\mbox{\tt in}  & {\em warning\+\_\+val} & An allowed value that causes a warning instead of an error.\\
\hline
\mbox{\tt in}  & {\em hint} & A hint to the user about what to do. \\
\hline
\end{DoxyParams}


Definition at line 204 of file M\+O\+M\+\_\+obsolete\+\_\+params.\+F90.


\begin{DoxyCode}
204   \textcolor{keywordtype}{type}(param\_file\_type), \textcolor{keywordtype}{intent(in)} :: param\_file\textcolor{comment}{  !< Structure containing parameter file data.}
205   \textcolor{keywordtype}{character(len=*)},      \textcolor{keywordtype}{intent(in)} :: varname\textcolor{comment}{     !< Name of obsolete INTEGER parameter.}
206   \textcolor{keywordtype}{integer},     \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: warning\_val\textcolor{comment}{ !< An allowed value that causes a warning instead of an
       error.}
207   \textcolor{keywordtype}{character(len=*)}, \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: hint\textcolor{comment}{   !< A hint to the user about what to do.}
208   \textcolor{comment}{! Local variables}
209   \textcolor{keywordtype}{integer} :: test\_val, warn\_val
210   \textcolor{keywordtype}{character(len=128)} :: hint\_msg
211 
212   test\_val = -123456788; \textcolor{keyword}{call }read\_param(param\_file, varname, test\_val)
213   warn\_val = -123456788; \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(warning\_val)) warn\_val = warning\_val
214   hint\_msg = \textcolor{stringliteral}{" "} ; \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(hint)) hint\_msg = hint
215 
216   \textcolor{keywordflow}{if} (test\_val /= -123456788) \textcolor{keywordflow}{then}
217     \textcolor{keywordflow}{if} (test\_val == warn\_val) \textcolor{keywordflow}{then}
218       \textcolor{keyword}{call }mom\_error(warning, \textcolor{stringliteral}{"MOM\_obsolete\_params: "}//trim(varname)// &
219          \textcolor{stringliteral}{" is an obsolete run-time flag. "}//trim(hint\_msg))
220     \textcolor{keywordflow}{else}
221       \textcolor{keyword}{call }mom\_error(fatal, \textcolor{stringliteral}{"MOM\_obsolete\_params: "}//trim(varname)//   &
222            \textcolor{stringliteral}{" is an obsolete run-time flag, and should not be used. "}// &
223            trim(hint\_msg))
224 \textcolor{keywordflow}{    endif}
225 \textcolor{keywordflow}{  endif}
\end{DoxyCode}
\mbox{\Hypertarget{namespacemom__obsolete__params_a0f74da6ca1e81bb5029fbdcd284d5427}\label{namespacemom__obsolete__params_a0f74da6ca1e81bb5029fbdcd284d5427}} 
\index{mom\+\_\+obsolete\+\_\+params@{mom\+\_\+obsolete\+\_\+params}!obsolete\+\_\+logical@{obsolete\+\_\+logical}}
\index{obsolete\+\_\+logical@{obsolete\+\_\+logical}!mom\+\_\+obsolete\+\_\+params@{mom\+\_\+obsolete\+\_\+params}}
\subsubsection{\texorpdfstring{obsolete\+\_\+logical()}{obsolete\_logical()}}
{\footnotesize\ttfamily subroutine, public mom\+\_\+obsolete\+\_\+params\+::obsolete\+\_\+logical (\begin{DoxyParamCaption}\item[{type(param\+\_\+file\+\_\+type), intent(in)}]{param\+\_\+file,  }\item[{character(len=$\ast$), intent(in)}]{varname,  }\item[{logical, intent(in), optional}]{warning\+\_\+val,  }\item[{character(len=$\ast$), intent(in), optional}]{hint }\end{DoxyParamCaption})}



Test for presence of obsolete L\+O\+G\+I\+C\+AL in parameter file. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em param\+\_\+file} & Structure containing parameter file data.\\
\hline
\mbox{\tt in}  & {\em varname} & Name of obsolete L\+O\+G\+I\+C\+AL parameter.\\
\hline
\mbox{\tt in}  & {\em warning\+\_\+val} & An allowed value that causes a warning instead of an error.\\
\hline
\mbox{\tt in}  & {\em hint} & A hint to the user about what to do. \\
\hline
\end{DoxyParams}


Definition at line 102 of file M\+O\+M\+\_\+obsolete\+\_\+params.\+F90.


\begin{DoxyCode}
102   \textcolor{keywordtype}{type}(param\_file\_type), \textcolor{keywordtype}{intent(in)} :: param\_file\textcolor{comment}{  !< Structure containing parameter file data.}
103   \textcolor{keywordtype}{character(len=*)},      \textcolor{keywordtype}{intent(in)} :: varname\textcolor{comment}{     !< Name of obsolete LOGICAL parameter.}
104   \textcolor{keywordtype}{logical},     \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: warning\_val\textcolor{comment}{ !< An allowed value that causes a warning instead of an
       error.}
105   \textcolor{keywordtype}{character(len=*)}, \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: hint\textcolor{comment}{   !< A hint to the user about what to do.}
106   \textcolor{comment}{! Local variables}
107   \textcolor{keywordtype}{logical} :: test\_logic, fatal\_err
108   \textcolor{keywordtype}{character(len=128)} :: hint\_msg
109 
110   test\_logic = .false. ; \textcolor{keyword}{call }read\_param(param\_file, varname,test\_logic)
111   fatal\_err = .true.
112   \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(warning\_val)) fatal\_err = (warning\_val .neqv. .true.)
113   hint\_msg = \textcolor{stringliteral}{" "} ; \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(hint)) hint\_msg = hint
114 
115   \textcolor{keywordflow}{if} (test\_logic) \textcolor{keywordflow}{then}
116     \textcolor{keywordflow}{if} (fatal\_err) \textcolor{keywordflow}{then}
117       \textcolor{keyword}{call }mom\_error(fatal, \textcolor{stringliteral}{"MOM\_obsolete\_params: "}//trim(varname)//   &
118            \textcolor{stringliteral}{" is an obsolete run-time flag, and should not be used. "}// &
119            trim(hint\_msg))
120     \textcolor{keywordflow}{else}
121       \textcolor{keyword}{call }mom\_error(warning, \textcolor{stringliteral}{"MOM\_obsolete\_params: "}//trim(varname)// &
122            \textcolor{stringliteral}{" is an obsolete run-time flag. "}//trim(hint\_msg))
123 \textcolor{keywordflow}{    endif}
124 \textcolor{keywordflow}{  endif}
125 
126   test\_logic = .true. ; \textcolor{keyword}{call }read\_param(param\_file, varname, test\_logic)
127   fatal\_err = .true.
128   \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(warning\_val)) fatal\_err = (warning\_val .neqv. .false.)
129 
130   \textcolor{keywordflow}{if} (.not.test\_logic) \textcolor{keywordflow}{then}
131     \textcolor{keywordflow}{if} (fatal\_err) \textcolor{keywordflow}{then}
132       \textcolor{keyword}{call }mom\_error(fatal, \textcolor{stringliteral}{"MOM\_obsolete\_params: "}//trim(varname)//   &
133            \textcolor{stringliteral}{" is an obsolete run-time flag, and should not be used. "}// &
134            trim(hint\_msg))
135     \textcolor{keywordflow}{else}
136       \textcolor{keyword}{call }mom\_error(warning, \textcolor{stringliteral}{"MOM\_obsolete\_params: "}//trim(varname)// &
137            \textcolor{stringliteral}{" is an obsolete run-time flag. "}//trim(hint\_msg))
138 \textcolor{keywordflow}{    endif}
139 \textcolor{keywordflow}{  endif}
140 
\end{DoxyCode}
\mbox{\Hypertarget{namespacemom__obsolete__params_ae7343199aaed0daa5cda091cbd136c0c}\label{namespacemom__obsolete__params_ae7343199aaed0daa5cda091cbd136c0c}} 
\index{mom\+\_\+obsolete\+\_\+params@{mom\+\_\+obsolete\+\_\+params}!obsolete\+\_\+real@{obsolete\+\_\+real}}
\index{obsolete\+\_\+real@{obsolete\+\_\+real}!mom\+\_\+obsolete\+\_\+params@{mom\+\_\+obsolete\+\_\+params}}
\subsubsection{\texorpdfstring{obsolete\+\_\+real()}{obsolete\_real()}}
{\footnotesize\ttfamily subroutine, public mom\+\_\+obsolete\+\_\+params\+::obsolete\+\_\+real (\begin{DoxyParamCaption}\item[{type(param\+\_\+file\+\_\+type), intent(in)}]{param\+\_\+file,  }\item[{character(len=$\ast$), intent(in)}]{varname,  }\item[{real, intent(in), optional}]{warning\+\_\+val,  }\item[{character(len=$\ast$), intent(in), optional}]{hint }\end{DoxyParamCaption})}



Test for presence of obsolete R\+E\+AL in parameter file. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em param\+\_\+file} & Structure containing parameter file data.\\
\hline
\mbox{\tt in}  & {\em varname} & Name of obsolete R\+E\+AL parameter.\\
\hline
\mbox{\tt in}  & {\em warning\+\_\+val} & An allowed value that causes a warning instead of an error.\\
\hline
\mbox{\tt in}  & {\em hint} & A hint to the user about what to do. \\
\hline
\end{DoxyParams}


Definition at line 178 of file M\+O\+M\+\_\+obsolete\+\_\+params.\+F90.


\begin{DoxyCode}
178   \textcolor{keywordtype}{type}(param\_file\_type), \textcolor{keywordtype}{intent(in)} :: param\_file\textcolor{comment}{  !< Structure containing parameter file data.}
179   \textcolor{keywordtype}{character(len=*)},      \textcolor{keywordtype}{intent(in)} :: varname\textcolor{comment}{     !< Name of obsolete REAL parameter.}
180   \textcolor{keywordtype}{real},        \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: warning\_val\textcolor{comment}{ !< An allowed value that causes a warning instead of an
       error.}
181   \textcolor{keywordtype}{character(len=*)}, \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: hint\textcolor{comment}{   !< A hint to the user about what to do.}
182   \textcolor{comment}{! Local variables}
183   \textcolor{keywordtype}{real} :: test\_val, warn\_val
184   \textcolor{keywordtype}{character(len=128)} :: hint\_msg
185 
186   test\_val = -9e35; \textcolor{keyword}{call }read\_param(param\_file, varname, test\_val)
187   warn\_val = -9e35; \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(warning\_val)) warn\_val = warning\_val
188   hint\_msg = \textcolor{stringliteral}{" "} ; \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(hint)) hint\_msg = hint
189 
190   \textcolor{keywordflow}{if} (test\_val /= -9e35) \textcolor{keywordflow}{then}
191     \textcolor{keywordflow}{if} (test\_val == warn\_val) \textcolor{keywordflow}{then}
192       \textcolor{keyword}{call }mom\_error(warning, \textcolor{stringliteral}{"MOM\_obsolete\_params: "}//trim(varname)// &
193          \textcolor{stringliteral}{" is an obsolete run-time flag. "}//trim(hint\_msg))
194     \textcolor{keywordflow}{else}
195       \textcolor{keyword}{call }mom\_error(fatal, \textcolor{stringliteral}{"MOM\_obsolete\_params: "}//trim(varname)//   &
196            \textcolor{stringliteral}{" is an obsolete run-time flag, and should not be used. "}// &
197            trim(hint\_msg))
198 \textcolor{keywordflow}{    endif}
199 \textcolor{keywordflow}{  endif}
\end{DoxyCode}
