34 lines
1.1 KiB
Python
34 lines
1.1 KiB
Python
from skyfield.api import load
|
|
from skyfield.magnitudelib import planetary_magnitude
|
|
|
|
def test_magnitudes():
|
|
ts = load.timescale()
|
|
#t = ts.utc(1995, 5, 22) # Rings edge-on from Earth.
|
|
t = ts.utc(2021, 10, 4)
|
|
eph = load('de421.bsp')
|
|
earth = eph['earth']
|
|
names = [
|
|
'mercury', 'venus', 'mars', 'jupiter barycenter',
|
|
'saturn barycenter', 'uranus barycenter', 'neptune barycenter',
|
|
]
|
|
e = earth.at(t)
|
|
positions = [e.observe(eph[name]) for name in names]
|
|
magnitudes = [planetary_magnitude(position) for position in positions]
|
|
assert ['%.3f' % m for m in magnitudes] == [
|
|
'2.393', '-4.278', '1.592', '-2.693', '0.508', '5.701', '7.690',
|
|
]
|
|
|
|
t = ts.tt_jd([t.tt, t.tt])
|
|
e = earth.at(t)
|
|
positions = [e.observe(eph[name]) for name in names]
|
|
magnitudes = [planetary_magnitude(position) for position in positions]
|
|
assert [['%.3f' % m for m in mm] for mm in magnitudes] == [
|
|
['2.393', '2.393'],
|
|
['-4.278', '-4.278'],
|
|
['1.592', '1.592'],
|
|
['-2.693', '-2.693'],
|
|
['0.508', '0.508'],
|
|
['5.701', '5.701'],
|
|
['7.690', '7.690'],
|
|
]
|