Plane Calibration
The model uses two distinct ascending node calculation systems. This page documents the refinement of planetary ascending nodes to the invariable plane — a calibration that achieves sub-arcsecond accuracy for all planets.
Two systems, not one. The model tracks ascending nodes in two different reference planes:
- Ecliptic ascending nodes — where orbits cross Earth’s orbital plane (shifts with obliquity changes).
- Invariable plane ascending nodes — where orbits cross the solar system’s fixed reference plane (precesses over ~111,772 years).
This page covers system 2: the invariable plane ascending nodes and their calibration. For the ecliptic system see Mathematical Foundation.
Background: Souami & Souchay (2012)
Souami & Souchay (2012) published the definitive modern determination of the solar system’s invariable plane, including ascending node longitudes for all planets. Their work provided:
- The invariable plane orientation at J2000: inclination 1°34’43.3” (
1.57869°) to the ecliptic, ascending node at 107°34’56” (107.582°). - Planetary inclinations to the invariable plane.
- Ascending node positions on the invariable plane for each planet.
These values form the foundation of the model’s invariable plane calculations. A systematic issue arises when combining S&S values with the model’s dynamic inclination framework.
The problem: epoch-specific vs mean inclinations
S&S ascending node values are calibrated to the J2000 epoch. The model uses mean inclinations (time-averaged over each planet’s full oscillation cycle) as the baseline for its dynamic inclination formula:
i(t) = i_mean + A × cos(ω̃_ICRF(t) - φ)Earth’s inclination illustrates the issue:
| Parameter | J2000 value | Mean value |
|---|---|---|
| Earth’s inclination | 1.57869° | 1.48113° |
| Difference | — | 0.098° |
Using Earth’s mean inclination in the geometric relationship between orbital planes, the original S&S ascending nodes produce ecliptic inclinations that deviate from observed JPL values. The ascending nodes need recalibration to work correctly within the mean-inclination framework.
The solution: J2000-verified ascending nodes
Four parameters suffice: any planet’s ecliptic inclination is fully determined by its invariable-plane elements (i_inv, Ω_inv) and Earth’s invariable-plane elements (i_Earth, Ω_Earth). The angle follows directly from spherical trigonometry:
cos(i_ecl) = cos(i_planet) · cos(i_earth) + sin(i_planet) · sin(i_earth) · cos(ΔΩ)where i_ecl is the ecliptic inclination (the angle between the planet’s orbit and Earth’s), i_planet and i_earth are the planet’s and Earth’s inclinations to the invariable plane, and ΔΩ is the difference in ascending node longitudes (planet minus Earth).
Epoch dependence: i_earth is not constant — it oscillates between ~0.845° and ~2.117° over the ~111,772-year inclination cycle. The calibration here uses the J2000 value, but the formula is valid at any epoch when the correct i_earth for that moment is used. This same geometric identity is the reason Earth’s changing orbital inclination directly affects obliquity: the ecliptic is Earth’s orbital plane, so every angle measured relative to it shifts with i_earth.
Since i_ecl is known from JPL observations and i_planet / i_earth from S&S, the ascending node difference ΔΩ is the only unknown:
cos(ΔΩ) = [cos(i_ecl) - cos(i_planet) · cos(i_earth)] / [sin(i_planet) · sin(i_earth)]The calibrated ascending nodes were computed using two independent methods — numerical optimisation (brute-force search: coarse ±10° in 0.01° steps, then fine ±0.1° in 0.0001° steps; script ) and analytical closed-form spherical trigonometry (arccos formula above; script ). The numerical method minimises the error between calculated and target ecliptic inclinations using dot products of orbital plane normal vectors; the analytical method solves the spherical triangle directly. Both produce identical results, confirming the geometric validity of the approach.
Results: calibrated ascending nodes
| Planet | S&S original (°) | J2000-verified (°) | Change (°) | JPL i_ecl target (°) | Verification error |
|---|---|---|---|---|---|
| Mercury | 32.22 | 32.83 | +0.61 | 7.0050 | < 0.0001° |
| Venus | 52.31 | 54.70 | +2.39 | 3.3947 | < 0.0001° |
| Earth | 284.51 | 284.51 | 0.00 | — | (reference) |
| Mars | 352.95 | 354.87 | +1.92 | 1.8497 | < 0.0001° |
| Jupiter | 306.92 | 312.89 | +5.97 | 1.3033 | < 0.0001° |
| Saturn | 122.27 | 118.81 | -3.46 | 2.4845 | < 0.0001° |
| Uranus | 308.44 | 307.80 | -0.64 | 0.7726 | < 0.0001° |
| Neptune | 189.28 | 192.04 | +2.76 | 1.7700 | < 0.0001° |
| Pluto* | 107.06 | 101.06 | -6.00 | 17.1600 | < 0.0001° |
*Pluto is a dwarf planet (IAU 2006), included for completeness; it does not participate in the model’s eight-planet balance laws.
Adjustments range from −6.00° (Pluto) to +5.97° (Jupiter). Mercury and Uranus need the smallest corrections (<1°); Jupiter the largest positive (+5.97°). All verified values reproduce JPL ecliptic inclinations to better than 0.0001°. Earth’s ascending node remains unchanged because Earth serves as the reference — the ecliptic is Earth’s own orbital plane.
Why this is not circular reasoning
A potential concern: are we simply fitting free parameters to match observations? No — the three inputs come from independent sources:
| Input | Source | Method |
|---|---|---|
| JPL ecliptic inclinations | Spacecraft tracking, radar ranging | Direct observation |
| S&S invariable plane inclinations | Angular momentum calculations | Theoretical derivation |
| Ascending node (solved) | Spherical trigonometry | Geometric determination |
The ascending node is not a free parameter — it is geometrically determined by the other two independently measured quantities. Given the planet’s tilt to the invariable plane and its tilt to the ecliptic, only one (or two, with a sign ambiguity) ascending node position is mathematically possible. The sign ambiguity is resolved by choosing the solution closest to the S&S original — a physically motivated choice since the S&S values are already close.
Verification scripts are publicly available. Anyone can verify these results by running ascending-node-verification.js (forward verification) and ascending-node-souami-souchay.js (comparison of S&S original vs verified accuracy).
Dynamic inclination: coupling ICRF perihelion to tilt
Each planet’s inclination on the invariable plane is directly coupled to its ICRF perihelion longitude (not its ascending node):
i(t) = i_mean + A × cos(ω̃_ICRF(t) - φ)ω̃_ICRF(t) = ω̃_J2000 + (360° / T_ICRF) × (t − 2000)— the precessing ICRF perihelion longitudeT_ICRF= ICRF perihelion period (ecliptic rate minus general precession H/13)A= inclination amplitudeψ / (d × √m)from Law 2φ= per-planet inclination cycle anchor (Earth ~21.77°, Saturn ~116.26°)
The ascending node also precesses on the invariable plane, at a different rate than the perihelion. Its role is to set the direction of each planet’s angular momentum perturbation vector — the quantity that determines the vector balance of the invariable plane. The ICRF perihelion longitude drives the inclination phase (the magnitude of the oscillation); the ascending node sets the direction in which that magnitude acts.
Each planet’s cycle anchor φ is the ICRF perihelion longitude at which it reaches its inclination extremum (MAX for in-phase planets, MIN for Saturn), set by the System Reset epoch (2,649,854 BC, n=7). The model has two balance groups: seven planets in-phase (cosine sign positive), Saturn alone anti-phase (cosine sign flipped). This 7+1 split enables the inclination balance (Law 3). The full anti-phase alignment occurs once per Solar System Resonance Cycle (8H). The cycle anchor for each planet is derived directly from its own ICRF perihelion longitude at the System Reset, ensuring full consistency between the inclination oscillation and the underlying perihelion dynamics.
Complete parameters
The Period column is the inclination oscillation period — equal to the planet’s ICRF perihelion period (T_ICRF). Earth is the sole prograde-in-ICRF planet; all other planets are retrograde in ICRF (their ecliptic rates are slower than the general precession H/13).
| Planet | Mean (°) | Amplitude (°) | J2000 (°) | T_ICRF (yr) | Ω₀ verified (°) |
|---|---|---|---|---|---|
| Mercury | 6.703206 | ±0.386477 | 6.3472858 | −28,844 | 32.83 |
| Venus | 2.151359 | ±0.062165 | 2.1545441 | −24,387 | 54.70 |
| Earth | 1.48113 | ±0.63603 | 1.57869 | +~111,772 | 284.51 |
| Mars | 1.833251 | ±1.164214 | 1.6311858 | −39,449 | 354.87 |
| Jupiter | 0.321086 | ±0.021404 | 0.3219652 | −41,270 | 312.89 |
| Saturn | 0.984965 | ±0.065192 | 0.9254704 | −15,873 | 118.81 |
| Uranus | 1.015182 | ±0.023831 | 0.9946692 | −33,532 | 307.80 |
| Neptune | 0.743803 | ±0.013551 | 0.7354155 | −26,825 | 192.04 |
Period ratios
The inclination oscillation periods (ICRF frame) derive from each planet’s ecliptic perihelion period via the subtractive Fibonacci relation (ICRF rate = ecliptic rate − general precession H/13). All ICRF periods are simple fractions of the 335,317-year Earth Fundamental Cycle (H):
| Ratio (ICRF) | Period (yr) | Planet |
|---|---|---|
| +H/3 | ~111,772 | Earth (sole prograde) |
| −8H/65 | 41,270 | Jupiter |
| −H/10 | 33,532 | Uranus |
| −8H/169 | 15,873 | Saturn |
| −2H/25 | 26,825 | Neptune |
| −8H/68 | 39,449 | Mars |
| −8H/93 | 28,844 | Mercury |
| −8H/110 | 24,387 | Venus |
Dual coordinate systems
The simulation tracks ascending nodes in two coordinate systems because height calculations require ecliptic-frame coordinates while long-term dynamics use inertial coordinates:
| Frame | Precession period | Application |
|---|---|---|
| ICRF (inertial) | ~111,772 years* | Long-term inclination oscillation |
| Ecliptic (precessing) | ~20,957 years* | Height above/below invariable plane |
*Periods shown are Earth’s (H/3 ICRF, H/16 ecliptic). Other planets have their own per-planet ICRF periods (see Complete Parameters table above). Earth itself is a special case for the ecliptic ascending node: it precesses at −H/5 (~67,063 years, ecliptic precession) rather than H/16 — see per-planet residuals below.
The relationship between the two rates follows from the precession meeting frequency:
1/P_ecliptic = 1/P_ICRF + 1/P_axial
1/~20,957 ≈ 1/~111,772 + 1/~25,794
The same relationship that produces the perihelion precession period from the axial and inclination precession periods — another manifestation of the model’s unified framework.
Ecliptic ascending node system
Separate from the invariable plane system, the model also tracks how ascending nodes shift on the ecliptic as Earth’s axial tilt (obliquity) changes:
dΩ/dε = -sin(Ω) / tan(i)where Ω is the ascending node longitude on the ecliptic, ε the obliquity, and i the orbital inclination to the ecliptic. As obliquity oscillates over the ~41,915-year cycle, the ecliptic itself tilts slightly, shifting where planetary orbits cross it. This is an ecliptic-frame effect that operates independently of the invariable plane node precession.
Geocentric vs heliocentric limitation: the formula above calculates how ascending nodes shift in Earth’s geocentric reference frame as obliquity changes — fundamentally different from JPL’s heliocentric gravitational precession rates. They measure different physical effects and are not directly comparable. The tan(i) denominator amplifies discrepancies for near-coplanar orbits: inner planets show reasonable agreement (~40%), but Uranus (21×) and Neptune (63×) diverge significantly. The model is appropriate for geocentric visualisation purposes. Full analysis: Ascending Node Calculation Limitations .
Observability of ascending node periods
The model assigns each fitted planet’s ascending-node precession period as 8H/N — a simple integer divisor of the Solar System Resonance Cycle (8H ≈ 2.68 Myr). These periods describe motion over 50,000–2,000,000 year timescales (Laskar’s measured eigenfrequencies fall in the same range). With only ~4,000 years of recorded astronomy, humanity cannot directly observe a complete cycle for any planet.
This creates an observability limitation: short-term measurements (≤200 years) cannot distinguish between:
| Scenario | Short-term motion | Long-term motion |
|---|---|---|
| Constant rate (single-mode) | Linear precession at one rate | Linear over thousands of years |
| Wobbling rate (multi-mode) | Effectively linear over 200 yr | Sum of 7 oscillations |
| Different period with same J2000 snapshot | Indistinguishable over 200 yr | Diverges over millennia |
Across all 7 fitted planets, the 8H/N integers reproduce JPL’s J2000-fixed-frame ascending-node trends with cumulative residual ~5.8″/century (≈0.8″/century per planet). Over observable timescales, different integer choices produce indistinguishable motion.
Per-planet residuals
The cumulative ~5.8″/century error is the sum of absolute per-planet residuals between the model’s 8H/N trend and the JPL-reported trend. Earth’s ascending node is set by formula at −H/5 (ecliptic precession period ~67,063 years, not a fitted parameter) and is excluded from the comparison.
| Planet | d | N | Period (yr) | Residual (″/cy) | Dir. |
|---|---|---|---|---|---|
| Mercury | 21 | 9 | -298,060 | 0.42 | ✓ |
| Venus | 34 | 1 | -2,682,536 | 3.18 | ✓ |
| Mars | 5 | 64 | -41,915 | 0.20 | ✓ |
| Jupiter | 5 | 36 | -74,515 | 0.06 | ✓ |
| Saturn | 3 | 36 | -74,515 | 1.74 | ✓ |
| Uranus | 21 | 11 | -243,867 | 0.14 | ✓ |
| Neptune | 34 | 3 | -894,179 | 0.01 | ✓ |
| Total | ~5.8 | 7/7 |
Most residuals are well below 1″/century. Venus (3.2″/cy) and Saturn (1.7″/cy) dominate the cumulative error; together they account for ~5 of the ~5.8″/cy total. The remaining five planets each contribute <0.5″/century. All 7 fitted planets match the JPL-reported direction of motion (Dir. ✓).
The scalar balance is what’s verifiable: Laws 3 and 5 (inclination + eccentricity balance) operate on the J2000 snapshot — testable with current data. The ascending node dynamics, like Earth’s eccentricity cycle predictions, are theoretical extrapolations that will only be observationally testable on much longer timescales.
Verification and reproducibility
All calibration work is fully reproducible through publicly available scripts:
| Script | Purpose | Location |
|---|---|---|
| ascending-node-optimization.js | Numerical optimisation of ascending nodes | GitHub |
| analytical-ascending-nodes.js | Analytical (closed-form) verification | GitHub |
| ascending-node-verification.js | Forward verification of calibrated values | GitHub |
| ascending-node-souami-souchay.js | Comparison: S&S original vs verified | GitHub |
| inclination-optimization.js | Inclination mean/amplitude optimisation | GitHub |
| inclination-verification.js | Inclination parameter verification | GitHub |
Return to Invariable Plane or explore Formulas for the complete formula set.