The Simplified Perturbations model SGP4 is used to calculate Earth satellite state vectors (position and velocity) using standard ephemeris data encoded as TLEs (Two Line Elements). According to Wikipedia:
Current code libraries have merged SGP4 and SDP4 algorithms into a single codebase handling the range of orbital periods which are usually referred to generically as SGP4.
where SDP4 is the deep-space partner to the original SGP4, using only the simplest drag model but now also accounting for other perturbative effects, including the gravitational perturbations of the Moon and the Sun (as well as resonant effects near 1 and 2 orbits per day).
Published TLEs are calculated specifically to work with the appropriate SGP predictor. According to the original 1980/1988 version of Spacetrack Report No. 3, Models for Propagation of NORAD Element Sets:
All space objects are classified by NORAD as near-Earth (period less than 225 minutes) or deep-space (period greater than or equal 225 minutes). Depending on the period, the NORAD element sets are automatically generated with the near-Earth or deep-space model. The user can then calculate the satellite period and know which prediction model to use.
In SGP4 the initialization uses the TLE's mean motion to set a flag that determines which propagation method is used later in the execution. For example something along the lines of:
if ((2*pi / satrec.no) >= 225.0)
satrec.method = 'd';
satrec.isimp = 1;
IF((TWOPI/XNODP/XMNPDA) .GE. .15625) IDEEP=1
where 0.15625 is exactly 225/(24*60).
QUESTION: Can someone explain how SDP4 mathematically estimates the gravitational perturbations from the Sun and Moon? Does it contain a "mini-ephemeris" for the relative positions of the Sun, Earth, Moon system as a function of epoch, or at least their average periods, and propagate the satellite's motion including these forces, or does it use some average perturbation model?
note: I'm not looking for a general answer like "it uses perturbation theory", I'd like to know roughly how SGP4 actually does it.
Just for one particular example, in January the Sun will pull in one direction, but in July it will pull in the opposite direction. If the orbit is highly elliptical, does this matter for the perturbation calculation? Does it matte if the Sun pulls in the direction of periapsis, apoapsis or to the side?
SGP4 is also discussed in the 2006 report Revisiting Spacetrack Report #3: Rev 2.