\hypertarget{namespacecalpreciptype__mod}{}\doxysubsection{calpreciptype\+\_\+mod Module Reference}
\label{namespacecalpreciptype__mod}\index{calpreciptype\_mod@{calpreciptype\_mod}}
\doxysubsubsection*{Functions/\+Subroutines}
\begin{DoxyCompactItemize}
\item 
subroutine \mbox{\hyperlink{group__gfs__calpreciptype_ga5b3ab415cb0d9c7edfcdd1ab45a4bd3b_ga5b3ab415cb0d9c7edfcdd1ab45a4bd3b}{calpreciptype}} (kdt, nrcm, im, ix, lm, lp1, randomno, xlat, xlon, gt0, gq0, prsl, prsi, prec, phii, tskin, domr, domzr, domip, doms)
\begin{DoxyCompactList}\small\item\em Foure algorithms are called to calculate dominant precipitation type, and the tallies are sumed in \mbox{\hyperlink{group__gfs__calpreciptype_ga2bf246a60efbfbdcb560c8a3eb34a81d_ga2bf246a60efbfbdcb560c8a3eb34a81d}{calwxt\+\_\+dominant()}}. \end{DoxyCompactList}\item 
subroutine \mbox{\hyperlink{group__gfs__calpreciptype_gab31366bfb6d98e6ee0ed5f7090c5c334_gab31366bfb6d98e6ee0ed5f7090c5c334}{calwxt}} (lm, lp1, t, q, pmid, pint, d608, rog, epsq, zint, iwx, twet)
\begin{DoxyCompactList}\small\item\em This subroutine computes precipitation type using a decision tree approach that uses variables such as integrated wet bulb temperatue below freezing and lowest layer temperature (Baldwin et al. 1994 \cite{baldwin_et_al_1994}) \end{DoxyCompactList}\item 
subroutine \mbox{\hyperlink{group__gfs__calpreciptype_ga5483d674d6d0c5f34ad981df81df8072_ga5483d674d6d0c5f34ad981df81df8072}{calwxt\+\_\+ramer}} (lm, lp1, t, q, pmid, rh, td, pint, ptyp)
\begin{DoxyCompactList}\small\item\em This subroutine is written and provided by Jim Ramer at NOAA/\+ESRL (Ramer (1993) \cite{ramer_1993}). \end{DoxyCompactList}\item 
real(kind=kind\+\_\+phys) function \mbox{\hyperlink{namespacecalpreciptype__mod_a3bcfc3e81bae643401fe110e10c8fc29_a3bcfc3e81bae643401fe110e10c8fc29}{xmytw}} (t, td, p)
\item 
subroutine \mbox{\hyperlink{group__gfs__calpreciptype_ga50aec5fdbf3589d4dfe135dc0a839eb1_ga50aec5fdbf3589d4dfe135dc0a839eb1}{calwxt\+\_\+bourg}} (lm, lp1, rn, g, t, q, pmid, pint, zint, ptype)
\begin{DoxyCompactList}\small\item\em this routine computes precipitation type using a decision tree approach that uses the so-\/called \char`\"{}energy method\char`\"{} of Bourgouin(2000) \cite{bourgouin_2000}. \end{DoxyCompactList}\item 
subroutine \mbox{\hyperlink{group__gfs__calpreciptype_gaf1b8e9848c0cd84412eb975538be2fc7_gaf1b8e9848c0cd84412eb975538be2fc7}{calwxt\+\_\+revised}} (lm, lp1, t, q, pmid, pint, d608, rog, epsq, zint, twet, iwx)
\begin{DoxyCompactList}\small\item\em This subroutine computes precipitation type using a decision tree approach that uses variables such as integrated wet bulb temperature below freezing and lowest layer temperature (Baldwin et al.\+1994 \cite{baldwin_et_al_1994}). Since the original version of the algorithm has a high bias for freezing rain and sleet, the revised version is to balance that bias with a version more likely to predict snow. \end{DoxyCompactList}\item 
subroutine \mbox{\hyperlink{group__gfs__calpreciptype_ga2bf246a60efbfbdcb560c8a3eb34a81d_ga2bf246a60efbfbdcb560c8a3eb34a81d}{calwxt\+\_\+dominant}} (nalg, rain, freezr, sleet, snow, domr, domzr, domip, doms)
\begin{DoxyCompactList}\small\item\em This subroutine takes the precipitation type solutions from different algorithms and sums them up to give a dominant type. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsubsection{Function/\+Subroutine Documentation}
\mbox{\Hypertarget{group__gfs__calpreciptype_ga5b3ab415cb0d9c7edfcdd1ab45a4bd3b_ga5b3ab415cb0d9c7edfcdd1ab45a4bd3b}\label{group__gfs__calpreciptype_ga5b3ab415cb0d9c7edfcdd1ab45a4bd3b_ga5b3ab415cb0d9c7edfcdd1ab45a4bd3b}} 
\index{calpreciptype\_mod@{calpreciptype\_mod}!calpreciptype@{calpreciptype}}
\index{calpreciptype@{calpreciptype}!calpreciptype\_mod@{calpreciptype\_mod}}
\doxyparagraph{\texorpdfstring{calpreciptype()}{calpreciptype()}}
{\footnotesize\ttfamily subroutine calpreciptype\+\_\+mod\+::calpreciptype (\begin{DoxyParamCaption}\item[{integer, intent(in)}]{kdt,  }\item[{integer, intent(in)}]{nrcm,  }\item[{integer, intent(in)}]{im,  }\item[{integer, intent(in)}]{ix,  }\item[{integer, intent(in)}]{lm,  }\item[{integer, intent(in)}]{lp1,  }\item[{real(kind=kind\+\_\+phys), dimension(ix,nrcm), intent(in)}]{randomno,  }\item[{real(kind=kind\+\_\+phys), dimension(im), intent(in)}]{xlat,  }\item[{real(kind=kind\+\_\+phys), dimension(im), intent(in)}]{xlon,  }\item[{real(kind=kind\+\_\+phys), dimension(ix,lm), intent(in)}]{gt0,  }\item[{real(kind=kind\+\_\+phys), dimension(ix,lm), intent(in)}]{gq0,  }\item[{real(kind=kind\+\_\+phys), dimension(ix,lm), intent(in)}]{prsl,  }\item[{real(kind=kind\+\_\+phys), dimension(ix,lp1), intent(in)}]{prsi,  }\item[{real(kind=kind\+\_\+phys), dimension(im), intent(in)}]{prec,  }\item[{real(kind=kind\+\_\+phys), dimension(ix,lp1), intent(in)}]{phii,  }\item[{real(kind=kind\+\_\+phys), dimension(im), intent(in)}]{tskin,  }\item[{real(kind=kind\+\_\+phys), dimension(im), intent(out)}]{domr,  }\item[{real(kind=kind\+\_\+phys), dimension(im), intent(out)}]{domzr,  }\item[{real(kind=kind\+\_\+phys), dimension(im), intent(out)}]{domip,  }\item[{real(kind=kind\+\_\+phys), dimension(im), intent(out)}]{doms }\end{DoxyParamCaption})}

\hypertarget{group__gfs__calpreciptype_ga5b3ab415cb0d9c7edfcdd1ab45a4bd3b_gen_calp}{}\doxysubsubsection{GFS calpreciptype General Algorithm}\label{group__gfs__calpreciptype_ga5b3ab415cb0d9c7edfcdd1ab45a4bd3b_gen_calp}

\begin{DoxyItemize}
\item Compute wet bulb temperature and relative humidity.
\item Call \mbox{\hyperlink{group__gfs__calpreciptype_gab31366bfb6d98e6ee0ed5f7090c5c334_gab31366bfb6d98e6ee0ed5f7090c5c334}{calwxt()}} to calculte instantaneous precipitation type component 1.
\item Call \mbox{\hyperlink{group__gfs__calpreciptype_ga5483d674d6d0c5f34ad981df81df8072_ga5483d674d6d0c5f34ad981df81df8072}{calwxt\+\_\+ramer()}} to calculate instantaneous precipitation type component 2.
\item Call \mbox{\hyperlink{group__gfs__calpreciptype_ga50aec5fdbf3589d4dfe135dc0a839eb1_ga50aec5fdbf3589d4dfe135dc0a839eb1}{calwxt\+\_\+bourg()}} to calculate instantaneous precipitation type component 3.
\item Call \mbox{\hyperlink{group__gfs__calpreciptype_gaf1b8e9848c0cd84412eb975538be2fc7_gaf1b8e9848c0cd84412eb975538be2fc7}{calwxt\+\_\+revised()}} to calculate instantateous precipitation type component 4.
\end{DoxyItemize}

References \mbox{\hyperlink{group__gfs__calpreciptype_gab31366bfb6d98e6ee0ed5f7090c5c334_gab31366bfb6d98e6ee0ed5f7090c5c334}{calwxt()}}, \mbox{\hyperlink{group__gfs__calpreciptype_ga50aec5fdbf3589d4dfe135dc0a839eb1_ga50aec5fdbf3589d4dfe135dc0a839eb1}{calwxt\+\_\+bourg()}}, \mbox{\hyperlink{group__gfs__calpreciptype_ga2bf246a60efbfbdcb560c8a3eb34a81d_ga2bf246a60efbfbdcb560c8a3eb34a81d}{calwxt\+\_\+dominant()}}, \mbox{\hyperlink{group__gfs__calpreciptype_ga5483d674d6d0c5f34ad981df81df8072_ga5483d674d6d0c5f34ad981df81df8072}{calwxt\+\_\+ramer()}}, and \mbox{\hyperlink{group__gfs__calpreciptype_gaf1b8e9848c0cd84412eb975538be2fc7_gaf1b8e9848c0cd84412eb975538be2fc7}{calwxt\+\_\+revised()}}.



Referenced by \mbox{\hyperlink{group__gfs__calpreciptype_gaa8d23ba97dd8be02bfc1ac79dfc54e5f_gaa8d23ba97dd8be02bfc1ac79dfc54e5f}{gfs\+\_\+mp\+\_\+generic\+\_\+post\+::gfs\+\_\+mp\+\_\+generic\+\_\+post\+\_\+run()}}.

Here is the call graph for this function\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=328pt]{group__gfs__calpreciptype_ga5b3ab415cb0d9c7edfcdd1ab45a4bd3b_ga5b3ab415cb0d9c7edfcdd1ab45a4bd3b_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{group__gfs__calpreciptype_ga5b3ab415cb0d9c7edfcdd1ab45a4bd3b_ga5b3ab415cb0d9c7edfcdd1ab45a4bd3b_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{group__gfs__calpreciptype_gab31366bfb6d98e6ee0ed5f7090c5c334_gab31366bfb6d98e6ee0ed5f7090c5c334}\label{group__gfs__calpreciptype_gab31366bfb6d98e6ee0ed5f7090c5c334_gab31366bfb6d98e6ee0ed5f7090c5c334}} 
\index{calpreciptype\_mod@{calpreciptype\_mod}!calwxt@{calwxt}}
\index{calwxt@{calwxt}!calpreciptype\_mod@{calpreciptype\_mod}}
\doxyparagraph{\texorpdfstring{calwxt()}{calwxt()}}
{\footnotesize\ttfamily subroutine calpreciptype\+\_\+mod\+::calwxt (\begin{DoxyParamCaption}\item[{integer, intent(in)}]{lm,  }\item[{integer, intent(in)}]{lp1,  }\item[{real(kind=kind\+\_\+phys), dimension(lm), intent(in)}]{t,  }\item[{real(kind=kind\+\_\+phys), dimension(lm), intent(in)}]{q,  }\item[{real(kind=kind\+\_\+phys), dimension(lm), intent(in)}]{pmid,  }\item[{real(kind=kind\+\_\+phys), dimension(lp1), intent(in)}]{pint,  }\item[{real(kind=kind\+\_\+phys), intent(in)}]{d608,  }\item[{real(kind=kind\+\_\+phys), intent(in)}]{rog,  }\item[{real(kind=kind\+\_\+phys), intent(in)}]{epsq,  }\item[{real(kind=kind\+\_\+phys), dimension(lp1), intent(in)}]{zint,  }\item[{integer, intent(out)}]{iwx,  }\item[{real(kind=kind\+\_\+phys), dimension(lm), intent(in)}]{twet }\end{DoxyParamCaption})}



Referenced by \mbox{\hyperlink{group__gfs__calpreciptype_ga5b3ab415cb0d9c7edfcdd1ab45a4bd3b_ga5b3ab415cb0d9c7edfcdd1ab45a4bd3b}{calpreciptype()}}.

Here is the caller graph for this function\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{group__gfs__calpreciptype_gab31366bfb6d98e6ee0ed5f7090c5c334_gab31366bfb6d98e6ee0ed5f7090c5c334_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{group__gfs__calpreciptype_ga5483d674d6d0c5f34ad981df81df8072_ga5483d674d6d0c5f34ad981df81df8072}\label{group__gfs__calpreciptype_ga5483d674d6d0c5f34ad981df81df8072_ga5483d674d6d0c5f34ad981df81df8072}} 
\index{calpreciptype\_mod@{calpreciptype\_mod}!calwxt\_ramer@{calwxt\_ramer}}
\index{calwxt\_ramer@{calwxt\_ramer}!calpreciptype\_mod@{calpreciptype\_mod}}
\doxyparagraph{\texorpdfstring{calwxt\_ramer()}{calwxt\_ramer()}}
{\footnotesize\ttfamily subroutine calpreciptype\+\_\+mod\+::calwxt\+\_\+ramer (\begin{DoxyParamCaption}\item[{integer, intent(in)}]{lm,  }\item[{integer, intent(in)}]{lp1,  }\item[{real(kind=kind\+\_\+phys), dimension(lm), intent(in)}]{t,  }\item[{real(kind=kind\+\_\+phys), dimension(lm), intent(in)}]{q,  }\item[{real(kind=kind\+\_\+phys), dimension(lm), intent(in)}]{pmid,  }\item[{real(kind=kind\+\_\+phys), dimension(lm), intent(in)}]{rh,  }\item[{real(kind=kind\+\_\+phys), dimension(lm), intent(in)}]{td,  }\item[{real(kind=kind\+\_\+phys), dimension(lp1), intent(in)}]{pint,  }\item[{integer, intent(out)}]{ptyp }\end{DoxyParamCaption})}



Referenced by \mbox{\hyperlink{group__gfs__calpreciptype_ga5b3ab415cb0d9c7edfcdd1ab45a4bd3b_ga5b3ab415cb0d9c7edfcdd1ab45a4bd3b}{calpreciptype()}}.

Here is the caller graph for this function\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{group__gfs__calpreciptype_ga5483d674d6d0c5f34ad981df81df8072_ga5483d674d6d0c5f34ad981df81df8072_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacecalpreciptype__mod_a3bcfc3e81bae643401fe110e10c8fc29_a3bcfc3e81bae643401fe110e10c8fc29}\label{namespacecalpreciptype__mod_a3bcfc3e81bae643401fe110e10c8fc29_a3bcfc3e81bae643401fe110e10c8fc29}} 
\index{calpreciptype\_mod@{calpreciptype\_mod}!xmytw@{xmytw}}
\index{xmytw@{xmytw}!calpreciptype\_mod@{calpreciptype\_mod}}
\doxyparagraph{\texorpdfstring{xmytw()}{xmytw()}}
{\footnotesize\ttfamily real(kind=kind\+\_\+phys) function calpreciptype\+\_\+mod\+::xmytw (\begin{DoxyParamCaption}\item[{real(kind=kind\+\_\+phys)}]{t,  }\item[{real(kind=kind\+\_\+phys)}]{td,  }\item[{real(kind=kind\+\_\+phys)}]{p }\end{DoxyParamCaption})}

\mbox{\Hypertarget{group__gfs__calpreciptype_ga50aec5fdbf3589d4dfe135dc0a839eb1_ga50aec5fdbf3589d4dfe135dc0a839eb1}\label{group__gfs__calpreciptype_ga50aec5fdbf3589d4dfe135dc0a839eb1_ga50aec5fdbf3589d4dfe135dc0a839eb1}} 
\index{calpreciptype\_mod@{calpreciptype\_mod}!calwxt\_bourg@{calwxt\_bourg}}
\index{calwxt\_bourg@{calwxt\_bourg}!calpreciptype\_mod@{calpreciptype\_mod}}
\doxyparagraph{\texorpdfstring{calwxt\_bourg()}{calwxt\_bourg()}}
{\footnotesize\ttfamily subroutine calpreciptype\+\_\+mod\+::calwxt\+\_\+bourg (\begin{DoxyParamCaption}\item[{integer, intent(in)}]{lm,  }\item[{integer, intent(in)}]{lp1,  }\item[{real(kind=kind\+\_\+phys), dimension(2), intent(in)}]{rn,  }\item[{real(kind=kind\+\_\+phys), intent(in)}]{g,  }\item[{real(kind=kind\+\_\+phys), dimension(lm), intent(in)}]{t,  }\item[{real(kind=kind\+\_\+phys), dimension(lm), intent(in)}]{q,  }\item[{real(kind=kind\+\_\+phys), dimension(lm), intent(in)}]{pmid,  }\item[{real(kind=kind\+\_\+phys), dimension(lp1), intent(in)}]{pint,  }\item[{real(kind=kind\+\_\+phys), dimension(lp1), intent(in)}]{zint,  }\item[{integer, intent(out)}]{ptype }\end{DoxyParamCaption})}



Referenced by \mbox{\hyperlink{group__gfs__calpreciptype_ga5b3ab415cb0d9c7edfcdd1ab45a4bd3b_ga5b3ab415cb0d9c7edfcdd1ab45a4bd3b}{calpreciptype()}}.

Here is the caller graph for this function\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{group__gfs__calpreciptype_ga50aec5fdbf3589d4dfe135dc0a839eb1_ga50aec5fdbf3589d4dfe135dc0a839eb1_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{group__gfs__calpreciptype_gaf1b8e9848c0cd84412eb975538be2fc7_gaf1b8e9848c0cd84412eb975538be2fc7}\label{group__gfs__calpreciptype_gaf1b8e9848c0cd84412eb975538be2fc7_gaf1b8e9848c0cd84412eb975538be2fc7}} 
\index{calpreciptype\_mod@{calpreciptype\_mod}!calwxt\_revised@{calwxt\_revised}}
\index{calwxt\_revised@{calwxt\_revised}!calpreciptype\_mod@{calpreciptype\_mod}}
\doxyparagraph{\texorpdfstring{calwxt\_revised()}{calwxt\_revised()}}
{\footnotesize\ttfamily subroutine calpreciptype\+\_\+mod\+::calwxt\+\_\+revised (\begin{DoxyParamCaption}\item[{integer, intent(in)}]{lm,  }\item[{integer, intent(in)}]{lp1,  }\item[{real(kind=kind\+\_\+phys), dimension(lm), intent(in)}]{t,  }\item[{real(kind=kind\+\_\+phys), dimension(lm), intent(in)}]{q,  }\item[{real(kind=kind\+\_\+phys), dimension(lm), intent(in)}]{pmid,  }\item[{real(kind=kind\+\_\+phys), dimension(lp1), intent(in)}]{pint,  }\item[{real(kind=kind\+\_\+phys), intent(in)}]{d608,  }\item[{real(kind=kind\+\_\+phys), intent(in)}]{rog,  }\item[{real(kind=kind\+\_\+phys), intent(in)}]{epsq,  }\item[{real(kind=kind\+\_\+phys), dimension(lp1), intent(in)}]{zint,  }\item[{real(kind=kind\+\_\+phys), dimension(lm), intent(in)}]{twet,  }\item[{integer, intent(out)}]{iwx }\end{DoxyParamCaption})}



Referenced by \mbox{\hyperlink{group__gfs__calpreciptype_ga5b3ab415cb0d9c7edfcdd1ab45a4bd3b_ga5b3ab415cb0d9c7edfcdd1ab45a4bd3b}{calpreciptype()}}.

Here is the caller graph for this function\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{group__gfs__calpreciptype_gaf1b8e9848c0cd84412eb975538be2fc7_gaf1b8e9848c0cd84412eb975538be2fc7_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{group__gfs__calpreciptype_ga2bf246a60efbfbdcb560c8a3eb34a81d_ga2bf246a60efbfbdcb560c8a3eb34a81d}\label{group__gfs__calpreciptype_ga2bf246a60efbfbdcb560c8a3eb34a81d_ga2bf246a60efbfbdcb560c8a3eb34a81d}} 
\index{calpreciptype\_mod@{calpreciptype\_mod}!calwxt\_dominant@{calwxt\_dominant}}
\index{calwxt\_dominant@{calwxt\_dominant}!calpreciptype\_mod@{calpreciptype\_mod}}
\doxyparagraph{\texorpdfstring{calwxt\_dominant()}{calwxt\_dominant()}}
{\footnotesize\ttfamily subroutine calpreciptype\+\_\+mod\+::calwxt\+\_\+dominant (\begin{DoxyParamCaption}\item[{integer, intent(in)}]{nalg,  }\item[{integer, dimension(nalg), intent(in)}]{rain,  }\item[{integer, dimension(nalg), intent(in)}]{freezr,  }\item[{integer, dimension(nalg), intent(in)}]{sleet,  }\item[{integer, dimension(nalg), intent(in)}]{snow,  }\item[{real(kind=kind\+\_\+phys), intent(out)}]{domr,  }\item[{real(kind=kind\+\_\+phys), intent(out)}]{domzr,  }\item[{real(kind=kind\+\_\+phys), intent(out)}]{domip,  }\item[{real(kind=kind\+\_\+phys), intent(out)}]{doms }\end{DoxyParamCaption})}

\hypertarget{group__gfs__calpreciptype_ga2bf246a60efbfbdcb560c8a3eb34a81d_gen_calwxt_dominant}{}\doxysubsubsection{GFS calwxt\+\_\+dominant General Algorithm}\label{group__gfs__calpreciptype_ga2bf246a60efbfbdcb560c8a3eb34a81d_gen_calwxt_dominant}

\begin{DoxyItemize}
\item Loop over the number of different algorithms that are used.
\item Ties are broken to favor the most dangerous form of precip freezing rain \texorpdfstring{$>$}{>} snow \texorpdfstring{$>$}{>} sleet \texorpdfstring{$>$}{>} rain.
\end{DoxyItemize}

Referenced by \mbox{\hyperlink{group__gfs__calpreciptype_ga5b3ab415cb0d9c7edfcdd1ab45a4bd3b_ga5b3ab415cb0d9c7edfcdd1ab45a4bd3b}{calpreciptype()}}.

Here is the caller graph for this function\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{group__gfs__calpreciptype_ga2bf246a60efbfbdcb560c8a3eb34a81d_ga2bf246a60efbfbdcb560c8a3eb34a81d_icgraph}
\end{center}
\end{figure}
