Resolve biomass, dual-fuel and biodiesel water-heating overrides off house coal 🟩

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Khalim Conn-Kowlessar 2026-07-01 13:03:28 +00:00
parent da15418fd8
commit 84fcf9da49
2 changed files with 14 additions and 3 deletions

View file

@ -26,10 +26,18 @@ _WATER_HEATING_CODES: dict[str, tuple[int, int]] = {
"From main system, LPG (bulk)": (901, 27),
"From main system, bottled LPG": (901, 3),
"From main system, house coal": (901, 33),
# Wood logs — RdSAP water_heating_fuel 6 (biomass ~0.028 kgCO2/kWh), from
# main (901). A wood-fired individual-main dwelling's DHW must not fall to
# house coal 33 (~0.395), a ~14x carbon overstatement (ADR-0043).
# Biomass / wood water fuels routed off the house-coal dumping ground
# (ADR-0043), all from main (901) with their own RdSAP water_heating_fuel:
# 6 wood logs (biomass ~0.028 kgCO2/kWh vs house coal 33 ~0.395)
# 9 dual fuel (mineral + wood)
# 31 biomass (community) — scored via the coherent community main; the
# fuel is still emitted so an individual main would score biomass
# 34 biodiesel (community)
# A wood-fired individual-main dwelling's DHW must never fall to coal 33.
"From main system, wood logs": (901, 6),
"From main system, dual fuel (mineral and wood)": (901, 9),
"From main system, biomass (community)": (901, 31),
"From main system, biodiesel (community)": (901, 34),
"Electric immersion, electricity": (903, 29),
# "boiler/circulator for water heating only" — SAP Table 4a code 911 (gas).
"Gas boiler/circulator, mains gas": (911, 26),

View file

@ -22,6 +22,9 @@ class WaterHeatingType(Enum):
FROM_MAIN_BOTTLED_LPG = "From main system, bottled LPG"
FROM_MAIN_HOUSE_COAL = "From main system, house coal"
FROM_MAIN_WOOD_LOGS = "From main system, wood logs"
FROM_MAIN_DUAL_FUEL_MINERAL_WOOD = "From main system, dual fuel (mineral and wood)"
FROM_MAIN_BIOMASS_COMMUNITY = "From main system, biomass (community)"
FROM_MAIN_BIODIESEL_COMMUNITY = "From main system, biodiesel (community)"
ELECTRIC_IMMERSION = "Electric immersion, electricity"
GAS_BOILER_CIRCULATOR_MAINS_GAS = "Gas boiler/circulator, mains gas"
UNKNOWN = "Unknown"