Model/domain
Khalim Conn-Kowlessar f33557b0e4 Slice 102c.2: PCDB Table 362 PSR groups + APM linear interpolation
SAP 10.2 Appendix N3.6 / N3.7(a) (PDF p.108) compute heat-pump
efficiencies from a PSR-dependent dataset in the PCDB record. Spec PDF
p.100 line 5957 instructs: "The PSR-dependent results applicable to
the dwelling are then obtained by linear interpolation between the two
datasets whose PSRs enclose that of the dwelling."

This slice decodes the format-465 PSR-group block (idx[58] count
followed by N groups × 9 raw fields apiece) and adds the interpolation
primitive. Field positions within each 9-field group reverse-engineered
against Mitsubishi PUZ-WM50VHA (104568) by back-solving cert 0380's
worksheet pin η_space=223.0480, η_water=171.0746:

  group offset 0 → PSR
  group offset 2 → η_space,1 (% gross)
  group offset 6 → η_water,3 (% gross — Appendix N3.7(a) + footnote 49,
                  PSR-dependent and calculated via the annual performance
                  method, used directly for HPs providing both space +
                  water heating)

Offsets 1 / 3 / 4 / 5 / 7 / 8 are unpopulated for record 104568 and
not yet ground-truthed. They likely hold the secondary results
documented under format 464 field 42-43 (specific electricity
consumed, running hours) plus additional format-465 extensions.

The clamping behaviour at the PSR ends is taken from SAP 10.2 PDF
p.101 lines 6007-6008: "if the PSR is greater than the largest PSR in
the database record then the heat pump space and water heating
fractions for the largest PSR should be used, and if the PSR is less
than the smallest PSR in the database record then the heat pump space
and water heating fractions for the smallest PSR should be used".

Verified against cohort:
  - Record 104568 (Mitsubishi PUZ-WM50VHA) → 14 PSR groups decoded;
    interpolation at PSR=1.43 yields η_space,1≈234.96 and η_water,3
    ≈285.09, matching back-solved worksheet values (slice 102e applies
    the N3.6 ×0.95 and N3.7 ×0.60 in-use factors to close the chain).
2026-06-01 16:28:46 +00:00
..
addresses standardist Address 2026-05-22 10:13:32 +00:00
data_transformation moved classifier data transformation to an easy one 2026-06-01 14:53:34 +00:00
epc pr review, move domain and orhcestration 2026-06-01 14:00:31 +00:00
sap10_calculator Slice 102c.2: PCDB Table 362 PSR groups + APM linear interpolation 2026-06-01 16:28:46 +00:00
sap10_ml Slice 102b: cylinder storage loss via SAP 10.2 Tables 2/2a/2b 2026-06-01 16:28:45 +00:00
tasks added postcode splitter rewrite to ddd 2026-05-19 16:35:09 +00:00
postcode.py get rid of comments 2026-05-20 13:21:11 +00:00