예제 #1
0
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)
예제 #2
0
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)
예제 #3
0
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)
예제 #4
0
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)
예제 #5
0
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)
예제 #6
0
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)
예제 #7
0
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)
예제 #8
0
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)
예제 #9
0
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)
예제 #10
0
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)
예제 #11
0
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)
예제 #12
0
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)
예제 #13
0
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)
예제 #14
0
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)
예제 #15
0
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)