Elmhurst 'No Insulation' cylinder (0 mm lodged) takes the uninsulated storage loss 🟩

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Jun-te Kim 2026-07-02 16:08:46 +00:00
parent 4cf3db388f
commit 233f085fb3

View file

@ -7115,11 +7115,17 @@ def _cylinder_storage_loss_override(
if sh.cylinder_insulation_thickness_mm is not None
else None
)
# SAP 10.2 Table 2: an uninsulated cylinder (lodged insulation type 0)
# takes the loose-jacket formula at t = 0 — the WORST loss SAP knows,
# never the zero-loss combi default (which over-rates the dwelling).
# SAP 10.2 Table 2: an uninsulated cylinder takes the loose-jacket
# formula at t = 0 — the WORST loss SAP knows, never the zero-loss
# combi default (which over-rates the dwelling). Two lodgement shapes
# describe it: the EPB API's insulation type 0, and the Elmhurst
# site-notes path's type None + explicit 0 mm ("No Insulation" maps to
# no material; the lodged thickness carries the signal — see
# `_ELMHURST_CYLINDER_NO_INSULATION_LABELS` in the mapper).
if _int_or_none(sh.cylinder_insulation_type) == _CYLINDER_INSULATION_TYPE_NONE:
insulation_label, thickness_mm = "loose_jacket", 0.0
if insulation_label is None and thickness_mm == 0.0:
insulation_label = "loose_jacket"
if insulation_label is None:
return None
if thickness_mm is None: