Benoît Seignovert
🌍 Planetary data scientist 🌔
Planetary Data Workshop 2023
A python tool for mission and instrument planning
Python 3.9+
object oriented library
Open-source BSD
licence
Uses only numpy
, matplotlib
and spiceypy
1.0.0
)pip install planetary-coverage
Jupyter
Python
Conda-Forge
%pip install planetary-coverage
conda install -c conda-forge planetary-coverage
Demo example:
Callisto flybys planning
Callisto global map
Callisto ROIs / Stephan et al. 2021
Juice flybys day side below 500 km
import matplotlib.pyplot as plt
from planetary_coverage import TourConfig, CALLISTO, CallistoROIs
tour = TourConfig(mk='juice_crema_5_0.tm', spacecraft='JUICE', instrument='MAJIS_IR', target='Callisto')
fig = plt.figure()
ax = fig.add_subplot(projection=CALLISTO)
ax.add_collection(CallistoROIs(edgecolor='white', linestyle='--'))
for flyby in tour.flybys:
traj = flyby.where((flyby.alt < 500) & (flyby.inc < 90))
ax.add_collection(traj.fovs('inc', vmin=0, vmax=90))
if traj in CallistoROIs:
ax.plot(traj & CallistoROIs, color='red')
ax.add_collection((CallistoROIs & traj)(edgecolor='red'))
ax.colorbar(vmin=0, vmax=90, label='inc', extend='max')
✍️ 20 lines from scratch to plot! 📈
Other examples
Juice / Clipper
orbital trajectory
MAJIS coverage over Ganymede during GCO 5000
JANUS dynamic pointing
By Benoît Seignovert
June 26, 2023 | Planetary Data Workshop