0

現在、現在地のユリウス日を見つけるためのアルゴリズムを取得しましたが、この値を使用してグリニッジ平均恒星時を見つけると、非常に奇妙な数字が得られます。誰でもこのスクリプトを実行して、私の計算が間違っている場所を特定できますか? ありがとう。

#1/user/bin/python
import math
from time import gmtime, strftime

#Sidereal Time Program

#Julien Date Converter

seconds = (int(strftime("%S")) * .01)

JD1 = ((367 * (int(strftime("%Y")))) - ((7 * ((int(strftime("%Y")))
      + (((int(strftime("%m"))) + 9) / 12))) / 4)
      + ((275 * (int(strftime("%m")))) / 9) + (int(strftime("%d"))) + 1721013.5
      + ((int(strftime("%I")) + (seconds) + 4) / 24) - 0.5 + 0.5 + 1.46)

JD2 = ((367 * (int(strftime("%Y")))) - ((7 * ((int(strftime("%Y")))
      + (((int(strftime("%m"))) + 9) / 12))) / 4)
      + ((275 * (int(strftime("%m")))) / 9) + (int(strftime("%d"))) + 1721013.5
      + ((int(12) + 4) / 24) - 0.5 + 0.5 - 0.192361555)

H = JD1 - JD2
JD = JD2 + (H / 24)
D1 = JD1 - 2451545.0
D2 = JD2 - 2451545.0
T = D1 / 36525

GMST1 = 6.697374558 + (0.06570982441908 * D2) + (1.00273790935 * H) + (0.000026 * (T * T))

GMST2 = 18.697374558 + (24.06570982441908 * D1)

o =  125.04 - (0.052954 * D1)

L = 280.47 + (0.98565 * D1)

e = 23.4393 - (0.0000004 * D1)

x = 2 * L

sym = (-0.000319 * (math.sin (o))) - (0.000024 * (math.sin (x)))

eqeq = (sym * (math.cos (e)))

GAST1 = GMST1 + eqeq

GAST2 = GMST2 +eqeq

print (JD1)
print (T)
print (GAST1)
print (GAST2)

編集: これが私が使用している式です: http://aa.usno.navy.mil/faq/docs/GAST.php

4

1 に答える 1