subroutine module_sf_noahmplsm::yang_2008 | ( | real (kind=kind_phys), intent(in) | z_0, |
real (kind=kind_phys), intent(out) | zt, | ||
real (kind=kind_phys), intent(out) | zq, | ||
real (kind=kind_phys), intent(in) | ustar, | ||
real (kind=kind_phys), intent(in) | tstar, | ||
real (kind=kind_phys), intent(in) | qst, | ||
real (kind=kind_phys), intent(in) | ren, | ||
real (kind=kind_phys), intent(in) | visc | ||
) |
the original formulation relates the thermal roughness length (zt) to u* and t*:
zt = ht * exp(-beta*(ustar**0.5)*(abs(tstar)**0.25))
where ht = renc*visc/ustar and the critical reynolds number (renc) = 70. beta was originally = 10 (2002 paper) but was revised to 7.2 (in 2008 paper). their form typically varies the ratio z0/zt by a few orders of magnitude (1-1e4).
this modified form uses beta = 1.5 and a variable renc (function of z_0), so zt generally varies similarly to the zilitinkevich form (with czil = 0.1) for very small or negative surface heat fluxes but can become close to the zilitinkevich with czil = 0.2 for very large hfx (large negative t*). also, the exponent (0.25) on tstar was changed to 1.0, since we found zt was reduced too much for low-moderate positive heat fluxes.
this should only be used over land!
Referenced by sfcdif4().