mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-06-08 11:17:27 +00:00
350 lines
29 KiB
Python
350 lines
29 KiB
Python
import datetime
|
|
import numpy as np
|
|
from numpy import nan
|
|
from pandas import Timestamp
|
|
|
|
measures_to_optimise = [
|
|
[{'phase': 0, 'parts': [{'id': 2466, 'type': 'external_wall_insulation',
|
|
'description': 'EWI Pro EPS external wall insulation system with '
|
|
'Brick Slip finish',
|
|
'depth': 150.0, 'depth_unit': 'mm', 'cost': None,
|
|
'cost_unit': 'gbp_per_m2', 'r_value_per_mm': 0.02631579,
|
|
'r_value_unit': 'square_meter_kelvin_per_watt',
|
|
'thermal_conductivity': 0.038,
|
|
'thermal_conductivity_unit': 'watt_per_meter_kelvin', 'link': 'SCIS',
|
|
'created_at': Timestamp('2025-03-16 15:26:22.379496'),
|
|
'is_active': True, 'prime_material_cost': None, 'material_cost': 0.0,
|
|
'labour_cost': 0.0, 'labour_hours_per_unit': 0.0, 'plant_cost': 0.0,
|
|
'total_cost': 298.35, 'notes': 'This is the quoted value from SCIS',
|
|
'is_installer_quote': True, 'quantity': 63.98796761892035,
|
|
'quantity_unit': 'm2', 'total': 19090.810139104888,
|
|
'labour_hours': 0.0, 'labour_days': 0.0}],
|
|
'type': 'external_wall_insulation', 'measure_type': 'external_wall_insulation',
|
|
'description': 'Install 150mm EWI Pro EPS external wall insulation system with Brick Slip '
|
|
'finish on external walls',
|
|
'starting_u_value': 1.7, 'new_u_value': 0.32, 'already_installed': False,
|
|
'sap_points': np.float64(9.6),
|
|
'simulation_config': {'is_as_built_ending': False, 'walls_is_assumed_ending': False,
|
|
'walls_insulation_thickness_ending': 'average',
|
|
'external_insulation_ending': True, 'walls_energy_eff_ending': 'Good',
|
|
'walls_thermal_transmittance_ending': 0.23},
|
|
'description_simulation': {'walls-description': 'Solid brick, with external insulation',
|
|
'walls-energy-eff': 'Good'}, 'total': 19090.810139104888,
|
|
'labour_hours': 0.0, 'labour_days': 0.0, 'survey': False, 'recommendation_id': '0_phase=0',
|
|
'efficiency': 11229.568317120522, 'co2_equivalent_savings': np.float64(0.5),
|
|
'heat_demand': np.float64(37.099999999999994), 'kwh_savings': np.float64(1813.199999999999),
|
|
'energy_cost_savings': np.float64(135.03007058823516)}, {'phase': 0, 'parts': [
|
|
{'id': 2373, 'type': 'internal_wall_insulation', 'description': 'SWIP EcoBatt & Plastered finish',
|
|
'depth': 95.0,
|
|
'depth_unit': 'mm', 'cost': None, 'cost_unit': 'gbp_per_m2', 'r_value_per_mm': 0.03125,
|
|
'r_value_unit': 'square_meter_kelvin_per_watt', 'thermal_conductivity': 0.032,
|
|
'thermal_conductivity_unit': None,
|
|
'link': 'SCIS', 'created_at': Timestamp('2025-03-16 15:26:22.379496'), 'is_active': True,
|
|
'prime_material_cost': None, 'material_cost': 0.0, 'labour_cost': 0.0, 'labour_hours_per_unit': 2.1,
|
|
'plant_cost': 0.0, 'total_cost': 89.0, 'notes': None, 'is_installer_quote': True,
|
|
'quantity': 63.98796761892035,
|
|
'quantity_unit': 'm2', 'total': 5694.929118083911, 'labour_hours': 134.37473199973275,
|
|
'labour_days': 4.199210374991648}], 'type': 'internal_wall_insulation',
|
|
'measure_type': 'internal_wall_insulation',
|
|
'description': 'Install 95mm SWIP '
|
|
'EcoBatt & '
|
|
'Plastered finish '
|
|
'on internal walls',
|
|
'starting_u_value': 1.7,
|
|
'new_u_value': 0.32,
|
|
'already_installed': False,
|
|
'sap_points': 6,
|
|
'simulation_config': {
|
|
'is_as_built_ending': False,
|
|
'walls_is_assumed_ending': False,
|
|
'walls_insulation_thickness_ending': 'average',
|
|
'internal_insulation_ending':
|
|
True,
|
|
'walls_energy_eff_ending':
|
|
'Good',
|
|
'walls_thermal_transmittance_ending': 0.29},
|
|
'description_simulation': {
|
|
'walls-description': 'Solid '
|
|
'brick, '
|
|
'with '
|
|
'internal '
|
|
'insulation',
|
|
'walls-energy-eff': 'Good'},
|
|
'total': 5694.929118083911,
|
|
'labour_hours': 134.37473199973275,
|
|
'labour_days': 4.199210374991648,
|
|
'survey': True,
|
|
'recommendation_id': '1_phase=0',
|
|
'efficiency': 3349.6383047552417,
|
|
'co2_equivalent_savings': np.float64(
|
|
0.5), 'heat_demand': np.float64(
|
|
35.30000000000001), 'kwh_savings': np.float64(1424.699999999999), 'energy_cost_savings': np.float64(
|
|
106.09824705882352)}], [{'phase': 1, 'parts': [
|
|
{'id': 2351, 'type': 'loft_insulation', 'description': 'Knauf Loft Roll 44 glass fibre roll', 'depth': 300.0,
|
|
'depth_unit': 'mm', 'cost': None, 'cost_unit': 'gbp_per_m2', 'r_value_per_mm': 0.022727273,
|
|
'r_value_unit': 'square_meter_kelvin_per_watt', 'thermal_conductivity': 0.044,
|
|
'thermal_conductivity_unit': 'watt_per_meter_kelvin', 'link': 'SCIS',
|
|
'created_at': Timestamp('2025-03-16 15:26:22.379496'), 'is_active': True, 'prime_material_cost': None,
|
|
'material_cost': 0.0, 'labour_cost': 0.0, 'labour_hours_per_unit': 0.11, 'plant_cost': 0.0, 'total_cost': 15.0,
|
|
'notes': 'This is the cost if there is less than 100mm existing insulation', 'is_installer_quote': True,
|
|
'quantity': 63.98796761892035, 'quantity_unit': 'm2', 'total': 645.0, 'labour_hours': 8, 'labour_days': 1}],
|
|
'type': 'loft_insulation', 'measure_type': 'loft_insulation',
|
|
'description': 'Install 300mm of Knauf Loft Roll 44 glass fibre roll in your loft',
|
|
'starting_u_value': 2.3, 'new_u_value': 2.3, 'sap_points': np.float64(2.4),
|
|
'already_installed': False,
|
|
'simulation_config': {'is_loft_ending': True, 'roof_is_assumed_ending': False,
|
|
'roof_insulation_thickness_ending': '300',
|
|
'roof_thermal_transmittance_ending': 2.3,
|
|
'roof_energy_eff_ending': 'Very Good'},
|
|
'description_simulation': {'roof-description': 'Pitched, 300mm loft insulation',
|
|
'roof-energy-eff': 'Very Good'}, 'total': 645.0,
|
|
'labour_hours': 8, 'labour_days': 1, 'survey': False,
|
|
'recommendation_id': '2_phase=1',
|
|
'efficiency': 278.1347826086957,
|
|
'co2_equivalent_savings': np.float64(0.10000000000000009),
|
|
'heat_demand': np.float64(1.5), 'kwh_savings': np.float64(572.5500000000002),
|
|
'energy_cost_savings': np.float64(42.638135294117774)}], [{'phase': 2, 'parts': [
|
|
{'id': 2329, 'type': 'mechanical_ventilation', 'description': 'Mechanical Extract Ventilation', 'depth': 0.0,
|
|
'depth_unit': None, 'cost': None, 'cost_unit': 'gbp_per_unit', 'r_value_per_mm': nan,
|
|
'r_value_unit': 'square_meter_kelvin_per_watt', 'thermal_conductivity': None,
|
|
'thermal_conductivity_unit': None,
|
|
'link': 'SCIS', 'created_at': datetime.datetime(2025, 3, 16, 15, 26, 22, 379496), 'is_active': True,
|
|
'prime_material_cost': None, 'material_cost': 0.0, 'labour_cost': 0.0, 'labour_hours_per_unit': 0.0,
|
|
'plant_cost': 0.0, 'total_cost': 350.0, 'notes': None, 'is_installer_quote': True, 'total': 700.0,
|
|
'quantity': 2,
|
|
'quantity_unit': 'part'}
|
|
], 'type': 'mechanical_ventilation', 'measure_type': 'mechanical_ventilation',
|
|
'description':
|
|
'Install 2 '
|
|
'Mechanical '
|
|
'Extract '
|
|
'Ventilation units',
|
|
'starting_u_value': None,
|
|
'new_u_value': None,
|
|
'already_installed': False,
|
|
'sap_points': np.float64(
|
|
-0.10000000000000142),
|
|
'heat_demand': np.float64(
|
|
-3.3999999999999773),
|
|
'kwh_savings': np.float64(
|
|
-45.899999999999636),
|
|
'co2_equivalent_savings': np.float64(
|
|
0.0),
|
|
'energy_cost_savings': np.float64(
|
|
-3.4181999999999846),
|
|
'total': 700.0,
|
|
'labour_hours': 8,
|
|
'labour_days': 1.0,
|
|
'simulation_config': {
|
|
'mechanical_ventilation_ending': 'mechanical, extract only'},
|
|
'description_simulation': {
|
|
'mechanical-ventilation': 'mechanical, extract only'},
|
|
'recommendation_id': '3_phase=2',
|
|
'efficiency': 0}
|
|
], [
|
|
{'phase': 3, 'parts': [{'id': 2409, 'type': 'suspended_floor_insulation',
|
|
'description': 'Q-bot underfloor insulation', 'depth': 75.0,
|
|
'depth_unit': 'mm', 'cost': None, 'cost_unit': 'gbp_per_m2',
|
|
'r_value_per_mm': 0.045454547,
|
|
'r_value_unit': 'square_meter_kelvin_per_watt',
|
|
'thermal_conductivity': 0.022,
|
|
'thermal_conductivity_unit': 'watt_per_meter_kelvin',
|
|
'link': 'SCIS',
|
|
'created_at': Timestamp('2025-03-16 15:26:22.379496'),
|
|
'is_active': True, 'prime_material_cost': None,
|
|
'material_cost': 0.0, 'labour_cost': 0.0,
|
|
'labour_hours_per_unit': 1.63, 'plant_cost': 0.0,
|
|
'total_cost': 93.75,
|
|
'notes': 'Linearly interpolated based on Qbot costs',
|
|
'is_installer_quote': True, 'quantity': 43.0, 'quantity_unit': 'm2',
|
|
'total': 4031.25, 'labour_hours': 70.08999999999999,
|
|
'labour_days': 2.920416666666666}],
|
|
'type': 'suspended_floor_insulation', 'measure_type': 'suspended_floor_insulation',
|
|
'description': 'Install 75mm Q-bot underfloor insulation insulation in suspended floor',
|
|
'starting_u_value': 0.83, 'new_u_value': 0.22, 'sap_points': 2, 'survey': True,
|
|
'already_installed': False, 'simulation_config': {'floor_is_assumed_ending': False,
|
|
'floor_insulation_thickness_ending':
|
|
'average',
|
|
'floor_thermal_transmittance_ending':
|
|
0.685593},
|
|
'description_simulation': {'floor-description': 'Suspended, insulated'}, 'total': 4031.25,
|
|
'labour_hours': 70.08999999999999, 'labour_days': 2.920416666666666,
|
|
'recommendation_id': '4_phase=3', 'efficiency': 4856.707710843373,
|
|
'co2_equivalent_savings': np.float64(0.20000000000000018), 'heat_demand': np.float64(33.5),
|
|
'kwh_savings': np.float64(1018.0999999999995),
|
|
'energy_cost_savings': np.float64(75.8185058823529)}], [
|
|
{'phase': 4, 'parts': [], 'type': 'low_energy_lighting',
|
|
'measure_type': 'low_energy_lighting',
|
|
'description': 'Install low energy lighting in 14 outlets', 'starting_u_value': None,
|
|
'new_u_value': None, 'already_installed': False, 'sap_points': 2, 'kwh_savings': 766.5,
|
|
'energy_cost_savings': 197.22044999999997,
|
|
'co2_equivalent_savings': np.float64(0.09999999999999964),
|
|
'description_simulation': {'lighting-energy-eff': 'Very Good',
|
|
'lighting-description': 'Low energy lighting in all fixed '
|
|
'outlets',
|
|
'low-energy-lighting': 100}, 'total': 58.8, 'labour_hours': 1,
|
|
'labour_days': 0.125, 'survey': True, 'recommendation_id': '5_phase=4', 'efficiency': 29.4,
|
|
'heat_demand': np.float64(5.099999999999994)}], [
|
|
{'type': 'heating', 'phase': 5, 'measure_type': 'time_temperature_zone_control',
|
|
'parts': [],
|
|
'description': 'Upgrade heating controls to Smart Thermostats, room sensors and smart '
|
|
'radiator valves (time & temperature zone control)',
|
|
'total': 739.576, 'subtotal': 700.48, 'vat': 39.096000000000004,
|
|
'labour_hours': 3.6199999999999997, 'labour_days': np.float64(1.0),
|
|
'starting_u_value': None, 'new_u_value': None, 'sap_points': np.float64(2.9),
|
|
'already_installed': False,
|
|
'simulation_config': {'thermostatic_control_ending': 'time and temperature zone control',
|
|
'switch_system_ending': None, 'trvs_ending': None,
|
|
'mainheatc_energy_eff_ending': 'Very Good'},
|
|
'description_simulation': {'mainheatcont-description': 'Time and temperature zone control',
|
|
'mainheatc-energy-eff': 'Very Good'},
|
|
'recommendation_id': '6_phase=5', 'efficiency': 739.576,
|
|
'co2_equivalent_savings': np.float64(0.30000000000000027),
|
|
'heat_demand': np.float64(6.599999999999994), 'kwh_savings': np.float64(853.6999999999998),
|
|
'energy_cost_savings': np.float64(63.57554117647055)}], [
|
|
{'phase': 6, 'parts': [], 'type': 'secondary_heating', 'measure_type': 'secondary_heating',
|
|
'description': 'Remove the secondary heating system', 'starting_u_value': None,
|
|
'new_u_value': None, 'sap_points': np.float64(3.6), 'already_installed': False,
|
|
'total': 30.0, 'subtotal': 25.0, 'vat': 5.0, 'labour_hours': 3.0,
|
|
'labour_days': np.float64(1.0),
|
|
'simulation_config': {'secondheat_description_ending': 'None'},
|
|
'description_simulation': {'secondheat-description': 'None'},
|
|
'recommendation_id': '7_phase=6', 'efficiency': 30.0,
|
|
'co2_equivalent_savings': np.float64(0.10000000000000009),
|
|
'heat_demand': np.float64(15.400000000000006),
|
|
'kwh_savings': np.float64(202.30000000000018),
|
|
'energy_cost_savings': np.float64(15.065400000000011)}], [
|
|
{'phase': 7, 'parts': [{"type": "solar_pv", "size": 4}], 'type': 'solar_pv', 'measure_type': 'solar_pv',
|
|
'description': 'Install a 4.0 kilowatt-peak (kWp) solar panel system.',
|
|
'starting_u_value': None, 'new_u_value': None, 'sap_points': np.float64(13.0),
|
|
'already_installed': False, 'total': 6013.139999999999, 'subtotal': 5010.95, 'vat': 0,
|
|
'labour_hours': 48, 'labour_days': 2, 'photo_supply': np.float64(65.0),
|
|
'has_battery': False, 'initial_ac_kwh_per_year': np.float64(4081.7132614999996),
|
|
'description_simulation': {'photo-supply': np.float64(65.0)},
|
|
'recommendation_id': '8_phase=7', 'efficiency': np.float64(462.54923076923075),
|
|
'co2_equivalent_savings': np.float64(0.47347873833399995),
|
|
'heat_demand': np.float64(88.69999999999999),
|
|
'kwh_savings': np.float64(2040.8566307499998),
|
|
'energy_cost_savings': np.float64(525.1124110919749)},
|
|
{'phase': 7, 'parts': [{"type": "solar_pv", "size": 4}], 'type': 'solar_pv', 'measure_type': 'solar_pv',
|
|
'description': 'Install a 4.0 kilowatt-peak (kWp) solar panel system, with a battery.',
|
|
'starting_u_value': None, 'new_u_value': None, 'sap_points': np.float64(13.0),
|
|
'already_installed': False, 'total': 10537.008, 'subtotal': 8780.84, 'vat': 0,
|
|
'labour_hours': 48, 'labour_days': 2, 'photo_supply': np.float64(65.0),
|
|
'has_battery': True, 'initial_ac_kwh_per_year': np.float64(4081.7132614999996),
|
|
'description_simulation': {'photo-supply': np.float64(65.0)},
|
|
'recommendation_id': '9_phase=7', 'efficiency': np.float64(810.5390769230769),
|
|
'co2_equivalent_savings': np.float64(0.6628702336675999),
|
|
'heat_demand': np.float64(88.69999999999999),
|
|
'kwh_savings': np.float64(2857.1992830499994),
|
|
'energy_cost_savings': np.float64(735.1573755287648)},
|
|
{'phase': 7, 'parts': [{"type": "solar_pv", "size": 3.6}], 'type': 'solar_pv', 'measure_type': 'solar_pv',
|
|
'description': 'Install a 3.6 kilowatt-peak (kWp) solar panel system.',
|
|
'starting_u_value': None, 'new_u_value': None, 'sap_points': np.float64(12.0),
|
|
'already_installed': False, 'total': 5826.491999999999, 'subtotal': 4855.41, 'vat': 0,
|
|
'labour_hours': 48, 'labour_days': 2, 'photo_supply': np.float64(60.0),
|
|
'has_battery': False, 'initial_ac_kwh_per_year': np.float64(3692.66794),
|
|
'description_simulation': {'photo-supply': np.float64(60.0)},
|
|
'recommendation_id': '10_phase=7', 'efficiency': np.float64(485.54099999999994),
|
|
'co2_equivalent_savings': np.float64(0.42834948104),
|
|
'heat_demand': np.float64(83.69999999999999), 'kwh_savings': np.float64(1846.33397),
|
|
'energy_cost_savings': np.float64(475.0617304809999)},
|
|
{'phase': 7, 'parts': [{"type": "solar_pv", "size": 3.6}], 'type': 'solar_pv', 'measure_type': 'solar_pv',
|
|
'description': 'Install a 3.6 kilowatt-peak (kWp) solar panel system, with a battery.',
|
|
'starting_u_value': None, 'new_u_value': None, 'sap_points': np.float64(12.0),
|
|
'already_installed': False, 'total': 10350.359999999999, 'subtotal': 8625.3, 'vat': 0,
|
|
'labour_hours': 48, 'labour_days': 2, 'photo_supply': np.float64(60.0),
|
|
'has_battery': True, 'initial_ac_kwh_per_year': np.float64(3692.66794),
|
|
'description_simulation': {'photo-supply': np.float64(60.0)},
|
|
'recommendation_id': '11_phase=7', 'efficiency': np.float64(862.5299999999999),
|
|
'co2_equivalent_savings': np.float64(0.599689273456),
|
|
'heat_demand': np.float64(83.69999999999999), 'kwh_savings': np.float64(2584.867558),
|
|
'energy_cost_savings': np.float64(665.0864226734)},
|
|
{'phase': 7, 'parts': [{"type": "solar_pv", "size": 3.2}], 'type': 'solar_pv', 'measure_type': 'solar_pv',
|
|
'description': 'Install a 3.2 kilowatt-peak (kWp) solar panel system.',
|
|
'starting_u_value': None, 'new_u_value': None, 'sap_points': np.float64(11.0),
|
|
'already_installed': False, 'total': 5642.604, 'subtotal': 4702.17, 'vat': 0,
|
|
'labour_hours': 48, 'labour_days': 2, 'photo_supply': np.float64(55.0),
|
|
'has_battery': False, 'initial_ac_kwh_per_year': np.float64(3300.5416548),
|
|
'description_simulation': {'photo-supply': np.float64(55.0)},
|
|
'recommendation_id': '12_phase=7', 'efficiency': np.float64(512.964),
|
|
'co2_equivalent_savings': np.float64(0.3828628319568), 'heat_demand': np.float64(78.3),
|
|
'kwh_savings': np.float64(1650.2708274),
|
|
'energy_cost_savings': np.float64(424.61468389001993)},
|
|
{'phase': 7, 'parts': [{"type": "solar_pv", "size": 3.2}], 'type': 'solar_pv', 'measure_type': 'solar_pv',
|
|
'description': 'Install a 3.2 kilowatt-peak (kWp) solar panel system, with a battery.',
|
|
'starting_u_value': None, 'new_u_value': None, 'sap_points': np.float64(11.0),
|
|
'already_installed': False, 'total': 10166.472, 'subtotal': 8472.06, 'vat': 0,
|
|
'labour_hours': 48, 'labour_days': 2, 'photo_supply': np.float64(55.0),
|
|
'has_battery': True, 'initial_ac_kwh_per_year': np.float64(3300.5416548),
|
|
'description_simulation': {'photo-supply': np.float64(55.0)},
|
|
'recommendation_id': '13_phase=7', 'efficiency': np.float64(924.2247272727273),
|
|
'co2_equivalent_savings': np.float64(0.53600796473952), 'heat_demand': np.float64(78.3),
|
|
'kwh_savings': np.float64(2310.3791583599996),
|
|
'energy_cost_savings': np.float64(594.4605574460278)},
|
|
{'phase': 7, 'parts': [{"type": "solar_pv", "size": 2.8}], 'type': 'solar_pv', 'measure_type': 'solar_pv',
|
|
'description': 'Install a 2.8 kilowatt-peak (kWp) solar panel system.',
|
|
'starting_u_value': None, 'new_u_value': None, 'sap_points': np.float64(9.0),
|
|
'already_installed': False, 'total': 5458.727999999999, 'subtotal': 4548.94, 'vat': 0,
|
|
'labour_hours': 48, 'labour_days': 2, 'photo_supply': np.float64(45.0),
|
|
'has_battery': False, 'initial_ac_kwh_per_year': np.float64(2907.1867812),
|
|
'description_simulation': {'photo-supply': np.float64(45.0)},
|
|
'recommendation_id': '14_phase=7', 'efficiency': np.float64(606.5253333333333),
|
|
'co2_equivalent_savings': np.float64(0.3372336666192), 'heat_demand': np.float64(64.0),
|
|
'kwh_savings': np.float64(1453.5933906),
|
|
'energy_cost_savings': np.float64(374.00957940138)},
|
|
{'phase': 7, 'parts': [{"type": "solar_pv", "size": 2.8}], 'type': 'solar_pv', 'measure_type': 'solar_pv',
|
|
'description': 'Install a 2.8 kilowatt-peak (kWp) solar panel system, with a battery.',
|
|
'starting_u_value': None, 'new_u_value': None, 'sap_points': np.float64(9.0),
|
|
'already_installed': False, 'total': 9982.596, 'subtotal': 8318.83, 'vat': 0,
|
|
'labour_hours': 48, 'labour_days': 2, 'photo_supply': np.float64(45.0),
|
|
'has_battery': True, 'initial_ac_kwh_per_year': np.float64(2907.1867812),
|
|
'description_simulation': {'photo-supply': np.float64(45.0)},
|
|
'recommendation_id': '15_phase=7', 'efficiency': np.float64(1109.1773333333333),
|
|
'co2_equivalent_savings': np.float64(0.47212713326688), 'heat_demand': np.float64(64.0),
|
|
'kwh_savings': np.float64(2035.03074684),
|
|
'energy_cost_savings': np.float64(523.6134111619319)},
|
|
{'phase': 7, 'parts': [{"type": "solar_pv", "size": 2.4}], 'type': 'solar_pv', 'measure_type': 'solar_pv',
|
|
'description': 'Install a 2.4 kilowatt-peak (kWp) solar panel system.',
|
|
'starting_u_value': None, 'new_u_value': None, 'sap_points': np.float64(8.0),
|
|
'already_installed': False, 'total': 5274.852, 'subtotal': 4395.71, 'vat': 0,
|
|
'labour_hours': 48, 'labour_days': 2, 'photo_supply': np.float64(40.0),
|
|
'has_battery': False, 'initial_ac_kwh_per_year': np.float64(2510.25188),
|
|
'description_simulation': {'photo-supply': np.float64(40.0)},
|
|
'recommendation_id': '16_phase=7', 'efficiency': np.float64(659.3565),
|
|
'co2_equivalent_savings': np.float64(0.29118921808), 'heat_demand': np.float64(54.3),
|
|
'kwh_savings': np.float64(1255.12594),
|
|
'energy_cost_savings': np.float64(322.94390436199996)},
|
|
{'phase': 7, 'parts': [{"type": "solar_pv", "size": 2.4}], 'type': 'solar_pv', 'measure_type': 'solar_pv',
|
|
'description': 'Install a 2.4 kilowatt-peak (kWp) solar panel system, with a battery.',
|
|
'starting_u_value': None, 'new_u_value': None, 'sap_points': np.float64(8.0),
|
|
'already_installed': False, 'total': 9798.72, 'subtotal': 8165.6, 'vat': 0,
|
|
'labour_hours': 48, 'labour_days': 2, 'photo_supply': np.float64(40.0),
|
|
'has_battery': True, 'initial_ac_kwh_per_year': np.float64(2510.25188),
|
|
'description_simulation': {'photo-supply': np.float64(40.0)},
|
|
'recommendation_id': '17_phase=7', 'efficiency': np.float64(1224.84),
|
|
'co2_equivalent_savings': np.float64(0.40766490531199995), 'heat_demand': np.float64(54.3),
|
|
'kwh_savings': np.float64(1757.1763159999998),
|
|
'energy_cost_savings': np.float64(452.1214661067999)},
|
|
{'phase': 7, 'parts': [{"type": "solar_pv", "size": 2}], 'type': 'solar_pv', 'measure_type': 'solar_pv',
|
|
'description': 'Install a 2.0 kilowatt-peak (kWp) solar panel system.',
|
|
'starting_u_value': None, 'new_u_value': None, 'sap_points': np.float64(7.0),
|
|
'already_installed': False, 'total': 5090.976, 'subtotal': 4242.48, 'vat': 0,
|
|
'labour_hours': 48, 'labour_days': 2, 'photo_supply': np.float64(35.0),
|
|
'has_battery': False, 'initial_ac_kwh_per_year': np.float64(2096.682636),
|
|
'description_simulation': {'photo-supply': np.float64(35.0)},
|
|
'recommendation_id': '18_phase=7', 'efficiency': np.float64(727.2822857142856),
|
|
'co2_equivalent_savings': np.float64(0.243215185776), 'heat_demand': np.float64(48.5),
|
|
'kwh_savings': np.float64(1048.341318), 'energy_cost_savings': np.float64(269.7382211214)},
|
|
{'phase': 7, 'parts': [{"type": "solar_pv", "size": 2}], 'type': 'solar_pv', 'measure_type': 'solar_pv',
|
|
'description': 'Install a 2.0 kilowatt-peak (kWp) solar panel system, with a battery.',
|
|
'starting_u_value': None, 'new_u_value': None, 'sap_points': np.float64(7.0),
|
|
'already_installed': False, 'total': 9614.844, 'subtotal': 8012.369999999999, 'vat': 0,
|
|
'labour_hours': 48, 'labour_days': 2, 'photo_supply': np.float64(35.0),
|
|
'has_battery': True, 'initial_ac_kwh_per_year': np.float64(2096.682636),
|
|
'description_simulation': {'photo-supply': np.float64(35.0)},
|
|
'recommendation_id': '19_phase=7', 'efficiency': np.float64(1373.5491428571427),
|
|
'co2_equivalent_savings': np.float64(0.3405012600864), 'heat_demand': np.float64(48.5),
|
|
'kwh_savings': np.float64(1467.6778451999999),
|
|
'energy_cost_savings': np.float64(377.6335095699599)}]
|
|
]
|