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

Roof temperature in BEP urban scheme

This post was from a previous version of the WRF&MPAS-A Support Forum. New replies have been disabled and if you have follow up questions related to this post, then please start a new thread from the forum home page.


New member
Hi, I am trying to extract the roof temperature from the model, running with the BEP urban scheme (sf_urban_physics=2).

I have output via runtime modification to the registry outputs as follows (following names in Registry.EM_COMMON):
TR_URB: Urban roof skin temperature.
TRL_URB: Roof layer temperature.
TRB_URB4D: Array that carries roof temperatures in all urban layers that are then reordered to tr1D before being passed to BEP1D (in module_sf_bep.F).

However, when I compare two runs with very different roof albedo across all urban categories (0.2 and 0.7), there is no change in the output arrays listed between the two simulations - the roof temperatures seem to remain constant...? There are differences in the 2 m air temperature (T2), and skin temperature (TSK) on the order of a degreeC, so the urban scheme appears to be active.

Does anyone know why this may be? Any advice or suggestions appreciated. I'm running WRFv3.6.1 with 4 nested domains over an urban area of the UK.
I attach my namelist and runtime mod files for info: View attachment namelist.input View attachment runtime_io_mod_d04.txt
(note that runtime_io_mod_d01.txt, d02, and d03 are all empty files).
The variables TR_URB and TRL_URB are UCM outputs, while TRB_URB4D is for BEP and BEM (but unfortunately they are packaged together). Can you see a difference in TRB_URB4D in the different simulations? The other two should probably stay at the initial conditions.
Hi, there is no difference in TRB_URB4D arrays between the two runs. I checked different layers between the runs too to make sure I wasn't only comparing differences at the layer closest to the inside of the building (I think indoor temperature is prescribed in the model).

ncdump on the wrfout headers reveals "SF_URBAN_PHYSICS = 0" as part of the global attributes, but the BEP scheme is being called as the albedo modifications specified in URBPARM.TBL are being incorporated into the model (as surface skin temperature differences and air temperature differences exist when the albedo of roofs is modified). I think this global attribute may not be being passed correctly too.

Any advice on where to start looking, or if this has come up before?

I have reached out to the developer for advice. I'll keep you posted when I get a reply. Thank you for your patience.