\hypertarget{namespacegeneric__tracer}{}\section{generic\+\_\+tracer Module Reference}
\label{namespacegeneric__tracer}\index{generic\+\_\+tracer@{generic\+\_\+tracer}}


\subsection{Detailed Description}
A non-\/functioning template of the G\+F\+DL ocean B\+GC. \subsection*{Functions/\+Subroutines}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{namespacegeneric__tracer_a29c7268567c339801281c3375a37e4a5}\label{namespacegeneric__tracer_a29c7268567c339801281c3375a37e4a5}} 
subroutine, public \mbox{\hyperlink{namespacegeneric__tracer_a29c7268567c339801281c3375a37e4a5}{generic\+\_\+tracer\+\_\+register}}
\begin{DoxyCompactList}\small\item\em Unknown. \end{DoxyCompactList}\item 
subroutine, public \mbox{\hyperlink{namespacegeneric__tracer_ae9ad6672ffd07f3f26ae73a163ea1230}{generic\+\_\+tracer\+\_\+init}} (isc, iec, jsc, jec, isd, ied, jsd, jed, nk, ntau, axes, grid\+\_\+tmask, grid\+\_\+kmt, init\+\_\+time)
\begin{DoxyCompactList}\small\item\em Initialize generic tracers. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{namespacegeneric__tracer_abdec9507af8b8a75921d73d054257679}\label{namespacegeneric__tracer_abdec9507af8b8a75921d73d054257679}} 
subroutine, public \mbox{\hyperlink{namespacegeneric__tracer_abdec9507af8b8a75921d73d054257679}{generic\+\_\+tracer\+\_\+register\+\_\+diag}}
\begin{DoxyCompactList}\small\item\em Unknown. \end{DoxyCompactList}\item 
subroutine, public \mbox{\hyperlink{namespacegeneric__tracer_aa41848bdcd848b7d7208a7705b0723f5}{generic\+\_\+tracer\+\_\+coupler\+\_\+get}} (I\+O\+B\+\_\+struc)
\begin{DoxyCompactList}\small\item\em Get coupler values. \end{DoxyCompactList}\item 
subroutine, public \mbox{\hyperlink{namespacegeneric__tracer_ab3cfaa56cbb3c2bb392bebf5ce3c9ec0}{generic\+\_\+tracer\+\_\+coupler\+\_\+accumulate}} (I\+O\+B\+\_\+struc, weight, model\+\_\+time)
\begin{DoxyCompactList}\small\item\em Unknown. \end{DoxyCompactList}\item 
subroutine, public \mbox{\hyperlink{namespacegeneric__tracer_a752abe55f4e7fb90134896556b711c10}{generic\+\_\+tracer\+\_\+source}} (Temp, Salt, rho\+\_\+dzt, dzt, hblt\+\_\+depth, ilb, jlb, tau, dtts, grid\+\_\+dat, model\+\_\+time, nbands, max\+\_\+wavelength\+\_\+band, sw\+\_\+pen\+\_\+band, opacity\+\_\+band, internal\+\_\+heat, frunoff, grid\+\_\+ht, current\+\_\+wave\+\_\+stress, sosga)
\begin{DoxyCompactList}\small\item\em Calls the corresponding generic\+\_\+\+X\+\_\+update\+\_\+from\+\_\+source routine for each package X. \end{DoxyCompactList}\item 
subroutine, public \mbox{\hyperlink{namespacegeneric__tracer_a74679acd2d7b2b006900f0d6e5584bb7}{generic\+\_\+tracer\+\_\+update\+\_\+from\+\_\+bottom}} (dt, tau, model\+\_\+time)
\begin{DoxyCompactList}\small\item\em Update the tracers from bottom fluxes. \end{DoxyCompactList}\item 
subroutine, public \mbox{\hyperlink{namespacegeneric__tracer_aa0cf9cc151b857c3313957e32cb85f72}{generic\+\_\+tracer\+\_\+vertdiff\+\_\+g}} (h\+\_\+old, ea, eb, dt, kg\+\_\+m2\+\_\+to\+\_\+H, m\+\_\+to\+\_\+H, tau)
\begin{DoxyCompactList}\small\item\em Vertically diffuse all generic tracers for G\+O\+LD ocean. \end{DoxyCompactList}\item 
subroutine, public \mbox{\hyperlink{namespacegeneric__tracer_a76c375331a5787575737c6b91f8024e9}{generic\+\_\+tracer\+\_\+coupler\+\_\+set}} (I\+O\+B\+\_\+struc, ST, SS, rho, ilb, jlb, tau, dzt, sosga, model\+\_\+time)
\begin{DoxyCompactList}\small\item\em Set the coupler values for each generic tracer. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{namespacegeneric__tracer_a81bba8a3ea0c6581484c70665e95cdd4}\label{namespacegeneric__tracer_a81bba8a3ea0c6581484c70665e95cdd4}} 
subroutine, public \mbox{\hyperlink{namespacegeneric__tracer_a81bba8a3ea0c6581484c70665e95cdd4}{generic\+\_\+tracer\+\_\+end}}
\begin{DoxyCompactList}\small\item\em End this module by calling the corresponding generic\+\_\+\+X\+\_\+end for each package X. \end{DoxyCompactList}\item 
subroutine, public \mbox{\hyperlink{namespacegeneric__tracer_ab92cb555f11c63921d3b05861c23fa36}{generic\+\_\+tracer\+\_\+get\+\_\+list}} (list)
\begin{DoxyCompactList}\small\item\em Get a pointer to the head of the generic tracers list. \end{DoxyCompactList}\item 
subroutine, public \mbox{\hyperlink{namespacegeneric__tracer_aeb6ba5588738dccffb961f3628d6e3d6}{generic\+\_\+tracer\+\_\+get\+\_\+diag\+\_\+list}} (list)
\begin{DoxyCompactList}\small\item\em Unknown. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Variables}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{namespacegeneric__tracer_a49bbe3ee394c519c8cc857a067274370}\label{namespacegeneric__tracer_a49bbe3ee394c519c8cc857a067274370}} 
logical, public \mbox{\hyperlink{namespacegeneric__tracer_a49bbe3ee394c519c8cc857a067274370}{do\+\_\+generic\+\_\+tracer}} = .true.
\begin{DoxyCompactList}\small\item\em Turn on generic tracers (note dangerous use of module data) \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Function/\+Subroutine Documentation}
\mbox{\Hypertarget{namespacegeneric__tracer_ab3cfaa56cbb3c2bb392bebf5ce3c9ec0}\label{namespacegeneric__tracer_ab3cfaa56cbb3c2bb392bebf5ce3c9ec0}} 
\index{generic\+\_\+tracer@{generic\+\_\+tracer}!generic\+\_\+tracer\+\_\+coupler\+\_\+accumulate@{generic\+\_\+tracer\+\_\+coupler\+\_\+accumulate}}
\index{generic\+\_\+tracer\+\_\+coupler\+\_\+accumulate@{generic\+\_\+tracer\+\_\+coupler\+\_\+accumulate}!generic\+\_\+tracer@{generic\+\_\+tracer}}
\subsubsection{\texorpdfstring{generic\+\_\+tracer\+\_\+coupler\+\_\+accumulate()}{generic\_tracer\_coupler\_accumulate()}}
{\footnotesize\ttfamily subroutine, public generic\+\_\+tracer\+::generic\+\_\+tracer\+\_\+coupler\+\_\+accumulate (\begin{DoxyParamCaption}\item[{type(coupler\+\_\+2d\+\_\+bc\+\_\+type), intent(in)}]{I\+O\+B\+\_\+struc,  }\item[{real, intent(in)}]{weight,  }\item[{type(time\+\_\+type), intent(in), optional}]{model\+\_\+time }\end{DoxyParamCaption})}



Unknown. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em iob\+\_\+struc} & Ice Ocean Boundary flux structure\\
\hline
\mbox{\tt in}  & {\em weight} & Unknown\\
\hline
\mbox{\tt in}  & {\em model\+\_\+time} & Time \\
\hline
\end{DoxyParams}


Definition at line 63 of file generic\+\_\+tracer.\+F90.


\begin{DoxyCode}
63     \textcolor{keywordtype}{type}(coupler\_2d\_bc\_type), \textcolor{keywordtype}{intent(in)} :: IOB\_struc\textcolor{comment}{ !< Ice Ocean Boundary flux structure}
64     \textcolor{keywordtype}{real},                     \textcolor{keywordtype}{intent(in)} :: weight\textcolor{comment}{ !< Unknown}
65     \textcolor{keywordtype}{type}(time\_type), \textcolor{keywordtype}{optional},\textcolor{keywordtype}{intent(in)} :: model\_time\textcolor{comment}{ !< Time}
\end{DoxyCode}
\mbox{\Hypertarget{namespacegeneric__tracer_aa41848bdcd848b7d7208a7705b0723f5}\label{namespacegeneric__tracer_aa41848bdcd848b7d7208a7705b0723f5}} 
\index{generic\+\_\+tracer@{generic\+\_\+tracer}!generic\+\_\+tracer\+\_\+coupler\+\_\+get@{generic\+\_\+tracer\+\_\+coupler\+\_\+get}}
\index{generic\+\_\+tracer\+\_\+coupler\+\_\+get@{generic\+\_\+tracer\+\_\+coupler\+\_\+get}!generic\+\_\+tracer@{generic\+\_\+tracer}}
\subsubsection{\texorpdfstring{generic\+\_\+tracer\+\_\+coupler\+\_\+get()}{generic\_tracer\_coupler\_get()}}
{\footnotesize\ttfamily subroutine, public generic\+\_\+tracer\+::generic\+\_\+tracer\+\_\+coupler\+\_\+get (\begin{DoxyParamCaption}\item[{type(coupler\+\_\+2d\+\_\+bc\+\_\+type), intent(in)}]{I\+O\+B\+\_\+struc }\end{DoxyParamCaption})}



Get coupler values. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em iob\+\_\+struc} & Ice Ocean Boundary flux structure \\
\hline
\end{DoxyParams}


Definition at line 58 of file generic\+\_\+tracer.\+F90.


\begin{DoxyCode}
58     \textcolor{keywordtype}{type}(coupler\_2d\_bc\_type), \textcolor{keywordtype}{intent(in)} :: IOB\_struc\textcolor{comment}{ !< Ice Ocean Boundary flux structure}
\end{DoxyCode}
\mbox{\Hypertarget{namespacegeneric__tracer_a76c375331a5787575737c6b91f8024e9}\label{namespacegeneric__tracer_a76c375331a5787575737c6b91f8024e9}} 
\index{generic\+\_\+tracer@{generic\+\_\+tracer}!generic\+\_\+tracer\+\_\+coupler\+\_\+set@{generic\+\_\+tracer\+\_\+coupler\+\_\+set}}
\index{generic\+\_\+tracer\+\_\+coupler\+\_\+set@{generic\+\_\+tracer\+\_\+coupler\+\_\+set}!generic\+\_\+tracer@{generic\+\_\+tracer}}
\subsubsection{\texorpdfstring{generic\+\_\+tracer\+\_\+coupler\+\_\+set()}{generic\_tracer\_coupler\_set()}}
{\footnotesize\ttfamily subroutine, public generic\+\_\+tracer\+::generic\+\_\+tracer\+\_\+coupler\+\_\+set (\begin{DoxyParamCaption}\item[{type(coupler\+\_\+2d\+\_\+bc\+\_\+type), intent(inout)}]{I\+O\+B\+\_\+struc,  }\item[{real, dimension(ilb\+:,jlb\+:), intent(in)}]{ST,  }\item[{real, dimension(ilb\+:,jlb\+:), intent(in)}]{SS,  }\item[{real, dimension(ilb\+:,jlb\+:,\+:,\+:), intent(in)}]{rho,  }\item[{integer, intent(in)}]{ilb,  }\item[{integer, intent(in)}]{jlb,  }\item[{integer, intent(in)}]{tau,  }\item[{real, dimension(ilb\+:,jlb\+:,\+:), intent(in), optional}]{dzt,  }\item[{real, intent(in), optional}]{sosga,  }\item[{type(time\+\_\+type), intent(in), optional}]{model\+\_\+time }\end{DoxyParamCaption})}



Set the coupler values for each generic tracer. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in,out}  & {\em iob\+\_\+struc} & Ice Ocean Boundary flux structure\\
\hline
\mbox{\tt in}  & {\em ilb} & Lower bounds of x extent of input arrays on data domain\\
\hline
\mbox{\tt in}  & {\em jlb} & Lower bounds of y extent of input arrays on data domain\\
\hline
\mbox{\tt in}  & {\em tau} & Time step index of field\\
\hline
\mbox{\tt in}  & {\em st} & Sea surface temperature \mbox{[}deg C\mbox{]}\\
\hline
\mbox{\tt in}  & {\em ss} & Sea surface salinity \mbox{[}psu\mbox{]}\\
\hline
\mbox{\tt in}  & {\em rho} & Ocean density \mbox{[}kg m-\/3\mbox{]}\\
\hline
\mbox{\tt in}  & {\em dzt} & Layer thickness \mbox{[}m\mbox{]}\\
\hline
\mbox{\tt in}  & {\em sosga} & Unknown\\
\hline
\mbox{\tt in}  & {\em model\+\_\+time} & Time \\
\hline
\end{DoxyParams}


Definition at line 114 of file generic\+\_\+tracer.\+F90.


\begin{DoxyCode}
114     \textcolor{keywordtype}{type}(coupler\_2d\_bc\_type), \textcolor{keywordtype}{intent(inout)} :: IOB\_struc\textcolor{comment}{ !< Ice Ocean Boundary flux structure}
115     \textcolor{keywordtype}{integer},                     \textcolor{keywordtype}{intent(in)} :: ilb\textcolor{comment}{ !< Lower bounds of x extent of input arrays on data
       domain}
116     \textcolor{keywordtype}{integer},                     \textcolor{keywordtype}{intent(in)} :: jlb\textcolor{comment}{ !< Lower bounds of y extent of input arrays on data
       domain}
117     \textcolor{keywordtype}{integer},                     \textcolor{keywordtype}{intent(in)} :: tau\textcolor{comment}{ !< Time step index of %field}
118     \textcolor{keywordtype}{real}, \textcolor{keywordtype}{dimension(ilb:,jlb:)},  \textcolor{keywordtype}{intent(in)} :: ST\textcolor{comment}{ !< Sea surface temperature [deg C]}
119     \textcolor{keywordtype}{real}, \textcolor{keywordtype}{dimension(ilb:,jlb:)},  \textcolor{keywordtype}{intent(in)} :: SS\textcolor{comment}{ !< Sea surface salinity [psu]}
120     \textcolor{keywordtype}{real}, \textcolor{keywordtype}{dimension(ilb:,jlb:,:,:)}, \textcolor{keywordtype}{intent(in)} :: rho\textcolor{comment}{ !< Ocean density [kg m-3]}
121     \textcolor{keywordtype}{real}, \textcolor{keywordtype}{dimension(ilb:,jlb:,:)}, \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: dzt\textcolor{comment}{ !< Layer thickness [m]}
122     \textcolor{keywordtype}{real},           \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: sosga\textcolor{comment}{ !< Unknown}
123     \textcolor{keywordtype}{type}(time\_type),\textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: model\_time\textcolor{comment}{ !< Time}
\end{DoxyCode}
\mbox{\Hypertarget{namespacegeneric__tracer_aeb6ba5588738dccffb961f3628d6e3d6}\label{namespacegeneric__tracer_aeb6ba5588738dccffb961f3628d6e3d6}} 
\index{generic\+\_\+tracer@{generic\+\_\+tracer}!generic\+\_\+tracer\+\_\+get\+\_\+diag\+\_\+list@{generic\+\_\+tracer\+\_\+get\+\_\+diag\+\_\+list}}
\index{generic\+\_\+tracer\+\_\+get\+\_\+diag\+\_\+list@{generic\+\_\+tracer\+\_\+get\+\_\+diag\+\_\+list}!generic\+\_\+tracer@{generic\+\_\+tracer}}
\subsubsection{\texorpdfstring{generic\+\_\+tracer\+\_\+get\+\_\+diag\+\_\+list()}{generic\_tracer\_get\_diag\_list()}}
{\footnotesize\ttfamily subroutine, public generic\+\_\+tracer\+::generic\+\_\+tracer\+\_\+get\+\_\+diag\+\_\+list (\begin{DoxyParamCaption}\item[{type(\mbox{\hyperlink{structg__tracer__utils_1_1g__diag__type}{g\+\_\+diag\+\_\+type}}), pointer}]{list }\end{DoxyParamCaption})}



Unknown. 


\begin{DoxyParams}{Parameters}
{\em list} & Pointer to head of the linked list \\
\hline
\end{DoxyParams}


Definition at line 137 of file generic\+\_\+tracer.\+F90.


\begin{DoxyCode}
137     \textcolor{keywordtype}{type}(g\_diag\_type),    \textcolor{keywordtype}{pointer}    :: list\textcolor{comment}{ !< Pointer to head of the linked list}
\end{DoxyCode}
\mbox{\Hypertarget{namespacegeneric__tracer_ab92cb555f11c63921d3b05861c23fa36}\label{namespacegeneric__tracer_ab92cb555f11c63921d3b05861c23fa36}} 
\index{generic\+\_\+tracer@{generic\+\_\+tracer}!generic\+\_\+tracer\+\_\+get\+\_\+list@{generic\+\_\+tracer\+\_\+get\+\_\+list}}
\index{generic\+\_\+tracer\+\_\+get\+\_\+list@{generic\+\_\+tracer\+\_\+get\+\_\+list}!generic\+\_\+tracer@{generic\+\_\+tracer}}
\subsubsection{\texorpdfstring{generic\+\_\+tracer\+\_\+get\+\_\+list()}{generic\_tracer\_get\_list()}}
{\footnotesize\ttfamily subroutine, public generic\+\_\+tracer\+::generic\+\_\+tracer\+\_\+get\+\_\+list (\begin{DoxyParamCaption}\item[{type(\mbox{\hyperlink{structg__tracer__utils_1_1g__tracer__type}{g\+\_\+tracer\+\_\+type}}), pointer}]{list }\end{DoxyParamCaption})}



Get a pointer to the head of the generic tracers list. 


\begin{DoxyParams}{Parameters}
{\em list} & Pointer to head of the linked list \\
\hline
\end{DoxyParams}


Definition at line 132 of file generic\+\_\+tracer.\+F90.


\begin{DoxyCode}
132     \textcolor{keywordtype}{type}(g\_tracer\_type),    \textcolor{keywordtype}{pointer}    :: list\textcolor{comment}{ !< Pointer to head of the linked list}
\end{DoxyCode}
\mbox{\Hypertarget{namespacegeneric__tracer_ae9ad6672ffd07f3f26ae73a163ea1230}\label{namespacegeneric__tracer_ae9ad6672ffd07f3f26ae73a163ea1230}} 
\index{generic\+\_\+tracer@{generic\+\_\+tracer}!generic\+\_\+tracer\+\_\+init@{generic\+\_\+tracer\+\_\+init}}
\index{generic\+\_\+tracer\+\_\+init@{generic\+\_\+tracer\+\_\+init}!generic\+\_\+tracer@{generic\+\_\+tracer}}
\subsubsection{\texorpdfstring{generic\+\_\+tracer\+\_\+init()}{generic\_tracer\_init()}}
{\footnotesize\ttfamily subroutine, public generic\+\_\+tracer\+::generic\+\_\+tracer\+\_\+init (\begin{DoxyParamCaption}\item[{integer, intent(in)}]{isc,  }\item[{integer, intent(in)}]{iec,  }\item[{integer, intent(in)}]{jsc,  }\item[{integer, intent(in)}]{jec,  }\item[{integer, intent(in)}]{isd,  }\item[{integer, intent(in)}]{ied,  }\item[{integer, intent(in)}]{jsd,  }\item[{integer, intent(in)}]{jed,  }\item[{integer, intent(in)}]{nk,  }\item[{integer, intent(in)}]{ntau,  }\item[{integer, dimension(3), intent(in)}]{axes,  }\item[{real, dimension(\+:,\+:,\+:), intent(in), target}]{grid\+\_\+tmask,  }\item[{integer, dimension(\+:,\+:), intent(in)}]{grid\+\_\+kmt,  }\item[{type(time\+\_\+type), intent(in)}]{init\+\_\+time }\end{DoxyParamCaption})}



Initialize generic tracers. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em isc} & Computation start index in i direction\\
\hline
\mbox{\tt in}  & {\em iec} & Computation end index in i direction\\
\hline
\mbox{\tt in}  & {\em jsc} & Computation start index in j direction\\
\hline
\mbox{\tt in}  & {\em jec} & Computation end index in j direction\\
\hline
\mbox{\tt in}  & {\em isd} & Data start index in i direction\\
\hline
\mbox{\tt in}  & {\em ied} & Data end index in i direction\\
\hline
\mbox{\tt in}  & {\em jsd} & Data start index in j direction\\
\hline
\mbox{\tt in}  & {\em jed} & Data end index in j direction\\
\hline
\mbox{\tt in}  & {\em nk} & Number of levels in k direction\\
\hline
\mbox{\tt in}  & {\em ntau} & Unknown\\
\hline
\mbox{\tt in}  & {\em axes} & Domain axes?\\
\hline
\mbox{\tt in}  & {\em init\+\_\+time} & Time\\
\hline
\mbox{\tt in}  & {\em grid\+\_\+tmask} & Mask\\
\hline
\mbox{\tt in}  & {\em grid\+\_\+kmt} & Number of wet cells in column \\
\hline
\end{DoxyParams}


Definition at line 36 of file generic\+\_\+tracer.\+F90.


\begin{DoxyCode}
36     \textcolor{keywordtype}{integer},                       \textcolor{keywordtype}{intent(in)} :: isc\textcolor{comment}{ !< Computation start index in i direction}
37     \textcolor{keywordtype}{integer},                       \textcolor{keywordtype}{intent(in)} :: iec\textcolor{comment}{ !< Computation end index in i direction}
38     \textcolor{keywordtype}{integer},                       \textcolor{keywordtype}{intent(in)} :: jsc\textcolor{comment}{ !< Computation start index in j direction}
39     \textcolor{keywordtype}{integer},                       \textcolor{keywordtype}{intent(in)} :: jec\textcolor{comment}{ !< Computation end index in j direction}
40     \textcolor{keywordtype}{integer},                       \textcolor{keywordtype}{intent(in)} :: isd\textcolor{comment}{ !< Data start index in i direction}
41     \textcolor{keywordtype}{integer},                       \textcolor{keywordtype}{intent(in)} :: ied\textcolor{comment}{ !< Data end index in i direction}
42     \textcolor{keywordtype}{integer},                       \textcolor{keywordtype}{intent(in)} :: jsd\textcolor{comment}{ !< Data start index in j direction}
43     \textcolor{keywordtype}{integer},                       \textcolor{keywordtype}{intent(in)} :: jed\textcolor{comment}{ !< Data end index in j direction}
44     \textcolor{keywordtype}{integer},                       \textcolor{keywordtype}{intent(in)} :: nk\textcolor{comment}{  !< Number of levels in k direction}
45     \textcolor{keywordtype}{integer},                       \textcolor{keywordtype}{intent(in)} :: ntau\textcolor{comment}{ !< Unknown}
46     \textcolor{keywordtype}{integer},                       \textcolor{keywordtype}{intent(in)} :: axes(3)\textcolor{comment}{ !< Domain axes?}
47     \textcolor{keywordtype}{type}(time\_type),               \textcolor{keywordtype}{intent(in)} :: init\_time\textcolor{comment}{ !< Time}
48     \textcolor{keywordtype}{real}, \textcolor{keywordtype}{dimension(:,:,:)},\textcolor{keywordtype}{target}, \textcolor{keywordtype}{intent(in)} :: grid\_tmask\textcolor{comment}{ !< Mask}
49     \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{dimension(:,:)}      , \textcolor{keywordtype}{intent(in)} :: grid\_kmt\textcolor{comment}{ !< Number of wet cells in column}
\end{DoxyCode}
\mbox{\Hypertarget{namespacegeneric__tracer_a752abe55f4e7fb90134896556b711c10}\label{namespacegeneric__tracer_a752abe55f4e7fb90134896556b711c10}} 
\index{generic\+\_\+tracer@{generic\+\_\+tracer}!generic\+\_\+tracer\+\_\+source@{generic\+\_\+tracer\+\_\+source}}
\index{generic\+\_\+tracer\+\_\+source@{generic\+\_\+tracer\+\_\+source}!generic\+\_\+tracer@{generic\+\_\+tracer}}
\subsubsection{\texorpdfstring{generic\+\_\+tracer\+\_\+source()}{generic\_tracer\_source()}}
{\footnotesize\ttfamily subroutine, public generic\+\_\+tracer\+::generic\+\_\+tracer\+\_\+source (\begin{DoxyParamCaption}\item[{real, dimension(ilb\+:,jlb\+:,\+:), intent(in)}]{Temp,  }\item[{real, dimension(ilb\+:,jlb\+:,\+:), intent(in)}]{Salt,  }\item[{real, dimension(ilb\+:,jlb\+:,\+:), intent(in)}]{rho\+\_\+dzt,  }\item[{real, dimension(ilb\+:,jlb\+:,\+:), intent(in)}]{dzt,  }\item[{real, dimension(ilb\+:,jlb\+:), intent(in)}]{hblt\+\_\+depth,  }\item[{integer, intent(in)}]{ilb,  }\item[{integer, intent(in)}]{jlb,  }\item[{integer, intent(in)}]{tau,  }\item[{real, intent(in)}]{dtts,  }\item[{real, dimension(ilb\+:,jlb\+:), intent(in)}]{grid\+\_\+dat,  }\item[{type(time\+\_\+type), intent(in)}]{model\+\_\+time,  }\item[{integer, intent(in)}]{nbands,  }\item[{real, dimension(\+:), intent(in)}]{max\+\_\+wavelength\+\_\+band,  }\item[{real, dimension(\+:,ilb\+:,jlb\+:), intent(in)}]{sw\+\_\+pen\+\_\+band,  }\item[{real, dimension(\+:,ilb\+:,jlb\+:,\+:), intent(in)}]{opacity\+\_\+band,  }\item[{real, dimension(ilb\+:,jlb\+:), intent(in), optional}]{internal\+\_\+heat,  }\item[{real, dimension(ilb\+:,jlb\+:), intent(in), optional}]{frunoff,  }\item[{real, dimension(ilb\+:,jlb\+:), intent(in), optional}]{grid\+\_\+ht,  }\item[{real, dimension(ilb\+:,jlb\+:), intent(in), optional}]{current\+\_\+wave\+\_\+stress,  }\item[{real, intent(in), optional}]{sosga }\end{DoxyParamCaption})}



Calls the corresponding generic\+\_\+\+X\+\_\+update\+\_\+from\+\_\+source routine for each package X. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em temp} & Potential temperature \mbox{[}deg C\mbox{]}\\
\hline
\mbox{\tt in}  & {\em salt} & Salinity \mbox{[}psu\mbox{]}\\
\hline
\mbox{\tt in}  & {\em rho\+\_\+dzt} & Unknown\\
\hline
\mbox{\tt in}  & {\em dzt} & Ocean layer thickness \mbox{[}m\mbox{]}\\
\hline
\mbox{\tt in}  & {\em hblt\+\_\+depth} & Boundary layer depth\\
\hline
\mbox{\tt in}  & {\em ilb} & Lower bounds of x extent of input arrays on data domain\\
\hline
\mbox{\tt in}  & {\em jlb} & Lower bounds of y extent of input arrays on data domain\\
\hline
\mbox{\tt in}  & {\em tau} & Time step index of field\\
\hline
\mbox{\tt in}  & {\em dtts} & Unknown\\
\hline
\mbox{\tt in}  & {\em grid\+\_\+dat} & Unknown\\
\hline
\mbox{\tt in}  & {\em model\+\_\+time} & Time\\
\hline
\mbox{\tt in}  & {\em nbands} & Unknown\\
\hline
\mbox{\tt in}  & {\em max\+\_\+wavelength\+\_\+band} & Unknown\\
\hline
\mbox{\tt in}  & {\em sw\+\_\+pen\+\_\+band} & Shortwave penetration\\
\hline
\mbox{\tt in}  & {\em opacity\+\_\+band} & Unknown\\
\hline
\mbox{\tt in}  & {\em internal\+\_\+heat} & Unknown\\
\hline
\mbox{\tt in}  & {\em frunoff} & Unknown\\
\hline
\mbox{\tt in}  & {\em grid\+\_\+ht} & Unknown\\
\hline
\mbox{\tt in}  & {\em current\+\_\+wave\+\_\+stress} & Unknown\\
\hline
\mbox{\tt in}  & {\em sosga} & Global average sea surface salinity \\
\hline
\end{DoxyParams}


Definition at line 72 of file generic\+\_\+tracer.\+F90.


\begin{DoxyCode}
72     \textcolor{keywordtype}{real}, \textcolor{keywordtype}{dimension(ilb:,jlb:,:)},   \textcolor{keywordtype}{intent(in)} :: Temp\textcolor{comment}{ !< Potential temperature [deg C]}
73     \textcolor{keywordtype}{real}, \textcolor{keywordtype}{dimension(ilb:,jlb:,:)},   \textcolor{keywordtype}{intent(in)} :: Salt\textcolor{comment}{ !< Salinity [psu]}
74     \textcolor{keywordtype}{real}, \textcolor{keywordtype}{dimension(ilb:,jlb:,:)},   \textcolor{keywordtype}{intent(in)} :: rho\_dzt\textcolor{comment}{ !< Unknown}
75     \textcolor{keywordtype}{real}, \textcolor{keywordtype}{dimension(ilb:,jlb:,:)},   \textcolor{keywordtype}{intent(in)} :: dzt\textcolor{comment}{ !< Ocean layer thickness [m]}
76     \textcolor{keywordtype}{real}, \textcolor{keywordtype}{dimension(ilb:,jlb:)},     \textcolor{keywordtype}{intent(in)} :: hblt\_depth\textcolor{comment}{ !< Boundary layer depth}
77     \textcolor{keywordtype}{integer},                        \textcolor{keywordtype}{intent(in)} :: ilb\textcolor{comment}{ !< Lower bounds of x extent of input arrays on data
       domain}
78     \textcolor{keywordtype}{integer},                        \textcolor{keywordtype}{intent(in)} :: jlb\textcolor{comment}{ !< Lower bounds of y extent of input arrays on data
       domain}
79     \textcolor{keywordtype}{integer},                        \textcolor{keywordtype}{intent(in)} :: tau\textcolor{comment}{ !< Time step index of %field}
80     \textcolor{keywordtype}{real},                           \textcolor{keywordtype}{intent(in)} :: dtts\textcolor{comment}{ !< Unknown}
81     \textcolor{keywordtype}{real}, \textcolor{keywordtype}{dimension(ilb:,jlb:)},     \textcolor{keywordtype}{intent(in)} :: grid\_dat\textcolor{comment}{ !< Unknown}
82     \textcolor{keywordtype}{type}(time\_type),                \textcolor{keywordtype}{intent(in)} :: model\_time\textcolor{comment}{ !< Time}
83     \textcolor{keywordtype}{integer},                        \textcolor{keywordtype}{intent(in)} :: nbands\textcolor{comment}{ !< Unknown}
84     \textcolor{keywordtype}{real}, \textcolor{keywordtype}{dimension(:)},             \textcolor{keywordtype}{intent(in)} :: max\_wavelength\_band\textcolor{comment}{ !< Unknown}
85     \textcolor{keywordtype}{real}, \textcolor{keywordtype}{dimension(:,ilb:,jlb:)},   \textcolor{keywordtype}{intent(in)} :: sw\_pen\_band\textcolor{comment}{ !< Shortwave penetration}
86     \textcolor{keywordtype}{real}, \textcolor{keywordtype}{dimension(:,ilb:,jlb:,:)}, \textcolor{keywordtype}{intent(in)} :: opacity\_band\textcolor{comment}{ !< Unknown}
87     \textcolor{keywordtype}{real}, \textcolor{keywordtype}{dimension(ilb:,jlb:)},\textcolor{keywordtype}{optional},  \textcolor{keywordtype}{intent(in)} :: internal\_heat\textcolor{comment}{ !< Unknown}
88     \textcolor{keywordtype}{real}, \textcolor{keywordtype}{dimension(ilb:,jlb:)},\textcolor{keywordtype}{optional},  \textcolor{keywordtype}{intent(in)} :: frunoff\textcolor{comment}{ !< Unknown}
89     \textcolor{keywordtype}{real}, \textcolor{keywordtype}{dimension(ilb:,jlb:)},\textcolor{keywordtype}{optional},  \textcolor{keywordtype}{intent(in)} :: grid\_ht\textcolor{comment}{ !< Unknown}
90     \textcolor{keywordtype}{real}, \textcolor{keywordtype}{dimension(ilb:,jlb:)},\textcolor{keywordtype}{optional} , \textcolor{keywordtype}{intent(in)} :: current\_wave\_stress\textcolor{comment}{ !< Unknown}
91     \textcolor{keywordtype}{real},                      \textcolor{keywordtype}{optional} , \textcolor{keywordtype}{intent(in)} :: sosga\textcolor{comment}{ !< Global average sea surface salinity}
\end{DoxyCode}
\mbox{\Hypertarget{namespacegeneric__tracer_a74679acd2d7b2b006900f0d6e5584bb7}\label{namespacegeneric__tracer_a74679acd2d7b2b006900f0d6e5584bb7}} 
\index{generic\+\_\+tracer@{generic\+\_\+tracer}!generic\+\_\+tracer\+\_\+update\+\_\+from\+\_\+bottom@{generic\+\_\+tracer\+\_\+update\+\_\+from\+\_\+bottom}}
\index{generic\+\_\+tracer\+\_\+update\+\_\+from\+\_\+bottom@{generic\+\_\+tracer\+\_\+update\+\_\+from\+\_\+bottom}!generic\+\_\+tracer@{generic\+\_\+tracer}}
\subsubsection{\texorpdfstring{generic\+\_\+tracer\+\_\+update\+\_\+from\+\_\+bottom()}{generic\_tracer\_update\_from\_bottom()}}
{\footnotesize\ttfamily subroutine, public generic\+\_\+tracer\+::generic\+\_\+tracer\+\_\+update\+\_\+from\+\_\+bottom (\begin{DoxyParamCaption}\item[{real, intent(in)}]{dt,  }\item[{integer, intent(in)}]{tau,  }\item[{type(time\+\_\+type), intent(in)}]{model\+\_\+time }\end{DoxyParamCaption})}



Update the tracers from bottom fluxes. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em dt} & Time step increment\\
\hline
\mbox{\tt in}  & {\em tau} & Time step index used for the concentration field\\
\hline
\mbox{\tt in}  & {\em model\+\_\+time} & Time \\
\hline
\end{DoxyParams}


Definition at line 96 of file generic\+\_\+tracer.\+F90.


\begin{DoxyCode}
96     \textcolor{keywordtype}{real},            \textcolor{keywordtype}{intent(in)} :: dt\textcolor{comment}{ !< Time step increment}
97     \textcolor{keywordtype}{integer},         \textcolor{keywordtype}{intent(in)} :: tau\textcolor{comment}{ !< Time step index used for the concentration field}
98     \textcolor{keywordtype}{type}(time\_type), \textcolor{keywordtype}{intent(in)} :: model\_time\textcolor{comment}{ !< Time}
\end{DoxyCode}
\mbox{\Hypertarget{namespacegeneric__tracer_aa0cf9cc151b857c3313957e32cb85f72}\label{namespacegeneric__tracer_aa0cf9cc151b857c3313957e32cb85f72}} 
\index{generic\+\_\+tracer@{generic\+\_\+tracer}!generic\+\_\+tracer\+\_\+vertdiff\+\_\+g@{generic\+\_\+tracer\+\_\+vertdiff\+\_\+g}}
\index{generic\+\_\+tracer\+\_\+vertdiff\+\_\+g@{generic\+\_\+tracer\+\_\+vertdiff\+\_\+g}!generic\+\_\+tracer@{generic\+\_\+tracer}}
\subsubsection{\texorpdfstring{generic\+\_\+tracer\+\_\+vertdiff\+\_\+g()}{generic\_tracer\_vertdiff\_g()}}
{\footnotesize\ttfamily subroutine, public generic\+\_\+tracer\+::generic\+\_\+tracer\+\_\+vertdiff\+\_\+g (\begin{DoxyParamCaption}\item[{real, dimension(\+:,\+:,\+:), intent(in)}]{h\+\_\+old,  }\item[{real, dimension(\+:,\+:,\+:), intent(in)}]{ea,  }\item[{real, dimension(\+:,\+:,\+:), intent(in)}]{eb,  }\item[{real, intent(in)}]{dt,  }\item[{real, intent(in)}]{kg\+\_\+m2\+\_\+to\+\_\+H,  }\item[{real, intent(in)}]{m\+\_\+to\+\_\+H,  }\item[{integer, intent(in)}]{tau }\end{DoxyParamCaption})}



Vertically diffuse all generic tracers for G\+O\+LD ocean. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em h\+\_\+old} & Unknown\\
\hline
\mbox{\tt in}  & {\em ea} & Unknown\\
\hline
\mbox{\tt in}  & {\em eb} & Unknown\\
\hline
\mbox{\tt in}  & {\em dt} & Unknown\\
\hline
\mbox{\tt in}  & {\em kg\+\_\+m2\+\_\+to\+\_\+h} & Unknown\\
\hline
\mbox{\tt in}  & {\em m\+\_\+to\+\_\+h} & Unknown\\
\hline
\mbox{\tt in}  & {\em tau} & Unknown \\
\hline
\end{DoxyParams}


Definition at line 103 of file generic\+\_\+tracer.\+F90.


\begin{DoxyCode}
103     \textcolor{keywordtype}{real}, \textcolor{keywordtype}{dimension(:,:,:)}, \textcolor{keywordtype}{intent(in)} :: h\_old\textcolor{comment}{ !< Unknown}
104     \textcolor{keywordtype}{real}, \textcolor{keywordtype}{dimension(:,:,:)}, \textcolor{keywordtype}{intent(in)} :: ea\textcolor{comment}{ !< Unknown}
105     \textcolor{keywordtype}{real}, \textcolor{keywordtype}{dimension(:,:,:)}, \textcolor{keywordtype}{intent(in)} :: eb\textcolor{comment}{ !< Unknown}
106     \textcolor{keywordtype}{real},                   \textcolor{keywordtype}{intent(in)} :: dt\textcolor{comment}{ !< Unknown}
107     \textcolor{keywordtype}{real},                   \textcolor{keywordtype}{intent(in)} :: kg\_m2\_to\_H\textcolor{comment}{ !< Unknown}
108     \textcolor{keywordtype}{real},                   \textcolor{keywordtype}{intent(in)} :: m\_to\_H\textcolor{comment}{ !< Unknown}
109     \textcolor{keywordtype}{integer},                \textcolor{keywordtype}{intent(in)} :: tau\textcolor{comment}{ !< Unknown}
\end{DoxyCode}
