Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

incorrect calculation of "bounded_surface_roughness_length_for_heat_over_land" in NOAH-MP #964

Closed
pjpegion opened this issue Sep 6, 2022 · 4 comments
Labels

Comments

@pjpegion
Copy link
Collaborator

pjpegion commented Sep 6, 2022

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

@pjpegion pjpegion added the bug label Sep 6, 2022
@pjpegion
Copy link
Collaborator Author

pjpegion commented Sep 6, 2022

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.

@barlage
Copy link
Collaborator

barlage commented Sep 6, 2022

@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

@pjpegion
Copy link
Collaborator Author

pjpegion commented Sep 7, 2022

@barlage I did not catch that inconsistency. It looks to me that the 0.07 should not be there.

@barlage
Copy link
Collaborator

barlage commented Sep 9, 2022

@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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants