mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-07-12 13:29:04 +00:00
Reject CEPC (commercial EPC) certs explicitly at the API mapper boundary
epb-data-warehouse's fixture set covers CEPC-7.0/7.1/8.0.0 (SBEM non-domestic certs) alongside the RdSAP/SAP families we already map. CEPC has no sensible EpcPropertyData shape (asset_rating/BER instead of a SAP score, activities/hvac_systems instead of building elements), so from_api_response now raises a typed NonDomesticSchema instead of falling through to the generic "Unsupported EPC schema" ValueError.
This commit is contained in:
parent
84c259c17e
commit
93b34981c9
5 changed files with 963 additions and 0 deletions
|
|
@ -2985,6 +2985,13 @@ class EpcPropertyDataMapper:
|
|||
mapped = EpcPropertyDataMapper.from_sap_schema_16_2(data)
|
||||
elif schema == "SAP-Schema-16.3":
|
||||
mapped = EpcPropertyDataMapper.from_sap_schema_16_3(data)
|
||||
# CEPC family: commercial/non-domestic certs (SBEM methodology). Out of
|
||||
# scope for a single-dwelling SAP engine — see `NonDomesticSchema`.
|
||||
elif schema in ("CEPC-7.0", "CEPC-7.1", "CEPC-8.0.0"):
|
||||
raise NonDomesticSchema(
|
||||
f"{schema!r} is a commercial (non-domestic) EPC and cannot be "
|
||||
"mapped to EpcPropertyData, which models a single dwelling."
|
||||
)
|
||||
else:
|
||||
raise ValueError(f"Unsupported EPC schema: {schema!r}")
|
||||
|
||||
|
|
@ -4229,6 +4236,20 @@ def _elmhurst_party_wall_construction_int(coded: str) -> Optional[int]:
|
|||
return _ELMHURST_PARTY_WALL_CODE_TO_SAP10[code]
|
||||
|
||||
|
||||
class NonDomesticSchema(ValueError):
|
||||
"""The cert is a commercial/non-domestic EPC (CEPC — SBEM methodology),
|
||||
not a dwelling. `EpcPropertyData` models a single-dwelling SAP/RdSAP cert
|
||||
(roofs/walls/floors, sap_heating, dwelling_type, ...); a CEPC cert has no
|
||||
equivalent shape (asset_rating/BER instead of a SAP score, activities/
|
||||
hvac_systems instead of building elements) so there is nothing sensible
|
||||
to map it onto. Raised explicitly at the `from_api_response` dispatch
|
||||
boundary — added to `datatypes/epc/schema/` samples via the
|
||||
epb-data-warehouse fixtures — so callers get a clear, typed signal
|
||||
rather than falling through to the generic "Unsupported EPC schema"
|
||||
ValueError.
|
||||
"""
|
||||
|
||||
|
||||
class UnmappedApiCode(ValueError):
|
||||
"""A GOV.UK API integer enum that the mapper does not yet know how
|
||||
to translate to the SAP10 cascade-domain value.
|
||||
|
|
|
|||
35
datatypes/epc/domain/tests/test_from_cepc_schema.py
Normal file
35
datatypes/epc/domain/tests/test_from_cepc_schema.py
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
"""CEPC (commercial/non-domestic EPC) certs are out of scope for this
|
||||
single-dwelling SAP engine — `from_api_response` must reject them explicitly
|
||||
via `NonDomesticSchema` rather than falling through to the generic
|
||||
"Unsupported EPC schema" `ValueError`, or silently mis-mapping SBEM fields
|
||||
onto `EpcPropertyData`.
|
||||
|
||||
Fixtures are the epb-data-warehouse sample CEPC certs (also mirrored at
|
||||
`backend/epc_api/json_samples/CEPC-*/cepc.json`).
|
||||
"""
|
||||
|
||||
import json
|
||||
import os
|
||||
from typing import Any, Dict
|
||||
|
||||
import pytest
|
||||
|
||||
from datatypes.epc.domain.mapper import EpcPropertyDataMapper, NonDomesticSchema
|
||||
|
||||
FIXTURES = os.path.join(os.path.dirname(__file__), "../../schema/tests/fixtures")
|
||||
|
||||
_CEPC_FIXTURES = ("cepc_7_0.json", "cepc_7_1.json", "cepc_8_0_0.json")
|
||||
|
||||
|
||||
def load(filename: str) -> Dict[str, Any]:
|
||||
with open(os.path.join(FIXTURES, filename)) as f:
|
||||
return json.load(f) # type: ignore[no-any-return]
|
||||
|
||||
|
||||
class TestCepcRejected:
|
||||
@pytest.mark.parametrize("fixture", _CEPC_FIXTURES)
|
||||
def test_raises_non_domestic_schema(self, fixture: str) -> None:
|
||||
data = load(fixture)
|
||||
|
||||
with pytest.raises(NonDomesticSchema):
|
||||
EpcPropertyDataMapper.from_api_response(data)
|
||||
285
datatypes/epc/schema/tests/fixtures/cepc_7_0.json
vendored
Normal file
285
datatypes/epc/schema/tests/fixtures/cepc_7_0.json
vendored
Normal file
|
|
@ -0,0 +1,285 @@
|
|||
{
|
||||
"ber": 67.09,
|
||||
"ser": 42.07,
|
||||
"ter": 23.2,
|
||||
"tyr": 67.98,
|
||||
"uprn": 12457,
|
||||
"status": "entered",
|
||||
"postcode": "SW1A 2AA",
|
||||
"post_town": "Whitbury",
|
||||
"issue_date": "2020-05-14",
|
||||
"report_type": 3,
|
||||
"schema_type": "CEPC-7.0",
|
||||
"uprn_source": "Energy Assessor",
|
||||
"valid_until": "2026-05-04",
|
||||
"asset_rating": 80,
|
||||
"language_code": 1,
|
||||
"property_type": "B1 Offices and Workshop businesses",
|
||||
"address_line_1": "Some Unit",
|
||||
"address_line_2": "2 Lonely Street",
|
||||
"address_line_3": "Some Area",
|
||||
"address_line_4": "Some County",
|
||||
"assessment_type": "CEPC",
|
||||
"inspection_date": "2020-05-04",
|
||||
"ac_questionnaire": {
|
||||
"ac_present": "No",
|
||||
"ac_rated_output": {
|
||||
"ac_kw_rating": 100
|
||||
},
|
||||
"ac_estimated_output": 3,
|
||||
"ac_inspection_commissioned": 1
|
||||
},
|
||||
"calculation_tool": "Casio fx-39",
|
||||
"is_heritage_site": "N",
|
||||
"or_building_data": {
|
||||
"hvac_system": "Yes",
|
||||
"other_hvac_system": "Yes",
|
||||
"internal_environment": "Yes",
|
||||
"assessment_period_alignment": "Yes"
|
||||
},
|
||||
"transaction_type": 1,
|
||||
"or_benchmark_data": {
|
||||
"benchmarks": [
|
||||
{
|
||||
"floor_area": 403,
|
||||
"benchmark_id": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"registration_date": "2020-05-04",
|
||||
"building_complexity": "Level 3",
|
||||
"new_build_benchmark": 28,
|
||||
"or_usable_floor_area": {
|
||||
"ufa_1": {
|
||||
"floor_area": 100
|
||||
}
|
||||
},
|
||||
"or_energy_consumption": {
|
||||
"anthracite": {
|
||||
"end_date": "2030-12-25",
|
||||
"estimate": 3,
|
||||
"start_date": "2019-12-25",
|
||||
"consumption": 12.6
|
||||
}
|
||||
},
|
||||
"technical_information": {
|
||||
"floor_area": 403,
|
||||
"building_level": 3,
|
||||
"main_heating_fuel": "Natural Gas",
|
||||
"renewable_sources": "Renewable sources test",
|
||||
"special_energy_uses": "Test sp",
|
||||
"building_environment": "Air Conditioning",
|
||||
"or_availability_date": "2020-01-04",
|
||||
"other_fuel_description": "Test"
|
||||
},
|
||||
"or_assessment_end_date": "2030-05-14",
|
||||
"summary_of_performance": {
|
||||
"building_data": [
|
||||
{
|
||||
"area": 402.6,
|
||||
"weather": "LON",
|
||||
"activities": [
|
||||
{
|
||||
"id": 1005,
|
||||
"area": 402.6
|
||||
}
|
||||
],
|
||||
"building_w_k": 411.86,
|
||||
"hvac_systems": [
|
||||
{
|
||||
"area": 402.6,
|
||||
"type": "Fan coil systems",
|
||||
"fuel_type": "Natural Gas",
|
||||
"activities": [
|
||||
{
|
||||
"id": 1005,
|
||||
"area": 402.6
|
||||
}
|
||||
],
|
||||
"heat_source": "LTHW boiler",
|
||||
"cooling_sseer": 1.963,
|
||||
"heating_sseff": 0.827,
|
||||
"kwh_m2_cooling": 25.3865,
|
||||
"kwh_m2_heating": 41.0355,
|
||||
"cooling_gen_seer": 2.5,
|
||||
"heating_gen_seff": 0.89,
|
||||
"kwh_m2_auxiliary": 39.0832,
|
||||
"mj_m2_cooling_dem": 179.401,
|
||||
"mj_m2_heating_dem": 122.171
|
||||
}
|
||||
],
|
||||
"analysis_type": "ACTUAL",
|
||||
"area_exterior": 1058.32,
|
||||
"building_alpha": 18.3412,
|
||||
"building_w_m2k": 0.389164,
|
||||
"q50_infiltration": 10,
|
||||
"global_performance": {
|
||||
"kwh_m2_chp": 0,
|
||||
"kwh_m2_dhw": 2.77834,
|
||||
"kwh_m2_lpg": 0,
|
||||
"kwh_m2_oil": 0,
|
||||
"kwh_m2_pvs": 3.07665,
|
||||
"kwh_m2_ses": 0.801605,
|
||||
"kwh_m2_coal": 0,
|
||||
"kwh_m2_wind": 3.02777,
|
||||
"kwh_m2_biogas": 0,
|
||||
"kwh_m2_biomass": 0,
|
||||
"kwh_m2_cooling": 25.3865,
|
||||
"kwh_m2_heating": 41.0355,
|
||||
"kwh_m2_lighting": 54.0787,
|
||||
"kwh_m2_supplied": 121.327,
|
||||
"kwh_m2_auxiliary": 39.0832,
|
||||
"kwh_m2_displaced": 6.10442,
|
||||
"kwh_m2_dual_fuel": 0,
|
||||
"kwh_m2_equipment": 42.185,
|
||||
"kwh_m2_smokeless": 0,
|
||||
"kwh_m2_anthracite": 0,
|
||||
"kwh_m2_waste_heat": 0,
|
||||
"kwh_m2_natural_gas": 41.0355,
|
||||
"kwh_m2_district_heating": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"area": 402.6,
|
||||
"weather": "LON",
|
||||
"activities": [
|
||||
{
|
||||
"id": 1005,
|
||||
"area": 402.6
|
||||
}
|
||||
],
|
||||
"building_w_k": 362.524,
|
||||
"hvac_systems": [
|
||||
{
|
||||
"area": 402.6,
|
||||
"type": "Fan coil systems",
|
||||
"fuel_type": "Natural Gas",
|
||||
"activities": [
|
||||
{
|
||||
"id": 1005,
|
||||
"area": 402.6
|
||||
}
|
||||
],
|
||||
"heat_source": "LTHW boiler",
|
||||
"cooling_sseer": 3.6,
|
||||
"heating_sseff": 0.819,
|
||||
"kwh_m2_cooling": 7.46769,
|
||||
"kwh_m2_heating": 18.1581,
|
||||
"cooling_gen_seer": 0,
|
||||
"heating_gen_seff": 0,
|
||||
"kwh_m2_auxiliary": 14.0716,
|
||||
"mj_m2_cooling_dem": 96.7814,
|
||||
"mj_m2_heating_dem": 53.5375
|
||||
}
|
||||
],
|
||||
"analysis_type": "NOTIONAL",
|
||||
"area_exterior": 1058.32,
|
||||
"building_alpha": 11.2489,
|
||||
"building_w_m2k": 0.342547,
|
||||
"q50_infiltration": 3,
|
||||
"global_performance": {
|
||||
"kwh_m2_chp": 0,
|
||||
"kwh_m2_dhw": 3.33761,
|
||||
"kwh_m2_lpg": 0,
|
||||
"kwh_m2_oil": 3.33761,
|
||||
"kwh_m2_pvs": 0,
|
||||
"kwh_m2_ses": 0,
|
||||
"kwh_m2_coal": 0,
|
||||
"kwh_m2_wind": 0,
|
||||
"kwh_m2_biogas": 0,
|
||||
"kwh_m2_biomass": 0,
|
||||
"kwh_m2_cooling": 7.46769,
|
||||
"kwh_m2_heating": 18.1582,
|
||||
"kwh_m2_lighting": 14.4489,
|
||||
"kwh_m2_supplied": 35.9883,
|
||||
"kwh_m2_auxiliary": 14.0716,
|
||||
"kwh_m2_displaced": 0,
|
||||
"kwh_m2_dual_fuel": 0,
|
||||
"kwh_m2_equipment": 42.185,
|
||||
"kwh_m2_smokeless": 0,
|
||||
"kwh_m2_anthracite": 0,
|
||||
"kwh_m2_waste_heat": 0,
|
||||
"kwh_m2_natural_gas": 18.1582,
|
||||
"kwh_m2_district_heating": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"area": 402.6,
|
||||
"weather": "LON",
|
||||
"activities": [
|
||||
{
|
||||
"id": 1005,
|
||||
"area": 402.6
|
||||
}
|
||||
],
|
||||
"building_w_k": 718.761,
|
||||
"hvac_systems": [
|
||||
{
|
||||
"area": 402.6,
|
||||
"type": "Fan coil systems",
|
||||
"fuel_type": "Natural Gas",
|
||||
"activities": [
|
||||
{
|
||||
"id": 1005,
|
||||
"area": 402.6
|
||||
}
|
||||
],
|
||||
"heat_source": "LTHW boiler",
|
||||
"cooling_sseer": 2.25,
|
||||
"heating_sseff": 0.73,
|
||||
"kwh_m2_cooling": 25.6538,
|
||||
"kwh_m2_heating": 71.9516,
|
||||
"cooling_gen_seer": 0,
|
||||
"heating_gen_seff": 0,
|
||||
"kwh_m2_auxiliary": 2.16062,
|
||||
"mj_m2_cooling_dem": 207.795,
|
||||
"mj_m2_heating_dem": 189.088
|
||||
}
|
||||
],
|
||||
"analysis_type": "REFERENCE",
|
||||
"area_exterior": 1058.32,
|
||||
"building_alpha": 10,
|
||||
"building_w_m2k": 0.679153,
|
||||
"q50_infiltration": 10,
|
||||
"global_performance": {
|
||||
"kwh_m2_chp": 0,
|
||||
"kwh_m2_dhw": 6.41192,
|
||||
"kwh_m2_lpg": 0,
|
||||
"kwh_m2_oil": 0,
|
||||
"kwh_m2_pvs": 0,
|
||||
"kwh_m2_ses": 0,
|
||||
"kwh_m2_coal": 0,
|
||||
"kwh_m2_wind": 0,
|
||||
"kwh_m2_biogas": 0,
|
||||
"kwh_m2_biomass": 0,
|
||||
"kwh_m2_cooling": 25.6538,
|
||||
"kwh_m2_heating": 71.9516,
|
||||
"kwh_m2_lighting": 45.54,
|
||||
"kwh_m2_supplied": 73.3544,
|
||||
"kwh_m2_auxiliary": 2.16062,
|
||||
"kwh_m2_displaced": 0,
|
||||
"kwh_m2_dual_fuel": 0,
|
||||
"kwh_m2_equipment": 42.185,
|
||||
"kwh_m2_smokeless": 0,
|
||||
"kwh_m2_anthracite": 0,
|
||||
"kwh_m2_waste_heat": 0,
|
||||
"kwh_m2_natural_gas": 78.3634,
|
||||
"kwh_m2_district_heating": 0
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"renewable_energy_source": [
|
||||
{
|
||||
"name": "Solar panel",
|
||||
"end_date": "2030-12-25",
|
||||
"generation": 20,
|
||||
"start_date": "2019-12-25",
|
||||
"energy_type": 2
|
||||
}
|
||||
],
|
||||
"existing_stock_benchmark": 81,
|
||||
"or_assessment_start_date": "2020-05-14",
|
||||
"related_certificate_number": "4192-1535-8427-8844-6702",
|
||||
"current_energy_efficiency_band": "D"
|
||||
}
|
||||
288
datatypes/epc/schema/tests/fixtures/cepc_7_1.json
vendored
Normal file
288
datatypes/epc/schema/tests/fixtures/cepc_7_1.json
vendored
Normal file
|
|
@ -0,0 +1,288 @@
|
|||
{
|
||||
"ber": 67.09,
|
||||
"ser": 42.07,
|
||||
"ter": 23.2,
|
||||
"tyr": 67.98,
|
||||
"uprn": 12457,
|
||||
"status": "entered",
|
||||
"postcode": "BT4 3SR",
|
||||
"post_town": "Whitbury",
|
||||
"energy_use": {
|
||||
"energy_consumption_current": 413.22
|
||||
},
|
||||
"issue_date": "2020-05-14",
|
||||
"report_type": 3,
|
||||
"schema_type": "CEPC-7.1",
|
||||
"uprn_source": "Energy Assessor",
|
||||
"valid_until": "2026-05-04",
|
||||
"asset_rating": 80,
|
||||
"language_code": 1,
|
||||
"property_type": "B1 Offices and Workshop businesses",
|
||||
"address_line_1": "Some Unit",
|
||||
"address_line_2": "2 Lonely Street",
|
||||
"address_line_3": "Some Area",
|
||||
"address_line_4": "Some County",
|
||||
"assessment_type": "CEPC",
|
||||
"inspection_date": "2020-05-04",
|
||||
"ac_questionnaire": {
|
||||
"ac_present": "No",
|
||||
"ac_rated_output": {
|
||||
"ac_kw_rating": 100
|
||||
},
|
||||
"ac_estimated_output": 3,
|
||||
"ac_inspection_commissioned": 1
|
||||
},
|
||||
"calculation_tool": "Casio fx-39",
|
||||
"is_heritage_site": "N",
|
||||
"or_building_data": {
|
||||
"hvac_system": "Yes",
|
||||
"other_hvac_system": "Yes",
|
||||
"internal_environment": "Yes",
|
||||
"assessment_period_alignment": "Yes"
|
||||
},
|
||||
"transaction_type": 1,
|
||||
"or_benchmark_data": {
|
||||
"benchmarks": [
|
||||
{
|
||||
"floor_area": 403,
|
||||
"benchmark_id": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"registration_date": "2020-05-04",
|
||||
"building_complexity": "Level 3",
|
||||
"new_build_benchmark": 28,
|
||||
"or_usable_floor_area": {
|
||||
"ufa_1": {
|
||||
"floor_area": 100
|
||||
}
|
||||
},
|
||||
"or_energy_consumption": {
|
||||
"anthracite": {
|
||||
"end_date": "2030-12-25",
|
||||
"estimate": 3,
|
||||
"start_date": "2019-12-25",
|
||||
"consumption": 12.6
|
||||
}
|
||||
},
|
||||
"technical_information": {
|
||||
"floor_area": 403,
|
||||
"building_level": 3,
|
||||
"main_heating_fuel": "Natural Gas",
|
||||
"renewable_sources": "Renewable sources test",
|
||||
"special_energy_uses": "Test sp",
|
||||
"building_environment": "Air Conditioning",
|
||||
"or_availability_date": "2020-01-04",
|
||||
"other_fuel_description": "Test"
|
||||
},
|
||||
"or_assessment_end_date": "2030-05-14",
|
||||
"summary_of_performance": {
|
||||
"building_data": [
|
||||
{
|
||||
"area": 402.6,
|
||||
"weather": "LON",
|
||||
"activities": [
|
||||
{
|
||||
"id": 1005,
|
||||
"area": 402.6
|
||||
}
|
||||
],
|
||||
"building_w_k": 411.86,
|
||||
"hvac_systems": [
|
||||
{
|
||||
"area": 402.6,
|
||||
"type": "Fan coil systems",
|
||||
"fuel_type": "Natural Gas",
|
||||
"activities": [
|
||||
{
|
||||
"id": 1005,
|
||||
"area": 402.6
|
||||
}
|
||||
],
|
||||
"heat_source": "LTHW boiler",
|
||||
"cooling_sseer": 1.963,
|
||||
"heating_sseff": 0.827,
|
||||
"kwh_m2_cooling": 25.3865,
|
||||
"kwh_m2_heating": 41.0355,
|
||||
"cooling_gen_seer": 2.5,
|
||||
"heating_gen_seff": 0.89,
|
||||
"kwh_m2_auxiliary": 39.0832,
|
||||
"mj_m2_cooling_dem": 179.401,
|
||||
"mj_m2_heating_dem": 122.171
|
||||
}
|
||||
],
|
||||
"analysis_type": "ACTUAL",
|
||||
"area_exterior": 1058.32,
|
||||
"building_alpha": 18.3412,
|
||||
"building_w_m2k": 0.389164,
|
||||
"q50_infiltration": 10,
|
||||
"global_performance": {
|
||||
"kwh_m2_chp": 0,
|
||||
"kwh_m2_dhw": 2.77834,
|
||||
"kwh_m2_lpg": 0,
|
||||
"kwh_m2_oil": 0,
|
||||
"kwh_m2_pvs": 3.07665,
|
||||
"kwh_m2_ses": 0.801605,
|
||||
"kwh_m2_coal": 0,
|
||||
"kwh_m2_wind": 3.02777,
|
||||
"kwh_m2_biogas": 0,
|
||||
"kwh_m2_biomass": 0,
|
||||
"kwh_m2_cooling": 25.3865,
|
||||
"kwh_m2_heating": 41.0355,
|
||||
"kwh_m2_lighting": 54.0787,
|
||||
"kwh_m2_supplied": 121.327,
|
||||
"kwh_m2_auxiliary": 39.0832,
|
||||
"kwh_m2_displaced": 6.10442,
|
||||
"kwh_m2_dual_fuel": 0,
|
||||
"kwh_m2_equipment": 42.185,
|
||||
"kwh_m2_smokeless": 0,
|
||||
"kwh_m2_anthracite": 0,
|
||||
"kwh_m2_waste_heat": 0,
|
||||
"kwh_m2_natural_gas": 41.0355,
|
||||
"kwh_m2_district_heating": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"area": 402.6,
|
||||
"weather": "LON",
|
||||
"activities": [
|
||||
{
|
||||
"id": 1005,
|
||||
"area": 402.6
|
||||
}
|
||||
],
|
||||
"building_w_k": 362.524,
|
||||
"hvac_systems": [
|
||||
{
|
||||
"area": 402.6,
|
||||
"type": "Fan coil systems",
|
||||
"fuel_type": "Natural Gas",
|
||||
"activities": [
|
||||
{
|
||||
"id": 1005,
|
||||
"area": 402.6
|
||||
}
|
||||
],
|
||||
"heat_source": "LTHW boiler",
|
||||
"cooling_sseer": 3.6,
|
||||
"heating_sseff": 0.819,
|
||||
"kwh_m2_cooling": 7.46769,
|
||||
"kwh_m2_heating": 18.1581,
|
||||
"cooling_gen_seer": 0,
|
||||
"heating_gen_seff": 0,
|
||||
"kwh_m2_auxiliary": 14.0716,
|
||||
"mj_m2_cooling_dem": 96.7814,
|
||||
"mj_m2_heating_dem": 53.5375
|
||||
}
|
||||
],
|
||||
"analysis_type": "NOTIONAL",
|
||||
"area_exterior": 1058.32,
|
||||
"building_alpha": 11.2489,
|
||||
"building_w_m2k": 0.342547,
|
||||
"q50_infiltration": 3,
|
||||
"global_performance": {
|
||||
"kwh_m2_chp": 0,
|
||||
"kwh_m2_dhw": 3.33761,
|
||||
"kwh_m2_lpg": 0,
|
||||
"kwh_m2_oil": 3.33761,
|
||||
"kwh_m2_pvs": 0,
|
||||
"kwh_m2_ses": 0,
|
||||
"kwh_m2_coal": 0,
|
||||
"kwh_m2_wind": 0,
|
||||
"kwh_m2_biogas": 0,
|
||||
"kwh_m2_biomass": 0,
|
||||
"kwh_m2_cooling": 7.46769,
|
||||
"kwh_m2_heating": 18.1582,
|
||||
"kwh_m2_lighting": 14.4489,
|
||||
"kwh_m2_supplied": 35.9883,
|
||||
"kwh_m2_auxiliary": 14.0716,
|
||||
"kwh_m2_displaced": 0,
|
||||
"kwh_m2_dual_fuel": 0,
|
||||
"kwh_m2_equipment": 42.185,
|
||||
"kwh_m2_smokeless": 0,
|
||||
"kwh_m2_anthracite": 0,
|
||||
"kwh_m2_waste_heat": 0,
|
||||
"kwh_m2_natural_gas": 18.1582,
|
||||
"kwh_m2_district_heating": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"area": 402.6,
|
||||
"weather": "LON",
|
||||
"activities": [
|
||||
{
|
||||
"id": 1005,
|
||||
"area": 402.6
|
||||
}
|
||||
],
|
||||
"building_w_k": 718.761,
|
||||
"hvac_systems": [
|
||||
{
|
||||
"area": 402.6,
|
||||
"type": "Fan coil systems",
|
||||
"fuel_type": "Natural Gas",
|
||||
"activities": [
|
||||
{
|
||||
"id": 1005,
|
||||
"area": 402.6
|
||||
}
|
||||
],
|
||||
"heat_source": "LTHW boiler",
|
||||
"cooling_sseer": 2.25,
|
||||
"heating_sseff": 0.73,
|
||||
"kwh_m2_cooling": 25.6538,
|
||||
"kwh_m2_heating": 71.9516,
|
||||
"cooling_gen_seer": 0,
|
||||
"heating_gen_seff": 0,
|
||||
"kwh_m2_auxiliary": 2.16062,
|
||||
"mj_m2_cooling_dem": 207.795,
|
||||
"mj_m2_heating_dem": 189.088
|
||||
}
|
||||
],
|
||||
"analysis_type": "REFERENCE",
|
||||
"area_exterior": 1058.32,
|
||||
"building_alpha": 10,
|
||||
"building_w_m2k": 0.679153,
|
||||
"q50_infiltration": 10,
|
||||
"global_performance": {
|
||||
"kwh_m2_chp": 0,
|
||||
"kwh_m2_dhw": 6.41192,
|
||||
"kwh_m2_lpg": 0,
|
||||
"kwh_m2_oil": 0,
|
||||
"kwh_m2_pvs": 0,
|
||||
"kwh_m2_ses": 0,
|
||||
"kwh_m2_coal": 0,
|
||||
"kwh_m2_wind": 0,
|
||||
"kwh_m2_biogas": 0,
|
||||
"kwh_m2_biomass": 0,
|
||||
"kwh_m2_cooling": 25.6538,
|
||||
"kwh_m2_heating": 71.9516,
|
||||
"kwh_m2_lighting": 45.54,
|
||||
"kwh_m2_supplied": 73.3544,
|
||||
"kwh_m2_auxiliary": 2.16062,
|
||||
"kwh_m2_displaced": 0,
|
||||
"kwh_m2_dual_fuel": 0,
|
||||
"kwh_m2_equipment": 42.185,
|
||||
"kwh_m2_smokeless": 0,
|
||||
"kwh_m2_anthracite": 0,
|
||||
"kwh_m2_waste_heat": 0,
|
||||
"kwh_m2_natural_gas": 78.3634,
|
||||
"kwh_m2_district_heating": 0
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"renewable_energy_source": [
|
||||
{
|
||||
"name": "Solar panel",
|
||||
"end_date": "2030-12-25",
|
||||
"generation": 20,
|
||||
"start_date": "2019-12-25",
|
||||
"energy_type": 2
|
||||
}
|
||||
],
|
||||
"existing_stock_benchmark": 81,
|
||||
"or_assessment_start_date": "2020-05-14",
|
||||
"related_certificate_number": "4192-1535-8427-8844-6702",
|
||||
"current_energy_efficiency_band": "D"
|
||||
}
|
||||
334
datatypes/epc/schema/tests/fixtures/cepc_8_0_0.json
vendored
Normal file
334
datatypes/epc/schema/tests/fixtures/cepc_8_0_0.json
vendored
Normal file
|
|
@ -0,0 +1,334 @@
|
|||
{
|
||||
"ber": 76.29,
|
||||
"ser": 45.61,
|
||||
"ter": 31.05,
|
||||
"tyr": 90.98,
|
||||
"uprn": 12457,
|
||||
"status": "entered",
|
||||
"postcode": "NE0 0AA",
|
||||
"post_town": "Big Rock",
|
||||
"energy_use": {
|
||||
"energy_consumption_current": 451.27
|
||||
},
|
||||
"issue_date": "2021-03-19",
|
||||
"methodology": "SBEM",
|
||||
"report_type": 3,
|
||||
"schema_type": "CEPC-8.0.0",
|
||||
"uprn_source": "Energy Assessor",
|
||||
"valid_until": "2031-03-18",
|
||||
"asset_rating": 84,
|
||||
"language_code": 1,
|
||||
"output_engine": "EPCgen, v5.6.b.0",
|
||||
"property_type": "A1/A2 Retail and Financial/Professional services",
|
||||
"address_line_1": "60 Maple Syrup Road",
|
||||
"address_line_2": "Candy Mountain",
|
||||
"assessment_type": "CEPC",
|
||||
"inspection_date": "2021-03-19",
|
||||
"inspection_type": "Physical",
|
||||
"ac_questionnaire": {
|
||||
"ac_present": "No",
|
||||
"ac_rated_output": {
|
||||
"ac_kw_rating": 100,
|
||||
"ac_rating_unknown_flag": 0
|
||||
},
|
||||
"ac_estimated_output": 3,
|
||||
"ac_inspection_commissioned": 4
|
||||
},
|
||||
"calculation_tool": "G-ISBEM Ltd, G-ISBEM, v24.0, SBEM, v5.6.b.0",
|
||||
"is_heritage_site": "N",
|
||||
"transaction_type": 1,
|
||||
"registration_date": "2021-03-19",
|
||||
"building_complexity": "Level 3",
|
||||
"new_build_benchmark": 34,
|
||||
"technical_information": {
|
||||
"floor_area": 951,
|
||||
"building_level": 3,
|
||||
"main_heating_fuel": "Grid Supplied Electricity",
|
||||
"renewable_sources": "Renewable sources test",
|
||||
"special_energy_uses": "Test sp",
|
||||
"building_environment": "Air Conditioning",
|
||||
"other_fuel_description": "Other fuel test"
|
||||
},
|
||||
"summary_of_performance": {
|
||||
"building_data": [
|
||||
{
|
||||
"area": 951.34,
|
||||
"weather": "NEW",
|
||||
"activities": [
|
||||
{
|
||||
"id": 1067,
|
||||
"area": 81.32
|
||||
},
|
||||
{
|
||||
"id": 1070,
|
||||
"area": 13.9
|
||||
},
|
||||
{
|
||||
"id": 1074,
|
||||
"area": 258.42
|
||||
},
|
||||
{
|
||||
"id": 1078,
|
||||
"area": 76.99
|
||||
},
|
||||
{
|
||||
"id": 1071,
|
||||
"area": 490.62
|
||||
},
|
||||
{
|
||||
"id": 1077,
|
||||
"area": 30.09
|
||||
}
|
||||
],
|
||||
"building_w_k": 193.204,
|
||||
"hvac_systems": [
|
||||
{
|
||||
"area": 353.64,
|
||||
"type": "No Heating or Cooling",
|
||||
"fuel_type": "Natural Gas",
|
||||
"activities": [
|
||||
{
|
||||
"id": 1067,
|
||||
"area": 81.32
|
||||
},
|
||||
{
|
||||
"id": 1070,
|
||||
"area": 13.9
|
||||
},
|
||||
{
|
||||
"id": 1074,
|
||||
"area": 258.42
|
||||
}
|
||||
],
|
||||
"heat_source": "LTHW boiler",
|
||||
"cooling_sseer": 0,
|
||||
"heating_sseff": 0,
|
||||
"kwh_m2_cooling": 0,
|
||||
"kwh_m2_heating": 0,
|
||||
"cooling_gen_seer": 0,
|
||||
"heating_gen_seff": 0,
|
||||
"kwh_m2_auxiliary": 0,
|
||||
"mj_m2_cooling_dem": 13.1255,
|
||||
"mj_m2_heating_dem": 71.1616
|
||||
},
|
||||
{
|
||||
"area": 567.61,
|
||||
"type": "Split or multi-split system",
|
||||
"fuel_type": "Natural Gas",
|
||||
"activities": [
|
||||
{
|
||||
"id": 1078,
|
||||
"area": 76.99
|
||||
},
|
||||
{
|
||||
"id": 1071,
|
||||
"area": 490.62
|
||||
}
|
||||
],
|
||||
"heat_source": "LTHW boiler",
|
||||
"cooling_sseer": 2.25,
|
||||
"heating_sseff": 0.73,
|
||||
"kwh_m2_cooling": 49.5997,
|
||||
"kwh_m2_heating": 6.49072,
|
||||
"cooling_gen_seer": 0,
|
||||
"heating_gen_seff": 0,
|
||||
"kwh_m2_auxiliary": 2.47934,
|
||||
"mj_m2_cooling_dem": 401.756,
|
||||
"mj_m2_heating_dem": 17.0576
|
||||
},
|
||||
{
|
||||
"area": 30.09,
|
||||
"type": "Other local room heater - unfanned",
|
||||
"fuel_type": "Natural Gas",
|
||||
"activities": [
|
||||
{
|
||||
"id": 1077,
|
||||
"area": 30.09
|
||||
}
|
||||
],
|
||||
"heat_source": "LTHW boiler",
|
||||
"cooling_sseer": 2.25,
|
||||
"heating_sseff": 0.73,
|
||||
"kwh_m2_cooling": 25.4056,
|
||||
"kwh_m2_heating": 84.553,
|
||||
"cooling_gen_seer": 0,
|
||||
"heating_gen_seff": 0,
|
||||
"kwh_m2_auxiliary": 12.1545,
|
||||
"mj_m2_cooling_dem": 205.785,
|
||||
"mj_m2_heating_dem": 222.205
|
||||
}
|
||||
],
|
||||
"analysis_type": "REFERENCE",
|
||||
"area_exterior": 509.17,
|
||||
"building_alpha": 10,
|
||||
"building_w_m2k": 0.379449,
|
||||
"q50_infiltration": 10,
|
||||
"global_performance": {
|
||||
"kwh_m2_chp": 0,
|
||||
"kwh_m2_dhw": 2.7961,
|
||||
"kwh_m2_lpg": 0,
|
||||
"kwh_m2_oil": 0,
|
||||
"kwh_m2_pvs": 0,
|
||||
"kwh_m2_ses": 0,
|
||||
"kwh_m2_coal": 0,
|
||||
"kwh_m2_wind": 0,
|
||||
"kwh_m2_biogas": 0,
|
||||
"kwh_m2_biomass": 0,
|
||||
"kwh_m2_cooling": 30.3968,
|
||||
"kwh_m2_heating": 6.54699,
|
||||
"kwh_m2_lighting": 78.7393,
|
||||
"kwh_m2_supplied": 110.999,
|
||||
"kwh_m2_auxiliary": 1.86372,
|
||||
"kwh_m2_displaced": 0,
|
||||
"kwh_m2_dual_fuel": 0,
|
||||
"kwh_m2_equipment": 19.5261,
|
||||
"kwh_m2_smokeless": 0,
|
||||
"kwh_m2_anthracite": 0,
|
||||
"kwh_m2_waste_heat": 0,
|
||||
"kwh_m2_natural_gas": 9.34308,
|
||||
"kwh_m2_district_heating": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"area": 951.34,
|
||||
"weather": "NEW",
|
||||
"activities": [
|
||||
{
|
||||
"id": 1067,
|
||||
"area": 81.32
|
||||
},
|
||||
{
|
||||
"id": 1070,
|
||||
"area": 13.9
|
||||
},
|
||||
{
|
||||
"id": 1074,
|
||||
"area": 258.42
|
||||
},
|
||||
{
|
||||
"id": 1078,
|
||||
"area": 76.99
|
||||
},
|
||||
{
|
||||
"id": 1071,
|
||||
"area": 490.62
|
||||
},
|
||||
{
|
||||
"id": 1077,
|
||||
"area": 30.09
|
||||
}
|
||||
],
|
||||
"building_w_k": 193.204,
|
||||
"hvac_systems": [
|
||||
{
|
||||
"area": 353.64,
|
||||
"type": "No Heating or Cooling",
|
||||
"fuel_type": "Natural Gas",
|
||||
"activities": [
|
||||
{
|
||||
"id": 1067,
|
||||
"area": 81.32
|
||||
},
|
||||
{
|
||||
"id": 1070,
|
||||
"area": 13.9
|
||||
},
|
||||
{
|
||||
"id": 1074,
|
||||
"area": 258.42
|
||||
}
|
||||
],
|
||||
"heat_source": "LTHW boiler",
|
||||
"cooling_sseer": 0,
|
||||
"heating_sseff": 0,
|
||||
"kwh_m2_cooling": 0,
|
||||
"kwh_m2_heating": 0,
|
||||
"cooling_gen_seer": 0,
|
||||
"heating_gen_seff": 0,
|
||||
"kwh_m2_auxiliary": 0,
|
||||
"mj_m2_cooling_dem": 13.1255,
|
||||
"mj_m2_heating_dem": 71.1616
|
||||
},
|
||||
{
|
||||
"area": 567.61,
|
||||
"type": "Split or multi-split system",
|
||||
"fuel_type": "Natural Gas",
|
||||
"activities": [
|
||||
{
|
||||
"id": 1078,
|
||||
"area": 76.99
|
||||
},
|
||||
{
|
||||
"id": 1071,
|
||||
"area": 490.62
|
||||
}
|
||||
],
|
||||
"heat_source": "LTHW boiler",
|
||||
"cooling_sseer": 2.25,
|
||||
"heating_sseff": 0.73,
|
||||
"kwh_m2_cooling": 49.5997,
|
||||
"kwh_m2_heating": 6.49072,
|
||||
"cooling_gen_seer": 0,
|
||||
"heating_gen_seff": 0,
|
||||
"kwh_m2_auxiliary": 2.47934,
|
||||
"mj_m2_cooling_dem": 401.756,
|
||||
"mj_m2_heating_dem": 17.0576
|
||||
},
|
||||
{
|
||||
"area": 30.09,
|
||||
"type": "Other local room heater - unfanned",
|
||||
"fuel_type": "Natural Gas",
|
||||
"activities": [
|
||||
{
|
||||
"id": 1077,
|
||||
"area": 30.09
|
||||
}
|
||||
],
|
||||
"heat_source": "LTHW boiler",
|
||||
"cooling_sseer": 2.25,
|
||||
"heating_sseff": 0.73,
|
||||
"kwh_m2_cooling": 25.4056,
|
||||
"kwh_m2_heating": 84.553,
|
||||
"cooling_gen_seer": 0,
|
||||
"heating_gen_seff": 0,
|
||||
"kwh_m2_auxiliary": 12.1545,
|
||||
"mj_m2_cooling_dem": 205.785,
|
||||
"mj_m2_heating_dem": 222.205
|
||||
}
|
||||
],
|
||||
"analysis_type": "ACTUAL",
|
||||
"area_exterior": 509.17,
|
||||
"building_alpha": 10,
|
||||
"building_w_m2k": 0.379449,
|
||||
"q50_infiltration": 10,
|
||||
"global_performance": {
|
||||
"kwh_m2_chp": 0,
|
||||
"kwh_m2_dhw": 2.7961,
|
||||
"kwh_m2_lpg": 0,
|
||||
"kwh_m2_oil": 0,
|
||||
"kwh_m2_pvs": 0,
|
||||
"kwh_m2_ses": 0,
|
||||
"kwh_m2_coal": 0,
|
||||
"kwh_m2_wind": 0,
|
||||
"kwh_m2_biogas": 0,
|
||||
"kwh_m2_biomass": 0,
|
||||
"kwh_m2_cooling": 30.3968,
|
||||
"kwh_m2_heating": 6.54699,
|
||||
"kwh_m2_lighting": 78.7393,
|
||||
"kwh_m2_supplied": 110.999,
|
||||
"kwh_m2_auxiliary": 1.86372,
|
||||
"kwh_m2_displaced": 0,
|
||||
"kwh_m2_dual_fuel": 0,
|
||||
"kwh_m2_equipment": 19.5261,
|
||||
"kwh_m2_smokeless": 0,
|
||||
"kwh_m2_anthracite": 0,
|
||||
"kwh_m2_waste_heat": 0,
|
||||
"kwh_m2_natural_gas": 9.34308,
|
||||
"kwh_m2_district_heating": 0
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"existing_stock_benchmark": 100,
|
||||
"current_energy_efficiency_band": "D"
|
||||
}
|
||||
Loading…
Add table
Reference in a new issue