diff --git a/backend/Property.py b/backend/Property.py index 418a35a1..c0f19ab5 100644 --- a/backend/Property.py +++ b/backend/Property.py @@ -128,16 +128,19 @@ class Property: It will be the same starting and ending EPC, as we don't have the expected EPC yet """ - difference_record = self.epc_record - self.epc_record + # difference_record = self.epc_record - self.epc_record # TODO: change these lower and replace in the settings file + print("CHANGE THE LATEST FIELD TO REMOVE NUMBER HABITABLE ROOMS IF WE WANT TO USE STARTING/ENDING") fixed_data_col_names = MANDATORY_FIXED_FEATURES + LATEST_FIELD print("NEED TO CHANGE THE DASH TO LOWER CASE") fixed_data_col_names = [x.lower().replace("_", "-") for x in fixed_data_col_names] fixed_data = {k.replace("-", "_"): v for k, v in self.data.items() if k in fixed_data_col_names} - difference_record.append_fixed_data(fixed_data) + # difference_record.append_fixed_data(fixed_data) + + difference_record = self.epc_record.create_EPCDifferenceRecord(self.epc_record, fixed_data) self.base_difference_record = TrainingDataset(datasets=[difference_record], cleaned_lookup=cleaned_lookup) @@ -238,12 +241,15 @@ class Property: # Note: often when the wall is insulatied, the internal/external insulation is not noted so we should # test the impact of using these booleans if recommendation["type"] == "external_wall_insulation": - output["external_insulation"] = True - output["internal_insulation"] = False + output["external_insulation_ending"] = True + output["internal_insulation_ending"] = False if recommendation["type"] == "internal_wall_insulation": - output["external_insulation"] = False - output["internal_insulation"] = True + output["external_insulation_ending"] = False + output["internal_insulation_ending"] = True + + if recommendation["type"] == "cavity_wall_insulation": + output['is_filled_cavity_ending'] = True # TODO: perhaps detrimental # When making a recommendation for the wall, we will also update the ventilation @@ -314,7 +320,7 @@ class Property: if recommendation["type"] == "low_energy_lighting": output["low_energy_lighting_ending"] = 100 - output["lighting_energy_eff_starting"] = "Very Good" + output["lighting_energy_eff_ending"] = "Very Good" if recommendation["type"] == "windows_glazing": output["multi_glaze_proportion_ending"] = 100 diff --git a/etl/epc/Pipeline.py b/etl/epc/Pipeline.py index 0943b206..ba228d89 100644 --- a/etl/epc/Pipeline.py +++ b/etl/epc/Pipeline.py @@ -24,7 +24,8 @@ from etl.epc.settings import ( # TODO: change in setting file MANDATORY_FIXED_FEATURES = [x.lower() for x in MANDATORY_FIXED_FEATURES] -LATEST_FIELD = [x.lower() for x in LATEST_FIELD if x.lower() not in ROOM_FEATURES] +# LATEST_FIELD = [x.lower() for x in LATEST_FIELD if x.lower() not in ROOM_FEATURES] +LATEST_FIELD = [x.lower() for x in LATEST_FIELD] COMPONENT_FEATURES = [x.lower() for x in COMPONENT_FEATURES] RDSAP_RESPONSE = RDSAP_RESPONSE.lower() HEAT_DEMAND_RESPONSE = HEAT_DEMAND_RESPONSE.lower() diff --git a/etl/epc/generate_scenarios_data.py b/etl/epc/generate_scenarios_data.py index afe9ab98..172e8a27 100644 --- a/etl/epc/generate_scenarios_data.py +++ b/etl/epc/generate_scenarios_data.py @@ -183,7 +183,7 @@ for scenario_property in scenario_properties: if "windows" in measure: for rec in windows_recommendations: - if rec["type"] == "windows": + if rec["type"] == "windows_glazing": windows_recs.append(rec) combi_list = [wall_recs, loft_recs, solar_recs, windows_recs] @@ -240,8 +240,8 @@ all_predictions = model_api.predict_all( prediction_buckets={ "sap_change_predictions": get_settings().SAP_PREDICTIONS_BUCKET, "heat_demand_predictions": get_settings().HEAT_PREDICTIONS_BUCKET, - "carbon_change_predictions": get_settings().CARBON_PREDICTIONS_BUCKET - } + "carbon_change_predictions": get_settings().CARBON_PREDICTIONS_BUCKET, + }, ) save_dataframe_to_s3_parquet(