11. Extracted WLCs

11.1. Setup

%load_ext autoreload
%autoreload 2
import glob as glob
import matplotlib as mpl
import matplotlib.patheffects as PathEffects
import matplotlib.pyplot as plt
import matplotlib.transforms as transforms
import numpy as np
import pandas as pd
import seaborn as sns

import bz2
import corner
import json
import pathlib
import pickle
import utils
import warnings

from astropy import constants as const
from astropy import units as uni
from astropy.io import ascii, fits
from astropy.time import Time
from mpl_toolkits.axes_grid1 import ImageGrid

# Default figure dimensions
FIG_WIDE = (11, 5)
FIG_LARGE = (8, 11)

# Figure style
sns.set(style="ticks", palette="colorblind", color_codes=True, context="talk")
params = utils.plot_params()
plt.rcParams.update(params)

11.2. Dowload data (same dataset used for extracted spectra)

Unzip this into a folder named data in the same level as this notebook

11.3. Finish set-up

! ln -srf data/extracted_spectra data/extracted_wlcs

11.4. Load

# Load
data_dir = "data/extracted_wlcs"
LCs_pickle = "LCs_hp23_bins.pbz2"
data_dict = {
    "Transit 1": {
        "data": utils.decompress_pickle(
            f"{data_dir}/ut160621_a15_20_noflat/{LCs_pickle}"
        ),
        "bad_idxs_user": "[239, 240, 241, 256, 276, 278, 283, 284, 288:299]",
        "t0": 2457561.84167,
    },
    "Transit 2": {
        "data": utils.decompress_pickle(
            f"{data_dir}/ut170609_a15_25_noflat/{LCs_pickle}"
        ),
        "bad_idxs_user": "[10]",
        "t0": 2457914.79167,
    },
    "Transit 3": {
        "data": utils.decompress_pickle(
            f"{data_dir}/ut180603_a15_25_noflat/{LCs_pickle}"
        ),
        "bad_idxs_user": "[0:17]",
        "t0": 2458273.80556,
    },
    "Transit 4": {
        "data": utils.decompress_pickle(
            f"{data_dir}/ut180620_a15_25_noflat/{LCs_pickle}"
        ),
        "bad_idxs_user": "[93, 94, 149, 157:171]",
        "t0": 2458290.78472,
    },
    "Transit 5": {
        "data": utils.decompress_pickle(
            f"{data_dir}/ut180821_a15_25_noflat/{LCs_pickle}"
        ),
        "bad_idxs_user": "[4:6, 51, 53, 54, 56:59, 64, 66, 68, 69, 72, 77:80, 87:94, 96:98, 101, 108:119, 120, 129:131, 133, 174:181]",
        "t0": 2458352.64028,
    },
}

11.5. Plot

comps = ["comp4", "comp5"]
ncomps = len(comps)

fig, axes = plt.subplots(
    len(data_dict), ncomps, sharex=True, sharey=True, figsize=FIG_LARGE
)

if axes.ndim == 1:
    axes = axes.reshape(1, axes.size)
colors = sns.color_palette()
for i, (transit_name, transit_info) in enumerate(data_dict.items()):
    data = transit_info["data"]
    t0 = transit_info["t0"]

    bad_idxs_both_comps = []
    for ax, comp in zip(axes[i, :], comps):
        p, bad_idxs = utils.plot_divided_wlcs(
            ax,
            data,
            t0=t0,
            ferr=0.001,
            comps_to_use=[comp],
            div_kwargs={"fmt": ".", "lw": 0.5, "mew": 0.0, "ms": 3, "c": colors[i]},
            bad_div_kwargs={"fmt": ".", "lw": 0.5, "mec": "k", "ms": 6, "c": "w"},
        )
        bad_idxs_both_comps.append(bad_idxs)

        ax.annotate(
            rf"{transit_name}/{comp}",
            xy=(0.05, 0.85),
            xycoords="axes fraction",
            fontsize=12,
            color=colors[i],
            weight="bold",
        )

        ax.set_ylim(0.96, 1.04)
        ax.yaxis.set_ticks([0.96, 0.98, 1.00, 1.02, 1.04])
    
    # Highlight outliers
    #print(transit_name)
    #super_bad = np.union1d(bad_idxs_both_comps[0], bad_idxs_both_comps[1])
    #print(repr(super_bad))
    #print(np.setxor1d(super_bad, utils._bad_idxs(transit_info["bad_idxs_user"])))
    #print()
    for ax, comp in zip(axes[i, :], comps):
        utils.plot_divided_wlcs(
            ax,
            data,
            t0=t0,
            ferr=0.001,
            comps_to_use=[comp],
            bad_idxs_user = transit_info["bad_idxs_user"],
            #bad_idxs_user = super_bad,
            #bad_idxs_user=np.setxor1d(super_bad, utils._bad_idxs(transit_info["bad_idxs_user"])),
            div_kwargs={"fmt": ".", "lw": 0.5, "mew": 0.0, "ms": 3, "c": colors[i]},
            bad_div_kwargs={"fmt": ".", "lw": 0.5, "mec": "k", "ms": 6, "c": "w"},
    )

fig.text(0.54, -0.02, "Time from estimated mid-transit (hours)", ha="center")
fig.text(-0.01, 0.5, "Normalizd flux", va="center", rotation="vertical")
fig.tight_layout()
fig.set_size_inches(FIG_LARGE)

utils.savefig("../paper/figures/extracted_wlcs/all_transits_extr_wlcs.pdf")
../_images/extracted_wlcs_11_0.png