Hour 15:00 Budget left 0 M€ Feels-like 0 °C Storm runoff 0 % PM2.5 0 Richness 0 Equity 0 FPS 0
Pick a measure in the panel, then click the city to place it. Drag to orbit, wheel or pinch to zoom. Colours on the ground show the feels-like temperature at the chosen hour (blue cool, red hot); the cut-away at the front shows the soil, gravel store and rain tanks.
City Greening Planner: Canopy, Equity, Cooling and Stormwater Lab
You are the city planner for one block with a limited budget. Trees, parks, green roofs and permeable paving cool a hot afternoon, soak up a storm, clean a little air, help wildlife and may or may not reach the people who need them most.
Measures
Quick plans
Clear everything Heat map Show storm Play the day Quality: High
Overview Street Aerial Cut-away Top-down
Educational planning model with synthetic residents and model prices. It is a sandbox for trade-offs, not an engineering or cost estimate.
Day, season and growth
Weather
Budget
Results (green = better than no greening)
Feels-like temperature through the day
Storm flow to the sewer
Who gets the cooling? (strong-heat hours at 15 Jul style days)
Top-down block plan. Red cells have the most hours with a feels-like temperature above 36 °C. Yellow outlines are low-income buildings; g = green roof, t = rain tank. Dark green dots are trees, green fill is parkland.
The 3-30-300 rule of thumb (3 trees in view, 30 % canopy, a park within 300 m) is a planning heuristic, shown here as a rough yes/no per building.
Independent numerical checks
Controls Drag / one finger: orbit; wheel / pinch: zoom; a short click or tap places the chosen measure. Five camera presets jump between overview, street, aerial, cut-away and top-down. Sliders change the hour (sun and shadows), the date, how many years the trees have grown, the weather and the budget. Everything recalculates when you change something. "Show storm" draws the rain with infiltration arrows; "Play the day" moves the sun from 06:00 to 21:00.
The science
Sun and shade. Declination δ = 23.45° sin(360 (284 + n)/365), altitude from latitude 50°N and hour angle, clear-sky shortwave S = 1098 sin α exp(−0.057 / sin α) (Haurwitz). A point is in shadow if the ray to the sun meets a building box (shadow length L = h / tan α) or a tree crown; a crown passes light with τ = exp(−0.5 LAI), and the leaf area follows a seasonal cosine between April and October. Shaded points still get 15 % diffuse light.
Surfaces. Each surface solves Rn = (1 − a) S + ε L↓ − ε σ Ts ⁴ = H + LE + G with H = hc (Ts − Ta ), G = g Rn and a Priestley-Taylor evaporation LE = kc θ 1.26 Δ/(Δ+γ) (1 − g) Rn . Albedos: asphalt 0.10, dark roof 0.15, lawn 0.22, green roof 0.20, cool roof 0.60 (typical values, check before quoting). Air temperature in a cell is the regional value plus κ (⟨Ts ⟩ − T0 ) − β fc , with κ = 0.12 and β = 2 K per unit local canopy cover (model values).
Feels-like. PT = Ta + 0.33 e − 4 + 0.008 Sperson : a Steadman-type apparent temperature with a simple radiant term (relative humidity 35 %). Hours above 36 °C are counted as strong heat stress. This is not a medical index.
Storm. Rain falls in 5 minute steps. Tree crowns intercept 0.2 LAI mm; impervious cells keep 1.5 mm; lawns and tree pits infiltrate with a Horton curve (60 → 10 mm/h) into a bucket; permeable paving and green roofs store 30 and 25 mm; cisterns take 20 m³ of roof water per building. Whatever runs off enters the sewer through a linear reservoir (K = 10 min); flow above the sewer capacity is a combined-sewer overflow. Every cubic metre is accounted for: rain = intercepted + depression + stored + deeper drainage + tanks + sewer outflow + water still in pipes. The rational method Q = C i A is the long-storm limit.
Air. A street box model C/C0 = (U/Ueff ) / (1 + vd LAIg L / (Ueff H)) with deposition velocity 0.3 cm/s, canyon height 20 m. Dense crowns along the street slow the wind (Ueff ), which can raise concentrations: the trade-off is real.
Wildlife and equity. Species richness S = 8 A^0.25 on the largest connected green patch (A in ha; patches within two cells count as connected); Shannon diversity of the planted tree species is reported. The equity index is a population-weighted Gini of the strong-heat hours around each building (synthetic residents); a low value means the heat burden is shared evenly.
Simplifications. One block, no CFD wind, no traffic, no anthropogenic heat, crowns as ellipsoids, a single design storm, model prices and synthetic people. Assets built with Blender; scene by Three.js.