meepmeep.numba3d.lambert_phase_curve

meepmeep.numba3d.lambert_phase_curve#

meepmeep.numba3d.lambert_phase_curve(time: float | ndarray[tuple[Any, ...], dtype[_ScalarT]], ag: float, k: float, tc: float, p: float, c: ndarray[tuple[Any, ...], dtype[_ScalarT]], te: float = 0.0) float | ndarray[tuple[Any, ...], dtype[_ScalarT]][source]#

Evaluate the Lambertian phase-curve flux contribution at an absolute time.

Folds the absolute observation time back to an expansion-point-centered offset and delegates to the centered kernel. Evaluates \(F = (k/r)^2\, A_g\, f(\alpha)\) where \(f\) is the Lambert kernel, \(\alpha\) the instantaneous phase angle, and \(r\) the instantaneous star-planet distance in stellar radii.

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

Parameters:
timefloat or NDArray

Absolute observation time(s).

agfloat

Geometric albedo.

kfloat

Planet-to-star radius ratio \(R_p/R_\star\).

tcfloat

Transit-centre time (time of inferior conjunction), on the same time axis as time.

pfloat

Orbital period.

cNDArray

A (3, 5) coefficient matrix produced by solve3d.

tefloat, optional

Expansion-point offset from the transit centre [days] - the same value that was passed to solve3d. Defaults to 0.0, the expansion point at the transit centre.

Returns:
fluxfloat or NDArray

Reflected planet-to-star flux ratio. Shape (N,) for an array time.