mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-06-08 11:17:27 +00:00
refactor(property-baseline): units on co2 / PEUI columns (PR #1139 review)
Make the stored units explicit on the property_baseline_performance columns: - `*_co2_emissions` → `*_co2_emissions_t_per_yr` (tonnes CO₂/yr, whole dwelling) - `*_primary_energy_intensity` → `*_primary_energy_intensity_kwh_per_m2_yr` Column names only; the domain `Performance` VO stays unit-suffix-free (units are a storage concern, mapped in from_domain/to_domain). Migration doc updated. Round-trip stays green. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
457d959b1f
commit
50914e8aae
2 changed files with 16 additions and 16 deletions
|
|
@ -20,12 +20,12 @@ straight lift-and-shift of the columns below.
|
|||
| `property_id` | int, FK → `property.id`, **unique** | one Baseline Performance per Property |
|
||||
| `lodged_sap_score` | int | Lodged Performance — gov register, off the Effective EPC |
|
||||
| `lodged_epc_band` | text | the `Epc` enum, stored as its string value (e.g. `"C"`) |
|
||||
| `lodged_co2_emissions` | float | |
|
||||
| `lodged_primary_energy_intensity` | int | PEUI (kWh/m²/yr); **not** "heat demand" — see CONTEXT.md |
|
||||
| `lodged_co2_emissions_t_per_yr` | float | tonnes CO₂/yr (whole dwelling) |
|
||||
| `lodged_primary_energy_intensity_kwh_per_m2_yr` | int | PEUI (kWh/m²/yr); **not** "heat demand" — see CONTEXT.md |
|
||||
| `effective_sap_score` | int | Effective Performance — what modelling scored against |
|
||||
| `effective_epc_band` | text | |
|
||||
| `effective_co2_emissions` | float | |
|
||||
| `effective_primary_energy_intensity` | int | |
|
||||
| `effective_co2_emissions_t_per_yr` | float | tonnes CO₂/yr (whole dwelling) |
|
||||
| `effective_primary_energy_intensity_kwh_per_m2_yr` | int | kWh/m²/yr |
|
||||
| `rebaseline_reason` | text | `none` \| `pre_sap10` \| `physical_state_changed` \| `both` |
|
||||
| `space_heating_kwh` | float | off `renewable_heat_incentive`; deterministic (ADR-0006) |
|
||||
| `water_heating_kwh` | float | off `renewable_heat_incentive` |
|
||||
|
|
|
|||
|
|
@ -25,13 +25,13 @@ class PropertyBaselinePerformanceModel(SQLModel, table=True):
|
|||
|
||||
lodged_sap_score: int
|
||||
lodged_epc_band: str
|
||||
lodged_co2_emissions: float
|
||||
lodged_primary_energy_intensity: int
|
||||
lodged_co2_emissions_t_per_yr: float
|
||||
lodged_primary_energy_intensity_kwh_per_m2_yr: int
|
||||
|
||||
effective_sap_score: int
|
||||
effective_epc_band: str
|
||||
effective_co2_emissions: float
|
||||
effective_primary_energy_intensity: int
|
||||
effective_co2_emissions_t_per_yr: float
|
||||
effective_primary_energy_intensity_kwh_per_m2_yr: int
|
||||
|
||||
rebaseline_reason: str
|
||||
|
||||
|
|
@ -46,12 +46,12 @@ class PropertyBaselinePerformanceModel(SQLModel, table=True):
|
|||
property_id=property_id,
|
||||
lodged_sap_score=baseline.lodged.sap_score,
|
||||
lodged_epc_band=baseline.lodged.epc_band.value,
|
||||
lodged_co2_emissions=baseline.lodged.co2_emissions,
|
||||
lodged_primary_energy_intensity=baseline.lodged.primary_energy_intensity,
|
||||
lodged_co2_emissions_t_per_yr=baseline.lodged.co2_emissions,
|
||||
lodged_primary_energy_intensity_kwh_per_m2_yr=baseline.lodged.primary_energy_intensity,
|
||||
effective_sap_score=baseline.effective.sap_score,
|
||||
effective_epc_band=baseline.effective.epc_band.value,
|
||||
effective_co2_emissions=baseline.effective.co2_emissions,
|
||||
effective_primary_energy_intensity=baseline.effective.primary_energy_intensity,
|
||||
effective_co2_emissions_t_per_yr=baseline.effective.co2_emissions,
|
||||
effective_primary_energy_intensity_kwh_per_m2_yr=baseline.effective.primary_energy_intensity,
|
||||
rebaseline_reason=baseline.rebaseline_reason,
|
||||
space_heating_kwh=baseline.space_heating_kwh,
|
||||
water_heating_kwh=baseline.water_heating_kwh,
|
||||
|
|
@ -62,14 +62,14 @@ class PropertyBaselinePerformanceModel(SQLModel, table=True):
|
|||
lodged=Performance(
|
||||
sap_score=self.lodged_sap_score,
|
||||
epc_band=Epc(self.lodged_epc_band),
|
||||
co2_emissions=self.lodged_co2_emissions,
|
||||
primary_energy_intensity=self.lodged_primary_energy_intensity,
|
||||
co2_emissions=self.lodged_co2_emissions_t_per_yr,
|
||||
primary_energy_intensity=self.lodged_primary_energy_intensity_kwh_per_m2_yr,
|
||||
),
|
||||
effective=Performance(
|
||||
sap_score=self.effective_sap_score,
|
||||
epc_band=Epc(self.effective_epc_band),
|
||||
co2_emissions=self.effective_co2_emissions,
|
||||
primary_energy_intensity=self.effective_primary_energy_intensity,
|
||||
co2_emissions=self.effective_co2_emissions_t_per_yr,
|
||||
primary_energy_intensity=self.effective_primary_energy_intensity_kwh_per_m2_yr,
|
||||
),
|
||||
rebaseline_reason=cast(RebaselineReason, self.rebaseline_reason),
|
||||
space_heating_kwh=self.space_heating_kwh,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue