Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


The California-Kepler Survey

Project Info

The California-Kepler Survery (CKS) is a project to measure precise properties of planets and thier host stars discovered by NASA's Kepler Mission. There are 1305 CKS spectra of "Kepler Objects of Interest" (KOIs) hosting 2025 planet candidates. The CKS project was initiated by Andrew Howard, Geoff Marcy, John Johnson, Tim Morton, and Howard Isaacson. Spectra were obtained from 2011 to 2015. The core goal of CKS was to obtain a high-resolution spectrum with HIRES at the W. M. Keck Observatory of all KOIs with Kp (Kepler magnitude) < 14.2. Fainter stars were appended for a variety of reasons.

The overlapping CKS stellar samples are:

  1. Magnitude-limited (Kp < 14.2; Nstar = 960, Nplanet = 1385)
  2. Multi-planet hosts (Nstar = 484, Nplanet = 1254)
  3. Ultra-short period hosts (P < 1 day; Nstar = 127, Nplanet = 127)
  4. Habitable Zone hosts (Nstar = 71, Nplanet = 71)
  5. Other (Nstar = 38, Nplanet = 38)


The CKS dataset is described in two papers

  1. CKS-I: "The California-Kepler Survey. I. High Resolution Spectroscopy of 1305 Stars Hosting Kepler Transiting Planets" (Petigura, Howard, Marcy, Johnson, Isaacson, et al. 2017; Astronomical Journal, 154, 107)

  2. CKS-II: "The California-Kepler Survey. II. Precise Physical Properties of 2025 Kepler Planets and Their Host Stars" (Johnson, Petigura, Fulton, Marcy, Howard, et al. 2017; Astronomical Journal, 154, 108)

Other Papers Using CKS Data by the CKS Team

  1. CKS-III: "The California-Kepler Survey. III. A Gap in the Radius Distribution of Small Planets" (Fulton, Petigura, Howard, Isaacson, Marcy, et al. 2017; Astronomical Journal, 154, 109)

  2. CKS-IV: "The California-Kepler Survey. IV. Metal-rich Stars Host a Greater Diversity of Planets" (Petigura, Marcy, Winn, Weiss, Fulton et al. 2018; Astronomical Journal, 155, 2)

  3. CKS-V: "The California-Kepler Survey V. Peas in a Pod: Planets in a Kepler Multi-planet System are Similar in Size and Regularly Spaced" (Weiss, Marcy, Petigura, Fulton, Howard, et al. 2017; Astronomical Journal, 155, 48)

  4. "Absence of a metallicity effect for ultra-short-period planets" (Winn, Sanchis-Ojeda, Rogers, Petigura, Howard, et al. 2017; Astronomical Journal, 154, 60)

  5. "Constraints on Obliquities of Kepler Planet-Hosting Stars" (Winn, Petigura, Morton, Weiss, Dai, et al. 2017; Astronomical Journal, 154, 6)

CKS Contributors (alphabetical)

Phillip A. Cargile, Ian J. M. Crossfield, Benjamin J. Fulton, Leslie Hebb, Lea A. Hirsch, Andrew W. Howard, Howard Isaacson, John Asher Johnson, Geoffrey W. Marcy, Timothy D. Morton, Erik A. Petigura, Leslie A. Rogers, Evan Sinukoff, Lauren M. Weiss, Joshua N. Winn


Parameters are available via


See CKS-I for a detailed description of the CKS spectra from Keck-HIRES. Spectra are available via

Naming convention for individual spectra is




- <k00001> = KOI-1
- <b> = Blue chip
- <j122.742> = Unique CPS spectrum identifier

File Format

Each Keck/HIRES spectrum consists of three individual files. Each file is prefixed with an letter indicating the HIRES chip. Each chip covers the following range of wavelengths:

  • 'i' (6540-8000 Ang)
  • 'r' (4975-6420 Ang)
  • 'b' (3640-4800 Ang)

The CKS spectral analysis uses only the central ('r') spectrum.

Within each .fits file, there are three extensions of equal dimemsions:

  1. The first extension is the spectrum itself, in echelle format. The values are flux, in arbitray units. The blaze function has been removed from each spectral order.
  2. The second extension gives the fractional error per pixel.
  3. The third extension holds the rest frame wavelength solution, which is accurate to ~1 HIRES pixel or ~1.2 km/s or ~0.02 angstroms.

Read in spectrum in IDL

IDL> flux = readfits('cks-K00001_rj122.742.fits',hd)

Read the fractional error:
IDL> flux_err =readfits('cks-K00001_rj122.742.fits',exten=1,hd)

Read the pixel by pixel wavelength solution (error = +/- 1 pixel)
IDL> wav = readfits('cks-K00001_rj122.742.fits.fits',exten=2,hd)

Read in spectrum in Python

>>> from astropy.io import fits
>>> hdulist = fits.open('cks-K00001_rj122.742.fits')
>>> hdulist.info()
Filename: cks-K00001_rj122.742.fits
No.    Name         Type      Cards   Dimensions   Format
0    PRIMARY     PrimaryHDU     722   (4021, 16)   float32   
1                ImageHDU         7   (4021, 16)   float32   
2                ImageHDU         7   (4021, 16)   float64   

Isolate the spectrum, fractional error and wavelength solution

>>> flux = hdulist[0].data
>>> flux_err = hdulist[1].data
>>> wav = hdulist[2].data

Registering HIRES spectra

The CKS spectra are defined with respect to the rest frame of HIRES. For precision spectroscopy, it is more convenient to register (shift) spectra onto the rest frame of the star, i.e. H-alpha at 6563 angstroms. The open source code Empirical-SpecMatch, developed by Yee, Petigura, and von Braun (2017) contains a module to facilitate the registration of HIRES spectra. For example, shifting registering KOI-7 (systemic RV = −60.8 km/s).

$ smemp shift -p cks-k00007_rj74.509.fits -o output/
# -p produces pretty output plots
# -o specifies output directory

Shifting a spectrum