def __get_relative_prime_meridian(year): """ - total progression = 100d42.6 + cumulative prog + leap progs - cumulative progression: delta(year-2001) * -0d14.31667 - leap progression: (leap years elapsed) * 0d59.0 :param year: observation year :return: angle of prime meridian """ reference_rotation = Angle.from_string("100d42.6") # cumulative progression: delta(year-2001) * -0d14.31667 annual_gha_decrement = Angle.from_string("-0d14.32") delta_year = year - Aries.REFERENCE_YEAR cumulative_progression = Angle.multiply(annual_gha_decrement, delta_year) # leap progression: (leap years elapsed) * 0d59.0 daily_rotation = Angle.from_string("0d59.0") leap_years = math.floor((year - Aries.REFERENCE_YEAR) / 4) leap_progression = Angle.multiply(daily_rotation, leap_years) # total progression = 100d42.6 + cumulative prog + leap progs total_progression = Angle.add(reference_rotation, cumulative_progression) total_progression = Angle.add(total_progression, leap_progression) print("total progression" + total_progression.str) return total_progression
def __get_earth_rotation_since_observation(elapsed_seconds): """ convert seconds into angles total sec/86164.1*360d00.0 :param elapsed_seconds: second between ref time and observed time :return: hour angle """ full_angle = Angle.from_string("360d00.0") rotation = round(elapsed_seconds / 86164.1000, 5) print("full_angle_:" + full_angle.str) print("rotation_:" + str(rotation)) print("get_earth_rotation_:" + Angle.from_decimal(rotation).str) return Angle.from_decimal(rotation)