Professional Documents
Culture Documents
Exoplanets Pset
Exoplanets Pset
920 pset5
Akashnil Dutta
March 2015
Astrometry
9
J
Stars distance from center of mass is 4 au 3M
M = 1.7143 10 m
Maximum magnitude of wobble is 3.4286 109 m if the orbital plane is perpendicular to Line of sight.
Stars distance from Earth is 1.851 1017 m.
917
Maximum angular motion is radians = 3.4286
= 1.8523 108 rad =
1.851 10
3.821 103 arcseconds
import
import
import
import
import
csv
itertools
pandas as pd
math
numpy as np
csvfilename = C:/Users/akashnil/Downloads/Kepler_Data_NEA.csv
df = pd.read_csv(csvfilename, skiprows=91)
planet_radius = df[koi_prad]
planet_radius = [float(x) for x in planet_radius]
stellar_radius = df[koi_srad]
stellar_radius = [float(x) for x in stellar_radius]
planet_period = df[koi_period]
planet_period = [float(x) for x in planet_period]
planet_semimajor = df[koi_sma]
planet_semimajor = [float(x) for x in planet_semimajor]
tot = len(planet_radius)
a, b, c = 0, 0, 0
for x in planet_radius:
if x <= 1.0:
a += 1
if x > 1.0 and x <= 4.0:
b += 1
if x > 4.0:
c += 1
print (less 1 R , 100 * float(a)/tot)
print (1 R 4 R , 100 * float(b)/tot)
print (more 4 R , 100 * float(c)/tot)
a, b, c = 0, 0, 0
for x in planet_period:
if x <= 10:
a += 1
if x > 10 and x <= 100:
b += 1
if x > 100:
c += 1
print (less 1 R , 100 * float(a)/tot)
print (1 R 4 R , 100 * float(b)/tot)
print (more 4 R , 100 * float(c)/tot)
import pylab as pl
pl.figure()
periods = []
for p in planet_period:
if 1.0 < p < 1000.0:
periods.append(p)
num_bins = int(len(periods) ** (1/3.))
print (num_bins)
pl.hist(periods, bins=np.logspace(0., 3., num_bins))
pl.gca().set_xscale("log")
# pl.hist(planet_period, bins=np.logspace(1, 1000,
int(len(planet_period) * (1/3.))))
# pl.gca().set_xscale("log")
pl.show()
prob_obs = [planet_semimajor[i] / stellar_radius[i] for i in
range(len(stellar_radius))]
num_samples = 1000000
prob_obs = [x if math.isfinite(x) else 0 for x in prob_obs]
factor = num_samples / sum(prob_obs)
count_planets = [int(x * factor) for x in prob_obs]
modified_periods = []
for i in range(len(stellar_radius)):
for j in range(count_planets[i]):
modified_periods.append(planet_period[i])
pl.figure()
periods = []
for p in modified_periods:
if 1.0 < p < 1000.0:
periods.append(p)
pl.hist(periods, bins=np.logspace(0., 3., num_bins))
pl.gca().set_xscale("log")
# pl.hist(planet_period, bins=np.logspace(1, 1000,
int(len(planet_period) * (1/3.))))
# pl.gca().set_xscale("log")
pl.show()