mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-07-12 13:29:04 +00:00
Chasing the space-heating demand gap on "simulated case 48" (main 691 + Unknown meter + 903 dual immersion): our SAP 55 vs Elmhurst 57. Every §10a cost line already matched to the penny; the residual was demand — our space-heating energy 3849.8 kWh vs Elmhurst 3513.8 (+9.6%). Traced through the worksheet: our ventilation heat loss (38) ran ~35.5 W/K vs Elmhurst 27.76 — we were adding 20 m3/h of intermittent extract fans (the Table 5 age-band default) on a dwelling with a decentralised mechanical extract (dMEV) system that lodges 0 fans. SAP 10.2 §2 (PDF p.13): a whole-house mechanical EXTRACT system provides extraction via the (23a) 0.5 system air-change rate; the lodged intermittent extract-fan count (7a) is then explicit — a lodged 0 means 0 (the dMEV is the ventilation), NOT "unknown". The Table 5 default is an unknown-fallback for NATURALLY ventilated dwellings only, so it must not be substituted here. Fix: for EXTRACT_OR_PIV_OUTSIDE, take vc.intermittent_fans as-is (no age-band default). Worksheet-proven on two dMEV builds of cert 000565: "case 48" lodges (7a)=0 -> our SAP 55 -> 57 EXACT; the original 000565 fixture lodges (7a)=2 and keeps 2 (its e2e pins are unchanged). An earlier draft that forced fans=0 broke 000565 (which legitimately has 2) — corrected to "lodged as-is". within-0.5 72.5% -> 72.6%, MAE 0.789 -> 0.788; CO2/PE unchanged. The fix also reduces a systematic under-rating bias in the 21-cert dMEV cohort (median dSAP -0.22 -> -0.08). Scoped to EXTRACT_OR_PIV_OUTSIDE; balanced MVHR/MV kinds left untouched pending their own worksheet. SAP-schema regression test_18_0_0 pin 80 -> 81 (closer to its lodged 84, same cause). Spec-pinned in test_cert_to_inputs (dMEV-lodged-0 vs natural-default). pyright not installed in this container -- strict type gate not run locally. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| applications | ||
| datatypes | ||
| domain | ||
| e2e | ||
| fixtures/epc_prediction | ||
| harness | ||
| infrastructure | ||
| magic_plan | ||
| orchestration | ||
| repositories | ||
| scripts | ||
| utilities | ||
| __init__.py | ||
| conftest.py | ||
| test_lambda_packaging.py | ||