Skip to content

Commit

Permalink
Fix for using Noah-MP table roughness length in urban areas when usin…
Browse files Browse the repository at this point in the history
…g bulk scheme #827

TYPE: bug fix

KEYWORDS: Noah-MP

SOURCE: Jorge Navarro (CIEMAT, Spain), Michael Barlage (NCAR)

DESCRIPTION OF CHANGES:
Problem:
When running Noah-MP with no urban scheme (bulk method), the roughness length in urban areas was not used from the MPTABLE and instead was set to a bare soil value. This resulted in a high temperature, high wind speed, and low sensible heat flux over cities.

Fix: use z0 from the MPTABLE

LIST OF MODIFIED FILES:
M phys/module_sf_noahmplsm.F

TESTS CONDUCTED:

24-hr Noah-MP simulations in a summer and winter configuration
RELEASE NOTES:
When running Noah-MP with no urban scheme (bulk method), the roughness length in urban areas used a bare soil value. This resulted in a high temperature, high wind speed, and low sensible heat flux over cities. The correction uses z0 from the Noah-MP look-up table.
  • Loading branch information
weiwangncar authored Mar 20, 2019
2 parents 76065ee + a5ca65f commit 1336d1d
Showing 1 changed file with 9 additions and 0 deletions.
9 changes: 9 additions & 0 deletions phys/module_sf_noahmplsm.F
Original file line number Diff line number Diff line change
Expand Up @@ -1857,6 +1857,15 @@ SUBROUTINE ENERGY (parameters,ICE ,VEGTYP ,IST ,NSNOW ,NSOIL , & !in
ZPD = ZPDG
END IF
! special case for urban
IF (parameters%urban_flag) THEN
Z0MG = parameters%Z0MVT
ZPDG = 0.65 * parameters%HVT
Z0M = Z0MG
ZPD = ZPDG
END IF
ZLVL = MAX(ZPD,parameters%HVT) + ZREF
IF(ZPDG >= ZLVL) ZLVL = ZPDG + ZREF
! UR = UR*LOG(ZLVL/Z0M)/LOG(10./Z0M) !input UR is at 10m
Expand Down

0 comments on commit 1336d1d

Please sign in to comment.