diff --git a/backend/epc_api/json_samples/real_life_examples/RdSAP-Schema-18.0/uprn_100020942571/elmhurst_summary.pdf b/backend/epc_api/json_samples/real_life_examples/RdSAP-Schema-18.0/uprn_100020942571/elmhurst_summary.pdf new file mode 100644 index 000000000..95f037b75 Binary files /dev/null and b/backend/epc_api/json_samples/real_life_examples/RdSAP-Schema-18.0/uprn_100020942571/elmhurst_summary.pdf differ diff --git a/backend/epc_api/json_samples/real_life_examples/RdSAP-Schema-18.0/uprn_100020942571/elmhurst_worksheet.pdf b/backend/epc_api/json_samples/real_life_examples/RdSAP-Schema-18.0/uprn_100020942571/elmhurst_worksheet.pdf new file mode 100644 index 000000000..40c6a7bca Binary files /dev/null and b/backend/epc_api/json_samples/real_life_examples/RdSAP-Schema-18.0/uprn_100020942571/elmhurst_worksheet.pdf differ diff --git a/backend/epc_api/json_samples/real_life_examples/RdSAP-Schema-18.0/uprn_100020942571/epc.json b/backend/epc_api/json_samples/real_life_examples/RdSAP-Schema-18.0/uprn_100020942571/epc.json new file mode 100644 index 000000000..1d2a9055c --- /dev/null +++ b/backend/epc_api/json_samples/real_life_examples/RdSAP-Schema-18.0/uprn_100020942571/epc.json @@ -0,0 +1,368 @@ +{ + "uprn": 100020942571, + "roofs": [ + { + "description": "(another dwelling above)", + "energy_efficiency_rating": 0, + "environmental_efficiency_rating": 0 + } + ], + "walls": [ + { + "description": "System built, with internal insulation", + "energy_efficiency_rating": 4, + "environmental_efficiency_rating": 4 + } + ], + "floors": [ + { + "description": "Solid, no insulation (assumed)", + "energy_efficiency_rating": 0, + "environmental_efficiency_rating": 0 + }, + { + "description": "To external air, no insulation (assumed)", + "energy_efficiency_rating": 0, + "environmental_efficiency_rating": 0 + } + ], + "status": "entered", + "tenure": 1, + "window": { + "description": "Fully double glazed", + "energy_efficiency_rating": 4, + "environmental_efficiency_rating": 4 + }, + "lighting": { + "description": "Low energy lighting in all fixed outlets", + "energy_efficiency_rating": 5, + "environmental_efficiency_rating": 5 + }, + "postcode": "SE28 8BW", + "hot_water": { + "description": "Gas multipoint", + "energy_efficiency_rating": 3, + "environmental_efficiency_rating": 3 + }, + "post_town": "LONDON", + "built_form": 3, + "created_at": "2019-02-11 19:55:01.000000", + "door_count": 1, + "glazed_area": 1, + "region_code": 17, + "report_type": 2, + "sap_heating": { + "cylinder_size": 1, + "water_heating_code": 908, + "water_heating_fuel": 26, + "instantaneous_wwhrs": { + "rooms_with_bath_and_or_shower": 2, + "rooms_with_mixer_shower_no_bath": 0, + "rooms_with_bath_and_mixer_shower": 0 + }, + "main_heating_details": [ + { + "has_fghrs": "N", + "main_fuel_type": 29, + "heat_emitter_type": 0, + "emitter_temperature": "NA", + "main_heating_number": 1, + "main_heating_control": 2602, + "main_heating_category": 10, + "main_heating_fraction": 1, + "sap_main_heating_code": 691, + "main_heating_data_source": 2 + } + ], + "immersion_heating_type": "NA", + "has_fixed_air_conditioning": "false" + }, + "sap_version": 9.93, + "schema_type": "RdSAP-Schema-18.0", + "uprn_source": "Energy Assessor", + "country_code": "EAW", + "main_heating": [ + { + "description": "Room heaters, electric", + "energy_efficiency_rating": 1, + "environmental_efficiency_rating": 2 + } + ], + "dwelling_type": "Ground-floor maisonette", + "language_code": 1, + "property_type": 3, + "address_line_1": "8, Booth Close", + "assessment_type": "RdSAP", + "completion_date": "2019-02-11", + "inspection_date": "2019-02-09", + "extensions_count": 1, + "measurement_type": 1, + "sap_flat_details": { + "level": 1, + "top_storey": "N", + "flat_location": 0, + "heat_loss_corridor": 0 + }, + "total_floor_area": 78, + "transaction_type": 8, + "conservatory_type": 1, + "heated_room_count": 4, + "registration_date": "2019-02-11", + "sap_energy_source": { + "mains_gas": "Y", + "meter_type": 2, + "photovoltaic_supply": { + "none_or_no_details": { + "pv_connection": 0, + "percent_roof_area": 0 + } + }, + "wind_turbines_count": 0, + "wind_turbines_terrain_type": 1 + }, + "secondary_heating": { + "description": "None", + "energy_efficiency_rating": 0, + "environmental_efficiency_rating": 0 + }, + "sap_building_parts": [ + { + "identifier": "Main Dwelling", + "wall_dry_lined": "N", + "wall_thickness": 260, + "floor_heat_loss": 7, + "roof_construction": 3, + "wall_construction": 8, + "building_part_number": 1, + "sap_floor_dimensions": [ + { + "floor": 0, + "room_height": { + "value": 2.36, + "quantity": "metres" + }, + "floor_insulation": 1, + "total_floor_area": { + "value": 36.42, + "quantity": "square metres" + }, + "party_wall_length": { + "value": 5.64, + "quantity": "metres" + }, + "floor_construction": 1, + "heat_loss_perimeter": { + "value": 19.05, + "quantity": "metres" + } + }, + { + "floor": 1, + "room_height": { + "value": 2.24, + "quantity": "metres" + }, + "total_floor_area": { + "value": 36.42, + "quantity": "square metres" + }, + "party_wall_length": { + "value": 5.64, + "quantity": "metres" + }, + "heat_loss_perimeter": { + "value": 12.95, + "quantity": "metres" + } + } + ], + "wall_insulation_type": 3, + "construction_age_band": "E", + "party_wall_construction": 0, + "wall_thickness_measured": "Y", + "roof_insulation_location": "ND", + "roof_insulation_thickness": "ND", + "wall_insulation_thickness": "NI", + "floor_insulation_thickness": "NI" + }, + { + "identifier": "Extension 1", + "wall_dry_lined": "N", + "wall_thickness": 260, + "floor_heat_loss": 1, + "roof_construction": 3, + "wall_construction": 8, + "building_part_number": 2, + "sap_floor_dimensions": [ + { + "floor": 0, + "room_height": { + "value": 2.24, + "quantity": "metres" + }, + "floor_insulation": 1, + "total_floor_area": { + "value": 5, + "quantity": "square metres" + }, + "party_wall_length": { + "value": 0.82, + "quantity": "metres" + }, + "floor_construction": 1, + "heat_loss_perimeter": { + "value": 6.82, + "quantity": "metres" + } + } + ], + "wall_insulation_type": 3, + "construction_age_band": "E", + "party_wall_construction": 0, + "wall_thickness_measured": "Y", + "roof_insulation_location": "ND", + "roof_insulation_thickness": "ND", + "wall_insulation_thickness": "NI", + "floor_insulation_thickness": "NI" + } + ], + "low_energy_lighting": 100, + "solar_water_heating": "N", + "habitable_room_count": 4, + "heating_cost_current": { + "value": 944, + "currency": "GBP" + }, + "insulated_door_count": 0, + "co2_emissions_current": 3.3, + "energy_rating_average": 60, + "energy_rating_current": 50, + "lighting_cost_current": { + "value": 60, + "currency": "GBP" + }, + "main_heating_controls": [ + { + "description": "Appliance thermostats", + "energy_efficiency_rating": 4, + "environmental_efficiency_rating": 4 + } + ], + "multiple_glazing_type": 2, + "open_fireplaces_count": 0, + "has_hot_water_cylinder": "false", + "heating_cost_potential": { + "value": 297, + "currency": "GBP" + }, + "hot_water_cost_current": { + "value": 92, + "currency": "GBP" + }, + "mechanical_ventilation": 0, + "percent_draughtproofed": 100, + "suggested_improvements": [ + { + "sequence": 1, + "typical_saving": { + "value": 122, + "currency": "GBP" + }, + "indicative_cost": "6,000", + "improvement_type": "W2", + "improvement_details": { + "improvement_number": 58 + }, + "improvement_category": 5, + "energy_performance_rating": 55, + "environmental_impact_rating": 63 + }, + { + "sequence": 2, + "typical_saving": { + "value": 519, + "currency": "GBP" + }, + "indicative_cost": "7,000", + "improvement_type": "T", + "improvement_details": { + "improvement_number": 29 + }, + "improvement_category": 5, + "energy_performance_rating": 77, + "environmental_impact_rating": 77 + } + ], + "co2_emissions_potential": 1.8, + "energy_rating_potential": 77, + "lighting_cost_potential": { + "value": 60, + "currency": "GBP" + }, + "schema_version_original": "LIG-18.0", + "alternative_improvements": [ + { + "sequence": 1, + "typical_saving": { + "value": 515, + "currency": "GBP" + }, + "improvement_type": "J2", + "improvement_details": { + "improvement_number": 54 + }, + "improvement_category": 6, + "energy_performance_rating": 78, + "environmental_impact_rating": 96 + }, + { + "sequence": 2, + "typical_saving": { + "value": 413, + "currency": "GBP" + }, + "improvement_type": "Z1", + "improvement_details": { + "improvement_number": 51 + }, + "improvement_category": 6, + "energy_performance_rating": 77, + "environmental_impact_rating": 79 + }, + { + "sequence": 3, + "typical_saving": { + "value": 500, + "currency": "GBP" + }, + "improvement_type": "Z3", + "improvement_details": { + "improvement_number": 53 + }, + "improvement_category": 6, + "energy_performance_rating": 76, + "environmental_impact_rating": 73 + } + ], + "hot_water_cost_potential": { + "value": 97, + "currency": "GBP" + }, + "renewable_heat_incentive": { + "water_heating": 1519, + "space_heating_existing_dwelling": 5050 + }, + "energy_consumption_current": 250, + "has_fixed_air_conditioning": "false", + "multiple_glazed_proportion": 100, + "calculation_software_version": "3.08r09", + "energy_consumption_potential": 134, + "environmental_impact_current": 58, + "fixed_lighting_outlets_count": 6, + "current_energy_efficiency_band": "E", + "environmental_impact_potential": 77, + "has_heated_separate_conservatory": "false", + "potential_energy_efficiency_band": "C", + "co2_emissions_current_per_floor_area": 43, + "low_energy_fixed_lighting_outlets_count": 6 +} \ No newline at end of file diff --git a/tests/domain/sap10_calculator/test_real_cert_sap_accuracy.py b/tests/domain/sap10_calculator/test_real_cert_sap_accuracy.py index 6988818db..2bce02247 100644 --- a/tests/domain/sap10_calculator/test_real_cert_sap_accuracy.py +++ b/tests/domain/sap10_calculator/test_real_cert_sap_accuracy.py @@ -678,6 +678,27 @@ _EXPECTATIONS: Final[tuple[RealCertExpectation, ...]] = ( cert_num="6102-6227-8000-0083-2292", sap_score=66, ), + # UPRN 100020942571 → cert 0018-2049-6232-4431-6934. RdSAP-Schema-18.0 — + # 8 Booth Close SE28 8BW, an END-TERRACE GROUND-FLOOR MAISONETTE (portfolio + # 814 pid 742121): band E, system-built walls internally insulated, roof + # "another dwelling above", ground+external-air solid floors, 1 extension, + # fully double glazed, ELECTRIC ROOM HEATERS (SAP 691) on a SINGLE-rate meter + # + GAS-MULTIPOINT hot water (no cylinder), mains gas available. Lodged 50; + # engine produces 54. Built in Elmhurst RdSAP10 on the lodged inputs (evidence + # saved: elmhurst_summary.pdf / elmhurst_worksheet.pdf): Elmhurst worksheet + # SAP 53, HTC ~167 W/K — engine 54 = Elmhurst 53 within 1 point → calculator + # faithful. (The first build read 50 only because the reused Elmhurst test + # assessment carried 2 phantom open chimneys + a Dual/10-hour meter; the cert + # lodges open_fireplaces_count=0 and meter_type=2 Single. Cleared → 53.) + # This is the BASELINE pin. The HHRSH recommendation for this dwelling is the + # subject of the storage-heater off-peak-pricing fix (separate PR): engine + # HHRSH 48→73 vs accredited Elmhurst 71. PINNED engine 54. + RealCertExpectation( + schema="RdSAP-Schema-18.0", + sample="uprn_100020942571", + cert_num="0018-2049-6232-4431-6934", + sap_score=54, + ), )