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, read_events
from planetary_coverage.misc import wget

Download JUICE timeline from the SOC#

URL = 'https://juicesoc.esac.esa.int/data/DATA/crema_5_0'
TIMELINE = 'mission_timeline_event_file_5_0.csv'

wget(f'{URL}/{TIMELINE}', TIMELINE, skip=True)
PosixPath('mission_timeline_event_file_5_0.csv')

Get the 2G2 flyby date from the timeline#

timeline = read_events(TIMELINE)

flyby_2G2 = timeline['FLYBY_GANYMEDE']['2G2']

flyby_2G2
event nameFLYBY_GANYMEDE
event time [utc]2032-02-13T23:04:50Z
Crema name2G2
Time13-FEB-2032_23:04:50
Altitude above ganymede [km]400.05316
Sub-SC lon [deg]233.9
Sub-SC lat [deg]25.1
Sub-SC phase [deg]74.5
Sub-SC loctime [hours]16.8
Jup-Moon-Sc angle [deg]120.4
Flight direction1Y
Moon true anomalie115.9
Ground track velocity [km/s]5.5
Velocity wrt sub-sc point radial component [km/s]-0.0
Velocity wrt sub-sc point tangential component [km/s]5.5
Energy generated over +-12h around CA [Wh]22974.8
Energy generated over +-1h around CA [Wh]909.9
Energy for science over +-12h around CA [Wh]8907.6
Energy for science over +-1h around CA [Wh]-222.0
Relative energy amount for science compared to E1 +-12 h0.985
Relative energy amount for science compared to E1 +-1 h1.154
Optimum solar array orientation during pushbroom [deg]-89.0
PEP-NIM FOV obstruction for optimum solar array [percent]0.0
Energy for science over +-1h around CA [Wh] with zero NIM obstruction [Wh]-1130.4
Maximum sc2sun direction angle to YZ plane during pushbroom19.2
Malargue visibilityNO
Cebreros visibilityNO
Delta-time to closest perijove [h]15.26


Load JUICE trajectory during 2G2#

tour = TourConfig(mk='5.1 150lb', spacecraft='JUICE', instrument='JANUS',
                  target='Ganymede', version='v400')

janus_flyby = tour.flyby(flyby_2G2)

janus_flyby
<InstrumentFlyby> Observer: JUICE_JANUS | Target: GANYMEDE
 - Altitude at CA: 400.0 km
 - UTC at CA: 2032-02-13T23:03:55
 - Duration: 1 day, 0:00:00
 - Nb of pts: 2,041

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

mask_janus_flyby = janus_flyby.where(janus_flyby.alt < 100_000)

mask_janus_flyby
<MaskedInstrumentTrajectory> Observer: JUICE_JANUS | Target: GANYMEDE
 - First UTC start time: 2032-02-13T18:23:55.000
 - Last UTC stop time: 2032-02-14T03:43:55.000
 - Nb of pts: 1,953 (+88 masked)
 - Nb of segments: 1

Represent JANUS FOV on the map#

fig = plt.figure(figsize=(12, 9))
ax = fig.add_subplot(projection=GANYMEDE)

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

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

ax.set_title('JANUS footprints during 2G2 flyby (Feb. 13th 2032)')

plt.show()
JANUS footprints during 2G2 flyby (Feb. 13th 2032)

Total running time of the script: ( 0 minutes 10.028 seconds)