Find flybys opportunities#
Get all the flybys in a temporal window#
To simplify the search of these orbital configurations, the planetary-coverage
provide a .flybys
property to on the TourConfig
and Trajectory
objects that will automatically search for all these opportunities. By default, the minimum altitude for which a flyby is considered valid is when the spacecraft is below 150,000 km at closest approach.
For example, here we search for all the Ganymede flybys:
tour.flybys
{'1G1': <SpacecraftFlyby> Observer: JUICE | Target: GANYMEDE
- Altitude at CA: 400.0 km
- UTC at CA: 2031-07-21T07:08:09
- Duration: 1 day, 0:00:00
- Nb of pts: 2,041,
'2G2': <SpacecraftFlyby> Observer: JUICE | 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,
'3G3': <SpacecraftFlyby> Observer: JUICE | Target: GANYMEDE
- Altitude at CA: 488.3 km
- UTC at CA: 2032-04-11T04:14:51
- Duration: 1 day, 0:00:00
- Nb of pts: 2,041,
'4G4': <SpacecraftFlyby> Observer: JUICE | Target: GANYMEDE
- Altitude at CA: 5,630.3 km
- UTC at CA: 2032-05-09T18:34:53
- Duration: 1 day, 0:00:00
- Nb of pts: 2,041,
'5G5': <SpacecraftFlyby> Observer: JUICE | Target: GANYMEDE
- Altitude at CA: 2,365.1 km
- UTC at CA: 2032-06-02T21:30:44
- Duration: 1 day, 0:00:00
- Nb of pts: 2,041,
'26G6': <SpacecraftFlyby> Observer: JUICE | Target: GANYMEDE
- Altitude at CA: 867.0 km
- UTC at CA: 2033-11-27T06:22:14
- Duration: 1 day, 0:00:00
- Nb of pts: 2,041,
'27G7': <SpacecraftFlyby> Observer: JUICE | Target: GANYMEDE
- Altitude at CA: 3,172.0 km
- UTC at CA: 2034-01-14T18:38:57
- Duration: 1 day, 0:00:00
- Nb of pts: 2,041,
'30G8': <SpacecraftFlyby> Observer: JUICE | Target: GANYMEDE
- Altitude at CA: 3,356.1 km
- UTC at CA: 2034-06-06T06:53:05
- Duration: 1 day, 0:00:00
- Nb of pts: 2,041,
'32G9': <SpacecraftFlyby> Observer: JUICE | Target: GANYMEDE
- Altitude at CA: 107,540.5 km
- UTC at CA: 2034-07-12T07:50:48
- Duration: 1 day, 0:00:00
- Nb of pts: 2,041,
'33G10': <SpacecraftFlyby> Observer: JUICE | Target: GANYMEDE
- Altitude at CA: 63,702.4 km
- UTC at CA: 2034-09-07T18:03:38
- Duration: 1 day, 0:00:00
- Nb of pts: 2,041,
'34G11': <SpacecraftFlyby> Observer: JUICE | Target: GANYMEDE
- Altitude at CA: 66,237.2 km
- UTC at CA: 2034-09-29T06:48:32
- Duration: 1 day, 0:00:00
- Nb of pts: 2,041,
'35G12': <SpacecraftFlyby> Observer: JUICE | Target: GANYMEDE
- Altitude at CA: 31,796.8 km
- UTC at CA: 2034-11-18T21:58:52
- Duration: 1 day, 0:00:00
- Nb of pts: 2,041}
Changed in version 1.1.0: If the flyby name is known (from the fk
event kernel), you will get a nammed dict
of flybys instead of a regular list
.
See example above.
Danger
If no fk
event kernel is not provided, or if your target body is not in the list of known targets,
you can still use tour.flybys
but the search will can take more time because it needs to be computed on the whole tour.
In these cases, it is recommanded to select a temporal subset, first then query the flybys:
tour['2032-01-01':'2033-01-01':'1 h'].flybys
Get all the flybys below a given altitude#
If you only want the flybys below an other given altitude, you can use the
get_flybys()
function and provide alt_min
parameter to change the flyby thresold definition.
Warning
For very low altitude flybys, you may need to increase the temporal resolution or you could miss some encounters.
tour.get_flybys(alt_min=500)
{'1G1': <SpacecraftFlyby> Observer: JUICE | Target: GANYMEDE
- Altitude at CA: 400.0 km
- UTC at CA: 2031-07-21T07:08:09
- Duration: 1 day, 0:00:00
- Nb of pts: 2,041,
'2G2': <SpacecraftFlyby> Observer: JUICE | 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,
'3G3': <SpacecraftFlyby> Observer: JUICE | Target: GANYMEDE
- Altitude at CA: 488.3 km
- UTC at CA: 2032-04-11T04:14:51
- Duration: 1 day, 0:00:00
- Nb of pts: 2,041}
Get a single flyby by date or name#
If you already know when a flyby is supposed to happen (within a 1 day window), you can select this specific flyby with its date:
Tip
You can also provide a list
of dates, an Event
, an EventWindow
or an EventsList
as an approximate date.
tour.flyby('2032-02-13')
<SpacecraftFlyby> Observer: JUICE | 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
New in version 1.1.0: When an fk
events kernel is loaded,
you can also query a flyby with its name:
flyby = tour.flyby('1G1')
flyby
<SpacecraftFlyby> Observer: JUICE | Target: GANYMEDE
- Altitude at CA: 400.0 km
- UTC at CA: 2031-07-21T07:08:09
- Duration: 1 day, 0:00:00
- Nb of pts: 2,041