CCPP SciDoc  v6.0.0
Common Community Physics Package Developed at DTC
module_sf_mynn Module Reference

Functions/Subroutines

subroutine sfclay_mynn (U3D, V3D, T3D, QV3D, P3D, dz8w, th3d, pi3d, qc3d, PSFCPA, PBLH, MAVAIL, XLAND, DX, CP, G, ROVCP, R, XLV, SVP1, SVP2, SVP3, SVPT0, EP1, EP2, KARMAN, ISFFLX, isftcflx, lsm, lsm_ruc, iz0tlnd, psi_opt, sigmaf, vegtype, shdmax, ivegsrc, z0pert, ztpert, redrag, sfc_z0_type, itimestep, iter, flag_iter, wet, dry, icy, tskin_wat, tskin_lnd, tskin_ice, tsurf_wat, tsurf_lnd, tsurf_ice, qsfc_wat, qsfc_lnd, qsfc_ice, snowh_wat, snowh_lnd, snowh_ice, ZNT_wat, ZNT_lnd, ZNT_ice, UST_wat, UST_lnd, UST_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, HFLX_wat, HFLX_lnd, HFLX_ice, QFLX_wat, QFLX_lnd, QFLX_ice, CH, CHS, CHS2, CQS2, CPM, ZNT, USTM, ZOL, MOL, RMOL, PSIM, PSIH, HFLX, HFX, QFLX, QFX, LH, FLHC, FLQC, QGH, QSFC, U10, V10, TH2, T2, Q2, GZ1OZ0, WSPD, WSTAR, spp_sfc, pattern_spp_sfc, ids, ide, jds, jde, kds, kde, ims, ime, jms, jme, kms, kme, its, ite, jts, jte, kts, kte, errmsg, errflg)
 This subroutine. More...
 
subroutine sfclay1d_mynn (flag_iter, J, U1D, V1D, T1D, QV1D, P1D, dz8w1d, U1D2, V1D2, dz2w1d, PSFCPA, PBLH, MAVAIL, XLAND, DX, CP, G, ROVCP, R, XLV, SVP1, SVP2, SVP3, SVPT0, EP1, EP2, KARMAN, ISFFLX, isftcflx, iz0tlnd, psi_opt, sigmaf, vegtype, shdmax, ivegsrc, z0pert, ztpert, redrag, sfc_z0_type, itimestep, iter, lsm, lsm_ruc, wet, dry, icy, tskin_wat, tskin_lnd, tskin_ice, tsurf_wat, tsurf_lnd, tsurf_ice, qsfc_wat, qsfc_lnd, qsfc_ice, snowh_wat, snowh_lnd, snowh_ice, ZNT_wat, ZNT_lnd, ZNT_ice, UST_wat, UST_lnd, UST_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, psix_wat, psix_lnd, psix_ice, psit_wat, psit_lnd, psit_ice, psix10_wat, psix10_lnd, psix10_ice, psit2_wat, psit2_lnd, psit2_ice, HFLX_wat, HFLX_lnd, HFLX_ice, QFLX_wat, QFLX_lnd, QFLX_ice, ch, CHS, CHS2, CQS2, CPM, ZNT, USTM, ZOL, MOL, RMOL, PSIM, PSIH, HFLX, HFX, QFLX, QFX, LH, FLHC, FLQC, QGH, QSFC, U10, V10, TH2, T2, Q2, GZ1OZ0, WSPD, wstar, qstar, spp_sfc, rstoch1D, ids, ide, jds, jde, kds, kde, ims, ime, jms, jme, kms, kme, its, ite, jts, jte, kts, kte, errmsg, errflg)
 This subroutine calculates u*, z/L, and the exchange coefficients which are passed to subsequent scheme to calculate the fluxes. This scheme has options to calculate the fluxes and near-surface diagnostics, as was needed in WRF, but these are skipped for FV3. More...
 
subroutine zilitinkevich_1995 (Z_0, Zt, Zq, restar, ustar, KARMAN, landsea, IZ0TLND2, spp_sfc, rstoch)
 This subroutine returns the thermal and moisture roughness lengths from Zilitinkevich (1995) and Zilitinkevich et al. (2001) over land and water, respectively. More...
 
subroutine davis_etal_2008 (Z_0, ustar)
 
subroutine taylor_yelland_2001 (Z_0, ustar, wsp10)
 This formulation for roughness length was designed account for. wave steepness. More...
 
subroutine charnock_1955 (Z_0, ustar, wsp10, visc, zu)
 This version of Charnock's relation employs a varying Charnock parameter, similar to COARE3.0 [Fairall et al. (2003)]. The Charnock parameter CZC is varied from .011 to .018. between 10-m wsp = 10 and 18.. More...
 
subroutine edson_etal_2013 (Z_0, ustar, wsp10, visc, zu)
 This version of Charnock's relation employs a varying Charnock parameter, taken from COARE 3.5 [Edson et al. (2001, JPO)]. The Charnock parameter CZC is varied from about .005 to .028 between 10-m wind speeds of 6 and 19 m/s. More...
 
subroutine garratt_1992 (Zt, Zq, Z_0, Ren, landsea)
 This formulation for the thermal and moisture roughness lengths (Zt and Zq) relates them to Z0 via the roughness Reynolds number (Ren). This formula comes from Fairall et al. (2003). It is modified from the original Garratt-Brutsaert model to better fit the COARE/HEXMAX data. The formula for land uses a constant ratio (Z_0/7.4) taken from Garratt (1992). More...
 
subroutine fairall_etal_2003 (Zt, Zq, Ren, ustar, visc, rstoch, spp_sfc)
 This formulation for thermal and moisture roughness length (Zt and Zq) as a function of the roughness Reynolds number (Ren) comes from the COARE3.0 formulation, empirically derived from COARE and HEXMAX data [Fairall et al. (2003)]. Edson et al. (2004; JGR) suspected that this relationship overestimated the scalar roughness lengths for low Reynolds number flows, so an optional smooth flow relationship, taken from Garratt (1992, p. 102), is available for flows with Ren < 2. More...
 
subroutine fairall_etal_2014 (Zt, Zq, Ren, ustar, visc, rstoch, spp_sfc)
 This formulation for thermal and moisture roughness length (Zt and Zq) as a function of the roughness Reynolds number (Ren) comes from the COARE 3.5/4.0 formulation, empirically derived from COARE and HEXMAX data [Fairall et al. (2014? coming soon, not yet published as of July 2014)]. This is for use over water only. More...
 
subroutine yang_2008 (Z_0, Zt, Zq, ustar, tstar, qst, Ren, visc)
 This is a modified version of Yang et al (2002 QJRMS, 2008 JAMC) and Chen et al (2010, J of Hydromet). Although it was originally designed for arid regions with bare soil, it is modified here to perform over a broader spectrum of vegetation. More...
 
subroutine gfs_z0_lnd (z0max, shdmax, z1, vegtype, ivegsrc, z0pert)
 
subroutine gfs_zt_lnd (ztmax, z0max, sigmaf, ztpert, ustar_lnd)
 
subroutine gfs_z0_wat (z0rl_wat, ustar_wat, WSPD, z1, sfc_z0_type, redrag)
 
subroutine gfs_zt_wat (ztmax, z0rl_wat, restar, WSPD, z1, sfc_z0_type)
 
subroutine znot_m_v6 (uref, znotm)
 add fitted z0,zt curves for hurricane application (used in HWRF/HMON) Weiguo Wang, 2019-0425 More...
 
subroutine znot_t_v6 (uref, znott)
 
subroutine znot_m_v7 (uref, znotm)
 
subroutine znot_t_v7 (uref, znott)
 
subroutine andreas_2002 (Z_0, bvisc, ustar, Zt, Zq)
 This is taken from Andreas (2002; J. of Hydromet) and Andreas et al. (2005; BLM). More...
 
subroutine psi_hogstrom_1996 (psi_m, psi_h, zL, Zt, Z_0, Za)
 This subroutine returns the stability functions based off of Hogstrom (1996). More...
 
subroutine psi_dyerhicks (psi_m, psi_h, zL, Zt, Z_0, Za)
 This subroutine returns the stability functions based off of Hogstrom (1996), but with different constants compatible with Dyer and Hicks (1970/74?). This formulation is used for testing/development by Nakanishi (personal communication). More...
 
subroutine psi_beljaars_holtslag_1991 (psi_m, psi_h, zL)
 This subroutine returns the stability functions based off of Beljaar and Holtslag 1991, which is an extension of Holtslag and Debruin 1989. More...
 
subroutine psi_zilitinkevich_esau_2007 (psi_m, psi_h, zL)
 This subroutine returns the stability functions come from Zilitinkevich and Esau (2007, BM), which are formulatioed from the "generalized similarity theory" and tuned to the LES DATABASE64 to determine their dependence on z/L. More...
 
subroutine psi_businger_1971 (psi_m, psi_h, zL)
 This subroutine returns the flux-profile relationships of Businger el al. 1971. More...
 
subroutine psi_suselj_sood_2010 (psi_m, psi_h, zL)
 This subroutine returns flux-profile relatioships based off of Lobocki (1993), which is derived from the MY-level 2 model. Suselj and Sood (2010) applied the surface layer length scales from Nakanishi (2001) to get this new relationship. These functions are more agressive (larger magnitude) than most formulations. They showed improvement over water, but untested over land. More...
 
subroutine psi_cb2005 (psim1, psih1, zL, z0L)
 This subroutine returns the stability functions based off of Cheng and Brutseart (2005, BLM), for use in stable conditions only. The returned values are the combination of psi((za+zo)/L) - psi(z0/L) More...
 
subroutine li_etal_2010 (zL, Rib, zaz0, z0zt)
 This subroutine returns a more robust z/L that best matches the z/L from Hogstrom (1996) for unstable conditions and Beljaars and Holtslag (1991) for stable conditions. More...
 
real function zolri (ri, za, z0, zt, zol1, psi_opt)
 
real function zolri2 (zol2, ri2, za, z0, zt, psi_opt)
 
real function zolrib (ri, za, z0, zt, logz0, logzt, zol1, psi_opt)
 
subroutine psi_init (psi_opt, errmsg, errflg)
 
real function psim_stable_full (zolf)
 
real function psih_stable_full (zolf)
 
real function psim_unstable_full (zolf)
 
real function psih_unstable_full (zolf)
 
real function psim_stable_full_gfs (zolf)
 
real function psih_stable_full_gfs (zolf)
 
real function psim_unstable_full_gfs (zolf)
 
real function psih_unstable_full_gfs (zolf)
 
real function psim_stable (zolf, psi_opt)
 look-up table functions - or, if beyond -10 < z/L < 10, recalculate More...
 
real function psih_stable (zolf, psi_opt)
 
real function psim_unstable (zolf, psi_opt)
 
real function psih_unstable (zolf, psi_opt)
 

Variables

real, parameter p1000mb = 100000.
 
real, parameter xlvcp =xlv/cp
 
real, parameter ep_3 =1.-ep_2
 
real, parameter wmin =0.1
 
real, parameter vconvc =1.25
 
real, parameter onethird = 1./3.
 
real, parameter sqrt3 = 1.7320508075688773
 
real, parameter atan1 = 0.785398163397
 
real, parameter log01 =log(0.01)
 
real, parameter log05 =log(0.05)
 
real, parameter log07 =log(0.07)
 
real, parameter snowz0 =0.011
 
real, parameter coare_opt =3.0
 
integer, parameter debug_code = 0
 
logical, parameter compute_diag = .false.
 
logical, parameter compute_flux = .false.
 
real, dimension(0:1000), save psim_stab
 
real, dimension(0:1000), save psim_unstab
 
real, dimension(0:1000), save psih_stab
 
real, dimension(0:1000), save psih_unstab