# How close will Pluto come to Earth this year (2024)?

For reasons associated with a 1943 story, I am keen to find how close Earth will come to Pluto in 2024. According to https://theskylive.com/pluto-tracker today (21-May-2024), Pluto is now slowly heading away from the Sun at about 5km/s (on its eccentric 248-year orbit), however Earth is approaching Pluto at about 26km/s.

Specifically, I would like to know when (if at all) the separation will reach 5,055,434,765 km, please. As of right now (21-May-2024) the current separation is 5,164,233,302 km, so if the speed was maintained (which of course it won't be) the critical separation would be achieved about 48 days from now.

EDIT: Thanks for the speedy computation. I guess we miss the bus in July by 1% and the next one won’t be for a long time (maybe over a century?) On the other hand with Pluto near the sun, there would have been a bunch in the last few decades, I am guessing about two a year. I will try to calculate the last one and the next one using the tool suggested.

I will shortly publish an article that gives the (rather frivolous) background for this and leaves the door open for analyses of other objects in the solar system. The distance is sqrt(2) * 2^46 * 2 inches. Click on the solution box for problem 5 in https://www.theproblemist.org/beginner.pl?type=b_fy.

Specify that the white queen must start on the surface of some object, and end on square c2 on the surface of the Earth. We don't worry that intermediate positions will be in empty space. Then I don't think the moon is viable. Nor are Sol, Uranus or Neptune. The following table shows the positive results. Note that Mercury, Venus & Mars appear multiple times.

Number of Chess Moves Planet* Frequency
81 Venus 2 x Earth Year
83 Mercury, Venus, Mars 2 x Earth Year
85 Mercury, Venus, Mars 2 x Earth Year
87 Mars 2 x Earth Year
89 Jupiter 2 x Earth Year
91 Saturn 2 x Earth Year
95 Pluto 2 x Earth Year but only when Pluto is near perihelion

One might ask about other more distant objects within & outside the solar system. The difficulty is getting a direct hit with the required distance, which is easiest if the object have a highly elliptic orbit.

*or dwarf planet

• I don't think Pluto is heading away from the Sun at about 5 km/s. That's its orbital velocity around the Sun. The rate that it's getting closer or further from the Sun should be a small fraction of that. (It would be zero if Pluto's orbit were circular, but it's quite elliptical) Since Earth's orbital velocity is about 29.8 km/s, it is plausible that Earth approaching Pluto at about 26 km/s.
– uhoh
Commented May 21 at 14:44
• I have a generic distance plotting script here: astronomy.stackexchange.com/a/49267/16685 Here's a plot for the previous decade i.sstatic.net/K5Q7TFGy.png Commented May 21 at 22:06
• What's the significance of that particular distance? Commented May 21 at 22:07
• Ok, so what 1943 story? Commented May 22 at 14:34
• Sorry, I'm not a chess player. (I know the rules, but the last game I played was ~30 years ago). I don't know how to calculate the distance from the information you've provided. Commented May 24 at 7:21

As far as I see, the separation between Earth and Pluto this year is always bigger than 34.045586 AU (5,093,147,172 km). This minimum separation is reached on 20th July 2024 around 21h UTC checked to about 1 hour accuracy.

In the graph the horizontal axis reads "days from today" (21 May 2024), the vertical "distance in AU", the time in the listing below is in UTC+2:

I obtained these data using Stellarium which allows you to plot or list the separation of two arbitrary solar system objects. It's open source, thus available to anyone without any trouble - I can recommend to use it for these kind of simple solar system queries.

JPL Horizons probably has more up to date ephemeris and gives the time of closest approach for 14:20h UTC: https://i.sstatic.net/Lh7L2God.png (thx @PM2Ring)

• From Horizons, I get 2024-Jul-20 14:20 UTC. i.sstatic.net/Lh7L2God.png Commented May 21 at 11:12
• @PM2Ring I guess that's to big a difference to be light-time related? (humor)
– uhoh
Commented May 21 at 14:45
• @uhoh Surely. Even so when I consider that Stellarium might have taken my observer position into account (not sure). The version of Stellarium I used surely does not have the latest ephemeris data right now either. Commented May 21 at 14:45
• @uhoh Almost. The distance is 16989 light-seconds (~4.7 light-hours). ssd.jpl.nasa.gov/api/… Commented May 21 at 16:42
• @uhoh My results are for the geocentre. Maybe Stellarium is using a surface coordinate. But I tried Greenwich, Palo Alto, and en.wikipedia.org/wiki/Karl_Schwarzschild_Observatory but they didn't help. The Pluto ephemeris was updated last month, see ssd.jpl.nasa.gov/horizons/news.html & ssd.jpl.nasa.gov/api/… Commented May 21 at 17:25

In the interest of comparison, here is a small Python script to compute the moment of closest approach of Pluto to the geocenter using astropy.coordinates.get_body() with the DE 441 ephemeris and scipy.optimize.minimize().

It gives a slightly different answer than @PM2Ring's answer, which I'm still trying to understand, but maybe it's due to the update to Pluto's ephemeris?

EDIT: Based on @PM2Ring and @uhoh's comments, I've reworked this answer to calculate the geometric distance to Pluto instead of the apparent distance to Pluto's barycenter. I found that Astropy can use Pluto's ephemeris (provided by @PM2Ring), if it's passed in as a link and you know the kernel chain for Pluto relative to its barycenter. After these changes, my answer matches JPL horizons very closely, so that's good!

import scipy.optimize
import astropy.units as u
import astropy.time
import astropy.coordinates

# Save the time format we're using since
# scipy.optimize.minimize() needs to use
# floats, but astropy needs to use
# Time objects.
format_time = "jd"

# Similarly, save the units of the distance measurement
unit_distance = u.km

def earth_pluto_distance(t: float):
"""
Determine the distance in km from the geocenter
to the center of mass of Pluto for the given
Julian day.

Parameters
----------
t
Time at which to compute the distance to Pluto
"""

# Initialize astropy Time object
time = astropy.time.Time(t, format=format_time)

# Load Earth's geometric position in the ICRS frame
earth = astropy.coordinates.get_body_barycentric(
body="earth",
time=time,
ephemeris="de441_part-2",
)

# Load the geometric position of Pluto's barycenter in the
# ICRS frame
pluto_barycenter = astropy.coordinates.get_body_barycentric(
body="pluto",
time=time,
ephemeris="de441_part-2",
)

# Load Pluto's local geometric position relative to its barycenter
pluto_local = astropy.coordinates.get_body_barycentric(
body=[(9,999)],
time=time,
ephemeris="https://ssd.jpl.nasa.gov/ftp/eph/satellites/bsp/plu060.bsp",
)

# Compute the geometric position of Pluto in the
# ICRS frame
pluto = pluto_barycenter + pluto_local

# Compute the geometric distance from Earth to Pluto
result = (pluto - earth).norm().to_value(unit_distance)

return result

# Use minimization routine to find the
# Julian day of closest approach using the current
# date as the initial guess
t_closest = scipy.optimize.minimize(
fun=earth_pluto_distance,
x0=astropy.time.Time("2024-05-21").to_value(format_time),
method="powell",
options=dict(
ftol=1e-10,
)
).x

# Convert the Julian day of closest approach into an
# astropy Time object so we can display in human-readable
# format.
time_closest = astropy.time.Time(t_closest, format=format_time)

# Evaluate the distance at closest approach
distance_closest = earth_pluto_distance(t_closest) * unit_distance

print(f"The closest approach to Pluto will occur at {time_closest.iso[0]}")
print(f"The geometric distance at that time is {distance_closest[0]}")

The closest approach to Pluto will occur at 2024-07-20 14:20:51.284
The geometric distance at that time is 5093180949.409294 km


The code is available as a Google Colab Notebook in case you want to run it without installing Python.

• You disagree on the time. What is the value of the minimum separation that you identify please? Commented May 21 at 19:54
• There were also updates to the Pluto ephemeris in 2022 & 2021. I'm pretty sure that the latest update only affects motion within the Pluto system, not the barycentre of the system, so it should have a pretty small effect on the position of Pluto relative to the Sun & Earth. I guess a 10 minute difference is reasonable. (FWIW, SageMathCell has astropy, but not the jplephem module.) Commented May 21 at 21:31
• confusingly, the JPL DEs don't provide the positions of the actual planets (except for Mercury, Venus, and Earth). For Earth, we can specify 'Earth' and get the geocenter. But for the other planets, the name returns the information for the barycenter of the planet and its moons. So if you say 'Pluto' you pretty much get the center of mass between Pluto and Charon. For Mercury and Venus with no moons, the barycenter is the planet center. (see my answer)
– uhoh
Commented May 22 at 0:43
• @PM2Ring ditto.
– uhoh
Commented May 22 at 0:44
• @PM2Ring I never said who it would be confusing to, it's obviously not me since my answer points this out. I'm assuming that the author figured body="pluto" would produce results for the astronomical body named Pluto. But it does not. It provides information on a mathematical construct who's position falls in the vacuum of space, quite the opposite of a body, and definitely not Pluto. To those who haven't run into that problem at least once before, it's very likely confusing. First Pluto isn't a planet, now Pluto isn't Pluto! Where does it end?
– uhoh
Commented May 22 at 8:15

As I mentioned in a comment, according to JPL Horizons the minimum centre-to-centre distance from Earth to Pluto this year is 5,093,180,949 km at 2024-Jul-20 14:20:51 UTC. Here's a Horizons query with the relevant data. That distance is substantially larger than your requested distance of 5,055,434,765 km.

However, you've also asked about the last time and next time that the Earth-Pluto distance equals your requested distance. And you actually want the surface-to-surface distance, not the centre-to-centre distance. Horizons can calculate surface-to-surface distances, if you specify the locations on the body surfaces. We can't easily do that for your chessboard puzzle. But we can get a very close estimate by adding the equatorial radii of Earth and Pluto to the length of the diagonal of your chessboard and finding when the centre-to-centre distance equals that total.

This procedure ignores the flattening of the two planets, but that's ok because the distance between the two planets usually changes quickly. The difference between the polar & equatorial radii of Earth is ~21 km. Pluto rotates slowly, so its flattening is tiny; I assume that the difference in its polar & equatorial radii is similar to (or less than) the uncertainty in its radius. The current estimate for Pluto's radius (using data from the New Horizons mission) is 1188.3 ± 1.6 km. The Earth's equatorial radius is 6378.137 km. Adding those values to your chessboard diagonal gives 5,055,442,331.5 km as our target distance.

I have a Python script that plots the distance between two bodies in this answer. Here are some plots using a modified version of that script, which plots a line at our target distance (instead of the mean distance).

The Earth-Pluto distance equalled our target distance several times over 2015 to 2022.

It won't get close again until 2205 to 2211. Unfortunately, Horizons cannot compute the motions within the Pluto system beyond 2199-Dec-29. But we can get a reasonable estimate by looking at the distance between the Earth-Moon barycentre and the Pluto system barycentre. (Also, this plot uses TT, the other plots use UTC).

Here's a close-up on the last couple of encounters, during 2022 & 2023.

It looks like the curve crosses our target line in July 2023, but it actually misses by half a million km. The minimum is on 2023-Jul-19 13:40 UT, at a distance of 5,055,983,930.9 km.

The last two actual encounters were on 2022-Jun-5 14:02:35 UTC, and 2022-Aug-27 22:48:21 UTC. In both of these encounters the relative speed was slightly greater than 19 km/s, so any error due to ignoring flattening only amounts to around one second.

Here's a Horizons batch file for the last encounter.

!$$SOF MAKE_EPHEM = 'YES' EPHEM_TYPE = 'VECTORS' OUT_UNITS = 'KM-S' REF_SYSTEM = 'ICRF' VEC_CORR = 'NONE' CSV_FORMAT = 'YES' CAL_TYPE = 'GREGORIAN' OBJ_DATA = 'NO' VEC_TABLE = '6' COMMAND = '999' CENTER = '@399' START_TIME = '2022-Aug-27 22:48:15 UT' STOP_TIME = '2022-Aug-27 22:48:25' STEP_SIZE = '10' !$$EOF


Here's a minimal live version running on the SageMathCell server. I have other Sage / Python code for running Horizons batch files on Github.

Distance and time are not simple concepts in astrodynamics!

Checking Horizons, I found that if we calculate vectors to Pluto using Earth's geocenter as the origin, we can get several answers.

First, we must choose between

Menu item "Output Type:" label in output header
Geometric GEOMETRIC cartesian states
Astrometric LT CORRECTED cartesian states
Apparent LT+S CORRECTED cartesian states

and second, we must specify if we mean Pluto proper or the barycenter of the Pluto system, which is significant because Charon is so massive that the system's barycenter is outside of Pluto!

This is important because when we specify "Pluto" in the JPL development ephemerides (like DE441 for example) we're getting the barycentric positions. If we want Pluto proper, we need to get back to the SPICE kernels that JPL's Horizons accesses.

Here's a plot of six different ways to query the distance. They are all minimum about half-way through July 20, 2024 UTC, and one can certainly run an interpolator on those six smooth curves to find their six minima, but one still has to choose what "closest" even means.

I'll leave that up to others to define.

For example, one might be interested in minimizing round-trip light time for communications, that would be different than these six.

For the plot, two lines are nearly on top of two others, so I've made the lines in back thicker and dahsed. And because color is not a good way for everyone to distinguish them, I've added explicit labels in the plot.

All six are numerically different. At this time the difference between

• geometric and astrometric ~20,000 km
• Pluto-centric and barycentric ~ 1000 km
• Astrometric and Apparent (LT vs LT+S) is very small, ~ 1 millimeter
    result at JD=2460512.0 (July 20, 2024 12:00 UTC) - 5.0931E+09 km  (descending)
------------------------------------------------------------------------------
Pluto Barycenter to Earth Geometric     82190.2845048904
Pluto to Earth Geometric                81165.1133518219
Pluto Barycenter to Earth Astrometric   61838.6561651230
Pluto Barycenter to Earth Apparent      61838.6561641693
Pluto to Earth Apparent                 60905.1527347565
Pluto to Earth Astrometric              60905.1527338028


• The blue and red lines ("apparent") seem to be missing in the graph. Are they hidden by the others, or outside of the range shown? Commented May 22 at 0:53
• @PaŭloEbermann Thanks! How does it look now?
– uhoh
Commented May 22 at 2:36
• My distance plots & queries are using the default VEC_CORR=NONE setting, which gives the geometric state. (Of course we can easily specify the other options). The geometric is appropriate here, because the OP is talking about a giant chess board. Commented May 22 at 7:22
• The Horizons ephemeris data for the Pluto barycentre (9) covers the entire Horizons timespan (9999 BC to 9999 AD), but the PLU060 solution for Pluto (999) and its moons covers 1800-01-02 to 2199-12-30. See ssd.jpl.nasa.gov/horizons/time_spans.html Dynamic Points and Other Planetary Satellites & ssd.jpl.nasa.gov/sats/ephem/files.html Commented May 22 at 8:24
• @jcaron thank you for the repair!
– uhoh
Commented May 22 at 23:15