API

class robin.TransitParams

Object to store the physical parameters of the transit.

Parameters:
  • t0 (float, optional) – Time of inferior conjunction.
  • t_secondary (float, optional) – Time of secondary eclipse center.
  • per (float) – Orbital period.
  • rp (float) – Planet radius [in stellar radii].
  • a (float) – Semi-major axis [in stellar radii].
  • inc (float) – Orbital inclination [in degrees].
  • ecc (float) – Orbital eccentricity.
  • w (float) – Argument of periapse [in degrees]
  • u (array_like) – List of limb darkening coefficients.
  • limb_dark (str) – Limb darkening model (choice of “nonlinear”, “quadratic”, “exponential”, “logarithmic”, “squareroot”, “linear”, “uniform”, “power2”, or “custom”).
  • fp (float, optional) – Planet-to-star flux ratio (for secondary eclipse models).

Note

  • Units for the orbital period and ephemeris can be anything as long as they are consistent (e.g. both in days).
  • The orbital path is calculated based on t0 for primary transits and t_secondary for secondary eclipses.
Example:
>>> import robin
>>> params = robin.TransitParams()
>>> params.t0 = 0.                              #time of inferior conjunction
>>> params.per = 1.                             #orbital period 
>>> params.rp = 0.1                             #planet radius (in units of stellar radii)
>>> params.a = 15.                              #semi-major axis (in units of stellar radii)
>>> params.inc = 87.                            #orbital inclination (in degrees)       
>>> params.ecc = 0.                             #eccentricity   
>>> params.w = 90.                              #longitude of periastron (in degrees) 
>>> params.u = [0.1, 0.3]                       #limb darkening coefficients
>>> params.limb_dark = "quadratic"              #limb darkening model
class robin.TransitModel(params, t, max_err=1.0, nthreads=1, fac=None, transittype='primary', supersample_factor=1, exp_time=0.0)

Class for generating model transit light curves.

Parameters:
  • params (a TransitParams instance) – A TransitParams object containing the physical parameters of the transit
  • t (ndarray) – Array of times at which to calculate the model.
  • max_err (float, optional) – Error tolerance (in parts per million) for the model.
  • nthreads (int, optional) – Number of threads to use for parallelization.
  • fac (float, optional) – Scale factor for integration step size
  • transittype (string, optional) – Type of transit (“primary” or “secondary”)
  • supersample_factor (integer, optional) – Number of points subdividing exposure
  • exp_time (double, optional) – Exposure time (in same units as t)
Example:
>>> m = robin.TransitModel(params, max_err = 0.5, nthreads=4)
calc_err(plot=False)

Calculate maximum error for transit light curve calculation.

Parameters:plot (bool) – If True, plots the error in the light curve model as a function of separation of centers.
Returns:Truncation error (parts per million)
Return type:float
get_t_conjunction(params)

Return the time of primary transit center (calculated using params.t_secondary).

get_t_periastron(params)

Return the time of periastron passage (calculated using params.t0).

get_t_secondary(params)

Return the time of secondary eclipse center (calculated using params.t0).

get_true_anomaly()

Return the true anomaly at each time

light_curve(params)

Calculate a model light curve.

Parameters:params (A TransitParams instance) – Transit parameters
Returns:Relative flux
Return type:ndarray
Example:
>>> flux = m.light_curve(params)