\hypertarget{namespacesfc__diff}{}\doxysubsection{sfc\+\_\+diff Module Reference}
\label{namespacesfc__diff}\index{sfc\_diff@{sfc\_diff}}


This module contains the CCPP-\/compliant GFS surface layer scheme.  


\doxysubsubsection*{Functions/\+Subroutines}
\begin{DoxyCompactItemize}
\item 
subroutine, public \mbox{\hyperlink{group___g_f_s__diff__main_ga21cb96270bf86cdc49ca64a91a7400f1_ga21cb96270bf86cdc49ca64a91a7400f1}{sfc\+\_\+diff\+\_\+run}} (im, rvrdm1, eps, epsm1, grav, ps, t1, q1, z1, garea, wind, prsl1, prslki, prsik1, prslk1, sigmaf, vegtype, shdmax, ivegsrc, z0pert, ztpert, flag\+\_\+iter, redrag, u10m, v10m, sfc\+\_\+z0\+\_\+type, wet, dry, icy, thsfc\+\_\+loc, tskin\+\_\+wat, tskin\+\_\+lnd, tskin\+\_\+ice, tsurf\+\_\+wat, tsurf\+\_\+lnd, tsurf\+\_\+ice, z0rl\+\_\+wat, z0rl\+\_\+lnd, z0rl\+\_\+ice, z0rl\+\_\+wav, ustar\+\_\+wat, ustar\+\_\+lnd, ustar\+\_\+ice, cm\+\_\+wat, cm\+\_\+lnd, cm\+\_\+ice, ch\+\_\+wat, ch\+\_\+lnd, ch\+\_\+ice, rb\+\_\+wat, rb\+\_\+lnd, rb\+\_\+ice, stress\+\_\+wat, stress\+\_\+lnd, stress\+\_\+ice, fm\+\_\+wat, fm\+\_\+lnd, fm\+\_\+ice, fh\+\_\+wat, fh\+\_\+lnd, fh\+\_\+ice, fm10\+\_\+wat, fm10\+\_\+lnd, fm10\+\_\+ice, fh2\+\_\+wat, fh2\+\_\+lnd, fh2\+\_\+ice, ztmax\+\_\+wat, ztmax\+\_\+lnd, ztmax\+\_\+ice, zvfun, errmsg, errflg)
\item 
subroutine, public \mbox{\hyperlink{group___g_f_s__diff__main_gab286fa55ff48bff296b75dd2b6dc4e79_gab286fa55ff48bff296b75dd2b6dc4e79}{stability}} (z1, zvfun, gdx, tv1, thv1, wind, z0max, ztmax, tvs, grav, thsfc\+\_\+loc, rb, fm, fh, fm10, fh2, cm, ch, stress, ustar)
\item 
subroutine \mbox{\hyperlink{group___g_f_s__diff__main_ga699273090ce209aa668bd430196c084c_ga699273090ce209aa668bd430196c084c}{znot\+\_\+m\+\_\+v6}} (uref, znotm)
\item 
subroutine \mbox{\hyperlink{namespacesfc__diff_a8cc020626ffbda304a8f62ec0275ef73_a8cc020626ffbda304a8f62ec0275ef73}{znot\+\_\+t\+\_\+v6}} (uref, znott)
\item 
subroutine \mbox{\hyperlink{namespacesfc__diff_a0a96b398c6aa2c0e4ce2d57ec1bafa2c_a0a96b398c6aa2c0e4ce2d57ec1bafa2c}{znot\+\_\+m\+\_\+v7}} (uref, znotm)
\item 
subroutine \mbox{\hyperlink{namespacesfc__diff_a0be679dd34720d161a76d042be84eea9_a0be679dd34720d161a76d042be84eea9}{znot\+\_\+t\+\_\+v7}} (uref, znott)
\end{DoxyCompactItemize}
\doxysubsubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
real(kind=kind\+\_\+phys), parameter \mbox{\hyperlink{namespacesfc__diff_ad042f7db034ad877731c12f6034dde0c_ad042f7db034ad877731c12f6034dde0c}{ca}} =0.\+4\+\_\+kind\+\_\+phys
\end{DoxyCompactItemize}


\doxysubsubsection{Function/\+Subroutine Documentation}
\mbox{\Hypertarget{group___g_f_s__diff__main_ga21cb96270bf86cdc49ca64a91a7400f1_ga21cb96270bf86cdc49ca64a91a7400f1}\label{group___g_f_s__diff__main_ga21cb96270bf86cdc49ca64a91a7400f1_ga21cb96270bf86cdc49ca64a91a7400f1}} 
\index{sfc\_diff@{sfc\_diff}!sfc\_diff\_run@{sfc\_diff\_run}}
\index{sfc\_diff\_run@{sfc\_diff\_run}!sfc\_diff@{sfc\_diff}}
\doxyparagraph{\texorpdfstring{sfc\_diff\_run()}{sfc\_diff\_run()}}
{\footnotesize\ttfamily subroutine, public sfc\+\_\+diff\+::sfc\+\_\+diff\+\_\+run (\begin{DoxyParamCaption}\item[{integer, intent(in)}]{im,  }\item[{real(kind=kind\+\_\+phys), intent(in)}]{rvrdm1,  }\item[{real(kind=kind\+\_\+phys), intent(in)}]{eps,  }\item[{real(kind=kind\+\_\+phys), intent(in)}]{epsm1,  }\item[{real(kind=kind\+\_\+phys), intent(in)}]{grav,  }\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[{real(kind=kind\+\_\+phys), dimension(\+:), intent(in)}]{z1,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(in)}]{garea,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(in)}]{wind,  }\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)}]{prsik1,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(in)}]{prslk1,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(in)}]{sigmaf,  }\item[{integer, dimension(\+:), intent(in)}]{vegtype,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(in)}]{shdmax,  }\item[{integer, intent(in)}]{ivegsrc,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(in)}]{z0pert,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(in)}]{ztpert,  }\item[{logical, dimension(\+:), intent(in)}]{flag\+\_\+iter,  }\item[{logical, intent(in)}]{redrag,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(in)}]{u10m,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(in)}]{v10m,  }\item[{integer, intent(in)}]{sfc\+\_\+z0\+\_\+type,  }\item[{logical, dimension(\+:), intent(inout)}]{wet,  }\item[{logical, dimension(\+:), intent(in)}]{dry,  }\item[{logical, dimension(\+:), intent(in)}]{icy,  }\item[{logical, intent(in)}]{thsfc\+\_\+loc,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(in)}]{tskin\+\_\+wat,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(in)}]{tskin\+\_\+lnd,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(in)}]{tskin\+\_\+ice,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(in)}]{tsurf\+\_\+wat,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(in)}]{tsurf\+\_\+lnd,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(in)}]{tsurf\+\_\+ice,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{z0rl\+\_\+wat,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{z0rl\+\_\+lnd,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{z0rl\+\_\+ice,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(in)}]{z0rl\+\_\+wav,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{ustar\+\_\+wat,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{ustar\+\_\+lnd,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{ustar\+\_\+ice,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{cm\+\_\+wat,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{cm\+\_\+lnd,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{cm\+\_\+ice,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{ch\+\_\+wat,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{ch\+\_\+lnd,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{ch\+\_\+ice,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{rb\+\_\+wat,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{rb\+\_\+lnd,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{rb\+\_\+ice,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{stress\+\_\+wat,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{stress\+\_\+lnd,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{stress\+\_\+ice,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{fm\+\_\+wat,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{fm\+\_\+lnd,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{fm\+\_\+ice,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{fh\+\_\+wat,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{fh\+\_\+lnd,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{fh\+\_\+ice,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{fm10\+\_\+wat,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{fm10\+\_\+lnd,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{fm10\+\_\+ice,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{fh2\+\_\+wat,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{fh2\+\_\+lnd,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{fh2\+\_\+ice,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{ztmax\+\_\+wat,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{ztmax\+\_\+lnd,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(inout)}]{ztmax\+\_\+ice,  }\item[{real(kind=kind\+\_\+phys), dimension(\+:), intent(out)}]{zvfun,  }\item[{character(len=$\ast$), intent(out)}]{errmsg,  }\item[{integer, intent(out)}]{errflg }\end{DoxyParamCaption})}



References \mbox{\hyperlink{group___g_f_s__diff__main_gab286fa55ff48bff296b75dd2b6dc4e79_gab286fa55ff48bff296b75dd2b6dc4e79}{stability()}}, and \mbox{\hyperlink{group___g_f_s__diff__main_ga699273090ce209aa668bd430196c084c_ga699273090ce209aa668bd430196c084c}{znot\+\_\+m\+\_\+v6()}}.

Here is the call graph for this function\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=328pt]{group___g_f_s__diff__main_ga21cb96270bf86cdc49ca64a91a7400f1_ga21cb96270bf86cdc49ca64a91a7400f1_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{group___g_f_s__diff__main_gab286fa55ff48bff296b75dd2b6dc4e79_gab286fa55ff48bff296b75dd2b6dc4e79}\label{group___g_f_s__diff__main_gab286fa55ff48bff296b75dd2b6dc4e79_gab286fa55ff48bff296b75dd2b6dc4e79}} 
\index{sfc\_diff@{sfc\_diff}!stability@{stability}}
\index{stability@{stability}!sfc\_diff@{sfc\_diff}}
\doxyparagraph{\texorpdfstring{stability()}{stability()}}
{\footnotesize\ttfamily subroutine, public sfc\+\_\+diff\+::stability (\begin{DoxyParamCaption}\item[{real(kind=kind\+\_\+phys), intent(in)}]{z1,  }\item[{real(kind=kind\+\_\+phys), intent(in)}]{zvfun,  }\item[{real(kind=kind\+\_\+phys), intent(in)}]{gdx,  }\item[{real(kind=kind\+\_\+phys), intent(in)}]{tv1,  }\item[{real(kind=kind\+\_\+phys), intent(in)}]{thv1,  }\item[{real(kind=kind\+\_\+phys), intent(in)}]{wind,  }\item[{real(kind=kind\+\_\+phys), intent(in)}]{z0max,  }\item[{real(kind=kind\+\_\+phys), intent(in)}]{ztmax,  }\item[{real(kind=kind\+\_\+phys), intent(in)}]{tvs,  }\item[{real(kind=kind\+\_\+phys), intent(in)}]{grav,  }\item[{logical, intent(in)}]{thsfc\+\_\+loc,  }\item[{real(kind=kind\+\_\+phys), intent(out)}]{rb,  }\item[{real(kind=kind\+\_\+phys), intent(out)}]{fm,  }\item[{real(kind=kind\+\_\+phys), intent(out)}]{fh,  }\item[{real(kind=kind\+\_\+phys), intent(out)}]{fm10,  }\item[{real(kind=kind\+\_\+phys), intent(out)}]{fh2,  }\item[{real(kind=kind\+\_\+phys), intent(out)}]{cm,  }\item[{real(kind=kind\+\_\+phys), intent(out)}]{ch,  }\item[{real(kind=kind\+\_\+phys), intent(out)}]{stress,  }\item[{real(kind=kind\+\_\+phys), intent(out)}]{ustar }\end{DoxyParamCaption})}



Referenced by \mbox{\hyperlink{namespacegfs__surface__composites__post_abd297eb58ede40e2996ca201e9fe7ee6_abd297eb58ede40e2996ca201e9fe7ee6}{gfs\+\_\+surface\+\_\+composites\+\_\+post\+::gfs\+\_\+surface\+\_\+composites\+\_\+post\+\_\+run()}}, and \mbox{\hyperlink{group___g_f_s__diff__main_ga21cb96270bf86cdc49ca64a91a7400f1_ga21cb96270bf86cdc49ca64a91a7400f1}{sfc\+\_\+diff\+\_\+run()}}.

Here is the caller graph for this function\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{group___g_f_s__diff__main_gab286fa55ff48bff296b75dd2b6dc4e79_gab286fa55ff48bff296b75dd2b6dc4e79_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{group___g_f_s__diff__main_ga699273090ce209aa668bd430196c084c_ga699273090ce209aa668bd430196c084c}\label{group___g_f_s__diff__main_ga699273090ce209aa668bd430196c084c_ga699273090ce209aa668bd430196c084c}} 
\index{sfc\_diff@{sfc\_diff}!znot\_m\_v6@{znot\_m\_v6}}
\index{znot\_m\_v6@{znot\_m\_v6}!sfc\_diff@{sfc\_diff}}
\doxyparagraph{\texorpdfstring{znot\_m\_v6()}{znot\_m\_v6()}}
{\footnotesize\ttfamily subroutine sfc\+\_\+diff\+::znot\+\_\+m\+\_\+v6 (\begin{DoxyParamCaption}\item[{real(kind=kind\+\_\+phys), intent(in)}]{uref,  }\item[{real(kind=kind\+\_\+phys), intent(out)}]{znotm }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Referenced by \mbox{\hyperlink{group___g_f_s__diff__main_ga21cb96270bf86cdc49ca64a91a7400f1_ga21cb96270bf86cdc49ca64a91a7400f1}{sfc\+\_\+diff\+\_\+run()}}.

Here is the caller graph for this function\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=328pt]{group___g_f_s__diff__main_ga699273090ce209aa668bd430196c084c_ga699273090ce209aa668bd430196c084c_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacesfc__diff_a8cc020626ffbda304a8f62ec0275ef73_a8cc020626ffbda304a8f62ec0275ef73}\label{namespacesfc__diff_a8cc020626ffbda304a8f62ec0275ef73_a8cc020626ffbda304a8f62ec0275ef73}} 
\index{sfc\_diff@{sfc\_diff}!znot\_t\_v6@{znot\_t\_v6}}
\index{znot\_t\_v6@{znot\_t\_v6}!sfc\_diff@{sfc\_diff}}
\doxyparagraph{\texorpdfstring{znot\_t\_v6()}{znot\_t\_v6()}}
{\footnotesize\ttfamily subroutine sfc\+\_\+diff\+::znot\+\_\+t\+\_\+v6 (\begin{DoxyParamCaption}\item[{real(kind=kind\+\_\+phys), intent(in)}]{uref,  }\item[{real(kind=kind\+\_\+phys), intent(out)}]{znott }\end{DoxyParamCaption})}

\mbox{\Hypertarget{namespacesfc__diff_a0a96b398c6aa2c0e4ce2d57ec1bafa2c_a0a96b398c6aa2c0e4ce2d57ec1bafa2c}\label{namespacesfc__diff_a0a96b398c6aa2c0e4ce2d57ec1bafa2c_a0a96b398c6aa2c0e4ce2d57ec1bafa2c}} 
\index{sfc\_diff@{sfc\_diff}!znot\_m\_v7@{znot\_m\_v7}}
\index{znot\_m\_v7@{znot\_m\_v7}!sfc\_diff@{sfc\_diff}}
\doxyparagraph{\texorpdfstring{znot\_m\_v7()}{znot\_m\_v7()}}
{\footnotesize\ttfamily subroutine sfc\+\_\+diff\+::znot\+\_\+m\+\_\+v7 (\begin{DoxyParamCaption}\item[{real(kind=kind\+\_\+phys), intent(in)}]{uref,  }\item[{real(kind=kind\+\_\+phys), intent(out)}]{znotm }\end{DoxyParamCaption})}

\mbox{\Hypertarget{namespacesfc__diff_a0be679dd34720d161a76d042be84eea9_a0be679dd34720d161a76d042be84eea9}\label{namespacesfc__diff_a0be679dd34720d161a76d042be84eea9_a0be679dd34720d161a76d042be84eea9}} 
\index{sfc\_diff@{sfc\_diff}!znot\_t\_v7@{znot\_t\_v7}}
\index{znot\_t\_v7@{znot\_t\_v7}!sfc\_diff@{sfc\_diff}}
\doxyparagraph{\texorpdfstring{znot\_t\_v7()}{znot\_t\_v7()}}
{\footnotesize\ttfamily subroutine sfc\+\_\+diff\+::znot\+\_\+t\+\_\+v7 (\begin{DoxyParamCaption}\item[{real(kind=kind\+\_\+phys), intent(in)}]{uref,  }\item[{real(kind=kind\+\_\+phys), intent(out)}]{znott }\end{DoxyParamCaption})}



\doxysubsubsection{Variable Documentation}
\mbox{\Hypertarget{namespacesfc__diff_ad042f7db034ad877731c12f6034dde0c_ad042f7db034ad877731c12f6034dde0c}\label{namespacesfc__diff_ad042f7db034ad877731c12f6034dde0c_ad042f7db034ad877731c12f6034dde0c}} 
\index{sfc\_diff@{sfc\_diff}!ca@{ca}}
\index{ca@{ca}!sfc\_diff@{sfc\_diff}}
\doxyparagraph{\texorpdfstring{ca}{ca}}
{\footnotesize\ttfamily real (kind=kind\+\_\+phys), parameter sfc\+\_\+diff\+::ca =0.\+4\+\_\+kind\+\_\+phys\hspace{0.3cm}{\ttfamily [private]}}

