mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-07-22 08:48:38 +00:00
Locks sim case 20 (storage heaters + Detailed RR + loose-jacket cylinder)
as a golden vector: _elmhurst_worksheet_001431_case20.build_epc() routes the
Summary PDF through extractor → mapper → calculator, registered in
test_e2e_elmhurst_sap_score with all 11 SapResult headline pins at 1e-4.
10 pinned exact off slices 1-2 (window extractor, RR stud walls); this slice
closes the last one, co2_kg_per_yr (was 3797.62 vs (272) 3815.4060).
Root cause: on a dual-rate (E7) meter the CO2 path ignored the tariff's
high/low Table-12 electricity codes that the cost path already uses:
- Secondary (direct-acting portable heaters, on-peak) keyed the monthly
Table 12d cascade on standard code 30 (0.15405) instead of the E7 HIGH
code 32 → (263) 0.1616. SAP 10.2 Table 12a Grid 1 direct-acting electric
is 100% high-rate; mirrors the cost side billing it at 15.29 p/kWh.
- Main storage heaters fell through `_table_12a_system_for_main`=None to
the FLAT annual factor (0.136) rather than the dual-rate LOW code: per
the Table 12a design intent ("storage … 100% low rate") they charge
off-peak → E7 LOW code 31 → (261) 0.1357.
case-20 co2 now EXACT. 2433 calculator + 112 golden + documents_parser tests
pass — no dual-meter/storage cohort regression; pyright strict net-zero (32=32).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
||
|---|---|---|
| .. | ||
| fixtures | ||
| __init__.py | ||
| _elmhurst_fixtures.py | ||
| _elmhurst_worksheet_000474.py | ||
| _elmhurst_worksheet_000477.py | ||
| _elmhurst_worksheet_000480.py | ||
| _elmhurst_worksheet_000487.py | ||
| _elmhurst_worksheet_000490.py | ||
| _elmhurst_worksheet_000516.py | ||
| _elmhurst_worksheet_000565.py | ||
| _elmhurst_worksheet_001431.py | ||
| _elmhurst_worksheet_001431_6035.py | ||
| _elmhurst_worksheet_001431_case5.py | ||
| _elmhurst_worksheet_001431_case6.py | ||
| _elmhurst_worksheet_001431_case7.py | ||
| _elmhurst_worksheet_001431_case20.py | ||
| _elmhurst_worksheet_001431_rr.py | ||
| _elmhurst_worksheet_001431_rr8.py | ||
| _xlsx_loader.py | ||
| test_appendix_h_solar.py | ||
| test_dimensions.py | ||
| test_e2e_elmhurst_sap_score.py | ||
| test_energy_requirements.py | ||
| test_fabric_energy_efficiency.py | ||
| test_fuel_cost.py | ||
| test_heat_transmission.py | ||
| test_internal_gains.py | ||
| test_mean_internal_temperature.py | ||
| test_mev.py | ||
| test_photovoltaic.py | ||
| test_rating.py | ||
| test_section_cascade_pins.py | ||
| test_solar_gains.py | ||
| test_space_cooling.py | ||
| test_space_heating.py | ||
| test_utilisation_factor.py | ||
| test_ventilation.py | ||
| test_water_heating.py | ||