Model/datatypes
Khalim Conn-Kowlessar 07ed871f7b Slice 56: Elmhurst floor exposed to external air routes through u_exposed_floor
`_is_floor_exposed_to_unheated_space` previously only matched
"U Above unheated space" (semi-exposed floor over a porch / car-park).
Cert 001479 Ext2 §9 lodges "Location: E To external air" — a 1.92 m²
cantilevered exposed timber floor (the upper-storey extension hanging
out over the garden). The worksheet's §3 `Exposed floor Ext2 … 1.92,
1.20, 1.20` pins this surface as U=1.20 via Table 20.

Pre-slice the mapper missed the "external air" lodgement entirely;
`is_exposed_floor=False` routed Ext2's ground SapFloorDimension
through the BS EN ISO 13370 ground-floor cascade (default U≈0.5),
mis-modelling a fully-exposed cantilever as a slab on soil.

Both lodgement strings ("above unheated", "external air") now
trigger the Table 20 path. Function docstring updated; name kept
to minimise the diff (refactor candidate for a future slice).

Cohort 6 certs all still green at 1e-4 (none lodge external-air
floors); cert 001479 cascade SAP 61.90 → 61.93 (+0.03), modest
upward move toward the 69.0094 target.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-24 22:36:22 +00:00
..
epc Slice 56: Elmhurst floor exposed to external air routes through u_exposed_floor 2026-05-24 22:36:22 +00:00
magicplan typing and renaming 🟪 2026-05-07 13:26:49 +00:00
__init__.py further breaking up code 2023-07-20 12:24:34 +01:00
datatypes.py further breaking up code 2023-07-20 12:24:34 +01:00
enums.py completed build of new demo portfolio - some fixed required still 2023-11-20 14:42:16 +00:00