Skip to content

Wakker (2015): Fundamentals of Astrodynamics

The primary SGP4 papers — Brouwer (1959), Hoots (1981), STR#3 — are terse. They assume the reader already knows Lagrange’s planetary equations, the method of averaging, Delaunay canonical variables, and the structure of the geopotential. Wakker fills that gap.

Across 184 pages of perturbation theory (Chapters 20-23), Wakker derives from first principles every piece of mathematical machinery that SGP4 implements:

  • Lagrange’s planetary equations — the six differential equations that govern how orbital elements change under any perturbation. Brouwer’s entire paper is a specific application of these equations to the J2J_2-J5J_5 geopotential.
  • J2 secular rates — the constant-rate changes in Ω\Omega, ω\omega, and MM that appear directly in sgp4.f lines 29-52. Wakker shows how they emerge from averaging the Lagrange equations over an orbit.
  • Mean element theory — the separation of perturbations into secular, long-period, and short-period components, and the distinction between osculating and mean elements that defines what a TLE actually encodes.
  • Kaula’s spectral decomposition — the frequency analysis that explains orbital resonance, which is the physical basis for SDP4’s DEEP subroutine.
  • The critical inclination singularity — why Brouwer’s long-period terms blow up near i=63.4°i = 63.4\degree and what the singularity means physically.

For anyone trying to understand why SGP4 works the way it does rather than just how to run it, Wakker is the missing textbook.

Chapter 22 provides the most thorough single-textbook derivation of Lagrange’s planetary equations available — 28 pages from Newton’s laws to the complete set of six differential equations. The derivation builds through Lagrange brackets, canonical (Delaunay) variables, and the Gauss form, showing every intermediate step.

The core result (eq. 22.35):

dadt=2naRM\frac{da}{dt} = \frac{2}{na}\frac{\partial \mathcal{R}}{\partial M}

dedt=1e2na2eRM1e2na2eRω\frac{de}{dt} = \frac{1-e^2}{na^2 e}\frac{\partial \mathcal{R}}{\partial M} - \frac{\sqrt{1-e^2}}{na^2 e}\frac{\partial \mathcal{R}}{\partial \omega}

didt=1na21e2sini[cosiRωRΩ]\frac{di}{dt} = \frac{1}{na^2\sqrt{1-e^2}\sin i}\left[\cos i \frac{\partial \mathcal{R}}{\partial \omega} - \frac{\partial \mathcal{R}}{\partial \Omega}\right]

where R\mathcal{R} is the disturbing function (the non-Keplerian part of the potential) and nn, aa, ee, ii, MM, ω\omega, Ω\Omega are the standard Keplerian elements.

Three additional equations for dΩ/dtd\Omega/dt, dω/dtd\omega/dt, and dM/dtdM/dt complete the set. Note the singularities at e=0e = 0 (division by ee in the eccentricity equation) and i=0i = 0 (division by sini\sin i in the inclination equation). These coordinate singularities are the reason Lyddane (1963) had to reformulate Brouwer’s theory using Poincare variables before SGP4 could handle near-circular and near-equatorial orbits.

The Delaunay canonical form (Section 22.2), using variables LL, GG, HH and their conjugate angles ll, gg, hh, is the formalism that Brouwer actually used. Wakker shows that the Delaunay variables are just a convenient repackaging of the Keplerian elements:

L=μa,G=μa(1e2),H=GcosiL = \sqrt{\mu a}, \quad G = \sqrt{\mu a(1-e^2)}, \quad H = G\cos i

This form makes Hamilton’s equations directly applicable and is the starting point for both Brouwer’s von Zeipel method and Kozai’s method of averaging.

Section 23.3 derives the first-order secular rates of change due to the J2J_2 harmonic of the geopotential. These are the rates that appear directly in the SGP4 FORTRAN code (sgp4.f lines 29-52):

Ω˙s=32nˉJ2R2p2cosi\dot{\Omega}_s = -\frac{3}{2}\frac{\bar{n} J_2 R^2}{p^2}\cos i

ω˙s=32nˉJ2R2p2(52cos2i1)\dot{\omega}_s = \frac{3}{2}\frac{\bar{n} J_2 R^2}{p^2}\left(\frac{5}{2}\cos^2 i - 1\right)

M˙s=nˉ[1+32J2R2p21e2(132sin2i)]\dot{M}_s = \bar{n}\left[1 + \frac{3}{2}\frac{J_2 R^2}{p^2}\sqrt{1-e^2}\left(1 - \frac{3}{2}\sin^2 i\right)\right]

where p=a(1e2)p = a(1-e^2) is the semi-latus rectum and nˉ\bar{n} is the perturbed mean motion.

The method is straightforward: substitute the J2J_2 disturbing function into Lagrange’s equations, average over the mean anomaly MM (eliminating short-period terms), then average over the argument of perigee ω\omega (eliminating long-period terms). What remains varies linearly with time — the secular rates.

Wakker SymbolSGP4/STR#3 VariableMeaning
aaA0 (or AODP)Mean semi-major axis
eeE0 (or ECCO)Mean eccentricity
iiI0 (or INCLO)Mean inclination
nnXN0 (or XNO)Mean motion (Keplerian)
nˉ\bar{n}XNODPPerturbed mean motion
J2J_2CK2 (= 12J2R2\frac{1}{2} J_2 R^2)J2 coefficient (absorbed into CK2)
ppA0DP * (1-E0^2)Semi-latus rectum
Ω˙\dot{\Omega}XNODOTSecular rate of RAAN
ω˙\dot{\omega}OMGDOTSecular rate of argument of perigee
M˙\dot{M}XMDOTSecular rate of mean anomaly

The secular rate of the argument of perigee vanishes when:

52cos2i1=0cos2i=25i=63.435° or 116.565°\frac{5}{2}\cos^2 i - 1 = 0 \quad \Rightarrow \quad \cos^2 i = \frac{2}{5} \quad \Rightarrow \quad i = 63.435\degree \text{ or } 116.565\degree

At this inclination, perigee freezes — it does not precess around the orbit. This is the physical basis of Molniya orbits (which keep apogee over high northern latitudes) and the mathematical source of the (15cos2i)1(1 - 5\cos^2 i)^{-1} singularity in Brouwer’s long-period terms.

Wakker notes (p. 626) that Deprit showed in 1983 that the critical inclination is not a physical singularity but an unstable equilibrium in phase space — the “troubles” are artifacts of the perturbation theory’s coordinate choice. SGP4 handles this by switching to the Lyddane variable set, which avoids division by the problematic factor.

Section 23.3 (eq. 23.30-23.31) presents Kozai’s modified mean semi-major axis:

a~=a[1+J2R22a2(1e2)3/2(132sin2i)]\tilde{a} = a\left[1 + \frac{J_2 R^2}{2a^2(1-e^2)^{3/2}}\left(1 - \frac{3}{2}\sin^2 i\right)\right]

where a~\tilde{a} closely approximates the time-averaged geocentric distance.

This definition differs from Brouwer’s mean semi-major axis by 5-10 km for typical LEO orbits (equatorial vs. polar). The distinction matters operationally because TLE mean elements are defined relative to a specific mean-element theory:

  • SGP4 uses Brouwer mean elements — both short-period and long-period terms have been removed
  • SGP used Kozai mean elements — only short-period terms have been removed

Feeding Kozai-mean elements into a Brouwer-mean propagator (or vice versa) introduces systematic position error because the perturbation corrections no longer match what was removed during element fitting. The SGP4 initialization code handles the conversion between the two definitions internally, applying drag in the Kozai system before converting to Brouwer for gravitational perturbation calculations.

Section 23.5 presents Kaula’s spectral decomposition of the gravity field perturbations, expressing the disturbing function in terms of orbital elements:

R=μan=2m=0np=0nq=(Ra)nFn,m,p(i)Gn,p,q(e)Sn,m,p,q(ω,M,Ω,θG)\mathcal{R} = \frac{\mu}{a}\sum_{n=2}^{\infty}\sum_{m=0}^{n}\sum_{p=0}^{n}\sum_{q=-\infty}^{\infty}\left(\frac{R}{a}\right)^n F_{n,m,p}(i)\, G_{n,p,q}(e)\, S_{n,m,p,q}(\omega, M, \Omega, \theta_G)

where Fn,m,p(i)F_{n,m,p}(i) and Gn,p,q(e)G_{n,p,q}(e) are the inclination and eccentricity functions, θG\theta_G is the Greenwich sidereal time, and the four indices (n,m,p,q)(n, m, p, q) identify each spectral component.

The frequency of each component is:

Ψ˙n,m,p,q=(n2p)ω˙+(n2p+q)M˙+m(Ω˙θ˙G)\dot{\Psi}_{n,m,p,q} = (n-2p)\dot{\omega} + (n-2p+q)\dot{M} + m(\dot{\Omega} - \dot{\theta}_G)

When Ψ˙0\dot{\Psi} \to 0, orbital resonance occurs. The perturbation amplitude grows without bound in the linear theory, and numerical integration becomes necessary.

This is the theoretical basis for SDP4’s DEEP subroutine. For 12-hour resonant orbits (GPS-type, where M˙2θ˙G\dot{M} \approx 2\dot{\theta}_G) and 24-hour resonant orbits (GEO, where M˙θ˙G\dot{M} \approx \dot{\theta}_G), the frequency condition is nearly satisfied, and STR#1’s numerical integrator handles the perturbations that the analytical theory cannot.

Kaula’s framework also provides the taxonomy of perturbation types:

TypeIndicesPeriodExample
Secularm=0m=0, n2p=0n-2p=0, q=0q=0Infinite (constant rate)J2J_2 precession of Ω\Omega
Long-periodm=0m=0, q=±1q=\pm1Months to yearsJ3J_3 pear-shape effect
Short-periodm=0m=0, q0q\ne0~1 orbital periodJ2J_2 radial oscillation
m-dailym0m\ne0~1/mm dayTesseral harmonics
ResonanceΨ˙0\dot{\Psi}\to0Weeks to yearsGEO longitude drift

Of Wakker’s 690 pages, approximately 184 (27%) contain SGP4-relevant content:

ChapterTopicPagesSGP4 Connection
11Reference frames and coordinates243-284Equatorial/ecliptic frames, precession/nutation, ICRS/GCRF
20Perturbing forces and methods527-554J2J_2 geopotential, atmospheric drag, Cowell/Encke/variation-of-elements
21Elementary perturbation analysis555-584J2J_2 effects, drag decay, luni-solar perturbations
22Lagrange’s planetary equations585-612Full derivation, Delaunay canonical form, Gauss form, singularities
23Gravity field perturbations613-668Secular/periodic variations, Kozai, Kaula, resonance, frozen orbits

The remaining 500 pages cover Keplerian orbits, the restricted three-body problem, orbital maneuvers, and interplanetary trajectories — useful astrodynamics context but not directly relevant to the SGP4 propagation chain.