mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-06-08 11:17:27 +00:00
The API `floor_heat_loss` code is authoritative — confirmed by joining each single-BP cert's code to its independent `floors[].description` (which the gov register publishes alongside the code): code 1 ↔ "To external air" (exposed, 9/9) code 2 ↔ "To unheated space" (semi-exposed, 6/6) code 3 ↔ "(other premises below)" (partially htd, 9/9) code 6 ↔ "(another dwelling below)" (party, 176/176) code 7 ↔ "Solid"/"Suspended …" (ground, all) Code 3 was mis-mapped to "To unheated space" (semi-exposed) and, on mid-/top-floor flats, had its floor area zeroed entirely by the dwelling-level exposure heuristic. RdSAP 10 §3.12 (PDF p.25) classes a flat's floor over non-domestic "other premises … heated, but at different times" as "above a partially heated space" → the §5.14 (PDF p.47) constant U=0.7 W/m²K — distinct from semi-exposed (Table 20) and party (no loss). Fix: the mapper sets `is_above_partially_heated_space` on the floor=0 dimension for code 3 (string → "(other premises below)" for fidelity), and the heat-transmission step lets that per-BP lodgement override the flat suppression upward (mirroring the existing exposed / "another dwelling below" overrides). The cascade already routes is_above_partial → U=0.7. Re-pins golden cert 7536-3827: its Ext2 (bp3) lodges code 3, but the cert's lossy `floors[]` summary dropped that description, so a prior agent guessed "code 3 = ground" (U=1.12) and concluded the residual was an irreducible "register-rounding" artifact. It was this bug: Ext2 floor U 1.12 → 0.70, PE -6.1952 → -5.6414, CO2 -0.1639 → -0.1492 (both toward 0), SAP unchanged. Eval: 909 computed, 45.1% → 45.3% within 0.5, mean|err| 1.702 → 1.659, <1.0 59.5% → 60.2%. 13 code-3 certs improve (0380 +3.71 → -0.63, 0350 +7.82 → +0.83, 2610 +7.47 → -1.29); the few that overshoot were already failing and carry independent fabric bugs (9763's walls = 8 W/K for 60 m²). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| epc | ||
| magicplan | ||
| __init__.py | ||
| datatypes.py | ||
| enums.py | ||