meepmeep.numba3d.lambert_phase_curve_cd#
- meepmeep.numba3d.lambert_phase_curve_cd(time: float | ndarray[tuple[Any, ...], dtype[_ScalarT]], ag: float, k: float, c: ndarray[tuple[Any, ...], dtype[_ScalarT]], dc: ndarray[tuple[Any, ...], dtype[_ScalarT]])[source]#
Evaluate the Lambertian phase-curve flux and its parameter derivatives at an expansion-point-centered time.
Derivative-returning counterpart of lambert.lambert_phase_curve_c: forms the flux \(F = (k/r)^2\, A_g\, f(\alpha)\) and propagates the chain rule through both the phase angle and the inverse-square illumination \(1/r^2\), with \(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:
- time
floatorndarray Time(s) relative to the Taylor series expansion point.
- ag
float Geometric albedo.
- k
float Planet-to-star radius ratio \(R_p/R_\star\).
- c
NDArray A (3, 5) Taylor coefficient matrix produced by solve3d.
- dc
NDArray A (7, 3, 5) parameter-derivative tensor produced by solve3d_d, with the leading axis ordered as (tc, p, a, i, e, w, lan).
- time
- Returns:
Notes
Because the illumination uses the instantaneous distance, the semi-major axis enters only through the Taylor coefficients (and hence through r); there is no separate a argument. The a slot (index 2) of the gradient captures r’s dependence on the semi-major axis.