Module: Sekki24::Solar::Fast

Defined in:
lib/sekki24/solar/fast.rb

Constant Summary collapse

J2000 =
2_451_545.0
JULIAN_CENTURY =
36_525.0
DEGREES_TO_RADIANS =
Math::PI / 180.0

Class Method Summary collapse

Class Method Details

.longitude(jde) ⇒ Object



12
13
14
15
16
17
18
19
20
21
# File 'lib/sekki24/solar/fast.rb', line 12

def longitude(jde)
  centuries = (Float(jde) - J2000) / JULIAN_CENTURY
  mean_longitude = 280.46646 + (36_000.76983 * centuries) + (0.0003032 * centuries**2)
  mean_anomaly = 357.52911 + (35_999.05029 * centuries) - (0.0001537 * centuries**2) +
    (centuries**3 / 24_490_000.0)
  center = equation_of_center(mean_anomaly, centuries)
  omega = 125.04 - (1934.136 * centuries)

  normalize(mean_longitude + center - 0.00569 - (0.00478 * sin_degrees(omega)))
end