\hypertarget{namespacemp__thompson}{}\doxysubsection{mp\+\_\+thompson Module Reference}
\label{namespacemp__thompson}\index{mp\_thompson@{mp\_thompson}}
\doxysubsubsection*{Functions/\+Subroutines}
\begin{DoxyCompactItemize}
\item 
subroutine, public \mbox{\hyperlink{namespacemp__thompson_af23edcc2d4b4fe48ca225bb28ec410c6_af23edcc2d4b4fe48ca225bb28ec410c6}{mp\+\_\+thompson\+\_\+init}} (ncol, nlev, con\+\_\+g, con\+\_\+rd, con\+\_\+eps, restart, imp\+\_\+physics, imp\+\_\+physics\+\_\+thompson, convert\+\_\+dry\+\_\+rho, spechum, qc, qr, qi, qs, qg, ni, nr, is\+\_\+aerosol\+\_\+aware, merra2\+\_\+aerosol\+\_\+aware, nc, nwfa2d, nifa2d, nwfa, nifa, tgrs, prsl, phil, area, aerfld, mpicomm, mpirank, mpiroot, threads, ext\+\_\+diag, diag3d, errmsg, errflg)
\begin{DoxyCompactList}\small\item\em This subroutine is a wrapper around the actual \mbox{\hyperlink{group__aathompson_ga913721b93920f568db16540ff0dac1e9_ga913721b93920f568db16540ff0dac1e9}{thompson\+\_\+init()}}. \end{DoxyCompactList}\item 
subroutine, public \mbox{\hyperlink{namespacemp__thompson_a679646cb0079891e2608a8702ba219aa_a679646cb0079891e2608a8702ba219aa}{mp\+\_\+thompson\+\_\+finalize}} (errmsg, errflg)
\item 
subroutine \mbox{\hyperlink{namespacemp__thompson_a313a71e5442e5925a4f51f61dc1c0f5a_a313a71e5442e5925a4f51f61dc1c0f5a}{get\+\_\+niwfa}} (aerfld, nifa, nwfa, ncol, nlev)
\end{DoxyCompactItemize}
\textbf{ }\par
\begin{DoxyCompactItemize}
\item 
subroutine, public \mbox{\hyperlink{group__aathompson_ga8602fe3ada97d51564bf424533d96392_ga8602fe3ada97d51564bf424533d96392}{mp\+\_\+thompson\+\_\+run}} (ncol, nlev, con\+\_\+g, con\+\_\+rd, con\+\_\+eps, convert\+\_\+dry\+\_\+rho, spechum, qc, qr, qi, qs, qg, ni, nr, is\+\_\+aerosol\+\_\+aware, merra2\+\_\+aerosol\+\_\+aware, nc, nwfa, nifa, nwfa2d, nifa2d, aero\+\_\+ind\+\_\+fdb, tgrs, prsl, phii, omega, sedi\+\_\+semi, decfl, islmsk, dtp, dt\+\_\+inner, first\+\_\+time\+\_\+step, istep, nsteps, prcp, rain, graupel, ice, snow, sr, refl\+\_\+10cm, fullradar\+\_\+diag, do\+\_\+radar\+\_\+ref, aerfld, mpicomm, mpirank, mpiroot, blkno, ext\+\_\+diag, diag3d, reset\+\_\+diag3d, spp\+\_\+wts\+\_\+mp, spp\+\_\+mp, n\+\_\+var\+\_\+spp, spp\+\_\+prt\+\_\+list, spp\+\_\+var\+\_\+list, spp\+\_\+stddev\+\_\+cutoff, cplchm, pfi\+\_\+lsan, pfl\+\_\+lsan, errmsg, errflg)
\end{DoxyCompactItemize}

\doxysubsubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
logical \mbox{\hyperlink{namespacemp__thompson_aa0c1ac9ced9063885fe775bb3b7dcc24_aa0c1ac9ced9063885fe775bb3b7dcc24}{is\+\_\+initialized}} = .False.
\item 
integer, parameter \mbox{\hyperlink{namespacemp__thompson_a4014c8568b20e9caf9fd9872556db2c3_a4014c8568b20e9caf9fd9872556db2c3}{ext\+\_\+ndiag3d}} = 37
\end{DoxyCompactItemize}


\doxysubsubsection{Function/\+Subroutine Documentation}
\mbox{\Hypertarget{namespacemp__thompson_af23edcc2d4b4fe48ca225bb28ec410c6_af23edcc2d4b4fe48ca225bb28ec410c6}\label{namespacemp__thompson_af23edcc2d4b4fe48ca225bb28ec410c6_af23edcc2d4b4fe48ca225bb28ec410c6}} 
\index{mp\_thompson@{mp\_thompson}!mp\_thompson\_init@{mp\_thompson\_init}}
\index{mp\_thompson\_init@{mp\_thompson\_init}!mp\_thompson@{mp\_thompson}}
\doxyparagraph{\texorpdfstring{mp\_thompson\_init()}{mp\_thompson\_init()}}
{\footnotesize\ttfamily subroutine, public mp\+\_\+thompson\+::mp\+\_\+thompson\+\_\+init (\begin{DoxyParamCaption}\item[{integer, intent(in)}]{ncol,  }\item[{integer, intent(in)}]{nlev,  }\item[{real(kind\+\_\+phys), intent(in)}]{con\+\_\+g,  }\item[{real(kind\+\_\+phys), intent(in)}]{con\+\_\+rd,  }\item[{real(kind\+\_\+phys), intent(in)}]{con\+\_\+eps,  }\item[{logical, intent(in)}]{restart,  }\item[{integer, intent(in)}]{imp\+\_\+physics,  }\item[{integer, intent(in)}]{imp\+\_\+physics\+\_\+thompson,  }\item[{logical, intent(in)}]{convert\+\_\+dry\+\_\+rho,  }\item[{real(kind\+\_\+phys), dimension(\+:,\+:), intent(inout)}]{spechum,  }\item[{real(kind\+\_\+phys), dimension(\+:,\+:), intent(inout)}]{qc,  }\item[{real(kind\+\_\+phys), dimension(\+:,\+:), intent(inout)}]{qr,  }\item[{real(kind\+\_\+phys), dimension(\+:,\+:), intent(inout)}]{qi,  }\item[{real(kind\+\_\+phys), dimension(\+:,\+:), intent(inout)}]{qs,  }\item[{real(kind\+\_\+phys), dimension(\+:,\+:), intent(inout)}]{qg,  }\item[{real(kind\+\_\+phys), dimension(\+:,\+:), intent(inout)}]{ni,  }\item[{real(kind\+\_\+phys), dimension(\+:,\+:), intent(inout)}]{nr,  }\item[{logical, intent(in)}]{is\+\_\+aerosol\+\_\+aware,  }\item[{logical, intent(in)}]{merra2\+\_\+aerosol\+\_\+aware,  }\item[{real(kind\+\_\+phys), dimension(\+:,\+:), intent(inout)}]{nc,  }\item[{real(kind\+\_\+phys), dimension(\+:), intent(inout)}]{nwfa2d,  }\item[{real(kind\+\_\+phys), dimension(\+:), intent(inout)}]{nifa2d,  }\item[{real(kind\+\_\+phys), dimension(\+:,\+:), intent(inout)}]{nwfa,  }\item[{real(kind\+\_\+phys), dimension(\+:,\+:), intent(inout)}]{nifa,  }\item[{real(kind\+\_\+phys), dimension(\+:,\+:), intent(in)}]{tgrs,  }\item[{real(kind\+\_\+phys), dimension(\+:,\+:), intent(in)}]{prsl,  }\item[{real(kind\+\_\+phys), dimension(\+:,\+:), intent(in)}]{phil,  }\item[{real(kind\+\_\+phys), dimension(\+:), intent(in)}]{area,  }\item[{real(kind\+\_\+phys), dimension(\+:,\+:,\+:), intent(in)}]{aerfld,  }\item[{integer, intent(in)}]{mpicomm,  }\item[{integer, intent(in)}]{mpirank,  }\item[{integer, intent(in)}]{mpiroot,  }\item[{integer, intent(in)}]{threads,  }\item[{logical, intent(in)}]{ext\+\_\+diag,  }\item[{real(kind\+\_\+phys), dimension(\+:,\+:,\+:), intent(in)}]{diag3d,  }\item[{character(len=$\ast$), intent(out)}]{errmsg,  }\item[{integer, intent(out)}]{errflg }\end{DoxyParamCaption})}

\hypertarget{namespacemp__thompson_af23edcc2d4b4fe48ca225bb28ec410c6_arg_table_mp_thompson_init}{}\doxysubsubsection{Argument Table}\label{namespacemp__thompson_af23edcc2d4b4fe48ca225bb28ec410c6_arg_table_mp_thompson_init}
 
\begin{DoxyItemize}
\item Convert specific humidity to water vapor mixing ratio.
\begin{DoxyItemize}
\item Also, hydrometeor variables are mass or number mixing ratio
\item either kg of species per kg of dry air, or per kg of (dry + vapor).
\end{DoxyItemize}
\end{DoxyItemize}

References \mbox{\hyperlink{group__aathompson_gac282447e7260dc10986f8e4cf9562aa4_gac282447e7260dc10986f8e4cf9562aa4}{module\+\_\+mp\+\_\+thompson\+\_\+make\+\_\+number\+\_\+concentrations\+::make\+\_\+dropletnumber()}}, \mbox{\hyperlink{group__aathompson_gaf25c564db3c78616cd33a31af0ca4c1c_gaf25c564db3c78616cd33a31af0ca4c1c}{module\+\_\+mp\+\_\+thompson\+\_\+make\+\_\+number\+\_\+concentrations\+::make\+\_\+icenumber()}}, \mbox{\hyperlink{group__aathompson_ga5ecec0ca534ee7919db0fa21ea3d3322_ga5ecec0ca534ee7919db0fa21ea3d3322}{module\+\_\+mp\+\_\+thompson\+\_\+make\+\_\+number\+\_\+concentrations\+::make\+\_\+rainnumber()}}, and \mbox{\hyperlink{group__aathompson_ga913721b93920f568db16540ff0dac1e9_ga913721b93920f568db16540ff0dac1e9}{module\+\_\+mp\+\_\+thompson\+::thompson\+\_\+init()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacemp__thompson_af23edcc2d4b4fe48ca225bb28ec410c6_af23edcc2d4b4fe48ca225bb28ec410c6_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{group__aathompson_ga8602fe3ada97d51564bf424533d96392_ga8602fe3ada97d51564bf424533d96392}\label{group__aathompson_ga8602fe3ada97d51564bf424533d96392_ga8602fe3ada97d51564bf424533d96392}} 
\index{mp\_thompson@{mp\_thompson}!mp\_thompson\_run@{mp\_thompson\_run}}
\index{mp\_thompson\_run@{mp\_thompson\_run}!mp\_thompson@{mp\_thompson}}
\doxyparagraph{\texorpdfstring{mp\_thompson\_run()}{mp\_thompson\_run()}}
{\footnotesize\ttfamily subroutine, public mp\+\_\+thompson\+::mp\+\_\+thompson\+\_\+run (\begin{DoxyParamCaption}\item[{integer, intent(in)}]{ncol,  }\item[{integer, intent(in)}]{nlev,  }\item[{real(kind\+\_\+phys), intent(in)}]{con\+\_\+g,  }\item[{real(kind\+\_\+phys), intent(in)}]{con\+\_\+rd,  }\item[{real(kind\+\_\+phys), intent(in)}]{con\+\_\+eps,  }\item[{logical, intent(in)}]{convert\+\_\+dry\+\_\+rho,  }\item[{real(kind\+\_\+phys), dimension(\+:,\+:), intent(inout)}]{spechum,  }\item[{real(kind\+\_\+phys), dimension(\+:,\+:), intent(inout)}]{qc,  }\item[{real(kind\+\_\+phys), dimension(\+:,\+:), intent(inout)}]{qr,  }\item[{real(kind\+\_\+phys), dimension(\+:,\+:), intent(inout)}]{qi,  }\item[{real(kind\+\_\+phys), dimension(\+:,\+:), intent(inout)}]{qs,  }\item[{real(kind\+\_\+phys), dimension(\+:,\+:), intent(inout)}]{qg,  }\item[{real(kind\+\_\+phys), dimension(\+:,\+:), intent(inout)}]{ni,  }\item[{real(kind\+\_\+phys), dimension(\+:,\+:), intent(inout)}]{nr,  }\item[{logical, intent(in)}]{is\+\_\+aerosol\+\_\+aware,  }\item[{logical, intent(in)}]{merra2\+\_\+aerosol\+\_\+aware,  }\item[{real(kind\+\_\+phys), dimension(\+:,\+:), intent(inout), optional}]{nc,  }\item[{real(kind\+\_\+phys), dimension(\+:,\+:), intent(inout), optional}]{nwfa,  }\item[{real(kind\+\_\+phys), dimension(\+:,\+:), intent(inout), optional}]{nifa,  }\item[{real(kind\+\_\+phys), dimension(\+:), intent(in), optional}]{nwfa2d,  }\item[{real(kind\+\_\+phys), dimension(\+:), intent(in), optional}]{nifa2d,  }\item[{logical, intent(in), optional}]{aero\+\_\+ind\+\_\+fdb,  }\item[{real(kind\+\_\+phys), dimension(\+:,\+:), intent(inout)}]{tgrs,  }\item[{real(kind\+\_\+phys), dimension(\+:,\+:), intent(in)}]{prsl,  }\item[{real(kind\+\_\+phys), dimension(\+:,\+:), intent(in)}]{phii,  }\item[{real(kind\+\_\+phys), dimension(\+:,\+:), intent(in)}]{omega,  }\item[{logical, intent(in)}]{sedi\+\_\+semi,  }\item[{integer, intent(in)}]{decfl,  }\item[{integer, dimension(\+:), intent(in)}]{islmsk,  }\item[{real(kind\+\_\+phys), intent(in)}]{dtp,  }\item[{real, intent(in)}]{dt\+\_\+inner,  }\item[{logical, intent(in)}]{first\+\_\+time\+\_\+step,  }\item[{integer, intent(in)}]{istep,  }\item[{integer, intent(in)}]{nsteps,  }\item[{real(kind\+\_\+phys), dimension(\+:), intent(inout)}]{prcp,  }\item[{real(kind\+\_\+phys), dimension(\+:), intent(inout)}]{rain,  }\item[{real(kind\+\_\+phys), dimension(\+:), intent(inout)}]{graupel,  }\item[{real(kind\+\_\+phys), dimension(\+:), intent(inout)}]{ice,  }\item[{real(kind\+\_\+phys), dimension(\+:), intent(inout)}]{snow,  }\item[{real(kind\+\_\+phys), dimension(\+:), intent(out)}]{sr,  }\item[{real(kind\+\_\+phys), dimension(\+:,\+:), intent(inout)}]{refl\+\_\+10cm,  }\item[{logical, intent(in)}]{fullradar\+\_\+diag,  }\item[{logical, intent(in)}]{do\+\_\+radar\+\_\+ref,  }\item[{real(kind\+\_\+phys), dimension(\+:,\+:,\+:), intent(in)}]{aerfld,  }\item[{integer, intent(in)}]{mpicomm,  }\item[{integer, intent(in)}]{mpirank,  }\item[{integer, intent(in)}]{mpiroot,  }\item[{integer, intent(in)}]{blkno,  }\item[{logical, intent(in)}]{ext\+\_\+diag,  }\item[{real(kind\+\_\+phys), dimension(\+:,\+:,\+:), intent(inout), target}]{diag3d,  }\item[{logical, intent(in)}]{reset\+\_\+diag3d,  }\item[{real(kind\+\_\+phys), dimension(\+:,\+:), intent(in)}]{spp\+\_\+wts\+\_\+mp,  }\item[{integer, intent(in)}]{spp\+\_\+mp,  }\item[{integer, intent(in)}]{n\+\_\+var\+\_\+spp,  }\item[{real(kind\+\_\+phys), dimension(\+:), intent(in)}]{spp\+\_\+prt\+\_\+list,  }\item[{character(len=10), dimension(\+:), intent(in)}]{spp\+\_\+var\+\_\+list,  }\item[{real(kind\+\_\+phys), dimension(\+:), intent(in)}]{spp\+\_\+stddev\+\_\+cutoff,  }\item[{logical, intent(in)}]{cplchm,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:,\+:), intent(inout)}]{pfi\+\_\+lsan,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:,\+:), intent(inout)}]{pfl\+\_\+lsan,  }\item[{character(len=$\ast$), intent(out)}]{errmsg,  }\item[{integer, intent(out)}]{errflg }\end{DoxyParamCaption})}

\hypertarget{group__aathompson_ga8602fe3ada97d51564bf424533d96392_arg_table_mp_thompson_run}{}\doxysubsubsection{Argument Table}\label{group__aathompson_ga8602fe3ada97d51564bf424533d96392_arg_table_mp_thompson_run}
\hypertarget{group__aathompson_ga8602fe3ada97d51564bf424533d96392_gen_thompson_hrrr}{}\doxysubsubsection{Thompson MP General Algorithm}\label{group__aathompson_ga8602fe3ada97d51564bf424533d96392_gen_thompson_hrrr}

\begin{DoxyItemize}
\item Convert specific humidity to water vapor mixing ratio.
\begin{DoxyItemize}
\item Also, hydrometeor variables are mass or number mixing ratio
\item either kg of species per kg of dry air, or per kg of (dry + vapor).
\end{DoxyItemize}
\item Density of air in kg m-\/3
\item Convert omega in Pa s-\/1 to vertical velocity w in m s-\/1
\item Layer width in m from geopotential in m2 s-\/2
\item Call \mbox{\hyperlink{group__aathompson_ga34cc9c069935417137a1db6f87326142_ga34cc9c069935417137a1db6f87326142}{mp\+\_\+gt\+\_\+driver()}} with or without aerosols, with or without effective radii, ...
\item Convert water vapor mixing ratio back to specific humidity
\item Convert rainfall deltas from mm to m (on physics timestep); add to inout variables
\end{DoxyItemize}

References \mbox{\hyperlink{group__aathompson_ga34cc9c069935417137a1db6f87326142_ga34cc9c069935417137a1db6f87326142}{module\+\_\+mp\+\_\+thompson\+::mp\+\_\+gt\+\_\+driver()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{group__aathompson_ga8602fe3ada97d51564bf424533d96392_ga8602fe3ada97d51564bf424533d96392_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacemp__thompson_a679646cb0079891e2608a8702ba219aa_a679646cb0079891e2608a8702ba219aa}\label{namespacemp__thompson_a679646cb0079891e2608a8702ba219aa_a679646cb0079891e2608a8702ba219aa}} 
\index{mp\_thompson@{mp\_thompson}!mp\_thompson\_finalize@{mp\_thompson\_finalize}}
\index{mp\_thompson\_finalize@{mp\_thompson\_finalize}!mp\_thompson@{mp\_thompson}}
\doxyparagraph{\texorpdfstring{mp\_thompson\_finalize()}{mp\_thompson\_finalize()}}
{\footnotesize\ttfamily subroutine, public mp\+\_\+thompson\+::mp\+\_\+thompson\+\_\+finalize (\begin{DoxyParamCaption}\item[{character(len=$\ast$), intent(out)}]{errmsg,  }\item[{integer, intent(out)}]{errflg }\end{DoxyParamCaption})}

\hypertarget{namespacemp__thompson_a679646cb0079891e2608a8702ba219aa_arg_table_mp_thompson_finalize}{}\doxysubsubsection{Argument Table}\label{namespacemp__thompson_a679646cb0079891e2608a8702ba219aa_arg_table_mp_thompson_finalize}
 

References \mbox{\hyperlink{group__aathompson_gae63a5aa0f406c6481b3e641269a79686_gae63a5aa0f406c6481b3e641269a79686}{module\+\_\+mp\+\_\+thompson\+::thompson\+\_\+finalize()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacemp__thompson_a679646cb0079891e2608a8702ba219aa_a679646cb0079891e2608a8702ba219aa_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacemp__thompson_a313a71e5442e5925a4f51f61dc1c0f5a_a313a71e5442e5925a4f51f61dc1c0f5a}\label{namespacemp__thompson_a313a71e5442e5925a4f51f61dc1c0f5a_a313a71e5442e5925a4f51f61dc1c0f5a}} 
\index{mp\_thompson@{mp\_thompson}!get\_niwfa@{get\_niwfa}}
\index{get\_niwfa@{get\_niwfa}!mp\_thompson@{mp\_thompson}}
\doxyparagraph{\texorpdfstring{get\_niwfa()}{get\_niwfa()}}
{\footnotesize\ttfamily subroutine mp\+\_\+thompson\+::get\+\_\+niwfa (\begin{DoxyParamCaption}\item[{real (kind=kind\+\_\+phys), dimension(\+:,\+:,\+:), intent(in)}]{aerfld,  }\item[{real (kind=kind\+\_\+phys), dimension(\+:,\+:), intent(out)}]{nifa,  }\item[{real (kind=kind\+\_\+phys), dimension(\+:,\+:), intent(out)}]{nwfa,  }\item[{integer, intent(in)}]{ncol,  }\item[{integer, intent(in)}]{nlev }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



\doxysubsubsection{Variable Documentation}
\mbox{\Hypertarget{namespacemp__thompson_aa0c1ac9ced9063885fe775bb3b7dcc24_aa0c1ac9ced9063885fe775bb3b7dcc24}\label{namespacemp__thompson_aa0c1ac9ced9063885fe775bb3b7dcc24_aa0c1ac9ced9063885fe775bb3b7dcc24}} 
\index{mp\_thompson@{mp\_thompson}!is\_initialized@{is\_initialized}}
\index{is\_initialized@{is\_initialized}!mp\_thompson@{mp\_thompson}}
\doxyparagraph{\texorpdfstring{is\_initialized}{is\_initialized}}
{\footnotesize\ttfamily logical mp\+\_\+thompson\+::is\+\_\+initialized = .False.\hspace{0.3cm}{\ttfamily [private]}}

\mbox{\Hypertarget{namespacemp__thompson_a4014c8568b20e9caf9fd9872556db2c3_a4014c8568b20e9caf9fd9872556db2c3}\label{namespacemp__thompson_a4014c8568b20e9caf9fd9872556db2c3_a4014c8568b20e9caf9fd9872556db2c3}} 
\index{mp\_thompson@{mp\_thompson}!ext\_ndiag3d@{ext\_ndiag3d}}
\index{ext\_ndiag3d@{ext\_ndiag3d}!mp\_thompson@{mp\_thompson}}
\doxyparagraph{\texorpdfstring{ext\_ndiag3d}{ext\_ndiag3d}}
{\footnotesize\ttfamily integer, parameter mp\+\_\+thompson\+::ext\+\_\+ndiag3d = 37\hspace{0.3cm}{\ttfamily [private]}}

