WRF | MPAS | UCM and LCZs

WRF-UCM

WRF-UCM refers to the Weather Research and Forecasting model (WRF) integrated with an Urban Canopy Model (UCM). This framework is designed to enhance the simulation of urban environments within meteorological models, allowing for more accurate predictions of weather patterns in urban areas.

Urban Canopy Model (UCM):

A single-layer model designed to represent urban environments. It incorporates simplified urban geometries and features such as building shadowing and heat exchange processes, improving the representation of lower boundary conditions in urban areas

BEP+BEM

The Building Effect Parameterization (BEP) and Building Energy Model (BEM) scheme is an advanced modeling framework integrated within the Weather Research and Forecasting (WRF) model, designed to improve the simulation of urban climates.

  • The BEM aspect incorporates building energy consumption factors, accounting for heating and cooling needs. This integration helps in assessing the urban heat budget more accurately by considering how energy use impacts local temperatures and climate conditions.

WRF Bug-fix/updated UCM

New features in WRFV4.6

  • Add two options (slucm_distributed_drag and distributed_ahe_opt) to WRF SLUCM (sf_urban_physics = 1) so that spatially varying urban morphological parameters (building height, plan area index, frontal area index, roughness length for momentum, and displacement height) can be considered. Detail
    • SOURCE: Do Ngoc Khanh (Tokyo Institute of Technology)
    • This PR adds a new feature to WRF SLUCM by allowing consideration of spatially varying global distributed urban parameters and spatially hourly monthly varying anthropogenic heat.

Bug fixes and enhancement in WRFV4.6

  • Correct net long wave fluxes for application in modeling urban climate using Single Layer Urban Canopy Model (SLUCM). It slightly improved 2-m temperature in urban area. Details

WRF Bug-fix/updated LCZs

Bug fixes and enhancement in WRFV4.6

  • Fix a bug in Noah-MP for uninitialized leaf mass when LCZ is used. Detail
  • Update urban LCZ parameter table (URBPARM_LCZ.TBL) with more reasonable values. Detail
  • Make the Pleim-Xiu LSM compatible with MODIS LCZ. Also, effects of evaporation from transpiration, soil in both vegetated and non-veg parts and wet leaves on ground temperature all are considered. Previously only the effect from transpiration and evaporation from non-veg soil are considered. Detail

WRF Version 4.5.1 (Bug-fix Release)

  • Fix a bug in building height specification in the LCZ urban parameter table. Details

WRF Version v4.4.2 (Bug-fix Release)

  • Update urban local climate zone (LCZ) numbers in parameter tables to avoid overlap with existing NLCD land types. This update affects VEGPARM.TBL, LANDUSE.TBL, and MPTABLE.TBL. The LCZ numbers in WRF-urban are changed from 31-41 to 51-61. Details
  • Fix the units and unit conversions of several variables in subroutines CARBON and CARBON_CROP (NoahMP scheme); update urban pixel identification by including LCZ urban types in module_sf_noahmpdrv.F for surface variable initialization. Details

WRF Version v4.3.1 Release

  • Some of the urban parameter values for LCZ are changed to make them more generic.

WRF Version 4.3

W2W

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# w2w.py
# A WUDAPT-to-WRF python tool that injects WUDAPT's Local Climate Zone information into WRF.

# Install
pip install w2w
# Install from GitHub:
# pip install git+https://github.com/matthiasdemuzere/w2w

# Run the tool
# Check out its help:
w2w --help

# Try with the provided sample:
# Sample data used here can be downloaded from the repository in the sample_data folder. After clicking on the file you can download it.
w2w ./sample_data lcz_zaragoza.tif geo_em.d04.nc

# Deploy using your own data:
# w2w INPUT_DIRECTORY YOUR_LCZ.TIF YOUR_GEO_EM.d0X.NC

Steps to Run UCM on WRF

1. Prepare the Environment

  • Ensure you have the WRF model installed and configured properly on your system.
  • Download or prepare an urban land-use dataset if you want to use a specific urban area map. If not, you can use the default land-use map.

2. Modify the Configuration Files

  • Namelist Configuration:
    • Open the namelist.input file in your WRF directory.
    • Set the sf_urban_physics option to 1 to enable UCM:
      1
      sf_urban_physics = 1
      • For LCZs, “& physics” section of WRF namelist.input: use_wudapt_lcz =1 (set to 0 by default).
    • Ensure that you set this option for every domain you plan to run.
  • Registry Modifications:
    • Edit the Registry.EM file located in the Registry/ directory. Add an 'h' in the appropriate column to enable output of urban canopy variables in your output files.

3. Prepare Urban Parameters

  • Modify the URBPARM.TBL file located in the run/ directory to adjust urban parameters according to your study area. This includes parameters like building height, surface albedo, and anthropogenic heat emissions.

ERROR: Warning: too many input landuse types

1
2
3
4
5
6
7
8
9
10
ERROR: ------------------------------ FATAL CALLED ------------------------------
ERROR: Warning: too many input landuse types
CRITICAL ERROR: MPAS core_physics abort

./MPAS/src/core_atmosphere/physics/physics_wrf/module_sf_noahlsm.F:2437: FATAL_ERROR( 'Warning: too many input landuse types' )

open(land_unit,file='LANDUSE.TBL',action='READ',status='OLD',iostat=istat)

./MPAS/src/core_atmosphere/physics/mpas_atmphys_landuse.F:180: read(unit=land_unit,fmt=*) lucats,luseas
./MPAS/src/core_atmosphere/physics/mpas_atmphys_landuse.F:183: write(mess,*) ' landuse type = ' // trim (lutype) // ' found', lucats, &
  • Renew your *.TBL for different version of WRF.

URBPARM.TBL

URBPARM.TBL
ZRRoof level (building height) [m]
ROOF_WIDTHRoof (i.e., building) width [m]
ROAD_WIDTHRoad width [m]
AHAnthropogenic heat [W m-2]
FRC_URBFraction of the urban landscape which does not have natural vegetation. [Fraction]
CAPRHeat capacity of roof [J m-3 K-1]
CAPBHeat capacity of building wall [ J m-3 K-1]
CAPGHeat capacity of ground (road) [J m-3 K-1]
AKSRThermal conductivity of roof [J m-1 s-1 K-1]
AKSBThermal conductivity of building wall [J m-1 s-1 K-1]
AKSGThermal conductivity of ground (road) [J m-1 s-1 K-1]
ALBRSurface albedo of roof [fraction]
ALBBSurface albedo of building wall [fraction]
ALBGSurface albedo of ground (road) [fraction]
EPSRSurface emissivity of roof [-]
EPSBSurface emissivity of building wall [-]
EPSGSurface emissivity of ground (road) [-]
Z0RRoughness length for momentum, over roof [m]
Z0BRoughness length for momentum, over building wall [m] Only active for CH_SCHEME == 1
Z0GRoughness length for momentum, over ground (road) [m] Only active for CH_SCHEME == 1
CH_SCHEMECh of Wall and Road [1: M-O Similarity Theory, 2: Empirical Form of Narita et al., 1997 (recommended)]
TS_SCHEMESurface and Layer Temperatures [1: 4-layer model, 2: Force-Restore method]
AHOPTION[0: No anthropogenic heating, 1: Anthropogenic heating will be added to sensible heat flux term]
AHDIUPRFAnthropogenic Heating diurnal profile. Multiplication factor applied to AH (as defined in the table above) Hourly values ( 24 of them ), starting at 01 hours Local Time. For sub-hourly model time steps, value changes on the hour and is held constant until the next hour.

Anthropogenic Heating (AH)

The parameters for urban land surface are highly case-dependent. The default values given in WRF are based on a few observations and I don't think they are representative. One must adjust these values based on one's specific case. However, we don't have more information about how to specify the values. there is little publications discussing this issue. So they are more empirical. It is needed to set AHOPTION and ALHOPTION to 1 if you want to activate anthropogenic heating. Again, note that these values are also case-dependent. They may not well apply to your case. You probably need to do lots of tuning.

Roughness length

The roughness length is a crucial parameter that influences the simulation of wind profiles and heat exchange in urban areas.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#
# Ch of Wall and Road [ 1: M-O Similarity Theory, 2: Empirical Form of Narita et al., 1997 (recommended) ]
# (sf_urban_physics=1)
#

CH_SCHEME: 2

#
# Z0B: Roughness length for momentum, over building wall [ m ]
# Only active for CH_SCHEME == 1
# (sf_urban_physics=1)
#

Z0B: 0.0001, 0.0001, 0.0001

#
# Z0G: Roughness length for momentum, over ground (road) [ m ]
# Only active for CH_SCHEME == 1
# (sf_urban_physics=1,2,3)
#

Z0G: 0.01, 0.01, 0.01

Set Roughness length Only active for CH_SCHEME == 1,

and, https://github.com/wrf-model/WRF/blob/d66e442fccc04111067e29274c9f9eaccc3cef28/phys/module_sf_urban.F#L83

1
2
!  CH_SCHEME [integer 1 or 2] : Sfc exchange scheme used for building wall and road
! [1: M-O Similarity Theory, 2: Empirical Form (recommend)]

In above Figure 2,

  • left is theta level is 83m, and 1st level is 166m
  • right is theta level is ~23m, and 1st level is ~46m

Papars

ZDC + Z0C + 2m is larger than the 1st WRF level Stop in subroutine urban - change ZDC and Z0C

1
2
3
4
!    ZDC [m]             : Zero plane displacement height (1/5 of ZR)
! Z0C [m] : Roughness length above canyon for momentum (1/10 of ZR)
! ZA [m] : First atmospheric level
! as a lowest boundary condition
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
! Parameters derived from the morphological terms above.
! These parameters are computed in the code.
!
! HGT [-] : normalized building height
! SVF [-] : sky view factor
! R [-] : Normalized roof width (a.k.a. "building coverage ratio")
! RW [-] : = 1 - R
! Z0C [m] : Roughness length above canyon for momentum (1/10 of ZR)
! Z0HC [m] : Roughness length above canyon for heat (1/10 of Z0C)
! ZDC [m] : Zero plane displacement height (1/5 of ZR)

......

Cd = 1.2
alpha_macd = 4.43
beta_macd = 1.0

......

ZDC = ZR * ( 1.0 + ( alpha_macd ** ( -R ) ) * ( R - 1.0 ) )

Z0C = ZR * ( 1.0 - ZDC/ZR ) * &
exp (-(0.5 * beta_macd * Cd / (VonK**2) * ( 1.0-ZDC/ZR) * lambda_f )**(-0.5))

IF( ZDC+Z0C+2. >= ZA) THEN
CALL wrf_error_fatal ("ZDC + Z0C + 2m is larger than the 1st WRF level "// &
"Stop in subroutine urban - change ZDC and Z0C" )
END IF

......

! The following urban canyon geometry parameters are following Macdonald's (1998) formulations

! Lambda_P :: Plan areal fraction, which corresponds to R for a 2-d canyon.
! Lambda_F :: Frontal area index, which corresponds to HGT for a 2-d canyon
! Cd :: Drag coefficient ( 1.2 from Grimmond and Oke, 1998 )
! Alpha_macd :: Emperical coefficient ( 4.43 from Macdonald et al., 1998 )
! Beta_macd :: Correction factor for the drag coefficient ( 1.0 from Macdonald et al., 1998 )

Lambda_P = R_TBL(LC)
Lambda_F = HGT_TBL(LC)
Cd = 1.2
alpha_macd = 4.43
beta_macd = 1.0

......

How is 10m wind speed computed?

Generally 10m wind is computed based on the Monin-Obukhov similarity theory; however, please see phys/module_sf_myjsfc.F regarding the MYJ PBL. For the MM5 surface layer option, see module_sf_sfclay.F. The ARW Technical Note lists published papers that discuss this, if you are interested in reading more.

how the SLUCM interacts with and "talks" to the model

1. The Surface Energy Balance (Thermal Feedback)

The most critical feedback is the Sensible Heat Flux (\(H\)). SLUCM calculates how much heat is absorbed by urban surfaces and how much is released into the air.

  • Canyon Geometry: It considers the "trapping" of radiation within street canyons. During the day, walls and roads absorb shortwave radiation; at night, they release longwave radiation, much of which is re-absorbed by other walls rather than escaping to space.
  • Storage Heat: Because urban materials (concrete, asphalt) have high thermal inertia, SLUCM calculates the heat storage within the layers of roofs, walls, and roads. This heat is released slowly, often peaking after sunset, which feeds back into WRF to simulate the Urban Heat Island (UHI) effect.
  • Anthropogenic Heat: SLUCM adds a user-defined or calculated heat flux from human activities (AC units, traffic) directly into the lowest atmospheric layer of WRF.

2. Momentum Exchange (Dynamic Feedback)

SLUCM changes how WRF perceives "drag" over a city. It calculates the Friction Velocity (\(u^*\)) and the Roughness Length (\(z_0\)) based on building height and density.

  • Wind Profiling: Within the urban canyon, SLUCM assumes an exponential wind profile.
  • Drag Force: It provides an integrated drag coefficient to WRF, which reduces the wind speed in the lowest atmospheric levels more accurately than a simple land-use constant. This affects the development of the Urban Boundary Layer (UBL) and can even trigger local convergence or divergence of air.

In the WRF-SLUCM framework, the Momentum Exchange represents the physical "drag" that a complex 3D city exerts on the smooth atmospheric flow. While a flat surface only has skin friction, a city has form drag—the physical blocking of air by building walls.

SLUCM handles this by modifying the lower boundary conditions of the WRF equations, specifically through the calculation of the Friction Velocity (\(u^*\)) and the Momentum Roughness Length (\(z_{0m}\)).

2.1. The Aerodynamic Parameters: \(z_d\) and \(z_{0m}\)

SLUCM uses the morphometric method (typically following Macdonald et al., 1998) to translate building geometry into aerodynamic variables. It doesn't "see" every building; instead, it uses the average building height (\(ZR\)) and the frontal area index (\(\lambda_f\)) to calculate:

  • Zero-plane Displacement Height (\(z_d\)): This is the effective height at which the main momentum exchange occurs. In a dense city, the air "skims" over the rooftops, so the "ground" perceived by the atmosphere is actually elevated (often to \(z_d \approx 0.5h\) to \(0.7h\)).
  • Roughness Length for Momentum (\(z_{0m}\)): This represents the intensity of the turbulence generated by the building shapes.

2.2. The Logarithmic Wind Profile Feedback

WRF’s atmospheric solver calculates wind speed at the first model level (\(z_1\)). SLUCM feeds back into this by solving the modified log-law equation:

\[u(z) = \frac{u^*}{\kappa} \ln \left( \frac{z - z_d}{z_{0m}} \right)\]

  • \(\kappa\): von Kármán constant (\(\approx 0.40\)).
  • \(u^*\) ** (Friction Velocity):** This is the most critical variable. It defines the Momentum Flux (\(\tau = \rho {u^*}^2\)).
  • Feedback Mechanism: If the city is rougher (higher \(z_{0m}\)), \(u^*\) increases. In WRF, this acts as a sink term in the momentum equation, slowing down the horizontal wind speed (\(U, V\)) in the lowest layers of the atmosphere.

2.3. Dynamic Stability & The Richardson Number

The momentum exchange is not just about building height; it’s coupled with buoyancy. SLUCM calculates the Bulk Richardson Number (\(Ri_b\)) to determine atmospheric stability.

  • Unstable (Day): Thermal plumes from hot asphalt increase turbulence, "enhancing" the momentum exchange and dragging more high-speed air down from aloft.
  • Stable (Night): The city remains warmer than the rural surroundings. While rural areas might have "decoupled" winds (calm at the surface), the urban canopy often remains turbulent, maintaining a higher momentum flux and higher night-time wind speeds compared to the countryside.

2.4. Summary of the Feedback Loop

  1. WRF → SLUCM: WRF provides the "ambient" wind speed at the first vertical level (\(z_1\)).
  2. SLUCM Internal: Based on the buildings in the URBPARM.TBL, SLUCM calculates \(z_d, z_{0m},\) and the drag coefficient (\(C_d\)).
  3. SLUCM → WRF: SLUCM returns the surface stress (momentum flux) to WRF.
  4. Atmospheric Result: WRF updates the velocity fields. Generally, this results in:
  • Wind Speed Reduction: Significant slowing of winds over the urban core.
  • Convergence: The sudden increase in drag at the urban-rural fringe can cause air to "pile up," leading to low-level convergence and potentially triggering urban rainfall.
  • Enhanced Vertical Mixing: The mechanical turbulence (drag) helps grow the Planetary Boundary Layer (PBL).

3. Coupling via the Noah Land Surface Model (LSM)

SLUCM does not work alone; it is "tiled" within the Noah LSM. In a single WRF grid cell:

  • Vegetated/Natural part: Noah calculates fluxes for the parks, grass, and trees.
  • Urban part: SLUCM calculates fluxes for the impervious surfaces (buildings/roads).
  • Aggregation: These two parts are combined based on the Urban Fraction (\(F_{urb}\)).

\[Flux_{Total} = F_{urb} \cdot Flux_{UCM} + (1 - F_{urb}) \cdot Flux_{Noah}\]

This total flux is what the WRF atmospheric solver actually "sees" at each time step.

4. Atmospheric Boundary Layer (ABL) Response

The feedback from SLUCM significantly alters the structure of the atmosphere above the city:

  • Mixing Height: The higher sensible heat flux from the UCM leads to a deeper, more turbulent daytime boundary layer.
  • Nocturnal Stability: While rural areas develop stable nocturnal layers, the heat release from the UCM often maintains a neutral or unstable layer over the city at night, preventing the formation of strong temperature inversions near the ground.

Key Variables Exchanged

From WRF/Noah to SLUCM (Input) From SLUCM to WRF (Feedback/Output)
Downward Shortwave/Longwave Radiation Net Radiation at the urban surface
Air Temperature & Humidity (at \(z_1\)) Sensible Heat Flux (\(H\))
Wind Speed ( \(u, v\) at \(z_1\) ) Momentum Flux / Drag
Precipitation Latent Heat Flux (via evaporation from surfaces)

Literature Review

CUHK

HKO

HK Planning Department

TW CWA: 天氣分析與預報研討會

References

  1. Tewari, M., Chen, F., Kusaka, H., & Miao, S. (2007). Coupled WRF/Unified Noah/urban-canopy modeling system. Ncar WRF Documentation, NCAR, Boulder, 122, 1-22.
  2. Barlage, Michael, Shiguang Miao, and Fei Chen. "Impact of physics parameterizations on high‐resolution weather prediction over two Chinese megacities." Journal of Geophysical Research: Atmospheres 121.9 (2016): 4487-4498.
  3. Smithson, C. L., White, N. J., Klomp, H. R., Monson, E. C., & Adams, B. R. (2023). User Guide for Urban Canopy Modeling in WRF. Version 1.0.
  4. Updates of WRF-urban in WRF 4.3: Local Climate Zones, Mitigation Strategies, building materials permeability and new buildings drag coefficient | March 24, 2021
    1. implemented in WRF, allows now to incorporate 11 urban classes corresponding to the WUDAPT(http://www.wudapt.org/) Local Climate Zones (LCZ)
    2. “& physics” section of WRF namelist.input: use_wudapt_lcz =1 (set to 0 by default).
  5. The new version of the BEP+BEM scheme in WRF 4.3: Local Climate Zones, Mitigation Strategies, building materials permeability and new buildings drag coefficient | February 10, 2021
    1. The new version of the BEP+BEM urban multilayer scheme, implemented in WRF, allows now to incorporate 10 urban classes corresponding to the WUDAPT (http://www.wudapt.org/) Local Climate Zones (LCZ).
  6. 城市气象模拟的1、2、3(上)| 朱浩楠 | 2016年09月30日

WRF | MPAS | UCM and LCZs
https://waipangsze.github.io/2025/01/27/WRF-MPAS-UCM-and-LCZs/
Author
wpsze
Posted on
January 27, 2025
Updated on
December 31, 2025
Licensed under