Source code for ttv2fast2furious.kepler

import pandas as pd
import os
from . import PlanetTransitObservations

_pymodulepath = os.path.dirname(__file__)
_RoweTableFile = _pymodulepath+"/../data/RoweTableDataframe.pkl"
_fileExists = os.path.isfile(_RoweTableFile)
if not _fileExists:
    import urllib.request
    print("Downloading transit time table file...\n\t (This may take a minute but you'll only need to do it once.)")
    _url = "https://www.cfa.harvard.edu/~shadden/RoweTableDataframe.pkl"
    os.mkdir(_pymodulepath+"/../data")
    try:
        urllib.request.urlretrieve(_url,_RoweTableFile)
        _fileExists = True
    except: 
        print("Table download failed.")
        print("ttv2fast2furious.kepler requires the data file: \n\t %s"%_RoweTableFile)
        print("The data file can be retrieved manually from %s"%_url)

if _fileExists:
    KOITransitTimeDataframe = pd.read_pickle(_RoweTableFile)
else:
    print("ttv2fast2furious.kepler requires the data file: \n\t %s"%_RoweTableFile)
    print("The data file can be retrieved manually from %s"%_url)
[docs]def KOISystemObservations(KOINumber): """ Retrieve the transit time observations for a KOI system Parameters ---------- KOINumber : int or str The KOI number of the system to retrieve Returns ------- observations : dict of PlanetTransitObservations Transit time observations of the KOIs in the system. """ if not _fileExists: print("Table data file required.") return KOI = int(KOINumber) if KOI not in KOITransitTimeDataframe.KOI: print("No entry found for KOI%d"%KOI) return None observations = dict() koi_system_dframe = KOITransitTimeDataframe.query("KOI_System=='%d'"%KOI) for koi,obs in koi_system_dframe.groupby('KOI'): observations.update({ koi:PlanetTransitObservations(obs.TransitNumber.values,obs.TransitTime.values,obs.eTTV.values) }) return observations