"""
JANUS FOV during Ganymede flyby
===============================

Example of representation of JANUS field of view
during 2G2 Ganymede flyby.

"""

import matplotlib.pyplot as plt

from planetary_coverage import GANYMEDE, TourConfig


# %%
# Load Juice flyby trajectory during 2G2
# --------------------------------------
tour = TourConfig(
    mk='5.1 150lb_23_1',
    version='v422_20230130_002',
    spacecraft='JUICE',
    instrument='JANUS',
    target='Ganymede',
)

flyby = tour.flyby('2G2')

flyby

# %%
# Keep only the part of the trajectory below 100,000 km
# -----------------------------------------------------

# %%
mask_flyby = flyby.where(flyby.alt < 100_000)

mask_flyby

# %%
# Represent JANUS FOV on the map
# -------------------------------

# %%
fig = plt.figure(figsize=(12, 7))
ax = fig.add_subplot(projection=GANYMEDE)

ax.add_collection(mask_flyby.fovs(facecolors='inc', vmin=0, vmax=90, sort='inc'))

ax.colorbar(vmin=0, vmax=90, label='inc', extend='max')

ax.set_title(f'JANUS footprints during 2G2 flyby ({flyby.date_ca})')

plt.show()

# %%
# .. admonition:: Download
#
#   - :download:`03-janus_fov.ipynb`
#   - :download:`03-janus_fov.py`
