Function lupnt::spice::LoadSpiceKernel(void)

Function Documentation

void lupnt::spice::LoadSpiceKernel(void)

load the Spice kernels

Load LuPNT’s default SPICE kernel set (leap seconds, planetary ephemeris, planetary constants, and high-accuracy Earth/lunar orientation kernels), and extract the Chebyshev position-only SPK segments for GetBodyPosVel.

Called lazily (idempotent — returns immediately if kernels are already loaded) by every other function in this namespace before it touches the SPICE kernel pool, e.g. GetBodyPosVel, GetFrameConversionMat, GetGroundStationDataSpice, StringToTdb/StringToTai. The high-accuracy Earth (*.bpc) and lunar (moon_pa_de*.bpc + moon_de*.tf) orientation kernels are the data source consumed by ComputeEopFromSpice and InitFrameConversionFromSpice (see frame_conversions.h) to calibrate LuPNT’s analytic Earth/lunar orientation models. New high-accuracy kernels are downloaded from the NAIF generic-kernels archive (falling back to cached/bundled copies if offline, or if LUPNT_SKIP_SPICE_KERNEL_DOWNLOAD is set).