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"
Previously, we looked at the properties of the over 4000 we’ve detected so far 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.
We can also measure the mass of a planet. We do this by carefullying measuring the motion of the star to search to the consistent pull of the planet. These measurements need to be incredibly precise. Earth’s pull on the Sun only moves it by 10 centimeters per second!
Introduction#
Run the code below to load a table with the properties of the \(>1000\) transiting exoplanets with mass measurements.
# 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('./planets_with_mass.csv')
# columns names:
# 'name' : name of the planet
# 'sname' : name of the star
# 'period' : planet's orbital period (days)
# 'radius' : planet's radius (in Earth radii)
# 'mass' : planet's mass (in Earth masses)
# 'steff' : effective temperature of the star in Kelvin
# 'sradius' : radius of the star in Solar radii
# 'smass' : mass of the star in Solar masses
# 'smet' : metallicity of the star (higher is more metals)
Mounted at /content/drive/
Let’s look at the columns of the table. We have the orbital period, radius, and mass of each planet (as well as the uncertainties in the radius and mass measurements). We also have the properties of the host stars, like stellar temperature, radius, and mass.
cat.columns
Index(['Unnamed: 0', 'name', 'sname', 'period', 'radius', 'radius_err', 'mass',
'mass_err', 'steff', 'steff_err', 'sradius', 'sradius_err', 'smass',
'smass_err', 'smet', 'smet_err'],
dtype='object')
Exercise 1: Make a scatter plot of period versus radius using the planet data. Use log-scale on both axes for readability.
# answer
Exercise 2: Now let’s look at planet radius vs mass. Again use log-scale on both axes for readability.
# answer
Exercise 3: In the radius–mass plot, it looks like there are two main groups: large planets over \(10 \times\) the size of the Earth and small(er) planets about \(2-4 \times\) the size of the Earth.
Let’s make histograms of planet radius and mass to see this better. For easier reading, make the mass histogram as \(log_{10}(\mathrm{Mass})\).
# answer
Exercise 3: Let’s make histograms of two star properties: radius and metallicity.
# answer
Now it’s your turn!#
Using this data set of \(>1000\) exoplanets, let’s investigate how the radius of a planet depend on its mass.
Exercise 4: First, define and fit a model to the radius–mass relation.
Exercise 5.1: Let’s explore the radius–mass relation for different stellar environments. Select a subsample of planets you think it would be interesting to study (make your selection based one or more stellar properties). Make a hypothesis for how that subsample might differ from the full sample.
Exercise 5.2: Fit the fit radius-mass relation for your subsample. What do your results tell us about how planets are (or are not) shaped by their environment?
Challenge: This paper looks at whether the period distribution of hot Jupiters (orbital period\(<10\) days and radius between \(8-24\) Earth radii) depends on the metallicity of the host star. Do you come to the same conclusion as them? Use the table we provide. Focus on Section 1 and 2 of the paper, as well as Figure 1.