\hypertarget{group__gfs__calpreciptype}{}\doxysubsection{GFS Precipitation Type Diagnostics Module}
\label{group__gfs__calpreciptype}\index{GFS Precipitation Type Diagnostics Module@{GFS Precipitation Type Diagnostics Module}}


If dominant precip type is requested (i.\+e., Zhao-\/\+Carr MP scheme), 4 more algorithms in \mbox{\hyperlink{group__gfs__calpreciptype_ga5b3ab415cb0d9c7edfcdd1ab45a4bd3b_ga5b3ab415cb0d9c7edfcdd1ab45a4bd3b}{calpreciptype()}} will be called. the tallies are then summed in \mbox{\hyperlink{group__gfs__calpreciptype_ga2bf246a60efbfbdcb560c8a3eb34a81d_ga2bf246a60efbfbdcb560c8a3eb34a81d}{calwxt\+\_\+dominant()}}. For GFDL cloud MP scheme, determine convective rain/snow by surface temperature; and determine explicit rain/snow by rain/snow coming out directly from MP.  


\doxysubsubsection*{Functions/\+Subroutines}
\begin{DoxyCompactItemize}
\item 
subroutine \mbox{\hyperlink{group__gfs__calpreciptype_gaa8d23ba97dd8be02bfc1ac79dfc54e5f_gaa8d23ba97dd8be02bfc1ac79dfc54e5f}{gfs\+\_\+mp\+\_\+generic\+\_\+post\+::gfs\+\_\+mp\+\_\+generic\+\_\+post\+\_\+run}} (im, levs, kdt, nrcm, nncl, ntcw, ntrac, imp\+\_\+physics, imp\+\_\+physics\+\_\+gfdl, imp\+\_\+physics\+\_\+thompson, imp\+\_\+physics\+\_\+nssl, imp\+\_\+physics\+\_\+mg, imp\+\_\+physics\+\_\+fer\+\_\+hires, cal\+\_\+pre, cplflx, cplchm, cpllnd, progsigma, con\+\_\+g, rhowater, rainmin, dtf, frain, rainc, rain1, rann, xlat, xlon, gt0, gq0, prsl, prsi, phii, tsfc, ice, snow, graupel, save\+\_\+t, save\+\_\+q, rain0, ice0, snow0, graupel0, del, rain, domr\+\_\+diag, domzr\+\_\+diag, domip\+\_\+diag, doms\+\_\+diag, tprcp, srflag, sr, cnvprcp, totprcp, totice, totsnw, totgrp, cnvprcpb, totprcpb, toticeb, totsnwb, totgrpb, rain\+\_\+cpl, rainc\+\_\+cpl, snow\+\_\+cpl, pwat, frzr, frzrb, frozr, frozrb, tsnowp, tsnowpb, rhonewsn1, exticeden, drain\+\_\+cpl, dsnow\+\_\+cpl, lsm, lsm\+\_\+ruc, lsm\+\_\+noahmp, raincprv, rainncprv, iceprv, snowprv, graupelprv, draincprv, drainncprv, diceprv, dsnowprv, dgraupelprv, dtp, dfi\+\_\+radar\+\_\+max\+\_\+intervals, dtend, dtidx, index\+\_\+of\+\_\+temperature, index\+\_\+of\+\_\+process\+\_\+mp, ldiag3d, qdiag3d, dqdt\+\_\+qmicro, lssav, num\+\_\+dfi\+\_\+radar, fh\+\_\+dfi\+\_\+radar, index\+\_\+of\+\_\+process\+\_\+dfi\+\_\+radar, ix\+\_\+dfi\+\_\+radar, dfi\+\_\+radar\+\_\+tten, radar\+\_\+tten\+\_\+limits, fhour, prevsq, iopt\+\_\+lake, iopt\+\_\+lake\+\_\+clm, lkm, use\+\_\+lake\+\_\+model, errmsg, errflg)
\item 
subroutine \mbox{\hyperlink{group__gfs__calpreciptype_ga5b3ab415cb0d9c7edfcdd1ab45a4bd3b_ga5b3ab415cb0d9c7edfcdd1ab45a4bd3b}{calpreciptype\+\_\+mod\+::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}{calpreciptype\+\_\+mod\+::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}{calpreciptype\+\_\+mod\+::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 
subroutine \mbox{\hyperlink{group__gfs__calpreciptype_ga50aec5fdbf3589d4dfe135dc0a839eb1_ga50aec5fdbf3589d4dfe135dc0a839eb1}{calpreciptype\+\_\+mod\+::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}{calpreciptype\+\_\+mod\+::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}{calpreciptype\+\_\+mod\+::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{Detailed Description}
\hypertarget{group__gfs__calpreciptype_arg_table_GFS_MP_generic_post_run}{}\doxysubsubsection{Argument Table}\label{group__gfs__calpreciptype_arg_table_GFS_MP_generic_post_run}
\hypertarget{group__gfs__calpreciptype_gfs_mp_gen}{}\doxysubsubsection{GFS MP Generic Post General Algorithm}\label{group__gfs__calpreciptype_gfs_mp_gen}


\doxysubsubsection{Function/\+Subroutine Documentation}
\mbox{\Hypertarget{group__gfs__calpreciptype_gaa8d23ba97dd8be02bfc1ac79dfc54e5f_gaa8d23ba97dd8be02bfc1ac79dfc54e5f}\label{group__gfs__calpreciptype_gaa8d23ba97dd8be02bfc1ac79dfc54e5f_gaa8d23ba97dd8be02bfc1ac79dfc54e5f}} 
\index{GFS Precipitation Type Diagnostics Module@{GFS Precipitation Type Diagnostics Module}!gfs\_mp\_generic\_post\_run@{gfs\_mp\_generic\_post\_run}}
\index{gfs\_mp\_generic\_post\_run@{gfs\_mp\_generic\_post\_run}!GFS Precipitation Type Diagnostics Module@{GFS Precipitation Type Diagnostics Module}}
\doxyparagraph{\texorpdfstring{gfs\_mp\_generic\_post\_run()}{gfs\_mp\_generic\_post\_run()}}
{\footnotesize\ttfamily subroutine gfs\+\_\+mp\+\_\+generic\+\_\+post\+::gfs\+\_\+mp\+\_\+generic\+\_\+post\+\_\+run (\begin{DoxyParamCaption}\item[{integer, intent(in)}]{im,  }\item[{integer, intent(in)}]{levs,  }\item[{integer, intent(in)}]{kdt,  }\item[{integer, intent(in)}]{nrcm,  }\item[{integer, intent(in)}]{nncl,  }\item[{integer, intent(in)}]{ntcw,  }\item[{integer, intent(in)}]{ntrac,  }\item[{integer, intent(in)}]{imp\+\_\+physics,  }\item[{integer, intent(in)}]{imp\+\_\+physics\+\_\+gfdl,  }\item[{integer, intent(in)}]{imp\+\_\+physics\+\_\+thompson,  }\item[{integer, intent(in)}]{imp\+\_\+physics\+\_\+nssl,  }\item[{integer, intent(in)}]{imp\+\_\+physics\+\_\+mg,  }\item[{integer, intent(in)}]{imp\+\_\+physics\+\_\+fer\+\_\+hires,  }\item[{logical, intent(in)}]{cal\+\_\+pre,  }\item[{logical, intent(in)}]{cplflx,  }\item[{logical, intent(in)}]{cplchm,  }\item[{logical, intent(in)}]{cpllnd,  }\item[{logical, intent(in)}]{progsigma,  }\item[{real(kind=kind\+\_\+phys), intent(in)}]{con\+\_\+g,  }\item[{real(kind=kind\+\_\+phys), intent(in)}]{rhowater,  }\item[{real(kind=kind\+\_\+phys), intent(in)}]{rainmin,  }\item[{real(kind=kind\+\_\+phys), intent(in)}]{dtf,  }\item[{real(kind=kind\+\_\+phys), intent(in)}]{frain,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{rainc,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(in)}]{rain1,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:,\+:), intent(in)}]{rann,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(in)}]{xlat,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(in)}]{xlon,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:,\+:), intent(inout)}]{gt0,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:,\+:,\+:), intent(in)}]{gq0,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:,\+:), intent(in)}]{prsl,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:,\+:), intent(in)}]{prsi,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:,\+:), intent(in)}]{phii,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(in)}]{tsfc,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{ice,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{snow,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{graupel,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:,\+:), intent(in)}]{save\+\_\+t,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:,\+:,\+:), intent(in)}]{save\+\_\+q,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(in)}]{rain0,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(in)}]{ice0,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(in)}]{snow0,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(in)}]{graupel0,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:,\+:), intent(in)}]{del,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{rain,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{domr\+\_\+diag,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{domzr\+\_\+diag,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{domip\+\_\+diag,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{doms\+\_\+diag,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{tprcp,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{srflag,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(in)}]{sr,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{cnvprcp,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{totprcp,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{totice,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{totsnw,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{totgrp,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{cnvprcpb,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{totprcpb,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{toticeb,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{totsnwb,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{totgrpb,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{rain\+\_\+cpl,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{rainc\+\_\+cpl,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{snow\+\_\+cpl,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{pwat,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{frzr,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{frzrb,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{frozr,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{frozrb,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{tsnowp,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{tsnowpb,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{rhonewsn1,  }\item[{logical, intent(in)}]{exticeden,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{drain\+\_\+cpl,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{dsnow\+\_\+cpl,  }\item[{integer, intent(in)}]{lsm,  }\item[{integer, intent(in)}]{lsm\+\_\+ruc,  }\item[{integer, intent(in)}]{lsm\+\_\+noahmp,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{raincprv,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{rainncprv,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{iceprv,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{snowprv,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{graupelprv,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{draincprv,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{drainncprv,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{diceprv,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{dsnowprv,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{dgraupelprv,  }\item[{real(kind=kind\+\_\+phys), intent(in)}]{dtp,  }\item[{integer}]{dfi\+\_\+radar\+\_\+max\+\_\+intervals,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:,\+:,\+:), intent(inout)}]{dtend,  }\item[{integer, dimension(\+:,\+:), intent(in)}]{dtidx,  }\item[{integer, intent(in)}]{index\+\_\+of\+\_\+temperature,  }\item[{integer, intent(in)}]{index\+\_\+of\+\_\+process\+\_\+mp,  }\item[{logical, intent(in)}]{ldiag3d,  }\item[{logical, intent(in)}]{qdiag3d,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:,\+:), intent(inout)}]{dqdt\+\_\+qmicro,  }\item[{logical, intent(in)}]{lssav,  }\item[{integer, intent(in)}]{num\+\_\+dfi\+\_\+radar,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(in)}]{fh\+\_\+dfi\+\_\+radar,  }\item[{integer, intent(in)}]{index\+\_\+of\+\_\+process\+\_\+dfi\+\_\+radar,  }\item[{integer, dimension(\+:)}]{ix\+\_\+dfi\+\_\+radar,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:,\+:,\+:), intent(in)}]{dfi\+\_\+radar\+\_\+tten,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(in)}]{radar\+\_\+tten\+\_\+limits,  }\item[{real(kind=kind\+\_\+phys), intent(in)}]{fhour,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:,\+:), intent(inout)}]{prevsq,  }\item[{integer, intent(in)}]{iopt\+\_\+lake,  }\item[{integer, intent(in)}]{iopt\+\_\+lake\+\_\+clm,  }\item[{integer, intent(in)}]{lkm,  }\item[{integer, dimension(\+:), intent(in)}]{use\+\_\+lake\+\_\+model,  }\item[{character(len=$\ast$), intent(out)}]{errmsg,  }\item[{integer, intent(out)}]{errflg }\end{DoxyParamCaption})}


\begin{DoxyItemize}
\item If requested (e.\+g. Zhao-\/\+Carr MP scheme), call \mbox{\hyperlink{group__gfs__calpreciptype_ga5b3ab415cb0d9c7edfcdd1ab45a4bd3b_ga5b3ab415cb0d9c7edfcdd1ab45a4bd3b}{calpreciptype()}} to calculate dominant precipitation type.
\item For GFDL, Thompson and NSSL MP schemes, determine convective snow by surface temperature; and determine explicit rain/snow by snow/ice/graupel coming out directly from MP and convective rainfall from the cumulus scheme if the surface temperature is below $0^oC$.
\end{DoxyItemize}

References \mbox{\hyperlink{group__gfs__calpreciptype_ga5b3ab415cb0d9c7edfcdd1ab45a4bd3b_ga5b3ab415cb0d9c7edfcdd1ab45a4bd3b}{calpreciptype\+\_\+mod\+::calpreciptype()}}, and \mbox{\hyperlink{group___noah___l_s_m_ga028fc448a3afe77726222a337008ffa4_ga028fc448a3afe77726222a337008ffa4}{csnow()}}.

Here is the call graph for this function\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{group__gfs__calpreciptype_gaa8d23ba97dd8be02bfc1ac79dfc54e5f_gaa8d23ba97dd8be02bfc1ac79dfc54e5f_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{group__gfs__calpreciptype_ga5b3ab415cb0d9c7edfcdd1ab45a4bd3b_ga5b3ab415cb0d9c7edfcdd1ab45a4bd3b}\label{group__gfs__calpreciptype_ga5b3ab415cb0d9c7edfcdd1ab45a4bd3b_ga5b3ab415cb0d9c7edfcdd1ab45a4bd3b}} 
\index{GFS Precipitation Type Diagnostics Module@{GFS Precipitation Type Diagnostics Module}!calpreciptype@{calpreciptype}}
\index{calpreciptype@{calpreciptype}!GFS Precipitation Type Diagnostics Module@{GFS Precipitation Type Diagnostics Module}}
\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}{calpreciptype\+\_\+mod\+::calwxt()}}, \mbox{\hyperlink{group__gfs__calpreciptype_ga50aec5fdbf3589d4dfe135dc0a839eb1_ga50aec5fdbf3589d4dfe135dc0a839eb1}{calpreciptype\+\_\+mod\+::calwxt\+\_\+bourg()}}, \mbox{\hyperlink{group__gfs__calpreciptype_ga2bf246a60efbfbdcb560c8a3eb34a81d_ga2bf246a60efbfbdcb560c8a3eb34a81d}{calpreciptype\+\_\+mod\+::calwxt\+\_\+dominant()}}, \mbox{\hyperlink{group__gfs__calpreciptype_ga5483d674d6d0c5f34ad981df81df8072_ga5483d674d6d0c5f34ad981df81df8072}{calpreciptype\+\_\+mod\+::calwxt\+\_\+ramer()}}, and \mbox{\hyperlink{group__gfs__calpreciptype_gaf1b8e9848c0cd84412eb975538be2fc7_gaf1b8e9848c0cd84412eb975538be2fc7}{calpreciptype\+\_\+mod\+::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{GFS Precipitation Type Diagnostics Module@{GFS Precipitation Type Diagnostics Module}!calwxt@{calwxt}}
\index{calwxt@{calwxt}!GFS Precipitation Type Diagnostics Module@{GFS Precipitation Type Diagnostics Module}}
\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\+\_\+mod\+::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{GFS Precipitation Type Diagnostics Module@{GFS Precipitation Type Diagnostics Module}!calwxt\_ramer@{calwxt\_ramer}}
\index{calwxt\_ramer@{calwxt\_ramer}!GFS Precipitation Type Diagnostics Module@{GFS Precipitation Type Diagnostics Module}}
\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\+\_\+mod\+::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{group__gfs__calpreciptype_ga50aec5fdbf3589d4dfe135dc0a839eb1_ga50aec5fdbf3589d4dfe135dc0a839eb1}\label{group__gfs__calpreciptype_ga50aec5fdbf3589d4dfe135dc0a839eb1_ga50aec5fdbf3589d4dfe135dc0a839eb1}} 
\index{GFS Precipitation Type Diagnostics Module@{GFS Precipitation Type Diagnostics Module}!calwxt\_bourg@{calwxt\_bourg}}
\index{calwxt\_bourg@{calwxt\_bourg}!GFS Precipitation Type Diagnostics Module@{GFS Precipitation Type Diagnostics Module}}
\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\+\_\+mod\+::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{GFS Precipitation Type Diagnostics Module@{GFS Precipitation Type Diagnostics Module}!calwxt\_revised@{calwxt\_revised}}
\index{calwxt\_revised@{calwxt\_revised}!GFS Precipitation Type Diagnostics Module@{GFS Precipitation Type Diagnostics Module}}
\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\+\_\+mod\+::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{GFS Precipitation Type Diagnostics Module@{GFS Precipitation Type Diagnostics Module}!calwxt\_dominant@{calwxt\_dominant}}
\index{calwxt\_dominant@{calwxt\_dominant}!GFS Precipitation Type Diagnostics Module@{GFS Precipitation Type Diagnostics Module}}
\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\+\_\+mod\+::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}
