mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-07-12 13:29:04 +00:00
Completes `_elmhurst_secondary_fuel_from_sap_code` per SAP 10.2 §12 (PDF p.34: "Secondary heating systems and applicable fuel types are taken from the room heaters section of Table 4a") + RdSAP 10 §10.4.1. Each Table 4a room-heater code now resolves to its fuel CATEGORY's modal fuel: - gas room heaters 601-613 → mains gas (26 → Table 32 1, 3.48 p/kWh) - liquid room heaters 621-625 → heating oil (28 → Table 32 4, 5.44 p/kWh) - solid room heaters 631-636 → house coal (11 → Table 32 11, 3.67 p/kWh) - electric room htrs 691-694/699/701 → None (cascade electricity default) Previously only the gas (601-613→26) and solid (631-634→11) blocks were mapped; liquid heaters (621-625) and 635-636 fell through to None → silently billed as electricity (13.19 p/kWh), a large mis-price for an oil/solid heater. The prior slice raised on those; this maps them to the correct category fuel instead, and keeps the raise ONLY for codes inside the room-heater range (601-701) that are not a recognised Table 4a row. The specific sub-fuel within a category (mains gas vs LPG vs biogas) is a SEPARATE lodgement per §10.4.1 and is NOT exported in the Summary, so the gas block stays the modal mains gas — worksheet "simulated case 37" lodged its 605 live-effect fire on biogas (7.60 p/kWh), unrecoverable from the Summary code alone (this is the entire +7 SAP case-37 gap: secondary energy £131 + a separate biogas standing charge £70; every other line matches the worksheet exactly, incl. (206) main efficiency 61%). 5 AAA tests, harness 47/47 (0 raised), pyright net-zero, regression clean, corpus gauge unchanged (Elmhurst-path only). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| epc | ||
| __init__.py | ||
| datatypes.py | ||
| enums.py | ||