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 time-of-secondary eclipse returned. –period=<p> The period of the transit in days. –pre_duration=<pre_duration> The duration of observations before transit/eclipse mid-time 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 time-of-secondary 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 mid-time 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 pre-transit 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 mid-time 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 (Newton-Raphson, 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 semi-major 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
Semi-major 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 time-unit for the speed of light. will define the returned time-unit for the light-travel 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 mid-time in BJD or HJD (only useful if time-of-secondary 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 time-of-mid 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.