Tarea 4, parte 2

Durante el trabajo en Santa Martina se tomaron las imágenes en orden de prioridad según su aparición en el cielo. Poco después de tomar una imagen de prueba supimos que se requerirían tiempos de exposición mayores (se expuso por hasta 400 segundos) que los calculados en la primera parte de esta tarea dado que aún no comenzaba la noche astronómica, que el cielo se encontraba brumoso y que la luna (llena, súper luna) comenzaba a salir. Esto provocó que se obtuvieran SNR muy bajas al exponer según los que se habían calculado.

Se tomaron imágenes de calibración de lámpara de Th-Ar antes y después de exponer para cada objeto de ciencia. Las demás imágenes de calibración fueron tomadas por personal del observatorio. Los datos fueron reducidos para nosotros por el ayudante y se complementan con los de CORALIE.

Las fechas están en MBJD (Modified Barycentric Julian Day), que corrige por el tiempo que demoran en llegar las señales hasta la Tierra. Corrige según la diferencia de la Tierra con el baricentro del sistema solar.

Se ajusta primero el objeto HD198044 puesto que hay suficientes datos como para comparar entre PUCHEROS y CORALIE. Sin embargo, los otros objetos se ajustan combinando datos de los dos intrumentos, dada la insuficiencia de puntos obtenidos individualmente por PUCHEROS (1 o 2 puntos, que se podrían ajustar casi por cualquier curva).

Se utiliza el período calculado en el trabajo de Wraight et al.(2012).


In [1]:
import numpy as np
import matplotlib.pyplot as plt
from scipy.optimize import curve_fit
from astropy.io import ascii

%matplotlib inline

puc = ascii.read('pucheros.dat')
cor = ascii.read('coralie.dat')

puc198044 = puc[puc['CANDIDATE'] == 'HD198044']
puc205403 = puc[puc['CANDIDATE'] == 'HD205403']
puc222891 = puc[puc['CANDIDATE'] == 'HD222891']

cor198044 = cor[cor['CANDIDATE'] == 'HD198044']
cor205403 = cor[cor['CANDIDATE'] == 'HD205403']
cor222891 = cor[cor['CANDIDATE'] == 'HD222891']

per198044 = 5.15195
per205403 = 2.44490
per222891 = 1.59495

In [2]:
from astropy.table import Table, vstack

def fit(data, p, name):
    x = np.linspace(min(data['MBJD'])-1,max(data['MBJD'])+1,500)
    
    def func(x,a,b):
        return a*np.sin((2*np.pi*x/p)+b)
    popt, pcov = curve_fit(func,data['MBJD'],data['RV'])
    
    fig, ax = plt.subplots(figsize=(10,10))
    ax.plot(x,popt[0]*np.sin(popt[1]+2*np.pi*x/p))
    ax.plot(data['MBJD'], data['RV'],'r.',ms=15)
    
    ax.set_title(name)
    ax.set_ylabel('$v_{r}$',fontsize=20)
    ax.set_xlabel('MBJD')

In [3]:
fit(puc205403, per205403, 'HD205403 (PUCHEROS)')
fit(cor205403, per205403, 'HD205403 (CORALIE)')

fit(vstack([puc198044, cor198044]), per198044, 'HD198044 (PUCHEROS + CORALIE)')
fit(vstack([puc222891, cor222891]), per222891, 'HD222891 (PUCHEROS + CORALIE)')