Closed pjpegion closed 1 year ago
Update, I see the Fei Chen's paper uses canopy height instead of surface roughness when calculating zcli1, so I suppose that this is not a bug.
@pjpegion @HelinWei-NOAA @RongqianYang-NOAA @wzzheng90 @ChunxiZhang-NOAA @yangfanglin
I'm a little confused here as well. I see a bug, related to the one you were seeing. As @pjpegion says, in the Chen 2009 paper, canopy height should be used.
czil = 10^(-0.4 * canopy_height)
There seems to be an extra factor of 0.07 here (typically used to convert z0 to canopy height)
The sfc_diff code is using a different approximation of canopy_height = z0m/0.1
@barlage I did not catch that inconsistency. It looks to me that the 0.07 should not be there.
@pjpegion FYI- this is a bug that needs to be fixed but the effect is not catastrophic. The default NoahMP uses z0t = z0m. The addition of thermal roughness length options were merged in #873. The bug which is activated with opt_trs=2 essential reverts back to the default method. The main effects/differences will be over short vegetation.
Description
While debugging for another reason, I have found that the surface_roughness_length_over_land and the bounded_surface_roughness_length_for_heat_over_land were always the same. I believe this is because the calculation of zcli1 at line 5183 of module_sf_noahmplsm.F90 is using the canopy height (parameters%hvt) and not the thermal roughness length.
Trier et al. 2001 shows that Zcli ranges from 0.01 to 1.0, but at a certain grid point that I am using to debug, the value of Zcli is ~5.0e-115.
Additional context
This bug was found in conjunction with Issue #963