mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-07-19 17:03:02 +00:00
The main-wall `u_wall(...)` call dropped the `dry_lined` kwarg, so the RdSAP 10 §5.7/§5.8 (PDF p.40-41) Table 14 dry-lining adjustment — U_adj = 1/(1/U₀ + 0.17) for a dry-lined (incl. lath-and-plaster) uninsulated wall — was never applied to any main wall, even when the cert lodged `wall_dry_lined=Y`. The ALTERNATIVE-wall path already passes `dry_lined` (line 1367); this one-sided omission billed every dry-lined main wall at the un-adjusted (too-high) U → wall heat loss too high → SAP under-rated. Per-cert: a solid-brick (construction 3) band-A 230 mm main wall computes U₀=1.70; dry-lined it is 1/(1/1.70+0.17)=1.32 — we were 22% too high. Across the API gov-EPC sample the dry-lined `wall_construction=3` (solid brick) sub-cohort sat at 10% within-0.5 / signed -1.33. Fix: pass `dry_lined=bool(part.wall_dry_lined)` to the main-wall `u_wall` call, mirroring the alt-wall path. `part.wall_dry_lined` is already plumbed (Optional[bool], None → False). The three dry-lining branches in `u_wall` (stone §5.6, solid-brick-by-thickness §5.7, generic uninsulated bucket §5.8) are all spec-correct and already worksheet-validated (the bucket-0 cavity case against cert 7700 age-C → 1.20). Worksheet harness UNAFFECTED (47/47, 0 divergers): the Elmhurst/Summary extractor only captures dry-lining for ALTERNATIVE walls (Summary §7), never the main wall, so `part.wall_dry_lined` stays None on that path — this is a pure API-path improvement. API gauge: within-0.5 60.1% -> 64.4% (mean|err| 1.163 -> 1.085, signed -0.097 -> +0.049). Both affected buckets improved with no overshoot: solid brick (wc=3) 50% -> 57% within-0.5; cavity (wc=4, dry-lined via the §5.8 bucket-0 path) 68% -> 72%. 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_case21.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 | ||