mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-07-12 13:29:04 +00:00
A heat-network main with DHW from the network and no lodged cylinder was billed the Table 3a keep-hot 600 kWh/yr combi loss (cat 6 sat in `_TABLE_3A_COMBI_LOSS_MAIN_HEATING_CATEGORIES`). A heat network is not a combi boiler — SAP 10.2 §4 line 7702 says combi loss is 0 for non-combi systems. SAP 10.2 p.24 "Heat networks" (c): when neither a PCDB Heat Interface Unit nor a lodged cylinder applies, "a measured loss of 1.72 kWh/day should be used, corrected using Table 2b. This is equivalent to a cylinder of 110 litres and a factory insulation thickness of 50 mm". RdSAP 10 Table 29 (p.56): a cylinder thermostat is assumed present when DHW is from a heat network (Table 2b temperature factor 0.60). New `_apply_heat_network_hiu_default_store` rebinds the 110 L / 50 mm- factory store (thermostat present) onto a heat-network DHW cert with no cylinder and no PCDB index, mirroring `_apply_rdsap_no_water_heating_ system_default`. The injected store routes storage loss (56) ≈ 376.7 kWh/yr (= 1.72 × 0.60 × 365) + primary loss (59) through the existing machinery and zeroes the combi (61) loss via the has_hot_water_cylinder gate. Verified against the user's faithful case-32 worksheet: storage (56) 376.58 vs worksheet 376.94. Cert 8536 storage 0→376.6, combi 600→0. API eval within-0.5 56.8% → 57.0%; signed err −0.218 → −0.205. Reworked `test_heat_network_main_with_hw_from_main_dlf_scales_hot_water_kwh` to assert the DLF scaling directly (fuel ÷ §4 output = 1.41) since the old two-cert baseline premise (both combi-600) no longer holds. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| addresses | ||
| fuel_rates | ||
| property | ||
| property_baseline | ||
| sap10_calculator | ||
| tasks | ||
| __init__.py | ||
| test_postcode.py | ||