docs/source/working-notes/troyraen/ZTF-cadence/README.md

ZTF Cadence

Checking the time delta between ZTF observations of an object.

# note for future:
# the first 'OVER' should probably be 'GROUP BY' instead
query = """
    SELECT
      AVG(deltajd) OVER (PARTITION BY objectId)
    FROM (
      SELECT
        objectId,
        jd-LAG(jd) OVER (PARTITION BY objectId ORDER BY jd) AS deltajd
      FROM
        `ardent-cycling-243415.ztf_alerts.DIASource`)
"""
from matplotlib import pyplot as plt
import pandas as pd
import numpy as np
import scipy.stats as st


downloaded_query_results = "/Users/troyraen/Documents/broker/Pitt-Google/troy/docs/source/working-notes/troyraen/ZTF-cadence/bquxjob_42c6be59_17e74ad8d7f.csv"
df = pd.read_csv(downloaded_query_results, header=0, names=['deltajd'])

# sigma clip
_, low, upp = st.sigmaclip(df['deltajd'])
dfclipped = df.loc[(df['deltajd'] > low) & (df['deltajd'] < upp)]

mn = dfclipped.deltajd.mean()
# = 8.921240050487983
mdn = dfclipped.deltajd.median()
# = 5.379834603232841

dfclipped.hist()
plt.title(f'ZTF avg delta jd per object. mean={np.round(mn,2)}, median={np.round(mdn,2)}')
plt.savefig('deltajd.png')
plt.show(block=False)