exoctk.phase_constraint_overlap package¶
Submodules¶
exoctk.phase_constraint_overlap.phase_constraint_overlap module¶
Phase contraint overlap tool. This tool calculates the minimum and maximum phase of the primary or secondary transit (by default, primary) based on parameters provided by the user.
 Authors:
Catherine Martlin, 2018 Mees Fix, 2018 Nestor Espinoza, 2020
 Usage:
calculate_constraint <target_name> [–t0=<t0>] [–period=<p>] [–pre_duration=<pre_duration>] [–transit_duration=<trans_dur>] [–window_size=<win_size>] [–secondary] [–eccentricity=<ecc>] [–omega=<omega>] [–inclination=<inc>] [–winn_approx] [–get_secondary_time]
 Arguments:
<target_name> Name of target
 Options:
h –help Show this screen. –version Show version. –t0=<t0> The starting time of the transit in BJD or HJD. Only useful if user wants to have the timeofsecondary eclipse returned. –period=<p> The period of the transit in days. –pre_duration=<pre_duration> The duration of observations before transit/eclipse midtime in hours. –transit_duration=<trans_dur> The duration of the transit in hours. –window_size=<win_size> The window size of the transit in hours [default: 1.0] –secondary If active, calculate phases for secondary eclipses (user needs to supply eccentricity, omega and inclination). –eccentricity=<ecc> The eccentricity of the orbit (needed for secondary eclipse constraints). –omega=<omega> The argument of periastron passage (needed for secondary eclipse constraints). –inclination=<inc> The inclination of the orbit (needed for secondary eclipse constraints). –winn_approx If active, instead of running the whole Kepler equation calculation, time of secondary eclipse is calculated using eq. (6) in Winn (2010; https://arxiv.org/abs/1001.2010v5) –get_secondary_time If active, calculation also returns timeofsecondary eclipse. Needs t0 as input.

exoctk.phase_constraint_overlap.phase_constraint_overlap.
calculate_phase
(period, pre_duration, window_size, t0=None, ecc=None, omega=None, inc=None, secondary=False, winn_approx=False, get_secondary_time=False)[source]¶ Function to calculate the min and max phase.
 Parameters
 periodfloat
The period of the transit in days.
 pre_durationfloat
The duration of observations before transit/eclipse midtime in hours.
 window_sizefloat
The window size of transit in hours. Default is 1 hour.
 t0float
The time of (primary) transit center (only needed if get_secondary_time is True).
 eccfloat
The eccentricity of the orbit (only needed for secondary eclipses).
 omegafloat
The argument of periastron passage, in degrees (only needed for secondary eclipses).
 incfloat
The inclination of the orbit, in degrees (only needed for secondary eclipses).
 secondaryboolean
If True, calculation will be done for secondary eclipses.
 winn_approxboolean
If True, secondary eclipse calculation will use the Winn (2010) approximation to estimate time of secondary eclipse — (only valid for not very eccentric and inclined orbits).
 get_secondary_timeboolean
If True, return time of secondary eclipse along with the phase constraints.
 Returns
 minphasefloat
The minimum phase constraint.
 maxphasefloat
The maximum phase constraint.

exoctk.phase_constraint_overlap.phase_constraint_overlap.
calculate_pre_duration
(transitDur)[source]¶ Function to calculate the pretransit hours to be spent on target as recommended by the Tdwell equation:
0.75 + Max(1hr,T14/2) (before transit) + T14 + Max(1hr, T14/2) (after transit) + 1hr (timing window)
The output is, thus, 0.75 + Max(1hr,T14/2) (before transit) + T14/2.
 Parameters
 transitDurfloat
The duration of the transit/eclipse in hours.
 Returns
 pretransit_durationfloat
The duration of the observation prior to transit/eclipse midtime in hours.

exoctk.phase_constraint_overlap.phase_constraint_overlap.
calculate_tsec
(period, ecc, omega, inc, t0=None, tperi=None, winn_approximation=False)[source]¶ Function to calculate the time of secondary eclipse.
This uses Halley’s method (NewtonRaphson, but using second derivatives) to first find the true anomaly (f) at which secondary eclipse occurs, then uses this to get the eccentric anomaly (E) at secondary eclipse, which gives the mean anomaly (M) at secondary eclipse using Kepler’s equation. This finally leads to the time of secondary eclipse using the definition of the mean anomaly (M = n*(t  tau) — here tau is the time of pericenter passage, n = 2*pi/period the mean motion).
Time inputs can be either the time of periastron passage directly or the time of transit center. If the latter, the true anomaly for primary transit will be calculated using Halley’s method as well, and this will be used to get the time of periastron passage.
 Parameters
 periodfloat
The period of the transit in days.
 eccfloat
Eccentricity of the orbit
 omegafloat
Argument of periastron passage (in radians)
 incstring
Inclination of the orbit (in radians)
 t0float
The transit time in BJD or HJD (will be used to get time of periastron passage).
 tperifloat
The time of periastron passage in BJD or HJD (needed if t0 is not supplied).
 winn_approximationboolean
If True, the approximation in Winn (2010) is used — (only valid for not very eccentric and inclined orbits).
 Returns
 tsecfloat
The time of secondary eclipse

exoctk.phase_constraint_overlap.phase_constraint_overlap.
drsky
(x, ecc, omega, inc)[source]¶ Function whose roots we wish to find to obtain time of secondary (and primary) eclipse(s)
When one takes the derivative of equation (5) in Winn (2010; https://arxiv.org/abs/1001.2010v5), and equates that to zero (to find the minimum/maximum of said function), one gets to an equation of the form g(x) = 0. This function (drsky) is g(x), where x is the true anomaly.
 Parameters
 xfloat
True anomaly
 eccfloat
Eccentricity of the orbit
 omegafloat
Argument of periastron passage (in radians)
 incfloat
Inclination of the orbit (in radians)
 Returns
 drskyfloat
Function evaluated at x, ecc, omega, inc

exoctk.phase_constraint_overlap.phase_constraint_overlap.
drsky_2prime
(x, ecc, omega, inc)[source]¶ Second derivative of function drsky. This is the second derivative with respect to f of the drsky function.
 Parameters
 xfloat
True anomaly
 eccfloat
Eccentricity of the orbit
 omegafloat
Argument of periastron passage (in radians)
 incfloat
Inclination of the orbit (in radians)
 Returns
 drsky_2primefloat
Function evaluated at x, ecc, omega, inc

exoctk.phase_constraint_overlap.phase_constraint_overlap.
drsky_prime
(x, ecc, omega, inc)[source]¶ Derivative of function drsky. This is the first derivative with respect to f of the drsky function.
 Parameters
 xfloat
True anomaly
 eccfloat
Eccentricity of the orbit
 omegafloat
Argument of periastron passage (in radians)
 incfloat
Inclination of the orbit (in radians)
 Returns
 drsky_primefloat
Function evaluated at x, ecc, omega, inc

exoctk.phase_constraint_overlap.phase_constraint_overlap.
getE
(f, ecc)[source]¶ Function that returns the eccentric anomaly
Note normally this is defined in terms of cosines (see, e.g., Section 2.4 in Murray and Dermott), but numerically this is troublesome because the arccosine doesn’t handle negative numbers by definition (equation 2.43). That’s why the arctan version is better as signs are preserved (derivation is also in the same section, equation 2.46).
 Parameters
 ffloat
True anomaly
 eccfloat
Eccentricity
 Returns
 Efloat
Eccentric anomaly

exoctk.phase_constraint_overlap.phase_constraint_overlap.
getLTT
(a, c, ecc, omega, inc, f)[source]¶ Function that calculates the Light Travel Time (LTT) for eclipses and transit
This function returns the light travel time of an eclipse or transit given the orbital parameters, the semimajor axis of the orbit and the speed of light. Consistent units must be used for the latter two parameters. The returned time is in the units of time given by the speed of light input parameter.
 Parameters
 afloat
Semimajor axis of the orbit. Can be in any unit, as long as it is consistent with c.
 cfloat
Speed of light. Can be in any unit, as long as it is consistent with a. The timeunit for the speed of light will define the returned timeunit for the lighttravel time.
 eccfloat
Eccentricity of the orbit.
 omegafloat
Argument of periastron passage (in radians).
 incstring
Inclination of the orbit (in radians)
 ffloat
True anomaly at the time of transit and/or eclipse (in radians).
 Returns
 lttfloat
The light travel time, defined here as the time it takes for a photon to go from the planet at transit/eclipse to the plane in the sky where the star is located.

exoctk.phase_constraint_overlap.phase_constraint_overlap.
getM
(E, ecc)[source]¶ Function that returns the mean anomaly using Kepler’s equation
 Parameters
 Efloat
Eccentric anomaly
 ecc: float
Eccentricity
 Returns
 Mfloat
Mean anomaly

exoctk.phase_constraint_overlap.phase_constraint_overlap.
phase_overlap_constraint
(target_name, period=None, t0=None, pretransit_duration=None, transit_dur=None, window_size=None, secondary=False, ecc=None, omega=None, inc=None, winn_approx=False, get_secondary_time=False)[source]¶ The main function to calculate the phase overlap constraints. We will update to allow a user to just plug in the target_name and get the other variables.
 Parameters
 target_namestring
The name of the target transiting planet.
 periodfloat
The period of the transit in days.
 t0float
The transit midtime in BJD or HJD (only useful if timeofsecondary eclipse wants to be returned).
 pretransit_durationfloat
The duration of the observations before transit/eclipse in hours.
 transit_durfloat
The duration of the transit/eclipse in hours.
 window_sizefloat
The window size of transit in hours. Default is 1 hour.
 secondaryboolean
If True, phase constraint will be the one for the secondary eclipse. Default is primary (i.e., transits).
 eccfloat
Eccentricity of the orbit. Needed only if secondary is True.
 omegafloat
Argument of periastron of the orbit in degrees. Needed only if secondary is True.
 incfloat
Inclination of the orbit in degrees. Needed only if secondary is true.
 winn_approxboolean
If True, instead of running the whole Kepler equation calculation, time of secondary eclipse is calculated using eq. (6) in Winn (2010; https://arxiv.org/abs/1001.2010v5)
 get_secondary_timeboolean
If True, this function also returns the timeofmid secondary eclipse.
 Returns
 minphasefloat
The minimum phase constraint.
 maxphasefloat
The maximum phase constraint.
 tsecfloat
(optional) If get_secondary_time is True, the time of secondary eclipse in the same units as input t0.