SSM-JTK – Ephemeris-independent planetary kernel (1.3)

Two-family kernel (same evaluator).
t0 = midpoint of the calibration strip
t = days since t0
wrap360(x) = x - 360*floor(x/360)

(A) fixed-n kernel (e.g., Moon, outer planets).
L(t) = wrap360( a0 + n*t + sum_j [ c_j*sin(w_j*t) + d_j*cos(w_j*t) ] )
n = 360 / P_sid
w_j = 2*pi / P_j (small set: synodic, annual, slow sidereal)

(B) free-n kernel (e.g., Sun, Mercury, Venus, Mars).
L(t) = wrap360( a0 + n*t + sum_j [ c_j*sin(w_j*t) + d_j*cos(w_j*t) ] )
n = n_deg_per_day (a learned slope stored in the manifest)

Nodes (identity).
Ketu(t) = wrap360( Rahu(t) + 180 )

Event primitives (detectors at evaluation time).
dL(t) = wrap360( L(t) - L(t-1) + 180 ) - 180 (shortest-arc step in [-180, 180))
cusp@t iff floor(wrap360(L(t-1))/30) != floor(wrap360(L(t))/30)
station@t when sign(dL(t)) flips with |dL(t)| near zero

Kernel guarantees.

  • Determinism: pure function of (manifest, t); no hidden state or network.
  • One-wrap rule: apply wrap360 exactly once at the end of the angle chain.
  • Prev-day convention: ingress is recorded on the previous day after year-boundary normalization.
  • Bounded snap: when aligning event lists, a +-1 day snapper may be used only to resolve a clear neighbor mismatch (never beyond +-1).
  • Time-reversible: same formula projects past and future.

Navigation
Back: SSM-JTK – Concept & Guarantees (1)
Next: SSM-JTK – Conservative fit & model selection (1.4)