From ef44a744a32bc65d08db6e6a8ddc317ffe94b7b0 Mon Sep 17 00:00:00 2001 From: Daniel Roth Date: Wed, 15 Jul 2026 10:28:19 +0000 Subject: [PATCH] =?UTF-8?q?Accrue=20Table=203=20primary-circuit=20loss=20f?= =?UTF-8?q?or=20water-only=20heat-network=20cylinders=20=F0=9F=9F=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit SAP 10.2 §4.3 (p.24) scopes itself to "where hot water is provided by a heat network" and requires the Table 3 primary loss, so the gate keys on the DHW source. Checked off the WHC before the main-keyed branches so a non-boiler space main (cert 9093's warm air) can't zero it out. Co-Authored-By: Claude Opus 4.8 (1M context) --- domain/sap10_calculator/rdsap/cert_to_inputs.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/domain/sap10_calculator/rdsap/cert_to_inputs.py b/domain/sap10_calculator/rdsap/cert_to_inputs.py index 97adc7ad3..21b05af9b 100644 --- a/domain/sap10_calculator/rdsap/cert_to_inputs.py +++ b/domain/sap10_calculator/rdsap/cert_to_inputs.py @@ -6592,6 +6592,18 @@ def _primary_loss_applies( # kWh/yr — zero before this branch. if water_heating_code in _WATER_HEATING_BOILER_CIRCULATOR_CODES: return True + # SAP 10.2 §4.3 "Heat networks" (PDF p.24), scoped "Where hot water is + # provided by a heat network": "Primary circuit loss for insulated + # pipework and cylinderstat should be included (see Table 3)." A water- + # ONLY community scheme (WHC 950/951/952) feeds the dwelling-side + # cylinder via primary pipework from the network connection whatever + # the space main is, so the loss applies exactly as for heat-network + # mains with WHC 901/902/914 (below). Checked off `water_heating_code` + # before the main-keyed branches so a non-boiler space main (warm air, + # HP, direct-acting electric) can't zero it out — cert 9093 is the + # cohort case (whc 950 + warm-air main 502). + if water_heating_code in _WATER_HEAT_NETWORK_ONLY_CODES: + return True # SAP 10.2 Table 3 (PDF p.160) zero-loss list names "Direct-acting # electric boiler" verbatim. RdSAP 10 §12 (p.62) classifies SAP code # 191 as the direct-acting electric boiler: its cylinder is immersion-