"""
This script contains the systems data, contained in the BRE product characteristics database (PCDB).

For SAP 10.2, this can be found in the following document:
https://files.bregroup.com/SAP/SAP%2010.2%20-%2017-12-2021.pdf

From page 157 onwards
"""
import pandas as pd

no_heating_system = [
    {
        "category": "No heating system present",
        "description": "Electric heaters (assumed)",
        "efficiency": 100,
        "heating_type": 1,
        "responsiveness": 1.0,
        "code": 699
    }
]

boiler_systems_with_radiators_or_underfloor_heating = [
    # Solid fuel boilers
    {
        "category": "Boiler systems with radiators or underfloor heating",
        "description": "Solid fuel boiler - Manual feed independent boiler",
        "efficiency_A": 65,
        "efficiency_B": 60,
        "heating_type": 2,
        "responsiveness": 0.75,
        "code": 151
    },
    {
        "category": "Boiler systems with radiators or underfloor heating",
        "description": "Solid fuel boiler - Auto (gravity) feed independent boiler",
        "efficiency_A": 70,
        "efficiency_B": 65,
        "heating_type": 2,
        "responsiveness": 0.75,
        "code": 153
    },
    {
        "category": "Boiler systems with radiators or underfloor heating",
        "description": "Solid fuel boiler - Wood chip/pellet independent boiler",
        "efficiency_A": 75,
        "efficiency_B": 70,
        "heating_type": 2,
        "responsiveness": 0.75,
        "code": 155
    },
    {
        "category": "Boiler systems with radiators or underfloor heating",
        "description": "Solid fuel boiler - Open fire with back boiler to radiators",
        "efficiency_A": 63,
        "efficiency_B": 55,
        "heating_type": 3,
        "responsiveness": 0.50,
        "code": 156
    },
    {
        "category": "Boiler systems with radiators or underfloor heating",
        "description": "Solid fuel boiler - Closed room heater with boiler to radiators",
        "efficiency_A": 67,
        "efficiency_B": 65,
        "heating_type": 3,
        "responsiveness": 0.50,
        "code": 158
    },
    {
        "category": "Boiler systems with radiators or underfloor heating",
        "description": "Solid fuel boiler - Stove (pellet-fired) with boiler to radiators",
        "efficiency_A": 75,
        "efficiency_B": 70,
        "heating_type": 2,
        "responsiveness": 0.75,
        "code": 159
    },
    {
        "category": "Boiler systems with radiators or underfloor heating",
        "description": "Solid fuel boiler - Range cooker boiler (integral oven and boiler)",
        "efficiency_A": 50,
        "efficiency_B": 45,
        "heating_type": 3,
        "responsiveness": 0.50,
        "code": 160
    },
    {
        "category": "Boiler systems with radiators or underfloor heating",
        "description": "Solid fuel boiler - Range cooker boiler (independent oven and boiler)",
        "efficiency_A": 60,
        "efficiency_B": 55,
        "heating_type": 3,
        "responsiveness": 0.50,
        "code": 161
    },
    # Electric boilers
    {
        "category": "Boiler systems with radiators or underfloor heating",
        "description": "Electric boiler - Direct acting electric boiler",
        "efficiency": 100,
        "heating_type": "From Table 4d",
        "responsiveness": None,
        "code": 191
    },
    {
        "category": "Boiler systems with radiators or underfloor heating",
        "description": "Electric boiler - CPSU in heated space – radiators or underfloor",
        "efficiency": 100,
        "heating_type": 1,
        "responsiveness": 1.0,
        "code": 192
    },
    {
        "category": "Boiler systems with radiators or underfloor heating",
        "description": "Electric boiler - Dry core storage boiler in heated space",
        "efficiency": 100,
        "heating_type": 2,
        "responsiveness": 0.75,
        "code": 193
    },
    {
        "category": "Boiler systems with radiators or underfloor heating",
        "description": "Electric boiler - Dry core storage boiler in unheated space",
        "efficiency": 85,
        "heating_type": 2,
        "responsiveness": 0.75,
        "code": 194
    },
    {
        "category": "Boiler systems with radiators or underfloor heating",
        "description": "Electric boiler - Water storage boiler in heated space",
        "efficiency": 100,
        "heating_type": 2,
        "responsiveness": 0.75,
        "code": 195
    },
    {
        "category": "Boiler systems with radiators or underfloor heating",
        "description": "Electric boiler - Water storage boiler in unheated space",
        "efficiency": 85,
        "heating_type": 2,
        "responsiveness": 0.75,
        "code": 196
    }
]

heat_pumps_with_radiators_or_underfloor_heating = [
    # Electric heat pumps
    {
        "category": "Heat pumps with radiators or underfloor heating",
        "description": "Electric heat pumps - Ground source heat pump with flow temperature <= 35°C",
        "space": 230,
        "water": 170,
        "heating_type": "From Table 4d",  # Replace with specific value as needed
        "responsiveness": None,  # Not provided, assuming 'None'
        "code": 211
    },
    {
        "category": "Heat pumps with radiators or underfloor heating",
        "description": "Electric heat pumps - Water source heat pump with flow temperature <= 35°C",
        "space": 230,
        "water": 170,
        "heating_type": "From Table 4d",  # Replace with specific value as needed
        "responsiveness": None,  # Not provided, assuming 'None'
        "code": 213
    },
    {
        "category": "Heat pumps with radiators or underfloor heating",
        "description": "Electric heat pumps - Air source heat pump with flow temperature <= 35°C",
        "space": 170,
        "water": 170,
        "heating_type": "From Table 4d",  # Replace with specific value as needed
        "responsiveness": None,  # Not provided, assuming 'None'
        "code": 214
    },
    {
        "category": "Heat pumps with radiators or underfloor heating",
        "description": "Electric heat pumps - Ground source heat pump in other cases",
        "space": 170,
        "water": 170,
        "heating_type": "From Table 4d",  # Replace with specific value as needed
        "responsiveness": None,  # Not provided, assuming 'None'
        "code": 221
    },
    {
        "category": "Heat pumps with radiators or underfloor heating",
        "description": "Electric heat pumps - Water source heat pump, in other cases",
        "space": 170,
        "water": 170,
        "heating_type": "From Table 4d",  # Replace with specific value as needed
        "responsiveness": None,  # Not provided, assuming 'None'
        "code": 223
    },
    {
        "category": "Heat pumps with radiators or underfloor heating",
        "description": "Electric heat pumps - Air source heat pump in other cases",
        "space": 170,
        "water": 170,
        "heating_type": "From Table 4d",  # Replace with specific value as needed
        "responsiveness": None,  # Not provided, assuming 'None'
        "code": 224
    },
    # Gast fired heat pumps
    {
        "category": "Heat pumps with radiators or underfloor heating",
        "description": "Gas-fired heat pumps - Ground source heat pump with flow temperature <= 35°C",
        "space": 120,
        "water": 84,
        "heating_type": "From Table 4d",  # Replace with specific value as needed
        "responsiveness": None,  # Not provided, assuming 'None'
        "code": 215
    },
    {
        "category": "Heat pumps with radiators or underfloor heating",
        "description": "Gas-fired heat pumps - Water source heat pump with flow temperature <= 35°C",
        "space": 120,
        "water": 84,
        "heating_type": "From Table 4d",  # Replace with specific value as needed
        "responsiveness": None,  # Not provided, assuming 'None'
        "code": 216
    },
    {
        "category": "Heat pumps with radiators or underfloor heating",
        "description": "Gas-fired heat pumps - Air source heat pump with flow temperature <= 35°C",
        "space": 110,
        "water": 77,
        "heating_type": "From Table 4d",  # Replace with specific value as needed
        "responsiveness": None,  # Not provided, assuming 'None'
        "code": 217
    },
    {
        "category": "Heat pumps with radiators or underfloor heating",
        "description": "Gas-fired heat pumps - Ground source heat pump in other cases",
        "space": 84,
        "water": 84,
        "heating_type": "From Table 4d",  # Replace with specific value as needed
        "responsiveness": None,  # Not provided, assuming 'None'
        "code": 225
    },
    {
        "category": "Heat pumps with radiators or underfloor heating",
        "description": "Gas-fired heat pumps - Water source heat pump in other cases",
        "space": 84,
        "water": 84,
        "heating_type": "From Table 4d",  # Replace with specific value as needed
        "responsiveness": None,  # Not provided, assuming 'None'
        "code": 226
    },
    {
        "category": "Heat pumps with radiators or underfloor heating",
        "description": "Gas-fired heat pumps - Air source heat pump in other cases",
        "space": 77,
        "water": 77,
        "heating_type": "From Table 4d",  # Replace with specific value as needed
        "responsiveness": None,  # Not provided, assuming 'None'
        "code": 227
    }
]

electric_heat_pumps_warm_air_distribution = [
    {
        "category": "Heat pumps with warm air distribution",
        "description": "Electric heat pumps - Ground source heat pump",
        "space": 230,
        "water": 170,
        "heating_type": 1,
        "responsiveness": 1.0,
        "code": 521
    },
    {
        "category": "Heat pumps with warm air distribution",
        "description": "Electric heat pumps - Water source heat pump",
        "space": 230,
        "water": 170,
        "heating_type": 1,
        "responsiveness": 1.0,
        "code": 523
    },
    {
        "category": "Heat pumps with warm air distribution",
        "description": "Electric heat pumps - Air source heat pump",
        "space": 170,
        "water": 170,
        "heating_type": 1,
        "responsiveness": 1.0,
        "code": 524
    }
]

gas_fired_heat_pumps_warm_air_distribution = [
    {
        "category": "Heat pumps with warm air distribution",
        "description": "Gas-fired heat pumps - Ground source heat pump",
        "space": 120,
        "water": 84,
        "heating_type": 1,
        "responsiveness": 1.0,
        "code": 525
    },
    {
        "category": "Heat pumps with warm air distribution",
        "description": "Gas-fired heat pumps - Water source heat pump",
        "space": 120,
        "water": 84,
        "heating_type": 1,
        "responsiveness": 1.0,
        "code": 526
    },
    {
        "category": "Heat pumps with warm air distribution",
        "description": "Gas-fired heat pumps - Air source heat pump",
        "space": 110,
        "water": 77,
        "heating_type": 1,
        "responsiveness": 1.0,
        "code": 527
    }
]

heat_networks = [
    {
        "category": "Heat networks",
        "description": "Boilers (SAP)",
        "efficiency": 80,
        "heating_type": "From table 4d",  # Replace with specific value as needed
        "code": 2
    },
    {
        "category": "Heat networks",
        "description": "CHP (SAP)",
        "efficiency": 75,
        "heating_type": "From table 4d",  # Replace with specific value as needed
        "code": 1
    },
    {
        "category": "Heat networks",
        "description": "Waste heat from power station (SAP)",
        "efficiency": 100,
        "heating_type": "From table 4d",  # Replace with specific value as needed
        "code": 4
    },
    {
        "category": "Heat networks",
        "description": "Heat pump (SAP)",
        "efficiency": 300,
        "heating_type": "From table 4d",  # Replace with specific value as needed
        "code": 3
    },
    {
        "category": "Heat networks",
        "description": "Geothermal heat source (SAP)",
        "efficiency": 100,
        "heating_type": "From table 4d",  # Replace with specific value as needed
        "code": 5
    },
    {
        "category": "Heat networks",
        "description": "Boilers only (RdSAP)",
        "efficiency": 80,
        "heating_type": "From table 4d",  # Replace with specific value as needed
        "code": 301
    },
    {
        "category": "Heat networks",
        "description": "CHP and boilers (RdSAP)",
        "efficiency": 75,
        "heating_type": "From table 4d",  # Replace with specific value as needed
        "code": 302
    },
    {
        "category": "Heat networks",
        "description": "Heat pump (RdSAP)",
        "efficiency": 300,
        "heating_type": "From table 4d",  # Replace with specific value as needed
        "code": 304
    }
]

electric_storage_systems = [
    {
        "category": "Electric Storage Systems",
        "description": "Old (large volume) storage heaters",
        "efficiency": 100,
        "heating_type": 6,
        "responsiveness": 0.0,
        "code": 401
    },
    {
        "category": "Electric Storage Systems",
        "description": "Slimline storage heaters",
        "code": 402,
        "options": [
            {"sub_description": "Off-peak tariffs", "efficiency": 100, "heating_type": 5, "responsiveness": 0.2},
            {"sub_description": "24-hour heating tariff", "efficiency": 100, "heating_type": 4, "responsiveness": 0.4}
        ]
    },
    {
        "category": "Electric Storage Systems",
        "description": "Convector storage heaters",
        "code": 403,
        "options": [
            {"sub_description": "Off-peak tariffs", "efficiency": 100, "heating_type": 5, "responsiveness": 0.2},
            {"sub_description": "24-hour heating tariff", "efficiency": 100, "heating_type": 4, "responsiveness": 0.4}
        ]
    },
    {
        "category": "Electric Storage Systems",
        "description": "Fan storage heaters",
        "code": 404,
        "options": [
            {"sub_description": "Off-peak tariffs", "efficiency": 100, "heating_type": 4, "responsiveness": 0.4},
            {"sub_description": "24-hour heating tariff", "efficiency": 100, "heating_type": 4, "responsiveness": 0.4}
        ]
    },
    {
        "category": "Electric Storage Systems",
        "description": "Slimline storage heaters with Celect-type control",
        "code": 405,
        "options": [
            {"sub_description": "Off-peak tariffs", "efficiency": 100, "heating_type": 4, "responsiveness": 0.4},
            {"sub_description": "24-hour heating tariff", "efficiency": 100, "heating_type": 3, "responsiveness": 0.6}
        ]
    },
    {
        "category": "Electric Storage Systems",
        "description": "Convector storage heaters with Celect-type control",
        "code": 406,
        "options": [
            {"sub_description": "Off-peak tariffs", "efficiency": 100, "heating_type": 4, "responsiveness": 0.4},
            {"sub_description": "24-hour heating tariff", "efficiency": 100, "heating_type": 3, "responsiveness": 0.6}
        ]
    },
    {
        "category": "Electric Storage Systems",
        "description": "Fan storage heaters with Celect-type control",
        "code": 407,
        "options": [
            {"sub_description": "Off-peak tariffs", "efficiency": 100, "heating_type": 3, "responsiveness": 0.6},
            {"sub_description": "24-hour heating tariff", "efficiency": 100, "heating_type": 3, "responsiveness": 0.6}
        ]
    },
    {
        "category": "Electric Storage Systems",
        "description": "Integrated storage + direct-acting heater",
        "efficiency": 100,
        "heating_type": 3,
        "responsiveness": 0.6,
        "code": 408
    },
    {
        "category": "Electric Storage Systems",
        "description": "High heat retention storage heaters",
        "code": 409,
        "options": [
            {"sub_description": "Off-peak tariffs", "efficiency": 100, "heating_type": 2, "responsiveness": 0.8},
            {"sub_description": "24-hour heating tariff", "efficiency": 100, "heating_type": 2, "responsiveness": 0.8}
        ]
    }
]

off_peak_tariffs_electric_underfloor_heating = [
    {
        "category": "Electric Underfloor Heating",
        "description": "Off-peak tariffs - In concrete slab (off-peak only)",
        "efficiency": 100,
        "heating_type": 5,
        "responsiveness": 0.0,
        "code": 421
    },
    {
        "category": "Electric Underfloor Heating",
        "description": "Off-peak tariffs - Integrated (storage+direct-acting)",
        "efficiency": 100,
        "heating_type": 4,
        "responsiveness": 0.25,
        "code": 422
    },
    {
        "category": "Electric Underfloor Heating",
        "description": "Off-peak tariffs - Integrated (storage+direct-acting) with low (off-peak) tariff control",
        "efficiency": 100,
        "heating_type": 3,
        "responsiveness": 0.50,
        "code": 423
    }
]

standard_or_off_peak_tariff_electric_underfloor_heating = [
    {
        "category": "Electric Underfloor Heating",
        "description": "Standard or off-peak tariff - In screed above insulation",
        "efficiency": 100,
        "heating_type": 2,
        "responsiveness": 0.75,
        "code": 424
    },
    {
        "category": "Electric Underfloor Heating",
        "description": "Standard or off-peak tariff - In timber floor, or immediately below floor covering",
        "efficiency": 100,
        "heating_type": 1,
        "responsiveness": 1.0,
        "code": 425
    }
]

gas_fired_warm_air_fan_assisted = [
    {
        "category": "Warm Air Systems",
        "description": "Gas-fired warm air with fan-assisted flue - Ducted, on-off control, pre 1998", "efficiency": 70,
        "heating_type": 1,
        "responsiveness": 1.0,
        "code": 501
    },
    {
        "category": "Warm Air Systems",
        "description": "Gas-fired warm air with fan-assisted flue - Ducted, on-off control, 1998 or later",
        "efficiency": 76,
        "heating_type": 1,
        "responsiveness": 1.0,
        "code": 502
    },
    {
        "category": "Warm Air Systems",
        "description": "Gas-fired warm air with fan-assisted flue - Ducted, modulating control, pre 1998",
        "efficiency": 72,
        "heating_type": 1,
        "responsiveness": 1.0,
        "code": 503
    },
    {
        "category": "Warm Air Systems",
        "description": "Gas-fired warm air with fan-assisted flue - Ducted, modulating control, 1998 or later",
        "efficiency": 78,
        "heating_type": 1,
        "responsiveness": 1.0,
        "code": 504
    },
    {
        "category": "Warm Air Systems",
        "description": "Gas-fired warm air with fan-assisted flue - Room heater with in-floor ducts",
        "efficiency": 69,
        "heating_type": 1,
        "responsiveness": 1.0,
        "code": 505
    },
    {
        "category": "Warm Air Systems",
        "description": "Gas-fired warm air with fan-assisted flue - Condensing",
        "efficiency": 81,
        "heating_type": 1,
        "responsiveness": 1.0,
        "code": 520
    }
]

gas_fired_warm_air_balanced_or_open_flue = [
    {"category": "Warm Air Systems",
     "description": "Gas-fired warm air with balanced or open flue - Ducted or stub-ducted, on-off control, pre 1998",
     "efficiency": 70, "heating_type": 1, "responsiveness": 1.0, "code": 506},
    {"category": "Warm Air Systems",
     "description": "Gas-fired warm air with balanced or open flue - Ducted or stub-ducted, on-off control, "
                    "1998 or later",
     "efficiency": 76, "heating_type": 1, "responsiveness": 1.0, "code": 507},
    {"category": "Warm Air Systems",
     "description": "Gas-fired warm air with balanced or open flue - Ducted or stub-ducted, modulating control, "
                    "pre 1998",
     "efficiency": 72, "heating_type": 1, "responsiveness": 1.0, "code": 508},
    {"category": "Warm Air Systems",
     "description": "Gas-fired warm air with balanced or open flue - Ducted or stub-ducted, modulating control, "
                    "1998 or later",
     "efficiency": 78, "heating_type": 1, "responsiveness": 1.0, "code": 509},
    {"category": "Warm Air Systems",
     "description": "Gas-fired warm air with balanced or open flue - Ducted or stub-ducted with flue heat recovery",
     "efficiency": 85, "heating_type": 1, "responsiveness": 1.0, "code": 510},
    {"category": "Warm Air Systems", "description": "Gas-fired warm air with balanced or open flue - Condensing",
     "efficiency": 81, "heating_type": 1, "responsiveness": 1.0, "code": 511}
]

liquid_fired_warm_air = [
    {"category": "Warm Air Systems", "description": "Liquid-fired warm air - Ducted output (on/off control)",
     "efficiency": 70, "heating_type": 1, "responsiveness": 1.0, "code": 512},
    {"category": "Warm Air Systems", "description": "Liquid-fired warm air - Ducted output (modulating control)",
     "efficiency": 72, "heating_type": 1, "responsiveness": 1.0, "code": 513},
    {"category": "Warm Air Systems", "description": "Liquid-fired warm air - Stub duct system", "efficiency": 70,
     "heating_type": 1, "responsiveness": 1.0, "code": 514}
]

electric_warm_air_systems = [
    {
        "category": "Warm Air Systems",
        "description": "Electric warm air - Electricaire system",
        "efficiency": 100,
        "heating_type": 2,
        "responsiveness": 0.75,
        "code": 515
    }
]

room_heaters = [
    # Gas (including LPG and biogas) room heaters
    {"category": "Room Heaters",
     "description": "Gas (including LPG and biogas) room heaters - Gas fire, open flue, pre-1980 (open fronted)",
     "flue": "OF", "efficiency_A": 50, "efficiency_B": 50, "heating_type": 1, "responsiveness": 1.0, "code": 601},
    {"category": "Room Heaters",
     "description": "Gas (including LPG and biogas) room heaters - Gas fire, open flue, pre-1980 (open fronted), "
                    "with back boiler unit",
     "flue": "OF*", "efficiency_A": 50, "efficiency_B": 50, "heating_type": 1, "responsiveness": 1.0, "code": 602},
    {"category": "Room Heaters",
     "description": "Gas (including LPG and biogas) room heaters - Gas fire, open flue, 1980 or later (open fronted), "
                    "sitting proud of, and sealed to, fireplace opening",
     "flue": "OF", "efficiency_A": 63, "efficiency_B": 64, "heating_type": 1, "responsiveness": 1.0, "code": 603},
    {"category": "Room Heaters",
     "description": "Gas (including LPG and biogas) room heaters - Gas fire, open flue, 1980 or later (open fronted), "
                    "sitting proud of, and sealed to, fireplace opening, with back boiler unit",
     "flue": "OF*", "efficiency_A": 63, "efficiency_B": 64, "heating_type": 1, "responsiveness": 1.0, "code": 604},
    {"category": "Room Heaters",
     "description": "Gas (including LPG and biogas) room heaters - Flush fitting Live Fuel Effect gas fire (open "
                    "fronted), sealed to fireplace opening",
     "flue": "OF", "efficiency_A": 40, "efficiency_B": 41, "heating_type": 1, "responsiveness": 1.0, "code": 605},
    {"category": "Room Heaters",
     "description": "Gas (including LPG and biogas) room heaters - Flush fitting Live Fuel Effect gas fire (open "
                    "fronted), sealed to fireplace opening, with back boiler unit",
     "flue": "OF*", "efficiency_A": 40, "efficiency_B": 41, "heating_type": 1, "responsiveness": 1.0, "code": 606},
    {"category": "Room Heaters",
     "description": "Gas (including LPG and biogas) room heaters - Flush fitting Live Fuel Effect gas fire (open "
                    "fronted), fan assisted, sealed to fireplace opening",
     "flue": "OF", "efficiency_A": 45, "efficiency_B": 46, "heating_type": 1, "responsiveness": 1.0, "code": 607},
    {"category": "Room Heaters",
     "description": "Gas (including LPG and biogas) room heaters - Gas fire or wall heater, balanced flue",
     "flue": "RS", "efficiency_A": 58, "efficiency_B": 60, "heating_type": 1, "responsiveness": 1.0, "code": 609},
    {"category": "Room Heaters",
     "description": "Gas (including LPG and biogas) room heaters - Gas fire, closed fronted, fan assisted",
     "flue": "RS", "efficiency_A": 72, "efficiency_B": 73, "heating_type": 1, "responsiveness": 1.0, "code": 610},
    {"category": "Room Heaters", "description": "Gas (including LPG and biogas) room heaters - Condensing gas fire",
     "flue": "RS", "efficiency_A": 85, "efficiency_B": 85, "heating_type": 1, "responsiveness": 1.0, "code": 611},
    {"category": "Room Heaters",
     "description": "Gas (including LPG and biogas) room heaters - Decorative Fuel Effect gas fire, open to chimney",
     "flue": "C", "efficiency_A": 20, "efficiency_B": 20, "heating_type": 1, "responsiveness": 1.0, "code": 612},
    {"category": "Room Heaters",
     "description": "Gas (including LPG and biogas) room heaters - Flueless gas fire, secondary heating only",
     "flue": "none", "efficiency_A": 90, "efficiency_B": 92, "heating_type": 1, "responsiveness": 1.0, "code": 613},

    # Liquid fuel room heaters
    {"category": "Room Heaters", "description": "Liquid fuel room heaters - Room heater, pre 2000", "efficiency": 55,
     "heating_type": 1, "responsiveness": 1.0, "code": 621},
    {"category": "Room Heaters",
     "description": "Liquid fuel room heaters - Room heater, pre 2000, with boiler (no radiators)", "efficiency": 65,
     "heating_type": 1, "responsiveness": 1.0, "code": 622},
    {"category": "Room Heaters", "description": "Liquid fuel room heaters - Room heater, 2000 or later",
     "efficiency": 60, "heating_type": 1, "responsiveness": 1.0, "code": 623},
    {"category": "Room Heaters",
     "description": "Liquid fuel room heaters - Room heater, 2000 or later with boiler (no radiators)",
     "efficiency": 70, "heating_type": 1, "responsiveness": 1.0, "code": 624},
    {"category": "Room Heaters", "description": "Liquid fuel room heaters - Bioethanol heater, secondary heating only",
     "efficiency": 94, "heating_type": 1, "responsiveness": 1.0, "code": 625},

    # Solid fuel room heaters
    {"category": "Room Heaters", "description": "Solid fuel room heaters - Open fire in grate", "efficiency_A": 37,
     "efficiency_B": 32, "heating_type": 3, "responsiveness": 0.5, "code": 631},
    {"category": "Room Heaters", "description": "Solid fuel room heaters - Open fire with back boiler (no radiators)",
     "efficiency_A": 50, "efficiency_B": 50, "heating_type": 3, "responsiveness": 0.5, "code": 632},
    {"category": "Room Heaters", "description": "Solid fuel room heaters - Closed room heater", "efficiency_A": 65,
     "efficiency_B": 60, "heating_type": 3, "responsiveness": 0.5, "code": 633},
    {"category": "Room Heaters",
     "description": "Solid fuel room heaters - Closed room heater with boiler (no radiators)", "efficiency_A": 67,
     "efficiency_B": 65, "heating_type": 3, "responsiveness": 0.5, "code": 634},
    {"category": "Room Heaters", "description": "Solid fuel room heaters - Stove (pellet fired)", "efficiency_A": 70,
     "efficiency_B": 65, "heating_type": 2, "responsiveness": 0.75, "code": 635},
    {"category": "Room Heaters",
     "description": "Solid fuel room heaters - Stove (pellet fired) with boiler (no radiators)", "efficiency_A": 75,
     "efficiency_B": 70, "heating_type": 2, "responsiveness": 0.75, "code": 636},

    # Electric (direct acting) room heaters
    {"category": "Room Heaters",
     "description": "Electric (direct acting) room heaters - Panel, convector or radiant heaters", "efficiency": 100,
     "heating_type": 1, "responsiveness": 1.0, "code": 691},
    {"category": "Room Heaters",
     "description": "Electric (direct acting) room heaters - Water- or oil-filled radiators", "efficiency": 100,
     "heating_type": 1, "responsiveness": 1.0, "code": 694},
    {"category": "Room Heaters", "description": "Electric (direct acting) room heaters - Fan heaters",
     "efficiency": 100, "heating_type": 1, "responsiveness": 1.0, "code": 692},
    {"category": "Room Heaters", "description": "Electric (direct acting) room heaters - Portable electric heaters",
     "efficiency": 100, "heating_type": 1, "responsiveness": 1.0, "code": 693}
]

other_space_heating_systems = [
    {
        "category": "Other Space Heating Systems",
        "description": "Electric ceiling heating",
        "efficiency": 100,
        "heating_type": 2,
        "responsiveness": 0.75,
        "code": 701
    }
]

hot_water_systems = [
    {"category": "Hot Water Systems", "description": "No hot water system present - electric immersion assumed",
     "efficiency": 100, "code": 999},
    {
        "category": "Hot Water Systems",
        "description": "HWP from the primary heating system",
        "code": 901,
        "options": [
            {"sub_description": "Back boiler (hot water only), gas*", "efficiency": 65},
            {"sub_description": "Circulator built into a gas warm air system, pre 1998", "efficiency": 65},
            {"sub_description": "Circulator built into a gas warm air system, 1998 or later", "efficiency": 73},
            {"sub_description": "Heat exchanger in a gas warm air system, condensing unit", "efficiency": 74},
        ]
    },
    {"category": "Hot Water Systems",
     "description": "From second main system", "efficiency": None,
     "code": 914},
    {"category": "Hot Water Systems", "description": "From secondary system",
     "efficiency": None, "code": 902},
    {"category": "Hot Water Systems", "description": "Electric immersion", "efficiency": 100, "code": 903},
    {"category": "Hot Water Systems",
     "description": "Single-point gas-fired water heater (instantaneous at point of use)", "efficiency": 70,
     "code": 907},
    {"category": "Hot Water Systems",
     "description": "Multi-point gas-fired water heater (instantaneous serving several taps)", "efficiency": 65,
     "code": 908},
    {"category": "Hot Water Systems", "description": "Electric instantaneous at point of use", "efficiency": 100,
     "code": 909},
    {"category": "Hot Water Systems", "description": "Gas boiler/circulator for water heating only*", "efficiency": 65,
     "code": 911},
    {"category": "Hot Water Systems", "description": "Liquid fuel boiler/circulator for water heating only*",
     "efficiency": 70, "code": 912},
    {"category": "Hot Water Systems", "description": "Solid fuel boiler/circulator for water heating only",
     "efficiency": 55, "code": 913},
    # Range cookers with boiler for water heating only
    {"category": "Hot Water Systems",
     "description": "Range cooker with boiler for water heating only: Gas, single burner with permanent pilot",
     "efficiency": 46, "code": 921},
    {"category": "Hot Water Systems",
     "description": "Range cooker with boiler for water heating only: Gas, single burner with automatic ignition",
     "efficiency": 50,
     "code": 922},
    {"category": "Hot Water Systems",
     "description": "Range cooker with boiler for water heating only: Gas, twin burner with permanent pilot pre 1998",
     "efficiency": 60,
     "code": 923},
    {"category": "Hot Water Systems",
     "description": "Range cooker with boiler for water heating only: Gas, twin burner with automatic ignition pre "
                    "1998",
     "efficiency": 65, "code": 924},
    {"category": "Hot Water Systems",
     "description": "Range cooker with boiler for water heating only: Gas, twin burner with permanent pilot 1998 or "
                    "later",
     "efficiency": 65, "code": 925},
    {"category": "Hot Water Systems",
     "description": "Range cooker with boiler for water heating only: Gas, twin burner with automatic ignition 1998 "
                    "or later",
     "efficiency": 70, "code": 926},
    {"category": "Hot Water Systems",
     "description": "Range cooker with boiler for water heating only: Liquid fuel, single burner", "efficiency": 60,
     "code": 927},
    {"category": "Hot Water Systems",
     "description": "Range cooker with boiler for water heating only: Liquid fuel, twin burner pre 1998",
     "efficiency": 70,
     "code": 928},
    {"category": "Hot Water Systems",
     "description": "Range cooker with boiler for water heating only: Liquid fuel, twin burner 1998 or later",
     "efficiency": 75,
     "code": 929},
    {"category": "Hot Water Systems",
     "description": "Range cooker with boiler for water heating only: Solid fuel, integral oven and boiler",
     "efficiency": 45,
     "code": 930},
    {"category": "Hot Water Systems",
     "description": "Range cooker with boiler for water heating only: Solid fuel, independent oven and boiler",
     "efficiency": 55,
     "code": 931},
    # Electric heat pump for water heating only
    {"category": "Hot Water Systems", "description": "Electric heat pump for water heating only*", "efficiency": 170,
     "code": 941},
    # Hot-water only heat network
    # Remove the SAP version
    # {"category": "Hot Water Systems",
    #  "description": "Hot-water only heat network (SAP)", "efficiency": None,
    #  "code": 950},
    {"category": "Hot Water Systems", "description": "Hot-water only heat network (RdSAP) - boilers", "efficiency": 80,
     "code": 950},
    {"category": "Hot Water Systems", "description": "Hot-water only heat network (RdSAP) - CHP", "efficiency": 75,
     "code": 951},
    {"category": "Hot Water Systems", "description": "Hot-water only heat network (RdSAP) - heat pump",
     "efficiency": 300, "code": 952}
]

boilers_seasonal = [
    {"category": "Boilers - seasonal",
     "description": "Gas boilers (including mains gas, LPG and biogas) 1998 or later - Regular non-condensing with "
                    "automatic ignition",
     "efficiency_winter": 74, "efficiency_summer": 64, "code": 101},
    {"category": "Boilers - seasonal",
     "description": "Gas boilers (including mains gas, LPG and biogas) 1998 or later - Regular condensing with "
                    "automatic ignition",
     "efficiency_winter": 84, "efficiency_summer": 74, "code": 102},
    {"category": "Boilers - seasonal",
     "description": "Gas boilers (including mains gas, LPG and biogas) 1998 or later - Non-condensing combi with "
                    "automatic ignition",
     "efficiency_winter": 74, "efficiency_summer": 65, "code": 103},
    {"category": "Boilers - seasonal",
     "description": "Gas boilers (including mains gas, LPG and biogas) 1998 or later - Condensing combi with "
                    "automatic ignition",
     "efficiency_winter": 84, "efficiency_summer": 75, "code": 104},
    {"category": "Boilers - seasonal",
     "description": "Gas boilers (including mains gas, LPG and biogas) 1998 or later - Regular non-condensing with "
                    "permanent pilot light",
     "efficiency_winter": 70, "efficiency_summer": 60, "code": 105},
    {"category": "Boilers - seasonal",
     "description": "Gas boilers (including mains gas, LPG and biogas) 1998 or later - Regular condensing with "
                    "permanent pilot light",
     "efficiency_winter": 80, "efficiency_summer": 70, "code": 106},
    {"category": "Boilers - seasonal",
     "description": "Gas boilers (including mains gas, LPG and biogas) 1998 or later - Non-condensing combi with "
                    "permanent pilot light",
     "efficiency_winter": 70, "efficiency_summer": 61, "code": 107},
    {"category": "Boilers - seasonal",
     "description": "Gas boilers (including mains gas, LPG and biogas) 1998 or later - Condensing combi with "
                    "permanent pilot light",
     "efficiency_winter": 80, "efficiency_summer": 71, "code": 108},
    {"category": "Boilers - seasonal",
     "description": "Gas boilers (including mains gas, LPG and biogas) 1998 or later - Back boiler to radiators",
     "efficiency_winter": 66, "efficiency_summer": 56, "code": 109},
    {"category": "Boilers - seasonal",
     "description": "Gas boilers (including mains gas, LPG and biogas) pre-1998, with fan-assisted flue - Regular, "
                    "low thermal capacity",
     "efficiency_winter": 73, "efficiency_summer": 63, "code": 110},
    {"category": "Boilers - seasonal",
     "description": "Gas boilers (including mains gas, LPG and biogas) pre-1998, with fan-assisted flue - Regular, "
                    "high or unknown thermal capacity",
     "efficiency_winter": 69, "efficiency_summer": 59, "code": 111},
    {"category": "Boilers - seasonal",
     "description": "Gas boilers (including mains gas, LPG and biogas) pre-1998, with fan-assisted flue - Combi",
     "efficiency_winter": 71, "efficiency_summer": 62, "code": 112},
    {"category": "Boilers - seasonal",
     "description": "Gas boilers (including mains gas, LPG and biogas) pre-1998, with fan-assisted flue - Condensing "
                    "combi",
     "efficiency_winter": 84, "efficiency_summer": 75, "code": 113},
    {"category": "Boilers - seasonal",
     "description": "Gas boilers (including mains gas, LPG and biogas) pre-1998, with fan-assisted flue - Regular, "
                    "condensing",
     "efficiency_winter": 84, "efficiency_summer": 74, "code": 114},
    {"category": "Boilers - seasonal",
     "description": "Gas boilers (including mains gas, LPG and biogas) pre-1998, with balanced or open flue - "
                    "Regular, wall mounted",
     "efficiency_winter": 66, "efficiency_summer": 56, "code": 115},
    {"category": "Boilers - seasonal",
     "description": "Gas boilers (including mains gas, LPG and biogas) pre-1998, with balanced or open flue - "
                    "Regular, floor mounted, pre 1979",
     "efficiency_winter": 56, "efficiency_summer": 46, "code": 116},
    {"category": "Boilers - seasonal",
     "description": "Gas boilers (including mains gas, LPG and biogas) pre-1998, with balanced or open flue - "
                    "Regular, floor mounted, 1979 to 1997",
     "efficiency_winter": 66, "efficiency_summer": 56, "code": 117},
    {"category": "Boilers - seasonal",
     "description": "Gas boilers (including mains gas, LPG and biogas) pre-1998, with balanced or open flue - Combi",
     "efficiency_winter": 66, "efficiency_summer": 57, "code": 118},
    {"category": "Boilers - seasonal",
     "description": "Gas boilers (including mains gas, LPG and biogas) pre-1998, with balanced or open flue - Back "
                    "boiler to radiators",
     "efficiency_winter": 66, "efficiency_summer": 56, "code": 119},
    {"category": "Boilers - seasonal",
     "description": "Combined Primary Storage Units (CPSU) (mains gas, LPG and biogas) - With automatic ignition ("
                    "non-condensing)",
     "efficiency_winter": 74, "efficiency_summer": 72, "code": 120},
    {"category": "Boilers - seasonal",
     "description": "Combined Primary Storage Units (CPSU) (mains gas, LPG and biogas) - With automatic ignition ("
                    "condensing)",
     "efficiency_winter": 83, "efficiency_summer": 81, "code": 121},
    {"category": "Boilers - seasonal",
     "description": "Combined Primary Storage Units (CPSU) (mains gas, LPG and biogas) - With permanent pilot ("
                    "non-condensing)",
     "efficiency_winter": 70, "efficiency_summer": 68, "code": 122},
    {"category": "Boilers - seasonal",
     "description": "Combined Primary Storage Units (CPSU) (mains gas, LPG and biogas) - With permanent pilot ("
                    "condensing)",
     "efficiency_winter": 79, "efficiency_summer": 77, "code": 123},
    {"category": "Boilers - seasonal", "description": "Liquid fuel boilers - Standard oil boiler pre-1985",
     "efficiency_winter": 66, "efficiency_summer": 54, "code": 124},
    {"category": "Boilers - seasonal", "description": "Liquid fuel boilers - Standard oil boiler 1985 to 1997",
     "efficiency_winter": 71, "efficiency_summer": 59, "code": 125},
    {"category": "Boilers - seasonal", "description": "Liquid fuel boilers - Standard oil boiler, 1998 or later",
     "efficiency_winter": 80, "efficiency_summer": 68, "code": 126},
    {"category": "Boilers - seasonal", "description": "Liquid fuel boilers - Condensing oil boiler",
     "efficiency_winter": 84, "efficiency_summer": 72, "code": 127},
    {"category": "Boilers - seasonal", "description": "Liquid fuel boilers - Combi oil boiler, pre-1998",
     "efficiency_winter": 71, "efficiency_summer": 62, "code": 128},
    {"category": "Boilers - seasonal", "description": "Liquid fuel boilers - Combi oil boiler, 1998 or later",
     "efficiency_winter": 77, "efficiency_summer": 68, "code": 129},
    {"category": "Boilers - seasonal", "description": "Liquid fuel boilers - Condensing combi oil boiler",
     "efficiency_winter": 82, "efficiency_summer": 73, "code": 130},
    {"category": "Boilers - seasonal",
     "description": "Liquid fuel boilers - Oil room heater with boiler to radiators, pre 2000", "efficiency_winter": 66,
     "efficiency_summer": 54, "code": 131},
    {"category": "Boilers - seasonal",
     "description": "Liquid fuel boilers - Oil room heater with boiler to radiators, 2000 or later",
     "efficiency_winter": 71, "efficiency_summer": 59, "code": 132},
    {"category": "Boilers - seasonal",
     "description": "Range cooker boilers (mains gas, LPG and biogas) - Single burner with permanent pilot",
     "efficiency_winter": 47, "efficiency_summer": 37, "code": 133},
    {"category": "Boilers - seasonal",
     "description": "Range cooker boilers (mains gas, LPG and biogas) - Single burner with automatic ignition",
     "efficiency_winter": 51, "efficiency_summer": 41, "code": 134},
    {"category": "Boilers - seasonal",
     "description": "Range cooker boilers (mains gas, LPG and biogas) - Twin burner with permanent pilot ("
                    "non-condensing) pre 1998",
     "efficiency_winter": 61, "efficiency_summer": 51, "code": 135},
    {"category": "Boilers - seasonal",
     "description": "Range cooker boilers (mains gas, LPG and biogas) - Twin burner with automatic ignition ("
                    "non-condensing) pre 1998",
     "efficiency_winter": 66, "efficiency_summer": 56, "code": 136},
    {"category": "Boilers - seasonal",
     "description": "Range cooker boilers (mains gas, LPG and biogas) - Twin burner with permanent pilot ("
                    "non-condensing) 1998 or later",
     "efficiency_winter": 66, "efficiency_summer": 56, "code": 137},
    {"category": "Boilers - seasonal",
     "description": "Range cooker boilers (mains gas, LPG and biogas) - Twin burner with automatic ignition ("
                    "non-condensing) 1998 or later",
     "efficiency_winter": 71, "efficiency_summer": 61, "code": 138},
    {"category": "Boilers - seasonal", "description": "Range cooker boilers (liquid fuel) - Single burner",
     "efficiency_winter": 61, "efficiency_summer": 49, "code": 139},
    {"category": "Boilers - seasonal",
     "description": "Range cooker boilers (liquid fuel) - Twin burner (non-condensing) pre 1998",
     "efficiency_winter": 71, "efficiency_summer": 59, "code": 140},
    {"category": "Boilers - seasonal",
     "description": "Range cooker boilers (liquid fuel) - Twin burner (non-condensing) 1998 or later",
     "efficiency_winter": 76, "efficiency_summer": 64, "code": 141},
]

# Heating controls
no_heating_system_controls = [
    {
        "category": "No heating system present",
        "description": "None",
        "control": 2,
        "temperature_adjustment_c": "+0.3",
        "code": 2699
    }
]

boiler_system_controls = [
    {"category": "Boiler Systems with Radiators or Underfloor Heating",
     "description": "Not applicable", "control": None, "temperature_adjustment_c": None,
     "code": 2100},
    {"category": "Boiler Systems with Radiators or Underfloor Heating",
     "description": "No time or thermostatic control of room temperature", "control": 1,
     "temperature_adjustment_c": "+0.6", "code": 2101},
    {"category": "Boiler Systems with Radiators or Underfloor Heating", "description": "Programmer, no room thermostat",
     "control": 1, "temperature_adjustment_c": "+0.6", "code": 2102},
    {"category": "Boiler Systems with Radiators or Underfloor Heating", "description": "Room thermostat only",
     "control": 1, "temperature_adjustment_c": "0", "code": 2103},
    {"category": "Boiler Systems with Radiators or Underfloor Heating", "description": "Programmer and room thermostat",
     "control": 1, "temperature_adjustment_c": "0", "code": 2104},
    {"category": "Boiler Systems with Radiators or Underfloor Heating",
     "description": "Programmer and at least two room thermostats", "control": 2, "temperature_adjustment_c": "0",
     "code": 2105},
    {"category": "Boiler Systems with Radiators or Underfloor Heating", "description": "Room thermostat and TRVs",
     "control": 2, "temperature_adjustment_c": "0", "code": 2113},
    {"category": "Boiler Systems with Radiators or Underfloor Heating",
     "description": "Programmer, room thermostat and TRVs", "control": 2, "temperature_adjustment_c": "0",
     "code": 2106},
    {"category": "Boiler Systems with Radiators or Underfloor Heating", "description": "TRVs and bypass", "control": 2,
     "temperature_adjustment_c": "0", "code": 2111},
    {"category": "Boiler Systems with Radiators or Underfloor Heating", "description": "Programmer, TRVs and bypass",
     "control": 2, "temperature_adjustment_c": "0", "code": 2107},
    {"category": "Boiler Systems with Radiators or Underfloor Heating",
     "description": "Programmer, TRVs and flow switch", "control": 2, "temperature_adjustment_c": "0", "code": 2108},
    {"category": "Boiler Systems with Radiators or Underfloor Heating",
     "description": "Programmer, TRVs and boiler energy manager", "control": 2, "temperature_adjustment_c": "0",
     "code": 2109},
    {"category": "Boiler Systems with Radiators or Underfloor Heating",
     "description": "Time and temperature zone control by arrangement of plumbing and electrical services",
     "control": 3, "temperature_adjustment_c": "0", "code": 2110},
    {"category": "Boiler Systems with Radiators or Underfloor Heating",
     "description": "Time and temperature zone control by device in PCDB", "control": 3,
     "temperature_adjustment_c": "0", "code": 2112},
]

heat_pump_controls = [
    # We have a previous 2100 code for not applicable
    # {"category": "Heat Pumps with Radiators or Underfloor Heating",
    #  "description": "Not applicable (heat pump provides DHW only)", "control": None, "temperature_adjustment_c": None,
    #  "code": 2100},
    {"category": "Heat Pumps with Radiators or Underfloor Heating",
     "description": "No time or thermostatic control of room temperature", "control": 1,
     "temperature_adjustment_c": "+0.3", "code": 2201},
    {"category": "Heat Pumps with Radiators or Underfloor Heating", "description": "Programmer, no room thermostat",
     "control": 1, "temperature_adjustment_c": "+0.3", "code": 2202},
    {"category": "Heat Pumps with Radiators or Underfloor Heating", "description": "Room thermostat only", "control": 1,
     "temperature_adjustment_c": "0", "code": 2203},
    {"category": "Heat Pumps with Radiators or Underfloor Heating", "description": "Programmer and room thermostat",
     "control": 1, "temperature_adjustment_c": "0", "code": 2204},
    {"category": "Heat Pumps with Radiators or Underfloor Heating",
     "description": "Programmer and at least two room thermostats", "control": 2, "temperature_adjustment_c": "0",
     "code": 2205},
    {"category": "Heat Pumps with Radiators or Underfloor Heating", "description": "Room thermostat and TRVs",
     "control": 2, "temperature_adjustment_c": "0", "code": 2209},
    {"category": "Heat Pumps with Radiators or Underfloor Heating",
     "description": "Programmer, room thermostat and TRVs", "control": 2, "temperature_adjustment_c": "0",
     "code": 2210},
    {"category": "Heat Pumps with Radiators or Underfloor Heating", "description": "Programmer, TRVs and bypass",
     "control": 2, "temperature_adjustment_c": "0", "code": 2206},
    {"category": "Heat Pumps with Radiators or Underfloor Heating",
     "description": "Time and temperature zone control by arrangement of plumbing and electrical services",
     "control": 3, "temperature_adjustment_c": "0", "code": 2207},
    {"category": "Heat Pumps with Radiators or Underfloor Heating",
     "description": "Time and temperature zone control by device in PCDB", "control": 3,
     "temperature_adjustment_c": "0", "code": 2208},
]

heat_network_controls = [
    {"category": "Heat Networks", "description": "Flat rate charging*, no thermostatic control of room temperature",
     "control": 1, "temperature_adjustment_c": "+0.3", "code": 2301},
    {"category": "Heat Networks", "description": "Flat rate charging*, programmer, no room thermostat", "control": 1,
     "temperature_adjustment_c": "+0.3", "code": 2302},
    {"category": "Heat Networks", "description": "Flat rate charging*, room thermostat only", "control": 1,
     "temperature_adjustment_c": "0", "code": 2303},
    {"category": "Heat Networks", "description": "Flat rate charging*, programmer and room thermostat", "control": 1,
     "temperature_adjustment_c": "0", "code": 2304},
    {"category": "Heat Networks", "description": "Flat rate charging*, room thermostat and TRVs", "control": 2,
     "temperature_adjustment_c": "0", "code": 2313},
    {"category": "Heat Networks", "description": "Flat rate charging*, TRVs", "control": 2,
     "temperature_adjustment_c": "0", "code": 2307},
    {"category": "Heat Networks", "description": "Flat rate charging*, programmer and TRVs", "control": 2,
     "temperature_adjustment_c": "0", "code": 2305},
    {"category": "Heat Networks", "description": "Flat rate charging*, programmer and at least two room thermostats",
     "control": 2, "temperature_adjustment_c": "0", "code": 2311},
    {"category": "Heat Networks", "description": "Charging system linked to use of heating, room thermostat only",
     "control": 2, "temperature_adjustment_c": "0", "code": 2308},
    {"category": "Heat Networks",
     "description": "Charging system linked to use of heating, programmer and room thermostat", "control": 2,
     "temperature_adjustment_c": "0", "code": 2309},
    {"category": "Heat Networks", "description": "Charging system linked to use of heating, room thermostat and TRVs",
     "control": 3, "temperature_adjustment_c": "0", "code": 2314},
    {"category": "Heat Networks", "description": "Charging system linked to use of heating, TRVs", "control": 3,
     "temperature_adjustment_c": "0", "code": 2310},
    {"category": "Heat Networks", "description": "Charging system linked to use of heating, programmer and TRVs",
     "control": 3, "temperature_adjustment_c": "0", "code": 2306},
    {"category": "Heat Networks",
     "description": "Charging system linked to use of heating, programmer and at least two room thermostats",
     "control": 3, "temperature_adjustment_c": "0", "code": 2312},
]

electric_storage_systems_controls = [
    {"category": "Electric Storage Systems", "description": "Manual charge control", "control": 3,
     "temperature_adjustment_c": "+0.7", "code": 2401},
    {"category": "Electric Storage Systems", "description": "Automatic charge control", "control": 3,
     "temperature_adjustment_c": "+0.4", "code": 2402},
    {"category": "Electric Storage Systems", "description": "Celect-type controls", "control": 3,
     "temperature_adjustment_c": "+0.4", "code": 2403},
    {"category": "Electric Storage Systems", "description": "Controls for high heat retention storage heaters §",
     "control": 3, "temperature_adjustment_c": "0", "code": 2404},
]

warm_air_systems_controls = [
    {"category": "Warm Air Systems", "description": "No time or thermostatic control of room temperature", "control": 1,
     "temperature_adjustment_c": "+0.3", "code": 2501},
    {"category": "Warm Air Systems", "description": "Programmer, no room thermostat", "control": 1,
     "temperature_adjustment_c": "+0.3", "code": 2502},
    {"category": "Warm Air Systems", "description": "Room thermostat only", "control": 1,
     "temperature_adjustment_c": "0", "code": 2503},
    {"category": "Warm Air Systems", "description": "Programmer and room thermostat", "control": 1,
     "temperature_adjustment_c": "0", "code": 2504},
    {"category": "Warm Air Systems", "description": "Programmer and at least two room thermostats", "control": 2,
     "temperature_adjustment_c": "0", "code": 2505},
    {"category": "Warm Air Systems", "description": "Time and temperature zone control", "control": 3,
     "temperature_adjustment_c": "0", "code": 2506},
]

room_heater_systems_controls = [
    {"category": "Room Heater Systems", "description": "No thermostatic control of room temperature", "control": 2,
     "temperature_adjustment_c": "+0.3", "code": 2601},
    {"category": "Room Heater Systems", "description": "Appliance thermostats", "control": 3,
     "temperature_adjustment_c": "0", "code": 2602},
    {"category": "Room Heater Systems", "description": "Programmer and appliance thermostats", "control": 3,
     "temperature_adjustment_c": "0", "code": 2603},
    {"category": "Room Heater Systems", "description": "Room thermostats only", "control": 3,
     "temperature_adjustment_c": "0", "code": 2604},
    {"category": "Room Heater Systems", "description": "Programmer and room thermostats", "control": 3,
     "temperature_adjustment_c": "0", "code": 2605},
]

other_systems_controls = [
    {"category": "Other Systems", "description": "No time or thermostatic control of room temperature", "control": 1,
     "temperature_adjustment_c": "+0.3", "code": 2701},
    {"category": "Other Systems", "description": "Programmer, no room thermostat", "control": 1,
     "temperature_adjustment_c": "+0.3", "code": 2702},
    {"category": "Other Systems", "description": "Room thermostat only", "control": 1, "temperature_adjustment_c": "0",
     "code": 2703},
    {"category": "Other Systems", "description": "Programmer and room thermostat", "control": 1,
     "temperature_adjustment_c": "0", "code": 2704},
    {"category": "Other Systems", "description": "Temperature zone control", "control": 2,
     "temperature_adjustment_c": "0", "code": 2705},
    {"category": "Other Systems", "description": "Time and temperature zone control", "control": 3,
     "temperature_adjustment_c": "0", "code": 2706},
]

heating_data = (
    no_heating_system +
    boiler_systems_with_radiators_or_underfloor_heating +
    heat_pumps_with_radiators_or_underfloor_heating +
    electric_heat_pumps_warm_air_distribution +
    gas_fired_heat_pumps_warm_air_distribution +
    heat_networks +
    electric_storage_systems +
    off_peak_tariffs_electric_underfloor_heating +
    standard_or_off_peak_tariff_electric_underfloor_heating +
    gas_fired_warm_air_fan_assisted +
    gas_fired_warm_air_balanced_or_open_flue +
    liquid_fired_warm_air +
    electric_warm_air_systems +
    room_heaters +
    other_space_heating_systems +
    hot_water_systems +
    boilers_seasonal +
    no_heating_system_controls +
    boiler_system_controls +
    heat_pump_controls +
    heat_network_controls +
    electric_storage_systems_controls +
    warm_air_systems_controls +
    room_heater_systems_controls +
    other_systems_controls
)

heating_data = pd.DataFrame(heating_data)
