Fase C — chronologische kalibratie
Het kalibratierapport waarin de capturefactor uur voor uur is nagerekend in plaats van uit maandtotalen afgeleid.
Dit is het onderzoeksdocument zoals het is vastgelegd, ongewijzigd overgenomen uit docs/calibration/phase-c-report.md. Het is in het Engels geschreven.
Run: 2026-07-27 · bun scripts/calibration/harness.ts · 81 grid cells · max energy-balance
residual 5.2e-11 kWh. Full per-cell output: scripts/calibration/results.json.
Method
A full year rebuilt at hourly resolution from measured, committed data, compared against the production engine's monthly model:
| Component | Source |
|---|---|
| Load chronology | Official MFFBAS E1A 2026 profile, quarter-hours summed to 8,760 hours (scripts/calibration/data/e1a-2026-hourly.json) |
| Day-to-day solar volatility | KNMI De Bilt daily global radiation, 2024 — measured, 365 days (scripts/calibration/data/knmi-2024-daily-q.json) |
| Monthly PV totals | The register's verified PVGIS monthly energy per orientation |
| Intra-day shape | Clear-sky solar-geometry proxy (scripts/calibration/solar.ts) — distributes a day's known energy only |
Grid (per the assumption-verification pack): loads 2,500/3,500/5,000 kWh · PV-to-load ratios 0.5/1.0/1.5 · zuid/oost-west/noord · batteries 2.7 kWh@0.8 kW, 5.2@2.2, 10.4@4.4 (RTE 0.85).
Two capture measures per cell:
captureShiftSolved(the calibration target): the capture factor at which the monthly model's annual shifted energy (using its own deficit heuristic) equals the chronological simulation's shifted energy. This is the value-relevant measure — the engine's economics run on shifted kWh.captureCharge(diagnostic): chronologically charged ÷ monthly theoretical charge; conflates deficit-limited cycling, lower bound only.
Results
Distribution of captureShiftSolved (80 solvable cells):
p10 0.52 · p25 0.63 · p50 0.79 · p75 0.86 · p90 0.90 (min 0.34, max 1.00; 1 cell
unsolvable — the monthly deficit heuristic binds below chronological reality for a large battery
at low PV ratio, i.e. the heuristic is slightly conservative there).
The spread is systematic, not noise — it tracks battery size relative to surplus:
| Battery | ratio 0.5 (med) | ratio 1.0 (med) | ratio 1.5 (med) |
|---|---|---|---|
| 2.7 kWh / 0.8 kW | 0.78 | 0.86 | 0.86 |
| 5.2 kWh / 2.2 kW | 0.89 | 0.68 | 0.68 |
| 10.4 kWh / 4.4 kW | 0.96 | 0.53 | 0.52 |
Typical NL cell (3,500 kWh, ratio 1.0, 5.2 kWh): zuid 0.80, oost-west 0.65, noord 0.66.
Secondary findings:
- Oversizing guardrail confirmed empirically: a 10.4 kWh battery at PV≈load captures only ~53% of its monthly-model theoretical — "te groot gekocht" is measurable, not editorial.
- Self-use vs PV-to-load ratio (P1.5 direction confirmed): observed battery-free self-use falls 0.72 → 0.45 → 0.32 across ratios 0.5/1.0/1.5. Levels are an UPPER bound (the aggregate E1A profile is smoother than any single household), so this does NOT override the verified 0.35/0.28/0.19 occupancy triple from measured field data — it validates the ratio dependence for a future s0-as-function refinement.
Recommendation (for founder approval)
The current triple 0.80 / 0.88 / 0.95 is too optimistic: its conservative value equals the grid's median. Proposed calibrated triple, mapped to the distribution and the typical-cell range:
| Scenario | Current | Proposed | Basis |
|---|---|---|---|
| conservative | 0.80 | 0.55 | large-battery/typical-ratio medians (p10–p25 band) |
| base | 0.88 | 0.70 | typical NL cell (5.2 kWh, ratio 1.0, oost-west/zuid ≈ 0.65–0.80) |
| favourable | 0.95 | 0.85 | small-battery and low-ratio cells (p75–p90 band) |
Engine v2 should replace the scenario constant with a function of usable capacity ÷ median daily surplus — this harness provides the curve. The methodology page must keep disclosing the capture-factor concept either way (spec §3.4).
Limitations (disclose alongside any use)
Single weather year (2024); aggregate E1A load chronology rather than individual household behaviour; clear-sky intra-day shape applied to cloudy days (flatter reality → slightly understates capture, conservative direction); no curtailment, no inverter clipping; distribution of daily energy by global horizontal radiation treats all orientations alike within a day.