Runs the model for 14 values of H/W and plots the late-night (01–05 h) air heat island against the sky view factor, next to a published empirical rule of thumb.
The science
Sky view factor. For an infinitely long street of width W with walls of height H, the fraction of the sky hemisphere (cosine-weighted) seen on average from the street floor is ψg = √(1+(H/W)²) − H/W, and from a wall ψw = ½(1 + W/H − √(1+(W/H)²)). Deep canyons see less cold sky.
Surface energy balance of each surface (street floor, wall, rural grass): C dT/dt = (1−α)S − εσT&sup4; + ε(ψL↓sky + (1−ψ)σT&sup4;nbr) − h(T−Ta) − LE + Qanth − U(T−Tdeep), with h = 5.7 + 3.8u (McAdams, canyon wind u = 0.4 · wind), wall–ground–wall long-wave exchange from the view factors above, and sky emissivity εsky = 0.72 + 0.20c for cloud fraction c (illustrative).
Shading comes from the sun position at latitude 51.5° N: floor shadow width H|sin az|/tan(el); the opposite wall shades the lower part of a wall to height H − W tan(el)/|sin az|. Direct beam 1100·0.71/sin el(1−c) W/m² (Meinel-type, illustrative).
Air. A single well-mixed canyon air layer of depth 60 + H m is heated by street and walls, receives anthropogenic heat (q · storeys · 0.42 W per m² of ground: waste heat per floor area times the floor-area ratio of the 20 m deep buildings), and is flushed toward the rural reference air with time scale 6000 m / u. Rural air follows a prescribed sinusoid, minimum near 04:00 and maximum near 16:00.
Trees shade the street (leaf transmission 0.2), reduce the sky view by 40% of the cover, and add a transpiration sink of 15% of the direct solar flux on the shaded ground.
Compare the late-night (01:00–05:00 mean) air heat island with Oke's (1981) empirical canyon fit ΔT ≈ 15.27 − 13.88ψ (typical value for clear, calm nights, shown as a rule of thumb — not a prediction for any city).
Honest simplifications: one canyon, no roofs in the budget, uniform walls (both walls identical), no 3D wind field (see the airflow simulators for that), no moisture budget, lumped thermal masses with made-up round values, rural reference tuned to be plausible rather than fitted. Trends are the lesson, not exact kelvin.
Models, textures: Blender 5.2 bake (albedo, roughness, normal) → Draco GLB; rendering: Three.js r160.