CCPP SciDoc v7.0.0  v7.0.0
Common Community Physics Package Developed at DTC
 
Loading...
Searching...
No Matches
MYNN Surface Layer Module

This scheme (1) performs pre-mynnsfc work, (2) runs the mynn sfc layer scheme, and (3) performs post-mynnsfc work More...

Modules

module  module_sf_mynn
 This module contain routines to calculate stability parameters, kinematic siscosity in MYNN surface layer scheme.
 

Functions/Subroutines

subroutine module_sf_mynn::sfclay_mynn (u3d, v3d, t3d, qv3d, p3d, dz8w, th3d, pi3d, qc3d, psfcpa, pblh, mavail, xland, dx, isfflx, isftcflx, lsm, lsm_ruc, compute_flux, compute_diag, iz0tlnd, psi_opt, sigmaf, vegtype, shdmax, ivegsrc, z0pert, ztpert, redrag, sfc_z0_type, itimestep, iter, flag_iter, flag_restart, 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.
 
subroutine module_sf_mynn::sfclay1d_mynn (flag_iter, j, u1d, v1d, t1d, qv1d, p1d, dz8w1d, u1d2, v1d2, dz2w1d, psfcpa, pblh, mavail, xland, dx, isfflx, isftcflx, iz0tlnd, psi_opt, compute_flux, compute_diag, sigmaf, vegtype, shdmax, ivegsrc, z0pert, ztpert, redrag, sfc_z0_type, itimestep, iter, flag_restart, 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.
 
subroutine module_sf_mynn::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.
 
subroutine module_sf_mynn::davis_etal_2008 (z_0, ustar)
 
subroutine module_sf_mynn::taylor_yelland_2001 (z_0, ustar, wsp10)
 This formulation for roughness length was designed account for. wave steepness.
 
subroutine module_sf_mynn::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..
 
subroutine module_sf_mynn::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.
 
subroutine module_sf_mynn::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).
 
subroutine module_sf_mynn::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.
 
subroutine module_sf_mynn::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 The actual reference is unknown. This was passed along by Jim Edson (personal communication). This is for use over water only, preferably open ocean.
 
subroutine module_sf_mynn::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.
 
subroutine module_sf_mynn::gfs_z0_lnd (z0max, shdmax, z1, vegtype, ivegsrc, z0pert)
 
subroutine module_sf_mynn::gfs_zt_lnd (ztmax, z0max, sigmaf, ztpert, ustar_lnd)
 
subroutine module_sf_mynn::gfs_z0_wat (z0rl_wat, ustar_wat, wspd, z1, sfc_z0_type, redrag)
 
subroutine module_sf_mynn::gfs_zt_wat (ztmax, z0rl_wat, restar, wspd, z1, sfc_z0_type, device_errmsg, device_errflg)
 
subroutine module_sf_mynn::znot_m_v6 (uref, znotm)
 add fitted z0,zt curves for hurricane application (used in HWRF/HMON) Weiguo Wang, 2019-0425
 
subroutine module_sf_mynn::znot_t_v6 (uref, znott)
 Calculate scalar roughness over water with input 10-m wind For low-to-moderate winds, try to match the Ck-U10 relationship from COARE algorithm For high winds, try to retain the Ck-U10 relationship of FY2015 HWRF.
 
subroutine module_sf_mynn::znot_m_v7 (uref, znotm)
 Calculate areodynamical roughness over water with input 10-m wind For low-to-moderate winds, try to match the Cd-U10 relationship from COARE V3.5 (Edson et al. 2013) For high winds, try to fit available observational data Comparing to znot_t_v6, slightly decrease Cd for higher wind speed.
 
subroutine module_sf_mynn::znot_t_v7 (uref, znott)
 Calculate scalar roughness over water with input 10-m wind For low-to-moderate winds, try to match the Ck-U10 relationship from COARE algorithm For high winds, try to retain the Ck-U10 relationship of FY2015 HWRF To be compatible with the slightly decreased Cd for higher wind speed.
 
subroutine module_sf_mynn::andreas_2002 (z_0, bvisc, ustar, zt, zq)
 This is taken from Andreas (2002; J. of Hydromet) and Andreas et al. (2005; BLM).
 
subroutine module_sf_mynn::psi_hogstrom_1996 (psi_m, psi_h, zl, zt, z_0, za)
 This subroutine returns the stability functions based off of Hogstrom (1996).
 
subroutine module_sf_mynn::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).
 
subroutine module_sf_mynn::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.
 
subroutine module_sf_mynn::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.
 
subroutine module_sf_mynn::psi_businger_1971 (psi_m, psi_h, zl)
 This subroutine returns the flux-profile relationships of Businger el al. 1971.
 
subroutine module_sf_mynn::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.
 
subroutine module_sf_mynn::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)
 
subroutine module_sf_mynn::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.
 
real(kind_phys) function module_sf_mynn::zolri (ri, za, z0, zt, zol1, psi_opt)
 
subroutine module_sf_mynn::psi_init (psi_opt, errmsg, errflg)
 
real(kind_phys) function module_sf_mynn::psim_stable_full (zolf)
 
real(kind_phys) function module_sf_mynn::psih_stable_full (zolf)
 
real(kind_phys) function module_sf_mynn::psim_unstable_full (zolf)
 
real(kind_phys) function module_sf_mynn::psih_unstable_full (zolf)
 
real(kind_phys) function module_sf_mynn::psim_stable_full_gfs (zolf)
 
real(kind_phys) function module_sf_mynn::psih_stable_full_gfs (zolf)
 
real(kind_phys) function module_sf_mynn::psim_unstable_full_gfs (zolf)
 
real(kind_phys) function module_sf_mynn::psih_unstable_full_gfs (zolf)
 
real(kind_phys) function module_sf_mynn::psim_stable (zolf, psi_opt)
 look-up table functions - or, if beyond -10 < z/L < 10, recalculate
 
real(kind_phys) function module_sf_mynn::psih_stable (zolf, psi_opt)
 
real(kind_phys) function module_sf_mynn::psim_unstable (zolf, psi_opt)
 
real(kind_phys) function module_sf_mynn::psih_unstable (zolf, psi_opt)
 
subroutine mynnsfc_wrapper::mynnsfc_wrapper_init (do_mynnsfclay, errmsg, errflg)
 
subroutine mynnsfc_wrapper::mynnsfc_wrapper_run (im, levs, itimestep, iter, flag_iter, flag_init, flag_restart, lsm, lsm_ruc, sigmaf, vegtype, shdmax, ivegsrc, z0pert, ztpert, redrag, sfc_z0_type, isftcflx, iz0tlnd, sfclay_compute_flux, sfclay_compute_diag, delt, dx, u, v, t3d, qvsh, qc, prsl, phii, exner, ps, pblh, slmsk, wet, dry, icy, tskin_wat, tskin_lnd, tskin_ice, tsurf_wat, tsurf_lnd, tsurf_ice, qsfc_wat, qsfc_lnd, qsfc_ice, 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, qsfc, qsfc_lnd_ruc, qsfc_ice_ruc, ustm, zol, mol, rmol, wspd, ch, hflx, qflx, lh, flhc, flqc, u10, v10, th2, t2, q2, wstar, chs2, cqs2, spp_wts_sfc, spp_sfc, lprnt, errmsg, errflg)
 
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.
 
subroutine andreas_2002 (z_0, bvisc, ustar, zt, zq)
 this is taken from andreas (2002; j. of hydromet) and andreas et al. (2005; blm).
 
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.
 
real *8 function psim_stable_full (zolf)
 
real *8 function psih_stable_full (zolf)
 
real *8 function psim_unstable_full (zolf)
 
real *8 function psih_unstable_full (zolf)
 

Detailed Description

Argument Table

mynnsfc_wrapper_init argument table
local_namestandard_namelong_nameunitstypedimensionskindintent
do_mynnsfclayflag_for_mellor_yamada_nakanishi_niino_surface_layer_schemeflag to activate MYNN surface layerflaglogical()in
errmsgccpp_error_messageerror message for error handling in CCPPnonecharacter()len=*out
errflgccpp_error_codeerror code for error handling in CCPP1integer()out