I have a question regarding the internal calculation of FAIBldg when using SUEWS on 1 km × 1 km grids.
I am using SUEWS on 1 km × 1 km grids.
When using the default configuration (FAIMethod = 1), I noticed that the internally calculated FAIBldg is extremely small (typically around 0–0.007), which also results in very small values of z0m.
I tested both RSLMethod = 0 and RSLMethod = 1, and observed the following:
FAIMethod = 1, RSLMethod = 0: the simulated U10 increases with increasing building density.
FAIMethod = 1, RSLMethod = 1: U10 decreases with increasing building density (which seems reasonable), but the simulated 3-m wind speed (U_3) increases with increasing building density.
From the source code, I understand that the internally calculated FAIBldg is computed using the whole grid-cell area (surfaceArea). Therefore, I am wondering whether this parameterization is intended for applications at a 1 km × 1 km grid resolution.
Is this behaviour expected, or could the very small internally calculated FAIBldg be responsible for these wind-speed responses?
Thanks for the clear write-up — you’ve basically diagnosed it yourself.
That tiny FAIBldg is exactly what the internal scheme (FAIMethod = 1) produces at 1 km, not a bug in your setup. The formula is FAIBldg = sqrt(sfr_bldg / surfaceArea) * bldgH (issue #192:derive FAI using relevant morphological parameters · Issue #192 · UMEP-dev/SUEWS · GitHub), which models the whole built fraction as one square block. Because surfaceArea is the full cell, FAI scales as 1/sqrt(area): for a 1 km cell with ~10% cover and 15 m height it comes out around 0.005 — your 0–0.007. The same morphology on a ~100–200 m grid would be ~10x larger. So the scheme assumes the cell is roughly one building lot and isn’t really meant for 1 km. (Note current SUEWS actually defaults this option to observed/provided, so it’s worth checking your config.)
And yes — a FAI that small is very likely behind the odd wind responses. FAI feeds z0m (under the MacDonald roughness option) and the RSL profile (attenuation coefficient and Lc = (1 - PAI)/FAI * Zh); near FAI → 0 both run outside their fitted range, so the profile is unreliable and signs can flip. I wouldn’t over-interpret the specific U10/U3 directions while FAI is this far off.
Recommendation for 1 km grids: set the frontal area index to observed (FAIMethod = 0) and supply FAIBldg directly — typical urban values ~0.1–0.4 — then re-test. If the anomalies disappear, the tiny internal FAI was the cause. (A very small z0m suggests you’re on MacDonald roughness; could you confirm which momentum roughness option you’re using?)
Thank you very much for your explanation and suggestions.
I can confirm that I am using RoughLenMomMethod = 3.
Following your recommendation, I recalculated FAIBldg using the correct formulation and tested FAIMethod = 0. With FAIBldg values in the range of approximately 0.1–0.4, the simulated wind fields became physically reasonable and the previous anomalies disappeared.
It therefore appears that, for my 1 km × 1 km simulations, the issue was indeed caused by the extremely small internally calculated FAIBldg when using FAIMethod = 1.