Example #1
0
def main():
    args = sys.argv[1:]
    if not args:
        print('usage: deprecations.py (a|b...)')
        sys.exit(2)
    arg = args[0]
    if arg == 'a':
        from skyfield.api import earth, mars, now
        earth(now()).observe(mars).radec()
    elif arg == 'b':
        from skyfield.api import earth
        earth.topos('42.3583 N', '71.0636 W')
    elif arg == 'c':
        from skyfield.api import load
        eph = load('de421.bsp')
        earth = eph['earth']
        earth(100)
    elif arg == 'd':
        from skyfield.api import JulianDate
        JulianDate(utc=(1980, 1, 1))
    elif arg == 'e':
        from skyfield.api import load
        eph = load('de421.bsp')
        earth = eph['earth']
        earth.at(utc=(1980, 1, 1))
Example #2
0
 def find_subsolar_location_based_on_skyfield_locator(self):
     x, y, z = earth(
         JulianDate(utc=self.time)).observe(sun).apparent().position.km
     julian_date = JulianDate(utc=self.time).tt
     dublin_julian_date = julian_date - 2415020
     sidereal_solar = 1.0027379093
     sid_day = floor(dublin_julian_date)
     t = (sid_day - 0.5) / 36525
     sid_reference = (6.6460656 + (2400.051262 * t) + (0.00002581 *
                                                       (t**2))) / 24
     sid_reference -= floor(sid_reference)
     lon = 2 * pi * ((dublin_julian_date - sid_day) * sidereal_solar +
                     sid_reference) - atan2(y, x)
     lon = lon % (2 * pi)
     lon -= pi
     self.sun_lon = -lon
     self.sun_lat = atan(z / sqrt(x**2 + y**2))
     self.sun_colat = (pi / 2) - self.sun_lat
     self.sun_colon = pi - self.sun_lon
     return
                    sidereal_solar + sid_reference) - atan2(y, x)
    lon = lon % (2 * pi)
    lon -= pi
    lat = atan(z / sqrt(x**2 + y**2))

    return degrees(lat), degrees(-lon)


time = datetime.utcnow()
time = time.replace(tzinfo=utc)

data = {}
data['moon'] = {}
data['sun'] = {}

x, y, z = earth(JulianDate(utc=time)).observe(moon).apparent().position.AU
lat, lng = earth_latlon(x, y, z, time)
data['moon']['latitude'] = lat
data['moon']['longitude'] = lng

x, y, z = earth(JulianDate(utc=time)).observe(sun).apparent().position.AU
lat, lng = earth_latlon(x, y, z, time)
data['sun']['latitude'] = lat
data['sun']['longitude'] = lng

observer      = ephem.Observer()
observer.date = ephem.Date(time)
observer.lon  = sys.argv[2]
observer.lat  = sys.argv[1]
observer.elev = float(sys.argv[3])
Example #4
0
def test_star_position_class():
    star = api.Star(ra_hours=0, dec_degrees=0)
    p = api.earth(utc=(2014, 2, 9, 15, 1)).observe(star)
    assert isinstance(p, positionlib.Astrometric)
Example #5
0
def test_astrometric_position_class():
    p = api.earth(utc=(2014, 2, 9, 14, 50)).observe(api.mars)
    assert isinstance(p, positionlib.Astrometric)
Example #6
0
def test_apparent_position_class():
    p = api.earth(utc=(2014, 2, 9, 14, 50)).observe(api.mars).apparent()
    assert isinstance(p, positionlib.Apparent)
Example #7
0
def test_sending_jd_that_is_not_a_julian_date():
    with assert_raises(ValueError, 'your "jd" argument is not a JulianDate: '):
        api.earth('blah')
Example #8
0
def test_star_position_class():
    star = api.Star(ra_hours=0, dec_degrees=0)
    p = api.earth(utc=(2014, 2, 9, 15, 1)).observe(star)
    assert isinstance(p, positionlib.Astrometric)
Example #9
0
def test_astrometric_position_class():
    p = api.earth(utc=(2014, 2, 9, 14, 50)).observe(api.mars)
    assert isinstance(p, positionlib.Astrometric)
Example #10
0
def test_apparent_position_class():
    p = api.earth(utc=(2014, 2, 9, 14, 50)).observe(api.mars).apparent()
    assert isinstance(p, positionlib.Apparent)
Example #11
0
def test_sending_jd_that_is_not_a_julian_date():
    with assert_raises(ValueError, 'your "jd" argument is not a JulianDate: '):
        api.earth('blah')