Scheduled Downtime
On Friday 21 April 2023 @ 5pm MT, this website will be down for maintenance and expected to return online the morning of 24 April 2023 at the latest

Roughness Value


New member
Dear all,

I am trying to understand how the surface roughness value is incorporated in the WRF model and test some different values for simulating near-surface winds in coastal areas of Brazil. Based on this answer, bias in WRF winds are a known issue and some alternatives were developed, like using options topo_wind along with YSU PBL scheme. Using neither topo_wind option solve my problem, so I am trying to force change surface roughness values. And according to this answer I could change CZO and OZO values in the module_sf_sfclayrev.F file (making sure I use sf_sfclay_physics = 1). But if roughness values are given by the constants in that fortran file, when does the model uses the values given in LANDUSE.TBL or VEGPARAM.TBL? Also, can I output the surface roughness (ZNT) to the history output? I can't seem to find it in any registry file.

Thank you in advance,


Near-surface wind is greatly affected by surface roughness. Please modify the values of Z0MIN and Z0MAX in VEGPARM.TBL if you want to tune the simulation of surface wind.

To output ZNT, you need to change the line below in Registry.EM_COMMON from
state real ZNT ij misc 1 - i3r "ZNT" "TIME-VARYING ROUGHNESS LENGTH" "m"
state real ZNT ij misc 1 - i3rh "ZNT" "TIME-VARYING ROUGHNESS LENGTH" "m"

Then recompile WRF.
Thanks for the reply!
I've changed the Z0MIN and Z0MAX values and the 10-m wind in some stations were indeed greatly affected. Would you know if there is a way I can create a new Land Use category? Something like a 22: Urban Type 2 (I am using MODIS right now)? If so, can I do it directly in the geo_em.d<domain> files?
Thank you!

I am not very clear about your question. Please clarify that you want to create a new landuse/land over dataset or you want to modify VEGPARM.TBL?
Actually, I would like to do both. I would like to change some urban areas (not all) from LU_INDEX 13 to some other unused value (22, for example), and also change the LandUse category in the VEGPARM.TBL and replace Z0MIN and Z0MAX for those new categories.
Thank you again, hopefully my comment is more clear now.
Thank you for the update. You can always change LU_INDEX in geo_em, and these changes will be adopted in met_em and wrfinput.
The values in VEGPARM.TBL can be changed for sensitivity test or for one's specific case.