\hypertarget{namespacelsm__noah}{}\doxysubsection{lsm\+\_\+noah Module Reference}
\label{namespacelsm__noah}\index{lsm\_noah@{lsm\_noah}}


This module contains the CCPP-\/compliant Noah land surface scheme driver.  


\doxysubsubsection*{Functions/\+Subroutines}
\begin{DoxyCompactItemize}
\item 
subroutine, public \mbox{\hyperlink{namespacelsm__noah_ac1f9c1c25ab4f3a0502b11d6879b448f_ac1f9c1c25ab4f3a0502b11d6879b448f}{lsm\+\_\+noah\+\_\+init}} (lsm, lsm\+\_\+noah, me, isot, ivegsrc, nlunit,
\begin{DoxyCompactList}\small\item\em This subroutine contains the CCPP-\/compliant lsm\+\_\+noah\+\_\+init to initialize soil vegetation. \end{DoxyCompactList}\item 
subroutine, public \mbox{\hyperlink{namespacelsm__noah_a35006681648b08154753bf33cf1cfc20_a35006681648b08154753bf33cf1cfc20}{lsm\+\_\+noah\+\_\+finalize}} (errmsg, errflg)
\item 
subroutine, public \mbox{\hyperlink{group___noah___l_s_m_ga5d624f72a0da3ffcdf7a01fb9862e0e8_ga5d624f72a0da3ffcdf7a01fb9862e0e8}{lsm\+\_\+noah\+\_\+run}} (im, km, grav, cp, hvap, rd, eps, epsm1, rvrdm1, ps, t1, q1, soiltyp, vegtype, sigmaf, sfcemis, dlwflx, dswsfc, delt, tg3, cm, ch, prsl1, prslki, zf, land, wind, slopetyp, shdmin, shdmax, snoalb, sfalb, flag\+\_\+iter, flag\+\_\+guess, lheatstrg, isot, ivegsrc, bexppert, xlaipert, vegfpert, pertvegf, albdvis\+\_\+lnd, albdnir\+\_\+lnd, albivis\+\_\+lnd, albinir\+\_\+lnd, adjvisbmd, adjnirbmd, adjvisdfd, adjnirdfd, rhonewsn1, exticeden, weasd, snwdph, tskin, tprcp, srflag, smc, stc, slc, canopy, trans, tsurf, zorl, sncovr1, qsurf, gflux, drain, evap, hflx, ep, runoff, cmm, chh, evbs, evcw, sbsno, snowc, stm, snohf, smcwlt2, smcref2, wet1, lai, rca, errmsg, errflg)
\end{DoxyCompactItemize}


\doxysubsubsection{Function/\+Subroutine Documentation}
\mbox{\Hypertarget{namespacelsm__noah_ac1f9c1c25ab4f3a0502b11d6879b448f_ac1f9c1c25ab4f3a0502b11d6879b448f}\label{namespacelsm__noah_ac1f9c1c25ab4f3a0502b11d6879b448f_ac1f9c1c25ab4f3a0502b11d6879b448f}} 
\index{lsm\_noah@{lsm\_noah}!lsm\_noah\_init@{lsm\_noah\_init}}
\index{lsm\_noah\_init@{lsm\_noah\_init}!lsm\_noah@{lsm\_noah}}
\doxyparagraph{\texorpdfstring{lsm\_noah\_init()}{lsm\_noah\_init()}}
{\footnotesize\ttfamily subroutine, public lsm\+\_\+noah\+::lsm\+\_\+noah\+\_\+init (\begin{DoxyParamCaption}\item[{integer, intent(in)}]{lsm,  }\item[{integer, intent(in)}]{lsm\+\_\+noah,  }\item[{integer, intent(in)}]{me,  }\item[{integer, intent(in)}]{isot,  }\item[{integer, intent(in)}]{ivegsrc,  }\item[{integer, intent(in)}]{nlunit }\end{DoxyParamCaption})}

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

References \mbox{\hyperlink{group___noah___l_s_m_ga961eacb6f4b1b1b724401001b85c874d_ga961eacb6f4b1b1b724401001b85c874d}{set\+\_\+soilveg\+\_\+mod\+::set\+\_\+soilveg()}}.

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

\hypertarget{namespacelsm__noah_a35006681648b08154753bf33cf1cfc20_arg_table_lsm_noah_finalize}{}\doxysubsubsection{Argument Table}\label{namespacelsm__noah_a35006681648b08154753bf33cf1cfc20_arg_table_lsm_noah_finalize}
 \mbox{\Hypertarget{group___noah___l_s_m_ga5d624f72a0da3ffcdf7a01fb9862e0e8_ga5d624f72a0da3ffcdf7a01fb9862e0e8}\label{group___noah___l_s_m_ga5d624f72a0da3ffcdf7a01fb9862e0e8_ga5d624f72a0da3ffcdf7a01fb9862e0e8}} 
\index{lsm\_noah@{lsm\_noah}!lsm\_noah\_run@{lsm\_noah\_run}}
\index{lsm\_noah\_run@{lsm\_noah\_run}!lsm\_noah@{lsm\_noah}}
\doxyparagraph{\texorpdfstring{lsm\_noah\_run()}{lsm\_noah\_run()}}
{\footnotesize\ttfamily subroutine, public lsm\+\_\+noah\+::lsm\+\_\+noah\+\_\+run (\begin{DoxyParamCaption}\item[{integer, intent(in)}]{im,  }\item[{integer, intent(in)}]{km,  }\item[{real (kind=kind\+\_\+phys), intent(in)}]{grav,  }\item[{real (kind=kind\+\_\+phys), intent(in)}]{cp,  }\item[{real (kind=kind\+\_\+phys), intent(in)}]{hvap,  }\item[{real (kind=kind\+\_\+phys), intent(in)}]{rd,  }\item[{real (kind=kind\+\_\+phys), intent(in)}]{eps,  }\item[{real (kind=kind\+\_\+phys), intent(in)}]{epsm1,  }\item[{real (kind=kind\+\_\+phys), intent(in)}]{rvrdm1,  }\item[{real (kind=kind\+\_\+phys), dimension(\+:), intent(in)}]{ps,  }\item[{real (kind=kind\+\_\+phys), dimension(\+:), intent(in)}]{t1,  }\item[{real (kind=kind\+\_\+phys), dimension(\+:), intent(in)}]{q1,  }\item[{integer, dimension(\+:), intent(in)}]{soiltyp,  }\item[{integer, dimension(\+:), intent(in)}]{vegtype,  }\item[{real (kind=kind\+\_\+phys), dimension(\+:), intent(in)}]{sigmaf,  }\item[{real (kind=kind\+\_\+phys), dimension(\+:), intent(in)}]{sfcemis,  }\item[{real (kind=kind\+\_\+phys), dimension(\+:), intent(in)}]{dlwflx,  }\item[{real (kind=kind\+\_\+phys), dimension(\+:), intent(in)}]{dswsfc,  }\item[{real (kind=kind\+\_\+phys), intent(in)}]{delt,  }\item[{real (kind=kind\+\_\+phys), dimension(\+:), intent(in)}]{tg3,  }\item[{real (kind=kind\+\_\+phys), dimension(\+:), intent(in)}]{cm,  }\item[{real (kind=kind\+\_\+phys), dimension(\+:), intent(in)}]{ch,  }\item[{real (kind=kind\+\_\+phys), dimension(\+:), intent(in)}]{prsl1,  }\item[{real (kind=kind\+\_\+phys), dimension(\+:), intent(in)}]{prslki,  }\item[{real (kind=kind\+\_\+phys), dimension(\+:), intent(in)}]{zf,  }\item[{logical, dimension(\+:), intent(in)}]{land,  }\item[{real (kind=kind\+\_\+phys), dimension(\+:), intent(in)}]{wind,  }\item[{integer, dimension(\+:), intent(in)}]{slopetyp,  }\item[{real (kind=kind\+\_\+phys), dimension(\+:), intent(in)}]{shdmin,  }\item[{real (kind=kind\+\_\+phys), dimension(\+:), intent(in)}]{shdmax,  }\item[{real (kind=kind\+\_\+phys), dimension(\+:), intent(in)}]{snoalb,  }\item[{real (kind=kind\+\_\+phys), dimension(\+:), intent(in)}]{sfalb,  }\item[{logical, dimension(\+:), intent(in)}]{flag\+\_\+iter,  }\item[{logical, dimension(\+:), intent(in)}]{flag\+\_\+guess,  }\item[{logical, intent(in)}]{lheatstrg,  }\item[{integer, intent(in)}]{isot,  }\item[{integer, intent(in)}]{ivegsrc,  }\item[{real (kind=kind\+\_\+phys), dimension(\+:), intent(in)}]{bexppert,  }\item[{real (kind=kind\+\_\+phys), dimension(\+:), intent(in)}]{xlaipert,  }\item[{real (kind=kind\+\_\+phys), dimension(\+:), intent(in)}]{vegfpert,  }\item[{real (kind=kind\+\_\+phys), intent(in)}]{pertvegf,  }\item[{real (kind=kind\+\_\+phys), dimension(\+:), intent(in)}]{albdvis\+\_\+lnd,  }\item[{real (kind=kind\+\_\+phys), dimension(\+:), intent(in)}]{albdnir\+\_\+lnd,  }\item[{real (kind=kind\+\_\+phys), dimension(\+:), intent(in)}]{albivis\+\_\+lnd,  }\item[{real (kind=kind\+\_\+phys), dimension(\+:), intent(in)}]{albinir\+\_\+lnd,  }\item[{real (kind=kind\+\_\+phys), dimension(\+:), intent(in)}]{adjvisbmd,  }\item[{real (kind=kind\+\_\+phys), dimension(\+:), intent(in)}]{adjnirbmd,  }\item[{real (kind=kind\+\_\+phys), dimension(\+:), intent(in)}]{adjvisdfd,  }\item[{real (kind=kind\+\_\+phys), dimension(\+:), intent(in)}]{adjnirdfd,  }\item[{real (kind=kind\+\_\+phys), dimension(\+:), intent(in)}]{rhonewsn1,  }\item[{logical, intent(in)}]{exticeden,  }\item[{real (kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{weasd,  }\item[{real (kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{snwdph,  }\item[{real (kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{tskin,  }\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(inout)}]{smc,  }\item[{real (kind=kind\+\_\+phys), dimension(\+:,\+:), intent(inout)}]{stc,  }\item[{real (kind=kind\+\_\+phys), dimension(\+:,\+:), intent(inout)}]{slc,  }\item[{real (kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{canopy,  }\item[{real (kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{trans,  }\item[{real (kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{tsurf,  }\item[{real (kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{zorl,  }\item[{real (kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{sncovr1,  }\item[{real (kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{qsurf,  }\item[{real (kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{gflux,  }\item[{real (kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{drain,  }\item[{real (kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{evap,  }\item[{real (kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{hflx,  }\item[{real (kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{ep,  }\item[{real (kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{runoff,  }\item[{real (kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{cmm,  }\item[{real (kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{chh,  }\item[{real (kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{evbs,  }\item[{real (kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{evcw,  }\item[{real (kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{sbsno,  }\item[{real (kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{snowc,  }\item[{real (kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{stm,  }\item[{real (kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{snohf,  }\item[{real (kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{smcwlt2,  }\item[{real (kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{smcref2,  }\item[{real (kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{wet1,  }\item[{real (kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{lai,  }\item[{real (kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{rca,  }\item[{character(len=$\ast$), intent(out)}]{errmsg,  }\item[{integer, intent(out)}]{errflg }\end{DoxyParamCaption})}


\begin{DoxyItemize}
\item Initialize CCPP error handling variables
\item Save land-\/related prognostic fields for guess run.
\item Initialize variables wind, q, and rh at level 1.
\item Prepare variables to run Noah LSM\+:
\item Call \mbox{\hyperlink{group__gfs__sfcpert_ga6fcfce740aade0680404536c8c36cb7b_ga6fcfce740aade0680404536c8c36cb7b}{surface\+\_\+perturbation\+::ppfbet()}} to perturb vegetation fraction that goes into \mbox{\hyperlink{group___noah___l_s_m_ga36e98f3ac91f839b816fd167eab30901_ga36e98f3ac91f839b816fd167eab30901}{gfssflx()}}.
\item Apply perturbation of soil type b parameter and leave area index.
\item New snow depth variables
\item Call Noah LSM \mbox{\hyperlink{group___noah___l_s_m_ga36e98f3ac91f839b816fd167eab30901_ga36e98f3ac91f839b816fd167eab30901}{gfssflx()}}.
\item Noah LSM\+: prepare variables for return to parent model and unit conversion.
\item Compute specific humidity at surface ({\ttfamily qsurf}).
\item Compute surface upward sensible heat flux ({\ttfamily hflx}) and evaporation flux ({\ttfamily evap}).
\item Restore land-\/related prognostic fields for guess run.
\end{DoxyItemize}

References \mbox{\hyperlink{group___noah___l_s_m_ga36e98f3ac91f839b816fd167eab30901_ga36e98f3ac91f839b816fd167eab30901}{sflx\+::gfssflx()}}, and \mbox{\hyperlink{group__gfs__sfcpert_ga6fcfce740aade0680404536c8c36cb7b_ga6fcfce740aade0680404536c8c36cb7b}{surface\+\_\+perturbation\+::ppfbet()}}.

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