def test_EquationOfTime(): a = Astral() dt = datetime.datetime(2015, 10, 10, 0, 54, 0) jc = a._jday_to_jcentury(a._julianday(dt, -4)) etime = a._eq_of_time(jc) assert float_almost_equal(etime, 12.84030157, 0.0001) dt = datetime.datetime(2017, 1, 1, 2, 0, 0) jc = a._jday_to_jcentury(a._julianday(dt, 2)) etime = a._eq_of_time(jc) assert float_almost_equal(etime, -3.438084536, 0.0001)
def test_GeomMeanLongSun(): a = Astral() dt = datetime.datetime(2015, 10, 10, 1, 36, 0) jc = a._jday_to_jcentury(a._julianday(dt, 5)) geom = a._geom_mean_long_sun(jc) assert float_almost_equal(geom, 198.1484524, 0.1) dt = datetime.datetime(2015, 1, 1, 1, 36, 0) jc = a._jday_to_jcentury(a._julianday(dt, -4)) geom = a._geom_mean_long_sun(jc) assert float_almost_equal(geom, 280.5655139, 0.1)
def test_VarY(): a = Astral() dt = datetime.datetime(2015, 10, 10, 0, 54, 0) jc = a._jday_to_jcentury(a._julianday(dt, -4)) y = a._var_y(jc) assert float_almost_equal(y, 0.043017118, 0.0001)
def test_SunDeclination(): a = Astral() dt = datetime.datetime(2015, 10, 10, 1, 36, 0) jc = a._jday_to_jcentury(a._julianday(dt, -4)) declination = a._sun_declination(jc) assert float_almost_equal(declination, -6.525273018, 0.0001)
def test_SunRightAscension(): a = Astral() dt = datetime.date(2015, 10, 10) jc = a._jday_to_jcentury(a._julianday(dt, -4)) rt_ascension = a._sun_rt_ascension(jc) assert float_almost_equal(rt_ascension, -164.7605748, 0.001)
def test_ObliquityCorrection(): a = Astral() dt = datetime.datetime(2015, 10, 10, 1, 36, 0) jc = a._jday_to_jcentury(a._julianday(dt, -4)) obliquity_correction = a._obliquity_correction(jc) assert float_almost_equal(obliquity_correction, 23.43468009, 0.0001)
def test_MeanObliquityOfEcliptic(): a = Astral() dt = datetime.date(2015, 10, 10) jc = a._jday_to_jcentury(a._julianday(dt, -4)) mean_obliquity = a._mean_obliquity_of_ecliptic(jc) assert float_almost_equal(mean_obliquity, 23.43724009, 0.1)
def test_SunApparentLong(): a = Astral() dt = datetime.date(2015, 10, 10) jc = a._jday_to_jcentury(a._julianday(dt, -4)) apparent_long = a._sun_apparent_long(jc) assert float_almost_equal(apparent_long, 196.6033454, 0.1)
def test_SunRadVector(): a = Astral() dt = datetime.date(2015, 10, 10) jc = a._jday_to_jcentury(a._julianday(dt, -4)) rad_vector = a._sun_rad_vector(jc) assert float_almost_equal(rad_vector, 0.998732645, 0.1)
def test_SunTrueAnomoly(): a = Astral() dt = datetime.date(2015, 10, 10) jc = a._jday_to_jcentury(a._julianday(dt, -4)) true_long = a._sun_true_anomoly(jc) assert float_almost_equal(true_long, 6033.400469, 0.1)
def test_SunTrueLong(): a = Astral() dt = datetime.date(2015, 10, 10) jc = a._jday_to_jcentury(a._julianday(dt, -4)) true_long = a._sun_true_long(jc) assert float_almost_equal(true_long, 196.6090364, 0.1)
def test_SunEqOfCenter(): a = Astral() dt = datetime.date(2015, 10, 10) jc = a._jday_to_jcentury(a._julianday(dt, -4)) eoc = a._sun_eq_of_center(jc) assert float_almost_equal(eoc, -1.909033734, 0.1)
def test_EccentrilocationEarthOrbit(): a = Astral() dt = datetime.date(2015, 10, 10) jc = a._jday_to_jcentury(a._julianday(dt, -4)) ecc = a._eccentrilocation_earth_orbit(jc) assert float_almost_equal(ecc, 0.016702001, 0.1)
def test_GeomMeanAnomalySun(): a = Astral() dt = datetime.date(2015, 10, 10) jc = a._jday_to_jcentury(a._julianday(dt, -4)) geom = a._geom_mean_anomaly_sun(jc) assert float_almost_equal(geom, 6035.243796, 0.1)
def test_SunriseHourAngle(): a = Astral() dt = datetime.date(2015, 1, 1) jc = a._jday_to_jcentury(a._julianday(dt, 1)) declination = a._sun_declination(jc) ha = math.degrees(a._hour_angle(52.169, declination, 90.833)) assert float_almost_equal(ha, 58.6102679, 0.1)