Function lupnt::GetLunarMantleData(Real, bool)

Function Documentation

Vec6 lupnt::GetLunarMantleData(Real t_tdb, bool compute_vel = true)

Evaluate the DE Chebyshev “lunar mantle libration” angles (and optionally their time derivatives) at a given epoch.

Called by RotMoonCiToPa/RotMoonPaToCi (frame_conversions.cc) to reconstruct the Moon principal-axes (PA) <-> Moon-centered-inertial (CI) rotation as R = Rz(psi)*Rx(theta)*Rz(phi), unless a SPICE-fitted lunar orientation model is active (see InitFrameConversionFromSpice/HasFittedLunarOrientation in frame_conversions.h). Lazily loads the DE440 ephemeris (LoadEphemerisData) on first use and evaluates the Chebyshev polynomials for ephemeris block 12 (lunar mantle libration).

Parameters:
  • t_tdb – Epoch [s, TDB since J2000]

  • compute_vel – If true, also compute the time derivatives phi_dot/theta_dot/psi_dot (default: true); if false, the last 3 elements of the return value are zero.

Returns:

6-vector [phi, theta, psi, phi_dot, theta_dot, psi_dot]: ZXZ Euler angles [rad] of the lunar mantle libration and their time derivatives [rad/s].