WGS-72: SGP4's Geodetic Constants
Historical Context
Section titled “Historical Context”The Cold War Geodesy Problem
Section titled “The Cold War Geodesy Problem”By the late 1960s, the Department of Defense maintained multiple geodetic datums — NAD 27 for North America, ED 50 for Europe, Tokyo Datum for the Pacific, and dozens of regional systems. Intercontinental ballistic missile targeting, satellite tracking, and global navigation all required a single, unified, geocentric reference frame. The World Geodetic System program was DMA’s answer.
| System | Year | Equatorial radius (m) | Flattening (1/f) | Key data sources |
|---|---|---|---|---|
| WGS-60 | 1960 | 6,378,165 | 298.3 | Astro-geodetic, early Vanguard satellite obs. |
| WGS-66 | 1966 | 6,378,145 | 298.25 | Transit Doppler data |
| WGS-72 | 1972 | 6,378,135 | 298.26 | Improved Doppler, Baker-Nunn, radar altimetry |
| WGS-84 | 1984 | 6,378,137 | 298.257223563 | GPS, SLR, VLBI (current standard) |
DMA and Its Successors
Section titled “DMA and Its Successors”The Defense Mapping Agency (DMA) was established in 1972 by consolidating the mapping functions of the Army Map Service, the Naval Oceanographic Office, and the Air Force Aeronautical Chart and Information Center. DMA was renamed the National Imagery and Mapping Agency (NIMA) in 1996, and again renamed the National Geospatial-Intelligence Agency (NGA) in 2003. NGA continues to maintain WGS-84 today.
How Constants Flow into SGP4
Section titled “How Constants Flow into SGP4”The chain of custody from WGS-72 to every SGP4 implementation in the world:
graph TD
A["Seppelin (1974)<br/>DMA report defining WGS-72<br/>4 defining parameters + zonal harmonics"] --> B["NORAD / AFSPC<br/>Adopted WGS-72 for satellite catalog<br/>Used J2, J3, J4 for perturbation models"]
B --> C["Hoots & Roehrich (1980)<br/>Spacetrack Report No. 3<br/>Codified SGP4 in FORTRAN"]
C --> D["FORTRAN driver.f DATA statement<br/>XJ2, XJ3, XJ4, XKE, XKMPER"]
D --> E["Kelso (1988)<br/>Pascal and C translations<br/>Preserved exact constant values"]
E --> F["Vallado et al. (2006)<br/>C++ / Python / MATLAB<br/>Added wgs72 and wgs84 constant modes"]
F --> G["Modern implementations<br/>satellite.js, python-sgp4, sgp4-rs<br/>All carry the same WGS-72 constants"]
The Constant Lock-in
Section titled “The Constant Lock-in”The consequences of this coupling:
- TLE elements absorb WGS-72 biases. The fitted mean motion, eccentricity, and inclination compensate for the specific J2/J3/J4 values used during orbit determination.
- WGS-84 constants produce systematic errors. Propagating a TLE with WGS-84 constants introduces position errors of typically 1—3 km over 24 hours.
- Every TLE consumer must use WGS-72. This is why SGP4 has never been updated to WGS-84, even though WGS-84 has been the DoD geodetic standard since 1984.
WGS-72 vs. WGS-84 Comparison
Section titled “WGS-72 vs. WGS-84 Comparison”This is the canonical comparison table for the SGP4 theory archive. The WGS-84 page discusses the modern datum but refers back here for the detailed constant comparison.
| Parameter | WGS-72 | WGS-84 | Delta | Notes |
|---|---|---|---|---|
| (m) | 6,378,135 | 6,378,137 | +2 m | |
| 298.26 | 298.257223563 | ~0.003 | WGS-84 uses derived | |
| (m/s) | ||||
| (rad/s) | ||||
The differences are small in absolute terms but significant when accumulated over multiple orbit revolutions in a precision propagator.
Vallado’s Three Constant Modes
Section titled “Vallado’s Three Constant Modes”The Vallado et al. (2006) SGP4 revision defined three gravity constant modes:
- wgs72 — Original STR#3 constants from Seppelin/WGS-72. This is the correct mode for all operational TLE processing.
- wgs84 — Updated constants from WGS-84. Exists solely for academic comparison and is not operationally valid with standard TLEs.
- wgs72old — Constants from early Kelso implementations with minor rounding differences. Preserved for backward compatibility testing.
Derivation: How GM Becomes XKE
Section titled “Derivation: How GM Becomes XKE”SGP4 uses Earth radii (er) for distance and minutes for time. The gravitational parameter must be converted from SI units to this internal system.
Starting from the WGS-72 value:
Convert meters to Earth radii ():
Convert seconds to minutes ():
This is the value hardcoded in the FORTRAN DATA statement as .743669161E-1.
Derivation: How Becomes
Section titled “Derivation: How C2,0C_{2,0}C2,0 Becomes J2J_2J2”The WGS-72 defining parameter is the normalized spherical harmonic coefficient:
The unnormalized zonal harmonic is obtained by applying the normalization factor:
The STR#3 FORTRAN truncates this to 1.082616E-3 (7 significant figures), introducing a rounding difference at the 6th decimal place. The WGS-84 value of comes from the higher-resolution EGM96 gravitational model and differs by — small in isolation, but consequential when the propagator expects the WGS-72 value.