Wall, glazing, door, roof, ground and volume areas are read from the FZK Haus IFC by scripts/build-reference-building.mjs (name-matched exterior wall walk against stated NetSideArea, IfcSpace stated quantities, per-element roof shadows, the ground slab's shadow union). U-values are the file's own stated ThermalTransmittance per element, not solved from generic-library layers, except the ground floor, where ISO 13370 replaces the file's air-to-air figure.
A-STATED-U-PRIMARY · Wall (0.4), window (1.4), exterior door (1.4) and roof (0.3 W/m²K) U-values are the file's own stated IfcPropertySingleValue 'ThermalTransmittance', used directly rather than solved from a generic-material layer substitution.
This is the first reference building here where every relevant element states a real, non-zero, per-element U — the Clinic states none and Schependomlaan's 97 are all a documented zero. The wall's layer-solved cross-check (FZK_HAUS_WALL_ASSEMBLY_SOLVED, U 0.489) disagrees with the stated 0.4 by 22%, and the roof's material is named 'Solid' — an ArchiCAD placeholder with no identifiable conductivity at all, so for the roof there is nothing to solve a second reading from. The stated value is closer to the file's own intent than a generic-library substitution would be, and is used everywhere except the ground floor.
A-GROUND-STATED-U-NOT-AIR-TO-AIR · The ground floor's engine U is the ISO-13370-solved value (see FZK_HAUS_GROUND_FLOOR), NOT the file's own stated 0.4 W/m²K on Bodenplatte.
A stated ThermalTransmittance on a ground slab is an ordinary air-to-air figure — exactly the Clinic's own headline defect (a slab on grade has no air-to-air U; the ground assumes a semi-infinite soil path, ISO 6946 does not model it). Using 0.4 directly here would repeat that error in a new building. The slab's own stated layer (0.2 m reinforced concrete, R_f 0.087 m²K/W, no insulation board of any kind) feeds ISO 13370 instead, at the slab's real measured area (120 m²) and exposed perimeter (44 m).
A-GALERIE-GROSS-VOLUME-ARTEFACT · The Galerie's net room volume is 217.53 m³ (its own stated NetVolume, exact match to its closed-solid mesh), not the 428.64 m³ its Qto's GrossVolume states (= 107.16 m² x a flat, apparently manually-set 4.0 m 'Height' property, disconnected from the actual pitched-roof geometry).
The build script's net-must-not-exceed-gross guard caught this: 428.64 > 362.92 (the space's own bounding-box-derived gross), and 362.92 itself exceeds the space's true closed-solid volume of 217.53. Traced to scripts/lib/ifc-envelope.mjs's quantityIndex(), which took the FIRST IfcQuantityVolume in the set — GrossVolume, listed before NetVolume in this file's Qto_SpaceBaseQuantities — the same 'whichever comes first' shape this codebase has already named and fixed for wall areas (statedWallAreas matching NetSideArea by name). Fixed 2026-09-06 by preferring a quantity NAMED NetVolume where one exists; the fallback for every other building's Qto, which states no such name, is unchanged. Verified: rebuilding the Clinic before/after the fix is byte-for-byte identical (the fix is a no-op there); rebuilding Schependomlaan moves its roomVolumeNetM3 from 2530.05 to 2497.61 (real IfcSpace rows in that file also had a same-named NetVolume this repo was not reading) — that rebuild is not shipped by this lane; it is main-coordinator's call when Schependomlaan's committed artifacts are next regenerated.
A-WALL-LEICHTBETON-LAMBDA · 'Leichtbeton' (lightweight concrete) maps to the standards library's autoclaved-lightweight-concrete row (st-lwc, λ 0.16 W/mK, 500 kg/m³).
The IFC material name carries no conductivity of its own — GENERIC_MATERIALS has no exact 'Leichtbeton' row, and st-lwc is the nearest category and density match. Used only for the disclosed cross-check (A-STATED-U-PRIMARY); it does not drive the engine's wall U.
A-ROOF-MATERIAL-UNIDENTIFIED · The roof deck's 0.2 m 'Solid' material layer has no identifiable conductivity and no cross-check is attempted.
'Solid' is an ArchiCAD generic-object placeholder name, not a material specification — unlike the wall's 'Leichtbeton' or the slab's 'Stahlbeton', it names no physical substance. Inventing a λ to back-solve the stated 0.3 W/m²K would launder a made-up material as measured; the layer thickness (0.2 m, real) is recorded and the material identity is not.
A-GROUND-NO-INSULATION · The ground slab (Bodenplatte) has exactly one stated layer — 0.2 m reinforced concrete — and no insulation board beneath it.
The file's own IfcMaterialLayerSet for this slab (setId 34527) lists one layer, Stahlbeton 65690 at 0.2 m. Nothing else is added: an uninsulated slab is a real, if dated, German construction detail, and inventing an insulation layer the file does not state would move the ground U in the flattering direction with no basis.
A-SOIL · Soil conductivity 2.0 W/m·K under the slab (ISO 13370's own default).
Soil is never in a drawing set, and this is the same default used for the Clinic and Schependomlaan, for the same reason.
A-GLAZING-SHGC · SHGC 0.60, VLT 0.70, double glazing, no low-e coating, air fill.
The file states window U (1.4 W/m²K, whole-window) and dimensions, and nothing about the glass composition. 1.4 is consistent with an ordinary (non-low-e) double unit rather than an HR++ unit, which typically reaches 1.1-1.2 — the SHGC/VLT/coating fields follow that reading rather than assuming a better pane than the U-value implies.
A-DOORS · The 6.80 m² of exterior door leaves (Haustuer, Terrassentuer) are priced at their own stated U 1.4 W/m²K, same as the windows.
Unlike Schependomlaan and the Clinic, this file states a door U directly — Haustuer and Terrassentuer each carry ThermalTransmittance 1.4, identical to the windows' figure. Used as stated; no substitution needed.
A-NORTH-ROTATED · The IFC states a 50-degree true-north rotation. All eight exterior walls occupy diagonal sectors NE/SE/SW/NW; true cardinal sectors are empty.
The energy interface has four internal slots, so NE maps to N, SE to E, SW to S and NW to W to preserve its data shape. orientationLabels keeps the visible compass names NE/SE/SW/NW. The annual engine uses a whole-building mean WWR and no directional solar calculation; the full eight-sector measurements remain in the manifest.
A-WWR-ENGINE-MEAN · All four cardinal ratios handed to MaterialProperties are the single whole-building 0.1416 (23.6 / 166.68), not the four measured per-sector ratios.
Measured through the real engine on 2026-09-06, following bim-83's finding on the Duplex that the obvious next step — hand `meanWindowToWallRatio` the real per-sector split — is wrong. The weight is `walls[].surfaceArea`, which is NET opaque wall, while each ratio's own denominator is that sector's GROSS wall (wall+glazing+door); they do not cancel. Weighted by net wall this building's four real ratios (0.1279/0.1249/0.1287/0.1903) give a mean of 0.141506 and a window area of 22.996 m² against the measured 23.6 m² — small here (this building's four ratios span only 0.125-0.190) but the same-shaped error bim-83 measured at 10x the size on the Duplex, whose ratios span 0.10-0.37. Weighting instead by GROSS wall reproduces the aperture exactly — Σ(rᵢ·grossᵢ)/Σgrossᵢ ≡ Σglazing/Σgross is an identity, not a coincidence — but gross is not what `surfaceArea` is used for elsewhere (it sizes the wall-insulation retrofit measure as opaque wall). So one ratio is used, against gross, and it reproduces the measured aperture by construction; the four measured per-sector ratios stay in FZK_HAUS_WALL_BY_SECTOR_SQM/_GLAZING_BY_SECTOR_SQM/_DOOR_BY_SECTOR_SQM for the legend, the only present consumer that can do anything with four different numbers.
A-HVAC · Individual gas heating at η 0.87, split-system cooling at COP 3.5, natural ventilation, gas DHW at η 0.85 — the repo's own 01000 (단독주택) row (korean-building-codes.ts).
The file has no MEP model of any kind — no HVAC, electrical or plumbing IFC exists for this building at all (unlike the Clinic and the Duplex, both of which carry real services models). Rather than invent a residential system from nothing, this takes the Korean code table's own single-family-house row, exactly as A-CLIMATE already substitutes a Korean climate for this building's real German site.
A-LPD · Lighting power density 6 W/m², manual control, LED lamps — the repo's own 01000 row.
The file states no lighting load and no luminaire. Same substitution pattern as Schependomlaan's A-LPD, using this building's own nearest Korean use-code row rather than inventing a figure.
A-OCCUPANCY · 0.04 persons/m² (the 01000 row), residential day/night schedules, internal gain 3 W/m², hot water 40 L/person/day.
No occupancy data exists in a coordination model with no services and no COBie schedules. At 0.04 persons/m² over 208.55 m² this reads about 8.3 people — plausible for a single-family test house sized around 5-6 rooms (Schlafzimmer, Buero, Wohnen, Küche, Bad, Flur, Galerie).
A-AIRTIGHT · ACH50 = 6 (a dated, uninsulated-envelope default), no blower-door result exists.
No airtightness test or stated infiltration rate exists in the file. 6 ACH50 is a conservative figure for construction consistent with the stated U-values (wall 0.4, uninsulated ground slab) — closer to WSchV-1995-era airtightness expectations than a modern Passivhaus-adjacent figure. The engine divides by 20 to reach a natural rate of 0.30 h⁻¹, the same conversion this repo already regression-tests.
A-VOLUME · The ventilation term uses the gross conditioned volume, 636.66 m³, not the 470.82 m³ the corrected room solids sum to.
The file states no single building-wide volume; both figures are measured (the gross from floor area x storey height, with the Galerie's own solid as the top storey's own solid since the storey has nothing above it; the net from each space's own stated NetVolume). Gross is what an infiltration rate is defined against — everything inside the air barrier.
A-CLIMATE · A Korean climate (Seoul) for a German building.
The site coordinate is genuinely stated and precise (49.100435N 8.436539E, to the arc-second, plotting to Forschungszentrum Karlsruhe / KIT Campus North) — unlike the Clinic (unknown site) this building's location is known but, like Schependomlaan, unusable: the engine's regional table is Korean-only. Karlsruhe is milder than Seoul in winter and has a smaller cooling load in summer, so a Seoul climate should push this building's modelled demand up on both counts.
A-NO-FOOTPRINT · The recipe's footprint is a 10.07 m square (sqrt of the ground storey's 101.39 m²).
Same shape as Schependomlaan's A-NO-FOOTPRINT: the manifest states no plan outline as a polygon, only per-room extents, so no true footprint shape is recovered. Nothing in the energy path reads it — measuredEnvelope short-circuits envelopeQuantities.
A-ERA-UNDATED · Era 2000-2009, chosen from the magnitude of the file's own stated U-values, not from any date the file states.
AC20-FZK-Haus is KIT/IAI's 'Simple Phantasy Building' — a validation test house, not a dated real project. It carries no construction-year field. The era selects only cosmetic Korean code-table recipe defaults for anything not overridden below, and every U-value, WWR and airtightness figure here IS overridden explicitly by this file's own numbers, so the era decides nothing that reaches a kWh figure.
A-STRUCTURE-CODE · Structure code 21 (철근콘크리트, RC) as the nearest Korean register category for a lightweight-concrete house.
The register's structure vocabulary has no row for autoclaved lightweight concrete specifically; RC is the nearest concrete-family code, closer than a masonry code (22-25) given the wall's material is a cast/panel concrete product rather than fired brick or block.