mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-06-08 11:17:27 +00:00
The PV β-factor cascade was prorating the annual hot-water fuel kWh uniformly by days when feeding D_PV,m per Appendix M1 footnote 32. The worksheet uses §4 (219)m = (62)m / efficiency monthly — which is seasonal (peaks in Jan when cold-mains-inlet drives energy content, troughs in Jul/Aug). For cert 0380: worksheet Jul (219) = 68.30 kWh vs cascade days-prorated 74.60 kWh — over-counted summer D_PV by ~6 kWh/month. Per Appendix M1 footnote 32: "D_PV,m = ... + E_water,m" where "E_water,m = (219)_m if water heating fuel code applied in Section 10a of the SAP worksheet is 30". (219)_m is the §4 fuel kWh per month, not annual / 12. Fix: scale `wh_result.output_monthly_kwh` to sum to the annual fuel `hw_kwh` (equivalent to dividing each month by the annual-average efficiency — exact for single-COP HP water heaters; close enough for PCDB combi winter/summer-split efficiencies because the annual total already accounts for the seasonal-efficiency mix). None fall- back to the legacy days-proration when wh_result is absent (TFA-missing certs). Cohort PE residual closure (kWh/m²): | Cert | Post-S0380.49 | Post-S0380.50 | |---|---:|---:| | 0350 | -2.96 | **-2.90** | | 0380 | -3.06 | **-2.96** | | 2225 | -3.73 | **-3.54** | | 2636 | -3.44 | **-3.28** | | 3800 | -3.25 | **-3.16** | | 9285 | -2.81 | **-2.74** | | 9418 | -3.01 | **-2.89** | Modest but real cohort closure (~0.1 kWh/m² each). The remaining ~3 kWh/m² traces to a small cascade β over-count (0.751 vs worksheet 0.739) — likely Appendix L monthly-weighting details for appliances/ cooking/electric-shower in D_PV; deferred to a follow-up slice. Cert 9501 (PV no battery) unchanged at +0.65 PE. CO2 cohort: <0.11 t/yr (within tolerance, re-pinned in same slice). SAP scores all exact. 763 pass + 0 fail. Pyright net-zero. |
||
|---|---|---|
| .. | ||
| addresses | ||
| sap10_calculator | ||
| sap10_ml | ||
| tasks | ||
| postcode.py | ||