mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-07-12 13:29:04 +00:00
A flat accessed via an unheated corridor/stairwell assumes a draught lobby is present, so SAP 10.2 §2 line (13) = 0.0 rather than the 0.05 no-lobby infiltration penalty. Per RdSAP 10 Specification (10-06-2025, p.30, "Draught lobby"): "add infiltration 0.05 if draught lobby is not present, or use 0.0 if present. ... Flat or maisonette: Assume draught lobby if entrance door is facing corridor (heated or unheated) or stairwell." Signal: a SHELTERED alternative wall (the RdSAP §5.9 wall-to-unheated-corridor surface) is the evidence that the flat's entrance faces a corridor — the same evidence the corridor door (Table 26 U=1.4) rides on. New helper `_has_sheltered_corridor_wall` factors that check out of `_corridor_door_count` and gates `_has_draught_lobby`. Houses and exposed-gable flats (no sheltered alt wall) keep the lodged value / "assume no lobby if cannot be determined" default, so the §2 cascade is unchanged for every non-corridor dwelling. The cascade previously added the 0.05 penalty unconditionally, over-counting (16)/(18)/(21) by 0.05 ACH. On simulated case 34 (cert 001431 storage flat) this lifted effective air change (25)m from the worksheet's monthly 0.572-0.638 to 0.574-0.668, over-counting space-heating demand (98) by +46.3 kWh/yr (+0.41%) -> SAP -0.18. Closing it lands (25)m exactly on the worksheet (avg 0.6024) and (98) at 11356.3 vs ws 11357.2: case 34 SAP 35.1325 -> 35.3130 vs ws 35.3094 (Δ -0.1769 -> +0.0036) Guard-rails held (both improved): worksheet harness 47/47, 0 divergers (the other corridor flat, cert 2474, -0.32 -> -0.02); API gauge 60.0% -> 60.1% within 0.5, mean|err| 1.167 -> 1.163. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| addresses | ||
| data_transformation | ||
| epc | ||
| fuel_rates | ||
| geospatial | ||
| property | ||
| property_baseline | ||
| sap10_calculator | ||
| sap10_ml | ||
| tasks | ||
| postcode.py | ||