Algoritmo Alba-Tramonto: metodi matematici elementari per l'astronomia

a cura di Paolo Botton
26 novembre 2014


Le formule contenute in questo articolo sono tratte dal volume "Almanac for Computers", del 1990, pubblicato dal Nautical Almanac Office - United States Naval Observatory - Washington, DC 20392.
L'algoritmo fornisce un metodo per calcolare l'ora di levata e calata del sole ad una determinata latitudine, longitudine e data di un giorno preciso dell'anno.

Dati richiesti per il calcolo:
    giorno, mese, anno: data di calcolo dell'orario di alba e tramonto.
    Latitudine e Longitudine: riferite al luogo per cui si calcola l'orario di alba e tramonto.
    zenith: zenith del sole utilizzato nel calcolo.
    ufficiale = 90° 50'
    civile = 96°
    nautico = 102°
    astronomico = 108°

NOTE:
La Longitudine è positiva a Est e negativa a Ovest

L'algoritmo proposto presuppone l'uso di una calcolatrice con gli angoli per le funzioni trigonometriche espresse in gradi e non in radianti.
Nel caso la calcolatrice o il linguaggio utilizzato prevedessero solo l'opzione radianti, è richiesta la conversione, ed il parametro da utilizzare 180 ÷ π.
Ad esempio, l'equazione AR = atan(0.91764 × tan(L))
dovrà essere trascritta come AR = (180 ÷ π) × atan(0.91764 × tan((π ÷ 180) × L))
in modo che possa restituire in ascensione retta AR un valore espresso in gradi, avendo come valore di Longitudine L un termine espresso in gradi.

INTG rappresenta l'intero di un quoziente, troncato quindi della parte decimale.

L'algoritmo

Calcolo del giorno dell'anno

    N1 = INTG(275 × mese ÷ 9)
    N2 = INTG((mese + 9) ÷ 12)
    N3 = (1 + INTG((anno − 4 × INTG(anno ÷ 4) + 2) ÷ 3))
    N = N1 − (N2 × N3) + giorno − 30

Conversione della Longitudine in termini orari (angolo orario) e calcola un primo tempo approssimativo t.

    angoloORARIO = Longitudine ÷ 15
    SE si deve calcola l'orario del sorgere del Sole: t = N + ((6 − angoloORARIO) ÷ 24)
    SE si calcola l'orario del tramonto del Sole: t = N + ((18 − angoloORARIO) ÷ 24)

Calcolo dell'anomalia media M del Sole

    M = (0.9856 × t) − 3.289

Calcolo della Longitudine reale del Sole

    L = M + (1.916 × sen(M)) + (0.020 × sen(2 × M)) + 282.634

NOTA: è possibile che, per alcuni valori dei parametri, la Longitudine L così calcolata debba essere normalizzata tra [0,360], aggiungendo o sottraendo 360, operazione che può essere effettuata usando l'operatore MODULO L = (L % 360) o L = (L RMDR 360), in base alla calcolatrice o al linguaggio utilizzato.
È solo una questione di efficienza nella sequenza delle istruzioni.
In fatti: se L = 370° ⇒ L = (L − 360) = 10° oppure L = (L RMDR 360) = 10°

Calcolo dell'Ascensione Retta del Sole

    AR = atan(0.91764 × tan(L))

NOTA: è possibile che, per alcuni valori dei parametri, l'Ascensione Retta AR così calcolata debba essere normalizzata tra [0,360], aggiungendo o sottraendo 360, operazione che può essere effettuata usando l'operatore MODULO AR = (AR % 360) o AR = (AR RMDR 360), in base alla calcolatrice o al linguaggio utilizzato.
È solo una questione di efficienza nella sequenza delle istruzioni.
In fatti: se AR = 525° ⇒ AR = (AR − 360) = 165° oppure AR = (AR RMDR 360) = 165°

L'Ascensione Retta deve essere nello stesso quadrante della Longitudine

    quadranteL = INTG( L ÷ 90) × 90
    quadranteAR = INTG(AR ÷ 90) × 90
    AR = AR + (quadranteL − quadranteAR)

Il valore di Ascensione Retta deve essere convertito in ore

    AR = AR ÷ 15

Calcolo della declinazione del Sole

  senDEC = 0.39782 × sen(L)
  cosDEC = cos( asen(senDEC) )

Calcola l'angolo orario locale del Sole

                    (cos(zenith) − (senDEC × sen(Latitudine)))
    cosH = --------------------------------------------------
                              (cosDEC × cos(Latitudine))

    SE (cosH >> 1)
        il sole non sorge mai nel luogo indicato dalle coordinate geografiche e nella data indicata
    SE (cosH < −1)
        il sole non tramonta mai nel luogo indicato dalle coordinate geografiche e nella data indicata

Fine del calcolo di H e sua conversione in ore

    SE si calcola l'orario dell'alba:          H = 360 − acos(cosH)
    SE si calcola l'orario del tramonto: H = acos(cosH)
    H = H ÷ 15

Calcola l'ora media locale dell'alba o tramonto

    T = H + AR − (0.06571 × t) − 6.622

Riporta a UTC

    UT = T − angoloORARIO

NOTA: è possibile che, per alcuni valori dei parametri, UT così calcolato debba essere normalizzata tra [0,24], aggiungendo o sottraendo 24, operazione che può essere effettuata usando l'operatore MODULO UT = (UT % 24) o UT = (UT RMDR 24), in base alla calcolatrice o al linguaggio utilizzato.
È solo una questione di efficienza nella sequenza delle istruzioni.
In fatti: se UT = 31 ⇒ UT = (UT − 24) = 7 oppure UT = (UT RMDR 24) = 7

Conversione di UT all'ora locale in base alla Latitudine e Longitudine

    OraLocale = UT + fusoORARIO


© Paolo B.
www.000webhost.com