Model/datatypes/epc/domain
Khalim Conn-Kowlessar 6b99ad0a55 heat_transmission: route exposed/semi-exposed floors through Table 20
SapFloorDimension gains an is_exposed_floor flag (default False) signalling
that the floor sits over outside air or unheated space rather than soil —
typical for an extension that hangs off the main from the first storey
upward (Elmhurst 000490 Extension 1 is exactly this shape).

heat_transmission_from_cert now consults the flag on the part's ground
SapFloorDimension and dispatches to u_exposed_floor (Table 20) instead
of the BS EN ISO 13370 / Table 19 cascade. Basement floor still wins
priority (Table 23 § 5.17 overrides everything else for that part).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-20 13:22:44 +00:00
..
tests SAP calculator entry point + cert→inputs adapter + strict P6.1 identifiers 2026-05-20 09:54:30 +00:00
__init__.py fix broken imports and rename mapper class 2026-04-13 16:36:13 +00:00
epc.py added ucl corrected peui 2026-05-16 14:39:24 +00:00
epc_codes.csv slice 8a: window physics and orientation aggregates 2026-05-16 15:32:45 +00:00
epc_property_data.py heat_transmission: route exposed/semi-exposed floors through Table 20 2026-05-20 13:22:44 +00:00
field_mappings.py insulation thickness can be string 🟥 2026-04-15 14:26:09 +00:00
historic_epc.py demo generated for use in address2uprn 2026-05-08 14:48:15 +00:00
historic_epc_matching.py rank address similiarity 2026-05-12 16:02:01 +00:00
mapper.py SAP calculator entry point + cert→inputs adapter + strict P6.1 identifiers 2026-05-20 09:54:30 +00:00