Modell (nachvollziehbar): Luftmasse n. Kasten-Young → DNI = 1361·0,7^(AM^0,678) → Diffusanteil 12 % (isotrop) → Einstrahlwinkel je Fläche (Neigung 25°, Azimut NE 45°/NW 315°, in zones.json änderbar) → P = kWp · POA/1000 · PR 0,82 → Tagesintegral (10-min-Schritte). Wolkenloser Himmel = physikalische Obergrenze; reale Tage liegen je nach Bewölkung darunter. Verschattung: geometrisch über Sonnenstand je Ausrichtung; Objekt-/Baumschatten nicht modelliert.