Introduction to Exoplanets#
# Let's start with importing our packages
import numpy as np
import scipy
import pandas as pd
import matplotlib
import matplotlib.pyplot as plt
# We can beautify our plots by changing the matplotlib settings a little
plt.rcParams['font.size'] = 18
matplotlib.rcParams['axes.linewidth'] = 2
matplotlib.rcParams['font.family'] = "serif"
Our solar system has 8 planets (sorry Pluto). Until recently, these were the only planets we knew of. Then in 1995, the first planet orbiting a star other than the Sun was discovered: 51 Peg b orbits the star 51 Peg once every 4 days and is twice the size of Jupiter! 51 Peg b was discovered by the Radial Velocity method. The spectrum of 51 Peg (star) was closely studied to search for the pull of 51 Peg b (planet) on 51 Peg (star).
Planets like 51 Peg b (massive planets orbiting very close to their star) are known as Hot Jupiters. We have nothing like them in our solar system. Mercury’s orbit around the Sun is about 10x larger than 51 Peg b’s.
We call planets orbiting stars other than the Sun exoplanets (a shortening of extra-solar planet)
Of the 5000 exoplanets we’ve discovered so far, over 4000 were detected by the Transit method. In the transit method, we monitor the brightness of a star over time and seach for dips when a planet passes directly between us and the star. As you might imagine, we need a planet’s orbit to be perfectly aligned for us to see a transit, which is why we monitor many hundreds of thousands of stars.
The image below provides a graphic explanation for the transit method. As the star passes in front of the star, the brightness of the star drops. We seach for these dips in brightness to find and study planets!
Part I#
Run the code below to load a table with the properties of \(>4000\) transiting exoplanets.
Exercise: Make a scatter plot of period versus radius using the planet data. Be sure to use log-scale on both axes for readability.
Place a red marker to show where Earth would be on the plot.
# Let's load in the data
import os
from google.colab import drive
drive.mount('/content/drive/')
os.chdir('/content/drive/Shareddrives/AST207/data')
cat = pd.read_csv('./transiting_planets.csv')
period = cat.period # days
radius = cat.radius # Earth radii
Mounted at /content/drive/
# answer here
Exercise: Have we discovered any planets with period and radii matching the Earth? Why might this be?
Hint: with the transit method, is it easier to detect large or small planets? what about planets that orbit their star close versus far?
answer here
Part II#
Now that we’ve learned a little about the transit method, let’s try it ourselves. The code below loads in JWST obervations of the star Wasp 39, which is known to host a single Jupiter sized planet on a 4 day orbit.
JWST took an image of Wasp 39 once every 80s for three hours. Since Wasp 39b has been studied since 2012, the JWST observations were timed with the transit of Wasp 39b. JWST has two key advantages for studying the transit of a planet:
JWST’s mirror is huge (6.5m across), so it can make very precise measurements of a star’s brightness.
JWST can simultaneously observe the brightness of a star in multiple wavelengths. This allows us to ask how the transit looks at different wavelengths. Why might this be interesting?
# load the data
table = pd.read_csv('./Wasp39b.csv')
time = table['time'].values
relative_flux = table[f'flux_2.53'].values
# answer here
Exercise: The code above load the time
of each observation and the relative_flux
of the star at each time. relative_flux
is the flux divided by the star’s typical flux (to make the transit easier to interpret).
Plot time
vs. relative_flux
. You may want to plot table["time"] - table["time"].min()
for readability.
answer here
What can we learn from a transit?#
Let’s assume the star is a perfect sphere with uniform surface brightness (i.e., each part of the star is equally bright). Let’s also assume the planet is a perfect sphere.
As the graphic below shows, the ratio between the “in transit flux” (when the planet is between us and the star) and the “out of of transit flux” (when the star is unobscured) tells us the ratio of the star and planet sizes! This is especially useful because we can often determine the radius of a star from other methods. So if we combine the radius of the star with the depth of the transit, we can determine the size of the planet!
Exercise: Using the transit above from JWST, calculate the radius of Wasp 49b. Let’s do this in three steps:
By eye, estimate \(\mathrm{Flux}_\mathrm{in~transit} / \mathrm{Flux}_\mathrm{out~of~transit}\) (let’s call this \(\delta\) for convenience). Remember, the JWST table gives us \(\mathrm{Relative~Flux}=\mathrm{Flux}(t) / \mathrm{Flux}_\mathrm{out~of~transit}\). This means, \(\delta=1 - \mathrm{min}(\mathrm{Relative~Flux})\).
Using the formula in the graphic above, calculate \(R_{planet}/R_{star}\)
We know the star Wasp 39 has a radius of about \( 1 R_\odot\), so what is \(R_{planet}\) in Jupiter radii (\(R_\odot=9.73~R_{Jupiter}\)).
# answer here