\hypertarget{namespacedyed__channel__initialization}{}\section{dyed\+\_\+channel\+\_\+initialization Module Reference}
\label{namespacedyed__channel__initialization}\index{dyed\+\_\+channel\+\_\+initialization@{dyed\+\_\+channel\+\_\+initialization}}


\subsection{Detailed Description}
Initialization for the dyed\+\_\+channel configuration. 

Setting dyes, one for painting the inflow on each side. \subsection*{Data Types}
\begin{DoxyCompactItemize}
\item 
type \hyperlink{structdyed__channel__initialization_1_1dyed__channel__obc__cs}{dyed\+\_\+channel\+\_\+obc\+\_\+cs}
\begin{DoxyCompactList}\small\item\em Control structure for dyed-\/channel open boundaries. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Functions/\+Subroutines}
\begin{DoxyCompactItemize}
\item 
logical function, public \hyperlink{namespacedyed__channel__initialization_a3b2f27c5213cbae5174f1e841d5f0d97}{register\+\_\+dyed\+\_\+channel\+\_\+obc} (param\+\_\+file, CS, O\+B\+C\+\_\+\+Reg)
\begin{DoxyCompactList}\small\item\em Add dyed channel to O\+BC registry. \end{DoxyCompactList}\item 
subroutine, public \hyperlink{namespacedyed__channel__initialization_a11908b8cf33f19e69a11a46107d9b2d6}{dyed\+\_\+channel\+\_\+obc\+\_\+end} (CS)
\begin{DoxyCompactList}\small\item\em Clean up the dyed\+\_\+channel O\+BC from registry. \end{DoxyCompactList}\item 
subroutine, public \hyperlink{namespacedyed__channel__initialization_a61f1363b7fcad22750a7cea035aada98}{dyed\+\_\+channel\+\_\+set\+\_\+obc\+\_\+tracer\+\_\+data} (O\+BC, G, GV, param\+\_\+file, tr\+\_\+\+Reg)
\begin{DoxyCompactList}\small\item\em This subroutine sets the dye and flow properties at open boundary conditions. \end{DoxyCompactList}\item 
subroutine, public \hyperlink{namespacedyed__channel__initialization_a5e9457402221f33d9e8dd4495246e051}{dyed\+\_\+channel\+\_\+update\+\_\+flow} (O\+BC, CS, G, Time)
\begin{DoxyCompactList}\small\item\em This subroutine updates the long-\/channel flow. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Variables}
\begin{DoxyCompactItemize}
\item 
integer \hyperlink{namespacedyed__channel__initialization_a3e5386324e634b73ca2c9e53a1f85775}{ntr} = 0
\begin{DoxyCompactList}\small\item\em Number of dye tracers. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Function/\+Subroutine Documentation}
\mbox{\Hypertarget{namespacedyed__channel__initialization_a11908b8cf33f19e69a11a46107d9b2d6}\label{namespacedyed__channel__initialization_a11908b8cf33f19e69a11a46107d9b2d6}} 
\index{dyed\+\_\+channel\+\_\+initialization@{dyed\+\_\+channel\+\_\+initialization}!dyed\+\_\+channel\+\_\+obc\+\_\+end@{dyed\+\_\+channel\+\_\+obc\+\_\+end}}
\index{dyed\+\_\+channel\+\_\+obc\+\_\+end@{dyed\+\_\+channel\+\_\+obc\+\_\+end}!dyed\+\_\+channel\+\_\+initialization@{dyed\+\_\+channel\+\_\+initialization}}
\subsubsection{\texorpdfstring{dyed\+\_\+channel\+\_\+obc\+\_\+end()}{dyed\_channel\_obc\_end()}}
{\footnotesize\ttfamily subroutine, public dyed\+\_\+channel\+\_\+initialization\+::dyed\+\_\+channel\+\_\+obc\+\_\+end (\begin{DoxyParamCaption}\item[{type(\hyperlink{structdyed__channel__initialization_1_1dyed__channel__obc__cs}{dyed\+\_\+channel\+\_\+obc\+\_\+cs}), pointer}]{CS }\end{DoxyParamCaption})}



Clean up the dyed\+\_\+channel O\+BC from registry. 


\begin{DoxyParams}{Parameters}
{\em cs} & Dyed channel control structure. \\
\hline
\end{DoxyParams}


Definition at line 74 of file dyed\+\_\+channel\+\_\+initialization.\+F90.


\begin{DoxyCode}
74   \textcolor{keywordtype}{type}(dyed\_channel\_obc\_cs), \textcolor{keywordtype}{pointer} :: cs\textcolor{comment}{    !< Dyed channel control structure.}
75 
76   \textcolor{keywordflow}{if} (\textcolor{keyword}{associated}(cs)) \textcolor{keywordflow}{then}
77     \textcolor{keyword}{deallocate}(cs)
78 \textcolor{keywordflow}{  endif}
\end{DoxyCode}
\mbox{\Hypertarget{namespacedyed__channel__initialization_a61f1363b7fcad22750a7cea035aada98}\label{namespacedyed__channel__initialization_a61f1363b7fcad22750a7cea035aada98}} 
\index{dyed\+\_\+channel\+\_\+initialization@{dyed\+\_\+channel\+\_\+initialization}!dyed\+\_\+channel\+\_\+set\+\_\+obc\+\_\+tracer\+\_\+data@{dyed\+\_\+channel\+\_\+set\+\_\+obc\+\_\+tracer\+\_\+data}}
\index{dyed\+\_\+channel\+\_\+set\+\_\+obc\+\_\+tracer\+\_\+data@{dyed\+\_\+channel\+\_\+set\+\_\+obc\+\_\+tracer\+\_\+data}!dyed\+\_\+channel\+\_\+initialization@{dyed\+\_\+channel\+\_\+initialization}}
\subsubsection{\texorpdfstring{dyed\+\_\+channel\+\_\+set\+\_\+obc\+\_\+tracer\+\_\+data()}{dyed\_channel\_set\_obc\_tracer\_data()}}
{\footnotesize\ttfamily subroutine, public dyed\+\_\+channel\+\_\+initialization\+::dyed\+\_\+channel\+\_\+set\+\_\+obc\+\_\+tracer\+\_\+data (\begin{DoxyParamCaption}\item[{type(ocean\+\_\+obc\+\_\+type), pointer}]{O\+BC,  }\item[{type(ocean\+\_\+grid\+\_\+type), intent(in)}]{G,  }\item[{type(verticalgrid\+\_\+type), intent(in)}]{GV,  }\item[{type(param\+\_\+file\+\_\+type), intent(in)}]{param\+\_\+file,  }\item[{type(tracer\+\_\+registry\+\_\+type), pointer}]{tr\+\_\+\+Reg }\end{DoxyParamCaption})}



This subroutine sets the dye and flow properties at open boundary conditions. 


\begin{DoxyParams}[1]{Parameters}
 & {\em obc} & This open boundary condition type specifies whether, where, and what open boundary conditions are used.\\
\hline
\mbox{\tt in}  & {\em g} & The ocean\textquotesingle{}s grid structure.\\
\hline
\mbox{\tt in}  & {\em gv} & The ocean\textquotesingle{}s vertical grid structure.\\
\hline
\mbox{\tt in}  & {\em param\+\_\+file} & A structure indicating the open file to parse for model parameter values.\\
\hline
 & {\em tr\+\_\+reg} & Tracer registry. \\
\hline
\end{DoxyParams}


Definition at line 83 of file dyed\+\_\+channel\+\_\+initialization.\+F90.


\begin{DoxyCode}
83   \textcolor{keywordtype}{type}(ocean\_obc\_type),       \textcolor{keywordtype}{pointer}    :: obc\textcolor{comment}{ !< This open boundary condition type specifies}
84 \textcolor{comment}{                                                !! whether, where, and what open boundary}
85 \textcolor{comment}{                                                !! conditions are used.}
86   \textcolor{keywordtype}{type}(ocean\_grid\_type),      \textcolor{keywordtype}{intent(in)} :: g\textcolor{comment}{   !< The ocean's grid structure.}
87   \textcolor{keywordtype}{type}(verticalgrid\_type),    \textcolor{keywordtype}{intent(in)} :: gv\textcolor{comment}{  !< The ocean's vertical grid structure.}
88   \textcolor{keywordtype}{type}(param\_file\_type),      \textcolor{keywordtype}{intent(in)} :: param\_file\textcolor{comment}{ !< A structure indicating the open file}
89 \textcolor{comment}{                                                !! to parse for model parameter values.}
90   \textcolor{keywordtype}{type}(tracer\_registry\_type), \textcolor{keywordtype}{pointer}    :: tr\_reg\textcolor{comment}{ !< Tracer registry.}
91   \textcolor{comment}{! Local variables}
92   \textcolor{keywordtype}{character(len=40)}  :: mdl = \textcolor{stringliteral}{"dyed\_channel\_set\_OBC\_tracer\_data"} \textcolor{comment}{! This subroutine's name.}
93   \textcolor{keywordtype}{character(len=80)}  :: name, longname
94   \textcolor{keywordtype}{integer} :: i, j, k, l, itt, isd, ied, jsd, jed, m, n
95   \textcolor{keywordtype}{integer} :: isdb, iedb, jsdb, jedb
96   \textcolor{keywordtype}{real} :: dye
97   \textcolor{keywordtype}{type}(obc\_segment\_type), \textcolor{keywordtype}{pointer} :: segment => null()
98   \textcolor{keywordtype}{type}(tracer\_type), \textcolor{keywordtype}{pointer}      :: tr\_ptr => null()
99 
100   \textcolor{keywordflow}{if} (.not.\textcolor{keyword}{associated}(obc)) \textcolor{keyword}{call }mom\_error(fatal, \textcolor{stringliteral}{'dyed\_channel\_initialization.F90: '}// &
101         \textcolor{stringliteral}{'dyed\_channel\_set\_OBC\_data() was called but OBC type was not initialized!'})
102 
103   \textcolor{keyword}{call }get\_param(param\_file, mdl, \textcolor{stringliteral}{"NUM\_DYE\_TRACERS"}, ntr, &
104                  \textcolor{stringliteral}{"The number of dye tracers in this run. Each tracer "}//&
105                  \textcolor{stringliteral}{"should have a separate boundary segment."}, default=0,   &
106                  do\_not\_log=.true.)
107 
108   \textcolor{keywordflow}{if} (obc%number\_of\_segments < ntr) \textcolor{keywordflow}{then}
109     \textcolor{keyword}{call }mom\_error(warning, \textcolor{stringliteral}{"Error in dyed\_obc segment setup"})
110     \textcolor{keywordflow}{return}   \textcolor{comment}{!!! Need a better error message here}
111 \textcolor{keywordflow}{  endif}
112 
113 \textcolor{comment}{! ! Set the inflow values of the dyes, one per segment.}
114 \textcolor{comment}{! ! We know the order: north, south, east, west}
115   \textcolor{keywordflow}{do} m=1,ntr
116     \textcolor{keyword}{write}(name,\textcolor{stringliteral}{'("dye\_",I2.2)'}) m
117     \textcolor{keyword}{write}(longname,\textcolor{stringliteral}{'("Concentration of dyed\_obc Tracer ",I2.2, " on segment ",I2.2)'}) m, m
118     \textcolor{keyword}{call }tracer\_name\_lookup(tr\_reg, tr\_ptr, name)
119 
120     \textcolor{keywordflow}{do} n=1,obc%number\_of\_segments
121       \textcolor{keywordflow}{if} (n == m) \textcolor{keywordflow}{then}
122         dye = 1.0
123       \textcolor{keywordflow}{else}
124         dye = 0.0
125 \textcolor{keywordflow}{      endif}
126       \textcolor{keyword}{call }register\_segment\_tracer(tr\_ptr, param\_file, gv, &
127                                    obc%segment(n), obc\_scalar=dye)
128 \textcolor{keywordflow}{    enddo}
129 \textcolor{keywordflow}{  enddo}
130 
\end{DoxyCode}
\mbox{\Hypertarget{namespacedyed__channel__initialization_a5e9457402221f33d9e8dd4495246e051}\label{namespacedyed__channel__initialization_a5e9457402221f33d9e8dd4495246e051}} 
\index{dyed\+\_\+channel\+\_\+initialization@{dyed\+\_\+channel\+\_\+initialization}!dyed\+\_\+channel\+\_\+update\+\_\+flow@{dyed\+\_\+channel\+\_\+update\+\_\+flow}}
\index{dyed\+\_\+channel\+\_\+update\+\_\+flow@{dyed\+\_\+channel\+\_\+update\+\_\+flow}!dyed\+\_\+channel\+\_\+initialization@{dyed\+\_\+channel\+\_\+initialization}}
\subsubsection{\texorpdfstring{dyed\+\_\+channel\+\_\+update\+\_\+flow()}{dyed\_channel\_update\_flow()}}
{\footnotesize\ttfamily subroutine, public dyed\+\_\+channel\+\_\+initialization\+::dyed\+\_\+channel\+\_\+update\+\_\+flow (\begin{DoxyParamCaption}\item[{type(ocean\+\_\+obc\+\_\+type), pointer}]{O\+BC,  }\item[{type(\hyperlink{structdyed__channel__initialization_1_1dyed__channel__obc__cs}{dyed\+\_\+channel\+\_\+obc\+\_\+cs}), pointer}]{CS,  }\item[{type(ocean\+\_\+grid\+\_\+type), intent(in)}]{G,  }\item[{type(time\+\_\+type), intent(in)}]{Time }\end{DoxyParamCaption})}



This subroutine updates the long-\/channel flow. 


\begin{DoxyParams}[1]{Parameters}
 & {\em obc} & This open boundary condition type specifies whether, where, and what open boundary conditions are used.\\
\hline
 & {\em cs} & Dyed channel control structure.\\
\hline
\mbox{\tt in}  & {\em g} & The ocean\textquotesingle{}s grid structure.\\
\hline
\mbox{\tt in}  & {\em time} & model time. \\
\hline
\end{DoxyParams}


Definition at line 135 of file dyed\+\_\+channel\+\_\+initialization.\+F90.


\begin{DoxyCode}
135   \textcolor{keywordtype}{type}(ocean\_obc\_type),       \textcolor{keywordtype}{pointer}    :: obc\textcolor{comment}{ !< This open boundary condition type specifies}
136 \textcolor{comment}{                                                !! whether, where, and what open boundary}
137 \textcolor{comment}{                                                !! conditions are used.}
138   \textcolor{keywordtype}{type}(dyed\_channel\_obc\_cs),  \textcolor{keywordtype}{pointer}    :: cs\textcolor{comment}{  !< Dyed channel control structure.}
139   \textcolor{keywordtype}{type}(ocean\_grid\_type),      \textcolor{keywordtype}{intent(in)} :: g\textcolor{comment}{   !< The ocean's grid structure.}
140   \textcolor{keywordtype}{type}(time\_type),            \textcolor{keywordtype}{intent(in)} :: time\textcolor{comment}{ !< model time.}
141   \textcolor{comment}{! Local variables}
142   \textcolor{keywordtype}{character(len=40)}  :: mdl = \textcolor{stringliteral}{"dyed\_channel\_update\_flow"} \textcolor{comment}{! This subroutine's name.}
143   \textcolor{keywordtype}{character(len=80)}  :: name
144   \textcolor{keywordtype}{real} :: flow, time\_sec, pi
145   \textcolor{keywordtype}{integer} :: i, j, k, l, itt, isd, ied, jsd, jed, m, n
146   \textcolor{keywordtype}{integer} :: isdb, iedb, jsdb, jedb
147   \textcolor{keywordtype}{type}(obc\_segment\_type), \textcolor{keywordtype}{pointer} :: segment => null()
148 
149   \textcolor{keywordflow}{if} (.not.\textcolor{keyword}{associated}(obc)) \textcolor{keyword}{call }mom\_error(fatal, \textcolor{stringliteral}{'dyed\_channel\_initialization.F90: '}// &
150         \textcolor{stringliteral}{'dyed\_channel\_update\_flow() was called but OBC type was not initialized!'})
151 
152   time\_sec = time\_type\_to\_real(time)
153   pi = 4.0*atan(1.0)
154 
155   \textcolor{keywordflow}{do} l=1, obc%number\_of\_segments
156     segment => obc%segment(l)
157     \textcolor{keywordflow}{if} (.not. segment%on\_pe) cycle
158     \textcolor{keywordflow}{if} (segment%gradient) cycle
159     \textcolor{keywordflow}{if} (segment%oblique .and. .not. segment%nudged .and. .not. segment%Flather) cycle
160 
161     \textcolor{keywordflow}{if} (segment%is\_E\_or\_W) \textcolor{keywordflow}{then}
162       jsd = segment%HI%jsd ; jed = segment%HI%jed
163       isdb = segment%HI%IsdB ; iedb = segment%HI%IedB
164       \textcolor{keywordflow}{if} (cs%frequency == 0.0) \textcolor{keywordflow}{then}
165         flow = g%US%m\_s\_to\_L\_T*cs%zonal\_flow
166       \textcolor{keywordflow}{else}
167         flow = g%US%m\_s\_to\_L\_T*cs%zonal\_flow + cs%tidal\_amp * cos(2 * pi * cs%frequency * time\_sec)
168 \textcolor{keywordflow}{      endif}
169       \textcolor{keywordflow}{do} k=1,g%ke
170         \textcolor{keywordflow}{do} j=jsd,jed ; \textcolor{keywordflow}{do} i=isdb,iedb
171           \textcolor{keywordflow}{if} (segment%specified .or. segment%nudged) \textcolor{keywordflow}{then}
172             segment%normal\_vel(i,j,k) = flow
173 \textcolor{keywordflow}{          endif}
174           \textcolor{keywordflow}{if} (segment%specified) \textcolor{keywordflow}{then}
175             segment%normal\_trans(i,j,k) = flow * g%dyCu(i,j)
176 \textcolor{keywordflow}{          endif}
177 \textcolor{keywordflow}{        enddo} ;\textcolor{keywordflow}{ enddo}
178 \textcolor{keywordflow}{      enddo}
179       \textcolor{keywordflow}{do} j=jsd,jed ; \textcolor{keywordflow}{do} i=isdb,iedb
180         segment%normal\_vel\_bt(i,j) = flow
181 \textcolor{keywordflow}{      enddo} ;\textcolor{keywordflow}{ enddo}
182     \textcolor{keywordflow}{else}
183       isd = segment%HI%isd ; ied = segment%HI%ied
184       jsdb = segment%HI%JsdB ; jedb = segment%HI%JedB
185       \textcolor{keywordflow}{do} j=jsdb,jedb ; \textcolor{keywordflow}{do} i=isd,ied
186         segment%normal\_vel\_bt(i,j) = 0.0
187 \textcolor{keywordflow}{      enddo} ;\textcolor{keywordflow}{ enddo}
188 \textcolor{keywordflow}{    endif}
189 \textcolor{keywordflow}{  enddo}
190 
\end{DoxyCode}
\mbox{\Hypertarget{namespacedyed__channel__initialization_a3b2f27c5213cbae5174f1e841d5f0d97}\label{namespacedyed__channel__initialization_a3b2f27c5213cbae5174f1e841d5f0d97}} 
\index{dyed\+\_\+channel\+\_\+initialization@{dyed\+\_\+channel\+\_\+initialization}!register\+\_\+dyed\+\_\+channel\+\_\+obc@{register\+\_\+dyed\+\_\+channel\+\_\+obc}}
\index{register\+\_\+dyed\+\_\+channel\+\_\+obc@{register\+\_\+dyed\+\_\+channel\+\_\+obc}!dyed\+\_\+channel\+\_\+initialization@{dyed\+\_\+channel\+\_\+initialization}}
\subsubsection{\texorpdfstring{register\+\_\+dyed\+\_\+channel\+\_\+obc()}{register\_dyed\_channel\_obc()}}
{\footnotesize\ttfamily logical function, public dyed\+\_\+channel\+\_\+initialization\+::register\+\_\+dyed\+\_\+channel\+\_\+obc (\begin{DoxyParamCaption}\item[{type(param\+\_\+file\+\_\+type), intent(in)}]{param\+\_\+file,  }\item[{type(\hyperlink{structdyed__channel__initialization_1_1dyed__channel__obc__cs}{dyed\+\_\+channel\+\_\+obc\+\_\+cs}), pointer}]{CS,  }\item[{type(obc\+\_\+registry\+\_\+type), pointer}]{O\+B\+C\+\_\+\+Reg }\end{DoxyParamCaption})}



Add dyed channel to O\+BC registry. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em param\+\_\+file} & parameter file.\\
\hline
 & {\em cs} & Dyed channel control structure.\\
\hline
 & {\em obc\+\_\+reg} & O\+BC registry. \\
\hline
\end{DoxyParams}


Definition at line 41 of file dyed\+\_\+channel\+\_\+initialization.\+F90.


\begin{DoxyCode}
41   \textcolor{keywordtype}{type}(param\_file\_type),     \textcolor{keywordtype}{intent(in)} :: param\_file\textcolor{comment}{ !< parameter file.}
42   \textcolor{keywordtype}{type}(dyed\_channel\_obc\_cs), \textcolor{keywordtype}{pointer}    :: cs\textcolor{comment}{         !< Dyed channel control structure.}
43   \textcolor{keywordtype}{type}(obc\_registry\_type),   \textcolor{keywordtype}{pointer}    :: obc\_reg\textcolor{comment}{    !< OBC registry.}
44   \textcolor{comment}{! Local variables}
45   \textcolor{keywordtype}{logical}                               :: register\_dyed\_channel\_obc
46   \textcolor{keywordtype}{character(len=32)}  :: casename = \textcolor{stringliteral}{"dyed channel"}     \textcolor{comment}{! This case's name.}
47   \textcolor{keywordtype}{character(len=40)}  :: mdl = \textcolor{stringliteral}{"register\_dyed\_channel\_OBC"} \textcolor{comment}{! This subroutine's name.}
48 
49   \textcolor{keywordflow}{if} (\textcolor{keyword}{associated}(cs)) \textcolor{keywordflow}{then}
50     \textcolor{keyword}{call }mom\_error(warning, \textcolor{stringliteral}{"register\_dyed\_channel\_OBC called with an "}// &
51                             \textcolor{stringliteral}{"associated control structure."})
52     \textcolor{keywordflow}{return}
53 \textcolor{keywordflow}{  endif}
54   \textcolor{keyword}{allocate}(cs)
55 
56   \textcolor{keyword}{call }get\_param(param\_file, mdl, \textcolor{stringliteral}{"CHANNEL\_MEAN\_FLOW"}, cs%zonal\_flow, &
57                  \textcolor{stringliteral}{"Mean zonal flow imposed at upstream open boundary."}, &
58                  units=\textcolor{stringliteral}{"m/s"}, default=8.57)
59   \textcolor{keyword}{call }get\_param(param\_file, mdl, \textcolor{stringliteral}{"CHANNEL\_TIDAL\_AMP"}, cs%tidal\_amp, &
60                  \textcolor{stringliteral}{"Sloshing amplitude imposed at upstream open boundary."}, &
61                  units=\textcolor{stringliteral}{"m/s"}, default=0.0)
62   \textcolor{keyword}{call }get\_param(param\_file, mdl, \textcolor{stringliteral}{"CHANNEL\_FLOW\_FREQUENCY"}, cs%frequency, &
63                  \textcolor{stringliteral}{"Frequency of oscillating zonal flow."}, &
64                  units=\textcolor{stringliteral}{"s-1"}, default=0.0)
65 
66   \textcolor{comment}{! Register the open boundaries.}
67   \textcolor{keyword}{call }register\_obc(casename, param\_file, obc\_reg)
68   register\_dyed\_channel\_obc = .true.
69 
\end{DoxyCode}


\subsection{Variable Documentation}
\mbox{\Hypertarget{namespacedyed__channel__initialization_a3e5386324e634b73ca2c9e53a1f85775}\label{namespacedyed__channel__initialization_a3e5386324e634b73ca2c9e53a1f85775}} 
\index{dyed\+\_\+channel\+\_\+initialization@{dyed\+\_\+channel\+\_\+initialization}!ntr@{ntr}}
\index{ntr@{ntr}!dyed\+\_\+channel\+\_\+initialization@{dyed\+\_\+channel\+\_\+initialization}}
\subsubsection{\texorpdfstring{ntr}{ntr}}
{\footnotesize\ttfamily integer dyed\+\_\+channel\+\_\+initialization\+::ntr = 0}



Number of dye tracers. 

\begin{DoxyRefDesc}{Todo}
\item[\hyperlink{todo__todo000010}{Todo}]This is a module variable. Move this variable into the control structure. \end{DoxyRefDesc}


Definition at line 34 of file dyed\+\_\+channel\+\_\+initialization.\+F90.


\begin{DoxyCode}
34 \textcolor{keywordtype}{integer} :: ntr = 0\textcolor{comment}{ !< Number of dye tracers}
\end{DoxyCode}
