docs: gap-list entry for boiler/HP Manufacturer efficiency (PCDB) — 000490 +3 SAP driver

Surfaces the documented driver behind the 000490 e2e overshoot (inputs.main_heating_efficiency = 0.80 vs PDF Vaillant Ecotec Pro 0.882) as item #1 in the Prioritised gap list. Per ADR-0010 §4 this is a prerequisite — not a section-sweep slice — so closing the 000490 SAP gap waits for the PCDB seam.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
Khalim Conn-Kowlessar 2026-05-21 07:09:23 +00:00
parent 67af2e9b43
commit a4dfb7a021

View file

@ -53,12 +53,13 @@ The canonical SAP10.2 algorithm lives in [`2026-05-19-17-18 RdSap10Worksheet.xls
## Prioritised gap list (by likely MAE impact)
1. **Table 11 Secondary heating allocation** — most boiler-main certs allocate 10% of space heating to a secondary system (often a less-efficient room heater on a different fuel). We model 0%. Likely +1-2 SAP-point bias on affected certs.
2. **Wind-shelter factor on infiltration** (§2 worksheet lines 19-21) — multiplies infiltration by `1 - 0.075 × sheltered_sides`. We have no shelter input; assume 2 sheltered sides default. Net effect on infiltration ACH probably ~10%.
3. **Table 12a high-rate fraction for off-peak dwellings** — we currently bill 100% of E7 space heating at the low rate. Real spec says e.g. heat pumps on 7h tariff at 80% high-rate. Affects ~5% of certs.
4. **Cylinder-loss factor cascade** — currently uses simplified buckets in `domain.ml.demand._STORAGE_LOSS_FACTOR`. Spec has more precise interpolation rules from cylinder volume + insulation thickness.
5. **Standing charges in cost** — Table 12 note (a) gives the rule for when standing charges are included (energy use vs rating). May affect bias.
6. **Per-junction thermal bridging (Table R2)** — only relevant when assessor lodged junction-count data, otherwise global y is the spec answer for RdSAP-driven assessments.
1. **Boiler / heat-pump efficiency Manufacturer override (PCDB integration)**`MainHeatingDetail` lodges the PCDB pointer (`main_heating_index_number`) but no scalar efficiency. With `NoOpPcdbLookup` (ADR-0009 grill outcome #1) still in place, `cert_to_inputs` falls back to the SAP10 Table 4a category default (typically 0.80 for gas boilers, SCOP 2.30 for heat pumps) on every cert. Per [ADR-0010 §4](../adr/0010-sap10-calculator-spec-target-and-validation.md#4-pcdb-integration-is-promoted-from-session-c-to-a-prerequisite) this accounts for ~19 SAP points of MAE on heat-pump certs and most per-cert variance on the 78 % of gas-boiler certs lodging `main_heating_data_source=1` (PCDB-typical 0.880.94 vs 0.80 default). Directly visible on 000490 e2e: `inputs.main_heating_efficiency = 0.80` vs PDF Vaillant Ecotec Pro Manufacturer-declared 0.882 — drives +3 SAP overshoot via the `q_useful / η` cascade in both space heating and HW. Closing requires a real PCDB CSV ingest + `PcdbLookup` Protocol impl + precedence wiring in `cert_to_inputs._main_heating_efficiency` and `_water_efficiency_with_category_inherit`. Promoted to prerequisite under ADR-0010, not a section-sweep slice.
2. **Table 11 Secondary heating allocation** — most boiler-main certs allocate 10% of space heating to a secondary system (often a less-efficient room heater on a different fuel). We model 0%. Likely +1-2 SAP-point bias on affected certs.
3. **Wind-shelter factor on infiltration** (§2 worksheet lines 19-21) — multiplies infiltration by `1 - 0.075 × sheltered_sides`. We have no shelter input; assume 2 sheltered sides default. Net effect on infiltration ACH probably ~10%.
4. **Table 12a high-rate fraction for off-peak dwellings** — we currently bill 100% of E7 space heating at the low rate. Real spec says e.g. heat pumps on 7h tariff at 80% high-rate. Affects ~5% of certs.
5. **Cylinder-loss factor cascade** — currently uses simplified buckets in `domain.ml.demand._STORAGE_LOSS_FACTOR`. Spec has more precise interpolation rules from cylinder volume + insulation thickness.
6. **Standing charges in cost** — Table 12 note (a) gives the rule for when standing charges are included (energy use vs rating). May affect bias.
7. **Per-junction thermal bridging (Table R2)** — only relevant when assessor lodged junction-count data, otherwise global y is the spec answer for RdSAP-driven assessments.
Status now: 100-cert MAE 4.49, 300-cert MAE 5.45, bias near zero (±0.2). Worksheet-driven phase begins with **Secondary heating Table 11** as the next slice.