About the modification of roughness length and zero-plane displacement


New member
Dear WRF community,

Recently, our team is trying to modify the roughness length and zero plane displacement in WRF codes (version 4.0). When we grep "roughness length" and "zero plane displacement" in "/phy *.F", it is found that various ".F" files contain "roughness length", including module_bl*, module_cu*, module_fr*, module_pbl*, module_sf*, and module_surface_driver.F. While for "zero plane displacement", only module_sf_noahmp_glacier.F, module_sf_noahmplsm.F, module_sf_ssib.F and module_sf_urban.F have.

So my question is when it comes to the modification of both roughness length and zero-plane displacement, which type of .F file should I modify? Should I modify the land surface scheme (such as Noah and Noah-mp) or the planetary boundary layer scheme (such as YSU)? Besides, since only noah-mp scheme has "zero plane displacement", if I want to modify both of them, do I have to choose this scheme?

I'll really appreciate any help on this.

Ming Chen

Staff member
roughnesss length (ZNT) is an important variable in parameterization of surface layer schemes (sfclay). I guess you should modify codes related to sfcylay schemes. Note that ZNT values for various landuse type are provided in VEGPARM.TBL and MPTABLE.TBL. Depending on your goal of the work, you may also modify ZNT values in the tables, which I suppose is easier than modifying codes.


New member
Thanks for your replying.
Besides, since only noah-mp and ssib land surface schemes have "zero plane displacement", if I want to modify "zero plane displacement", do I have to choose these land surface schemes in the simulation?
Thanks a lot.