This module contain routines to calculate stability parameters, kinematic siscosity in MYNN surface layer scheme.
|
subroutine | 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 | 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 | 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 | 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.
|
|
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..
|
|
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.
|
|
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).
|
|
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.
|
|
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 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 | 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 | 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, device_errmsg, device_errflg) |
|
subroutine | znot_m_v6 (uref, znotm) |
| add fitted z0,zt curves for hurricane application (used in HWRF/HMON) Weiguo Wang, 2019-0425
|
|
subroutine | 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 | 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 | 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 | andreas_2002 (z_0, bvisc, ustar, zt, zq) |
| This is taken from Andreas (2002; J. of Hydromet) and Andreas et al. (2005; BLM).
|
|
subroutine | psi_hogstrom_1996 (psi_m, psi_h, zl, zt, z_0, za) |
| This subroutine returns the stability functions based off of Hogstrom (1996).
|
|
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).
|
|
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.
|
|
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.
|
|
subroutine | psi_businger_1971 (psi_m, psi_h, zl) |
| This subroutine returns the flux-profile relationships of Businger el al. 1971.
|
|
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.
|
|
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)
|
|
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(kind_phys) function | zolri (ri, za, z0, zt, zol1, psi_opt) |
|
real(kind_phys) function | zolri2 (zol2, ri2, za, z0, zt, psi_opt) |
|
real(kind_phys) function | zolrib (ri, za, z0, zt, logz0, logzt, zol1, psi_opt) |
|
subroutine | psi_init (psi_opt, errmsg, errflg) |
|
real(kind_phys) function | psim_stable_full (zolf) |
|
real(kind_phys) function | psih_stable_full (zolf) |
|
real(kind_phys) function | psim_unstable_full (zolf) |
|
real(kind_phys) function | psih_unstable_full (zolf) |
|
real(kind_phys) function | psim_stable_full_gfs (zolf) |
|
real(kind_phys) function | psih_stable_full_gfs (zolf) |
|
real(kind_phys) function | psim_unstable_full_gfs (zolf) |
|
real(kind_phys) function | psih_unstable_full_gfs (zolf) |
|
real(kind_phys) function | psim_stable (zolf, psi_opt) |
| look-up table functions - or, if beyond -10 < z/L < 10, recalculate
|
|
real(kind_phys) function | psih_stable (zolf, psi_opt) |
|
real(kind_phys) function | psim_unstable (zolf, psi_opt) |
|
real(kind_phys) function | psih_unstable (zolf, psi_opt) |
|