Zum Inhalt springen

Himmelsmechanik (5): Sonnenstand

Am 01.09.2022 war ich zusammen mit meiner Freundin im Urlaub auf der wunderschönen griechischen Insel Kreta. Die Sonne strahlte von einem für den Mittelmeerraum typischen azurblauen Himmel. Dieser Tag sollte ein Strandtag werden. Also ging es morgens mit dem Mietwagen Richtung Westen zu einem langen Sandstrand bei Georgioupolis, einem Dorf zwischen Chania und Rethymno. Am Strand angekommen: T-Shirt aus, einen schönen Platz gesucht und erst einmal ins Meer. Mann, ist das Leben schön! Anfang September auf Kreta, Sonne, Schwimmen, Schnorcheln – und dann kam es, wie es kommen musste: Ich hatte vergessen, mich einzucremen bzw ich habe die Kraft der Sonne massiv unterschätzt. Das Ergebnis war der Sonnenbrand meines Lebens. Wie konnte es so weit kommen? Es war doch schon Anfang September. Klar, Kreta liegt deutlich weiter südlich als Deutschland, aber wie groß war der Unterschied tatsächlich?

Abends im Hotel entstand daraus eine ziemlich konkrete Frage: An welchem Tag erreicht die Sonne in Dortmund ungefähr dieselbe Höhe wie am 01.09.2022 auf Kreta an diesem Strand?

Sonnenaufgang über dem Meer

Kleiner Hinweis: Dieser Artikel erschien ursprünglich 2022 und wurde 2026 technisch und inhaltlich überarbeitet.

Für die Berechnung des Sonnenstandes benötigt man eigentlich nur vier Parameter, und zwar den Breitengrad und den Längengrad eines Ortes sowie das Datum und die Uhrzeit. Der Strand von Georgioupolis hatte die Koordinaten 35.351535° Breite und 24.333140° Länge; die lokale Zeit war 13:35 Uhr am 01.09.2022. Mit diesen Parametern können die Sonnenhöhe und der Azimut berechnet werden. Zum besseren Verständnis sind die Artikel Himmelsmechanik (1): Koordinatensysteme, Himmelsmechanik (3): Die Keplerschen Gesetze und  Himmelsmechanik (4): Bahnelemente und Ephemeriden hilfreich, um die Berechnungswege besser zu verstehen.

Ausgangslage

Wir berechnen nun die Sonnenhöhe für den geografischen Punkt

\varphi = 35.351535 ^\circ
\lambda = 24.333140^\circ

am 01.09.2022 um 13:35 Uhr ( → 10:35 UTC) .

Der schöne Strand von Georgioupolis

Am Ende der Rechnung werden zwei Größen ermittelt: die Sonnenhöhe h über dem Horizont und der Azimut a, also die Himmelsrichtung der Sonne. Der Weg dorthin führt über mehrere Koordinatensysteme. Zunächst wird die Position der Sonne auf ihrer scheinbaren Bahn entlang der Ekliptik bestimmt. Anschließend wird diese Position in das äquatoriale und schließlich in das horizontale Koordinatensystem des Beobachtungsortes umgerechnet.

Zeitvariable seit dem 01.01.2000 12:00 TT

Die Zeitvariable n beschreibt die Anzahl der Tage seit dem 01.01.2000 12:00 TT und berechnet sich aus dem Julianischen Datum JD mit

(1)   \begin{equation*} n=JD-2451545.0 \end{equation*}

Mit den Daten 01.09.2022 10:35 Uhr ergibt sich n = 8278.9410 d.h. es sind bis zum diesem Zeitpunkt etwas mehr als 8278 Tage seit dem 01.01.2000 vergangen.

Berechnung des julianischen Datums mit Codebeispiel

Das julianische Datum JD wird wie folgt berechnet:

    \begin{equation*} Y= \begin{cases} y-1, & m\leq 2\\ y, & m>2 \end{cases} \end{equation*}

    \begin{equation*} M= \begin{cases} m+12, & m\leq 2\\ m, & m>2 \end{cases} \end{equation*}

Der Tag inklusive Uhrzeit wird als Dezimalteil des Tages geschrieben:

    \begin{equation*} D=d+\frac{h}{24}+\frac{\mathrm{min}}{1440}+\frac{s}{86400} \end{equation*}

Für den gregorianischen Kalender folgt die Korrektur

    \begin{equation*} B=2-\left\lfloor\frac{Y}{100}\right\rfloor+\left\lfloor\frac{Y}{400}\right\rfloor \end{equation*}

Damit ergibt sich das Julianische Datum:

    \begin{equation*} JD=\left\lfloor365.25(Y+4716)\right\rfloor+\left\lfloor30.6001(M+1)\right\rfloor+D+B-1524.5} \end{equation*}

In Python könnte eine solche Implementierung etwa so aussehen:

#skywatch-blog.de
#by Daniel Voelkner

#Imports
import math

#Functions
def julian_day_number(day, month, year, hour=0, minutes=0, second=0):
    y = year
    m = month
    if m <= 2:
        y -= 1
        m += 12

    d = (
        day
        + hour / 24
        + minutes / 1440
        + second / 86400
    )

    b = (
        2
        - math.floor(y / 100)
        + math.floor(y / 400)
    )

    return (
        math.floor(365.25 * (y + 4716))
        + math.floor(30.6001 * (m + 1))
        + d
        + b
        - 1524.5
    )

#Inputs by User
day = int(input("Tag: "))
month = int(input("Monat: "))
year = int(input("Jahr: "))

hour = int(input("Stunde: "))
minutes = int(input("Minute: "))
seconds = int(input("Sekunde: "))

# show results
jd = julian_day_number(
    day,
    month,
    year,
    hour,
    minutes,
    seconds
)

print("Julianisches Datum:", jd)

Der erste Schritt besteht darin, die Position der Sonne entlang der Ekliptik zu bestimmen.

Mittlere ekliptikale Länge der Sonne

Zunächst gilt die Annahme, als würde sich die Sonne aus Sicht der Erde vollkommen gleichmäßig entlang der Ekliptik bewegen. Das ist natürlich nur eine Näherung, denn die Erdbahn ist elliptisch. Für den ersten Schritt reicht aber eine konstante mittlere Winkelgeschwindigkeit.

Die mittlere ekliptikale Länge L ergibt sich zu:

(2)   \begin{equation*} L =280.460^\circ+0.9856474^\circ \cdot n \end{equation*}

Dabei ist der Wert 280.460^\circ der festgelegte Wert zum Zeitpunkt J2000.0. Pro Tag wächst die mittlere Länge also um 0.9856474^\circ. Um den relativen Jahreswinkel zu erhalten, führt man den Winkel L  mithilfe von modulo 360 auf 0^\circ \leq L < 360^\circ.

Im Zahlenbeispiel beträgt die mittlere ekliptikale Länge der Sonne  L = 160.5766^\circ.

Mittlere Anomalie

Die eben ermittelte mittlere ekliptikale Länge L beschreibt zunächst, wo sich die Sonne bei einer angenommenen gleichförmigen Bewegung entlang der Ekliptik befinden würde. Da die Erde die Sonne jedoch nicht auf einer perfekten Kreisbahn, sondern auf einer leicht elliptischen Bahn umläuft, ändert sich ihre Bahngeschwindigkeit im Laufe des Jahres. Für die weitere Berechnung ist daher die sogenannte mittlere Anomalie M erforderlich. Sie beschreibt vereinfacht, wie weit sich die Erde seit dem letzten Periheldurchgang bei einer angenommenen gleichförmigen Bewegung weiterbewegt hätte.

(3)   \begin{equation*} M =357.528^\circ+0.9856003^\circ \cdot n \end{equation*}

Um den Jahreswinkel zu bestimmen, hilft auch hier modulo 360: 0^\circ \leq M < 360^\circ

Im Zahlenbeispiel beträgt die mittlere Anomalie bei  M = 237.2547^\circ.

Die mittlere Anomalie M beschreibt damit zunächst nur eine gedachte gleichförmige Bewegung. Genau diese Abweichung wird im nächsten Schritt durch die Mittelpunktsgleichung korrigiert.

Mittelpunktsgleichung

Die Mittelpunktsgleichung ist die Korrektur, die aus einer rein gleichförmigen Kreisbewegung eine bessere Näherung an die tatsächliche Bewegung auf einer elliptischen Bahn macht. Die mittlere Anomalie M wächst gleichmäßig mit der Zeit. Sie beschreibt also eine gedachte gleichförmige Bewegung. Nach dem zweiten Keplerschen Gesetz bewegt sich die Erde in Sonnennähe (Perihel) schneller als in Sonnenferne (Aphel). Dadurch weicht die tatsächliche Position von der mittleren Position periodisch ab. Genau diese Abweichung beschreibt die Mittelpunktsgleichung. Sie wird zur mittleren ekliptikalen Länge L addiert und liefert so die wahre ekliptikale Länge \Lambda.

(4)   \begin{equation*} \Lambda - L=\left(2\e\sin(M)+\frac{5}{4}\e^2\sin(2M)+\frac{13}{12}\e^3\sin(3M)\right) \end{equation*}

Achtung: Dieser Wert liegt im Bogenmaß vor, d.h. \Lambda - L muss mit \frac{180^\circ}{\pi} multipliziert werden. Die Exzentrizität e ist ein Bahnelement der Erdbahn und beträgt e\approx 0.0167 (siehe Himmelsmechanik (4): Bahnelemente und Ephemeriden)

Im Zahlenbeispiel beträgt  die ekliptikale Länge \Lambda\approx158.9852^\circ.

Damit ist die Position der Sonne entlang der Ekliptik bekannt. Für die Beobachtung von der Erdoberfläche reicht diese Angabe jedoch noch nicht aus. Die scheinbare Sonnenbahn ist gegenüber dem Himmelsäquator geneigt. Deshalb muss die ekliptikale Position nun in Rektaszension \alpha und Deklination \delta des äquatorialen Koordinatensystems umgerechnet werden.

Äquatorialkoordinaten der Sonne

Das Rüstzeug, um die Äquatorialkoordinaten der Sonne zu berechnen, ist komplett. Die Erdneigung \epsilon ist der Winkel zwischen der Erdbahnebene und dem Himmelsäquator. Für J2000.0 beträgt dieser Winkel ungefähr 23.439^\circ und nimmt langfristig langsam ab.

(5)   \begin{equation*} \varepsilon =23.439^\circ-0.0000004^\circ \cdot n \end{equation*}

Danach kann aus \Lambda die Rektaszension \alpha bestimmt werden. Klassischerweise benötigt man eine Fallunterscheidung, damit der Winkel im richtigen Quadranten liegt.

(6)   \begin{equation*} \alpha =\begin{cases}\arctan\left(\cos(\varepsilon)\tan(\Lambda)\right),& \cos(\Lambda)>0\\ \arctan\left(\cos(\varepsilon)\tan(\Lambda)\right)+180^\circ,& \cos(\Lambda)<0 \end{cases} \end{equation*}

In Programmiersprachen wie z.B. Python ist mit atan2 sehr viel angenehmer zu rechnen:

(7)   \begin{equation*} \alpha =\operatorname{atan2}\left(\cos(\varepsilon)\sin(\Lambda),\cos(\Lambda)\right) \end{equation*}

Die Deklination \delta ergibt sich anschließend direkt aus der Schiefe der Ekliptik und der ekliptikalen Länge:

(8)   \begin{equation*} \delta = \arcsin \left( \sin(\varepsilon)\sin(\Lambda) \right) \end{equation*}

Auch ist hier die Umwandlung des Bogenmaßes erforderlich!

Mit den Zahlenwerten ergeben sich folgende Werte:

    \begin{equation*} \begin{aligned} \varepsilon &= 23.43569^\circ \\ \alpha &\approx 160.584^\circ \\ \delta &\approx 8.200^\circ \end{aligned} \end{equation*}

Horizontalkoordinaten der Sonne

Mit der Rektaszension \alpha und der Deklination \delta ist die Position der Sonne im äquatorialen Koordinatensystem bekannt. Für die Beobachtung von einem bestimmten Standort auf der Erde reicht diese Angabe jedoch noch nicht aus. Entscheidend ist schließlich, wo die Sonne zu einem bestimmten Zeitpunkt tatsächlich am lokalen Himmel steht.

Dazu erfolgt die Umrechnung in das horizontale Koordinatensystem. Dieses beschreibt die Sonnenposition durch den Azimut a und die Höhe h über dem Horizont. Bevor diese beiden Größen berechnet werden können, ist zunächst der Stundenwinkel der Sonne erforderlich.

Doch zunächst wird ist für die Berechnung der Sternzeit das Julianische Datum JD_0 für 0 Uhr UTC des betrachteten Tages benötigt.

Aus JD_0 ergibt sich die Zeit T_0 in julianischen Jahrhunderten seit J2000.0:

(9)   \begin{equation*} T_0 = \frac{JD_0-2451545.0}{36525} \end{equation*}

Die Zahl 36525 entspricht der Anzahl der Tage in einem julianischen Jahrhundert mit 365.25 Tagen pro Jahr. Damit beschreibt T_0, wie viele julianische Jahrhunderte seit der Epoche J2000.0 vergangen sind.

Im Zahlenbeispiel beträgt J_0=2459823.5 und T_o = 0.2266.

Mittlere Sternzeit in Greenwich

Durch die Drehung der Erde um die eigene Achse ändert sich ständig, welcher Bereich des Himmels über einem bestimmten Ort steht. Für diese Drehung wird daher die Sternzeit benötigt. Die mittlere Sternzeit in Greenwich ergibt sich zu:

(10)   \begin{equation*} \theta_G^h=\left(6.697375+2400.05134\cdot T_0+1.002738\cdot T\right)\bmod 24 \end{equation*}

Dabei ist T die Weltzeit UT in Stunden. Der erste Term 6.697375 beschreibt die Sternzeit in Greenwich zum Ausgangszeitpunkt der verwendeten Epoche. Der zweite Term berücksichtigt das langfristige Vorrücken der Sternzeit, während der Faktor 1.002738 beschreibt, dass die Sternzeit innerhalb eines Sonnentages etwas schneller fortschreitet als die normale Uhrzeit.  Die Sternzeit ist hier zunächst in Stunden angegeben. Ein vollständiger Umlauf entspricht:

    \begin{equation*} 24^\mathrm{h} = 360^\circ \end{equation*}

Damit gilt:

    \begin{equation*} 1^\mathrm{h} = 15^\circ \end{equation*}

Die Sternzeit kann deshalb einfach vom Zeitmaß in Grad umgerechnet werden:

(11)   \begin{equation*} \theta_G =\theta_G^h \cdot 15^\circ \end{equation*}

Im Zahlenbeispiel beträgt die mittlere Sternzeit \theta_G^h  = 9.2885 ^h.

Die Greenwich-Sternzeit beschreibt die Orientierung der Erde zunächst nur für den Nullmeridian. Georgioupolis liegt jedoch rund 24.33^\circ östlich davon. Die geografische Länge des Beobachtungsortes muss deshalb noch berücksichtigt werden. Daraus ergibt sich die lokale Sternzeit.

Lokale Sternzeit

Die bisher berechnete Sternzeit \theta_G gilt für Greenwich, also für den Nullmeridian. Für einen beliebigen Beobachtungsort muss zusätzlich dessen geografische Länge \lambda berücksichtigt werden. Dabei werden östliche Längengrade positiv gezählt. Die lokale Sternzeit ergibt sich damit zu:

(12)   \begin{equation*} \theta = \theta_G + \lambda \end{equation*}

Nun stehen zwei Winkel zur Verfügung: Die Rektaszension \alpha beschreibt die Position der Sonne auf der Himmelskugel, während die lokale Sternzeit \theta angibt, welche Rektaszension gerade den lokalen Meridian passiert. Die Differenz beider Größen liefert den Stundenwinkel \tau. Er beschreibt damit unmittelbar, wie weit die Sonne östlich oder westlich des lokalen Meridians steht.

Stundenwinkel der Sonne

Die Rektaszension \alpha gibt die Position der Sonne im äquatorialen Koordinatensystem an. Die lokale Sternzeit \theta beschreibt dagegen, welcher Bereich des Himmels gerade den lokalen Meridian passiert. Aus der Differenz beider Größen ergibt sich der Stundenwinkel \tau der Sonne:

(13)   \begin{equation*} \tau = \theta - \alpha \end{equation*}

Im Zahlenbeispiel beträgt der Stundenwinkel \tau = 3.0772 ^\circ.

Jetzt kommt die eigentliche Zielgröße der ursprünglichen Fragestellung ins Spiel: die Sonnenhöhe h.

Höhe der Sonne über dem Horizont

Für die Berechnung der Sonnenhöhe h werden nun drei Größen benötigt: \varphi ist die geografische Breite des Beobachtungsortes, \delta die Deklination der Sonne und \tau der zuvor bestimmte Stundenwinkel.

Die Höhe der Sonne ergibt sich zu:

(14)   \begin{equation*} h = \arcsin \left( \cos(\delta) \cos(\tau) \cos(\varphi) + \sin(\delta) \sin(\varphi) \right) \end{equation*}

Im Zahlenbeispiel beträgt die Höhe h =  62,70 ^\circ.

Die Sonnenhöhe allein beschreibt noch nicht vollständig, wo sich die Sonne am Himmel befindet. Ein zweiter Winkel ist erforderlich: der Azimut a.

Azimut der Sonne

Azimutdefinition

Für den Azimut gilt:

(15)   \begin{equation*} a = \arctan \left( \frac{ \sin(\tau) }{ \cos(\tau)\sin(\varphi) - \tan(\delta)\cos(\varphi) } \right) \end{equation*}

Beim gewöhnlichen Arkustangens tritt dabei erneut das bereits von der Berechnung der Rektaszension bekannte Problem auf: Aus dem Ergebnis allein lässt sich der richtige Quadrant nicht immer eindeutig bestimmen. Sind sowohl der Nenner als auch \sin(\tau) negativ, muss für den morgendlichen Bereich eine Korrektur um 180^\circ vorgenommen werden. Bei positivem Zähler wird gegen Abend entsprechend 180^\circ addiert. Kleiner Hinweis:  Bei dieser Berechnung gilt:  0^\circ Nord \,\,{,} 90^\circ Ost.

Im Zahlenbeispiel beträgt der Azimut a =  186.65 ^\circ,  also etwa 6.65° weiter als Süden.

Damit ist der gesamte Weg abgeschlossen: Aus Datum, Uhrzeit und geografischer Position wurde zunächst die Stellung der Sonne auf der Ekliptik bestimmt, anschließend ihre Position im äquatorialen Koordinatensystem und schließlich ihre tatsächliche Position am lokalen Himmel. Für Georgioupolis ergibt sich am 01.09.2022 um 13:35 Uhr Ortszeit eine Sonnenhöhe von etwa 62.70^\circ und ein Azimut von etwa 186.65^\circ.

Fazit

Tja, wer hätte das gedacht: Die Sonne stand am 01.09.2022 auf Kreta mit 62.70° sogar etwas höher als in Dortmund am Tag des Sommeranfangs. Dort beträgt der maximale Sonnenhöhe lediglich 61.92°. Anfang September auf Kreta entsprach der Sonnenstand damit also ziemlich genau dem, was zumindest in Dortmund selbst rund um die längsten Tage des Jahres erreicht wird.

Damit war zumindest eine Frage dieses Urlaubs geklärt: Der heftige Sonnenbrand kam keineswegs aus dem Nichts. Der Kalender zeigte zwar bereits September, astronomisch stand die Sonne aber noch ausgesprochen hoch am Himmel. Dazu kamen mehrere Stunden am Strand, Schwimmen, Schnorcheln und natürlich der klassische Fehler: Sonnencreme vergessen und die Kraft der Sonne unterschätzen.

Die wichtigste Erkenntnis aus der ganzen Rechnerei ist deshalb am Ende erstaunlich simpel: Immer eincremen! Das gilt nicht nur im Hochsommer und schon gar nicht nur im Juli oder August. Entscheidend ist nicht der Monat im Kalender, sondern unter anderem, wie hoch die Sonne steht, wie lange die Haut der UV-Strahlung ausgesetzt ist und wie stark die UV-Strahlung an diesem Tag tatsächlich ist. Wasser und heller Sand können die Belastung zusätzlich erhöhen.

Ein Sonnenbrand ist dabei nicht einfach nur eine unangenehme Begleiterscheinung eines gelungenen Strandtages. Er ist ein sichtbares Zeichen dafür, dass die Haut durch UV-Strahlung geschädigt wurde.

Die Sonnenhöhe allein ist allerdings kein direkter UV-Index. Bewölkung, Ozonschicht, Höhenlage, Aufenthaltsdauer, Reflexionen und weitere Faktoren spielen ebenfalls eine Rolle. Trotzdem zeigt die Berechnung sehr schön, warum die Sonne Anfang September im Mittelmeerraum keineswegs schon „harmlos“ ist.

Ihr wollt selbst vergleichen? Nur zu! Am Ende des Artikels findet sich ein interaktiver Sonnenstandsrechner. Dort können zwei beliebige Orte sowie Datum und Uhrzeit eingegeben und direkt miteinander verglichen werden. Neben der Sonnenhöhe werden auch der Azimut und die einzelnen numerischen astronomischen Rechenwerte angezeigt. Zusätzlich kann zwischen Tages- und Jahresverlauf umgeschaltet werden. So lässt sich beispielsweise prüfen, an welchem Tag die Sonne am eigenen Wohnort im Vergleich zum Urlaubsort genauso hoch steht, höher oder niedriger ist wie an einem bestimmten Tag.

Aus einem vergessenen Eincremen am Strand von Georgioupolis wurde damit am Ende immerhin eine ziemlich interessante Frage der Himmelsmechanik.

Interaktiver Rechner zum Ausprobieren

Ort 1 – Zuhause
Ort 2 – Urlaub / Referenz

Die eingegebene Uhrzeit wird an beiden Orten als dieselbe angezeigte Ortszeit interpretiert. Die jeweilige Zeitzone wird intern getrennt nach UTC umgerechnet. Bei Änderung eines Ortsnamens startet nach kurzer Pause automatisch die Ortssuche. Die Eingabe bleibt unverändert, bis ein Treffer aus der Liste ausgewählt wird. Danach werden Koordinaten und Zeitzone übernommen und können weiterhin manuell geändert werden.

Maus über das Diagramm bewegen, um die Werte anzuzeigen.

Geometrische Sonnenhöhe ohne atmosphärische Refraktion. Negative Werte bedeuten: Die Sonne befindet sich unter dem geometrischen Horizont.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert