meepmeep.numba3d.light_travel_time_o

meepmeep.numba3d.light_travel_time_o#

meepmeep.numba3d.light_travel_time_o(t, tpa, p, e, w, rstar, dt, ep_table, ep_times, coeffs)[source]#

Light travel time correction, referenced to primary transit.

The correction is

ltt(t) = -(z(t) - z(t_transit)) * rstar * (R_sun / c)

with z in stellar radii, rstar in solar radii, result in days. The reference is the primary transit (inferior conjunction): ltt(t_transit) = 0 by construction. This matches the convention used in transit fitting, where the observed mid-transit time is the reference and the LTT correction should add to the timing offset between primary transit and secondary eclipse (and intermediate phases), not to the transit itself.

Accepts a scalar time t or a 1-D array of times and dispatches to the scalar (_light_travel_time_os()) or vector (light_travel_time_ov()) kernel at compile time (inside @njit) or at call time (pure Python).

Important: the convention in this module is that tc is the periastron time (the same as for every other *_o* evaluator in orbit3d). The transit time is tc + to where to = mean_anomaly_at_transit(e, w) * p / (2*pi). The e, w arguments are needed to determine to.

Parameters:
tfloat or ndarray

Time(s) at which to evaluate the correction.

tpafloat

Time of periastron passage.

pfloat

Orbital period [days].

efloat

Eccentricity.

wfloat

Argument of periastron [radians].

rstarfloat

Stellar radius [R_sun].

dt, ep_table, ep_times, coeffs

Multi-expansion-point dispatch arrays from solve3d_orbit / create_expansion_points.

Returns:
lttfloat or ndarray

Light travel time correction [days]. Arrays of shape (N,) for an array time argument.