NASA’s Lucy mission launched earlier this year, setting out to examine the Jupiter Trojans. We’ll have a look at them now.
The Jupiter Trojans are two groups of asteroids, beyond the main asteroid belt in stable orbits at the L4 and L5 Lagrange points of Jupiter. This means that they are about the same distance from the Sun as Jupiter (5.2AU), and either \(60^{\circ}\) ahead (L4) or behind (L5) Jupiter’s orbit.
There are lots of them, comparable in number to the main asteroids. The larger ones are named and follow a convention using Greek (L4) or Trojan (L5) warriors. Except for the early ones, leading to some spies in the opposite camps.
Until Lucy reports back over the next few years, all we know about them comes from observations from Earth. We get a fascinating glimpse of their story. They look old and unprocessed, dark carbonaceous chondrites. They lend weight to the Nice Model, making the Trojans kindred spirits to Kuiper Belt objects. You can see how results from Lucy are anticipated with a lot of excitement.
So let’s have a look. Our data come from two sources; the JPL Small Bodies Database, and the Minor Planet Centre. The data from the Minor Planet Centre we web scraped, but for JPL it was easier just to download a csv with data, limiting it to the Trojans and choosing pretty much all the data fields available. Joining the tables together was tricky, and required using a mixture of both designation and provisional designation.
z <- read_csv("data/nasa-small-bodies-database.csv") %>%
mutate(first_obs = as.Date(first_obs),
designation = str_extract(full_name, pattern = "(?<=\\().*(?=\\))")) %>%
dplyr::select(designation, pdes, name, spkid, diameter, albedo,
rot_per, ma, n, first_obs)
url <- "https://www.minorplanetcenter.net/iau/lists/JupiterTrojans.html"
xml <- "pre"
w <- rvest::read_html(url)
pathway_data_html <- rvest::html_nodes(w, xml)
ev <- rvest::html_text(pathway_data_html) %>%
str_split("\n") %>%
unlist()
tjn <- ev[-c(1, 3, 10794)] %>%
str_sub(start = 1, end = 8)
tjn <- tjn[-1] %>%
str_remove("\\(") %>%
str_remove("\\)") %>%
str_remove(" +")
ev <- ev[-c(1, 3)] %>%
str_sub(start = 28) %>%
str_replace_all(" +", " ")
trojans <- read_table(ev) %>%
janitor::clean_names() %>%
unite(col = design, prov:des, sep = " ", remove = F) %>%
mutate(pdes = tjn)
z <- z %>% left_join(trojans %>% select(pdes, design))
trojans <- trojans %>%
select(-pdes) %>%
left_join(z) %>%
filter(h < 30)
Let’s first off look at where the Trojans are. Below we show the distributions for aphelion and perihelion distance, and the relationship between them.
Nothing here seems too startling, and the eccentricities for L4 and L5 seem similar.
In the main asteroid belt we see evidence of several collisional families, asteroids groups with a narrow range of inclinations along a strip of semi-major axes. These are all formed by some impact in the past. Let’s’ see if there is evidence of this in the Trojans.
We see no sign of these collisional families here. This squares with the Nice model, the origin of the Trojans is late capture of Kuiper Belt objects. The timing means that they avoided most of the maelstrom of early Solar System formation.
Looking at the inclinations of these asteroids, we can see that L5 Trojans tends to have higher inclinations. This is something that has been noticed already but not yet explained.
The Trojans are dark, much darker than the stony (S type) or metallic (M type) asteroids that we frequently find in the main asteroid belt. Let’s see how this stacks up with our data, examining the albedo of our Trojans.
We’re seeing albedos typically around 0.05-0.1, with some very dark bodies indeed, and a minimum albedo of 0.011.
We see typical periods of 1o hours, the Solar Systems favourite period, but some slow rotators with periods up to 1000 hours.
Finally, let’s look at the Trojan asteroid size distribution. Lots of these asteroids don’t have diameters in the minor planet centre database, so we’ve imputed then based on absolute magnitude and this look up table. The table gives sizes in three units (kilometres, metres, and millimetres), for \(\frac12\) integer absolute magnitude values. We did a loess interpolation to fit the actual absolute values to this curve.
# sizing
url_size <- "https://www.minorplanetcenter.net/iau/Sizes.html"
w <- rvest::read_html(url_size)
pathway_data_html <- rvest::html_nodes(w, xml)
ev <- rvest::html_text(pathway_data_html) %>%
str_split("\n") %>%
unlist()
ev <- ev[-c(1:4, 6, 37:47)] %>%
str_replace_all(" - ", " ") %>%
str_replace_all(" +", " ")
ev[1] <- "H1 D_min_icy D_min D_max H2 H3"
trojan_dist <- read_table(ev) %>%
pivot_longer(cols = c(H1, H2, H3)) %>%
mutate(new_diameter = case_when(name == "H1" ~ (D_min + D_max)/2,
name == "H2" ~ (D_min + D_max)/2/1e3,
name == "H3" ~ (D_min + D_max)/2/1e6)) %>%
arrange(name, value) %>%
select(h = value, everything()) %>%
select(-name)
calibration <- loess(new_diameter ~ h, data = trojan_dist, span = 0.25)
trojans <- trojans %>%
mutate(new_diam = predict(calibration, newdata = trojans),
diameter = ifelse(is.na(diameter), new_diam, diameter))
Then we can produce the plot as shown below:
This is an excerpt from the data table, all the asteroids but not all the columns
If you see mistakes or want to suggest changes, please create an issue on the source repository.
Text and figures are licensed under Creative Commons Attribution CC BY 4.0. Source code is available at https://github.com/eugene100hickey/fizzics, unless otherwise noted. The figures that have been reused from other sources don't fall under this license and can be recognized by a note in their caption: "Figure from ...".
For attribution, please cite this work as
Eugene (2021, Dec. 27). Euge: Jupiter Trojans. Retrieved from https://www.fizzics.ie/posts/2021-12-27-jupiter-trojans/
BibTeX citation
@misc{eugene2021jupiter, author = {Eugene, }, title = {Euge: Jupiter Trojans}, url = {https://www.fizzics.ie/posts/2021-12-27-jupiter-trojans/}, year = {2021} }