Planetary-coverage

Planetary Data Workshop 2023

B. Seignovert, G. Tobie, C. Vallat, N. Altobelli, I. Belgacem & M. Costa

A python tool for mission and instrument planning

Mission planning

1 - Timelines and filtering

2 - Tracks and footprints

3 - Regions of interest intersections

planetary-coverage

  • Python 3.9+ object oriented library

  • Open-source BSD licence

  • Uses only numpy, matplotlib and spiceypy

  • Developed at the OSUNA/LPG/Nantes Université
  • Founded by ESA JUICE SOC
pip install planetary-coverage

How to install it?

Group.svg Created using Figma 0.90

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

... and it can do many more things ! 👀

Future developments

  •  Add full coverage visibility for global opportunities searches
  • Implement planetary maps projections

Summary

  • planetary-coverage is a python generic mission planning tool library based on SPICE for non expert-users.
  • Generate custom timelines, groundtrack and ROI intersections.

  • Open-source, fully tested and documented, with many examples.