Änderungsvorschlag:
SUN_TIME, Zeile 5 der Klarheit halber ändern von
UTC : DATE; (* world time *)
in
DAY : DATE; (* date of day to calculate times for *)
und Zeile 32 in CALENDAR_CALC von
sun(latitude := XCAL.LATITUDE, longitude := xcal.LONGITUDE, utc := DT_TO_DATE(xcal.UTC), H := H);
in
sun(latitude := XCAL.LATITUDE, longitude := xcal.LONGITUDE, day := xcal.LDATE, H := H);
Dann wird der Baustein weiterhin um Mitternacht Lokalzeit getriggert, rechnet aber die Sonnenstandszeiten für den aktuellen Tag und nicht für den Vortag.