Tantrakulam · TKS Ephemeris
JPL reference states · Independent Rust computation · Apparent astronomy · Sidereal astronomy · N-body dynamics
Precomputed deep-time astronomical baseline for instantaneous Pañcāṅga and celestial-event lookup.
TKS EPHEMERIS
│
DE440 / DE441 (reference states)
│
Independent Rust SPK · apparent place · ecliptic · sidereal
│
┌──────────────┴──────────────┐
│ │
LIVE COMPUTATION BASELINE CATALOGUES
│ │
│ ┌──────────┼──────────┐
│ │ │ │
│ Eclipse Pañcāṅga Planetary
│ │ │ │
│ 162,200 ~64.4M rāśi-ingress
│ events transitions + Besselian
│
└──────────────┬──────────────┘
│
FAST API / CLI
│
Pañcāṅga / Web
| Encoding | per-transition u32 minute deltas + u8 index; header = magic · kind · first-index |
| Clock | minutes since J2000.0 UT (ΔT baked at build) |
| Granularity | one file per kind — tithi · karaṇa · nakṣatra · yoga · saṅkrānti · ayana · phases · planets' rāśi · conjunctions |
| Lookup | binary search (partition_point) → O(log n) per query, no scan |
| Build | range split across threads → per-chunk grid → merge → sort |
| Reproduce | live engine recomputes any entry from DE441 + TKS ayanāṃśa |
| Sun | 322 km | Venus | 316 km |
| Mercury | 324 km | Mars | 469 km |
| Earth | 414 km | Jupiter | 382 km |
| Moon | 2205 km | Saturn | 336 km |
| Uranus | 1223 km | Neptune | 5805 km |
| Pluto | 7299 km |
| Moon | 12° | Venus | 8° / 10° |
| Mercury | 12° / 14° | Jupiter | 11° |
| Mars | 17° | Saturn | 15° |
| Solar eclipses | 71,440 |
| Lunar eclipses | 72,728 |
| Total events | 162,200 |
| Coverage | −13000 … +17189 · ~30,189 yr |
| Per event | time · type · magnitude · Saros · Pañcāṅga · contacts · ΔT · Besselian elements · greatest point + path width |
| HTTP query · 100 yr | 17 ms |
| HTTP query · 500 yr | 83 ms |
| HTTP query · 1,000 yr | 166 ms |
| HTTP query · 3,000 yr | 490 ms |
| CLI reader · 1,000 yr | 0.31 s |
| CLI live scan · 1,000 yr | ~5 s |
| Full rebuild · 30,189 yr | ~197 s |
| Solar eclipses compared | 11,898 |
| Lunar eclipses compared | 12,064 |
| Saros number | 0 mismatches |
| Type | 0 true mismatches (hybrid/grazing classified separately) |
| Solar γ | mean 0.0003 R⊕ · max 0.0022 R⊕ |
| Lunar γ | mean 0.0003 R⊕ · max 0.0022 R⊕ |
| Solar magnitude | mean 0.0022 · max 0.067 |
| Lunar magnitude | mean 0.0034 · max 0.008 |
| Modern greatest-eclipse timing | sub-second … ~2 s |
| Solar central-path width | mean ~2.6 km · max ~24 km |
| Tithi | 11,201,578 |
| Karaṇa | 22,403,156 |
| Nakṣatra | 10,896,492 |
| Yoga | 11,711,565 |
| Saṅkrānti | 362,254 |
| Rāśi ingress · 7 bodies | 6,223,581 |
| Ayana · equinox/solstice | 120,756 |
| Moon phases | 1,493,544 |
| Total transitions | ~64.4M |
| Warm · limbs + rāśi + ayana + phase | ~2.7 ms |
| Cold · first call (loads 315 MB) | ~0.9 s |
| Catalogue on disk | 315 MB |
| Build · 14 threads | P1 61 min + P2 15 min |
| Approach | Status |
|---|---|
| Tide-generating force a ∝ 2GM·R/d³ | live · Moon §14 |
| Equilibrium tide η = A·(3cos²z − 1)/2 | live · Moon §14 |
| External marine model (Mumbai) | §14b · Open-Meteo Marine / FES |
| Own ocean modelling (bathymetry, resonance) | planned / offline |
| Check | Result |
|---|---|
| TKS SPK vs jplephem (DE421 · DE440 · DE441) | position ≤ 1.1 m · velocity ≈ 10⁻¹⁰ km/s |
| Check | Result |
|---|---|
| Apparent astronomy vs Skyfield | ICRF RA/Dec ≈ 0.046″ · ecliptic λ/β ≈ 0.047″ |
| Time scale vs xalen | tests 8/8 · Δ = 0 s |
| 1 year | 0.02 s | |
| 20 years | 0.08 s | ~690 % CPU |
| 200 years (CE 2026–2226) | 0.64 s | ~760 % CPU |
| 200 years BCE (3139 BCE, Ujjain) | 0.81 s | ~770 % CPU |
| /v1/tks/ephemeris | ≈ 8 ms |
| /v1/tks/heliacal | ≈ 39 ms |
| /v1/tks/eclipses (1 yr) | ≈ 0.23 s |
| Language & safety | Native Rust · zero-FFI SPK/DAF evaluator |
| Reference states | DE440 / DE441 (NASA/JPL, independent reader) |
| Live deep-time (in DE coverage) | ±15,020 yr (DE441), O(1)/query |
| Beyond DE coverage | Engine B N-body · live ±20 yr near-edge · offline batch can extend to millions of years |
| Million-year calendar | Engine B offline reconstruction — N-body batch runnable beyond 1,000,000 yr; uncertainty grows. Guardrail: --max-years (default 15,000) |
| Concurrency | Native multi-thread (std::thread::scope), measured 690–770 % CPU |
| Dynamics | 11-body N-body · DOPRI5 · EIH 1PN · J2–J6 · C22/S22 |
| Validation (own) | SPK ≤ 1.1 m · ≈ 0.047″ vs Skyfield · Δ = 0 s vs xalen |
| Bodies | Sun · Moon · Mercury · Venus · Mars · Jupiter · Saturn · Earth · Pluto |
| Points | mean & true lunar nodes (Rāhu/Ketu) · ascendant (lagna) |
| Upagrahas | Aprakāśa (Dhūma · Vyatīpāta · Pariveṣa · Indracāpa · Upaketu) · Kālavelā (Gulika/Māndi · Kāla · Mṛtyu · Ardhaprahara · Yamaghaṇṭaka) |
| Pañcāṅga | tithi · vāra · nakṣatra · yoga · karaṇa · rāśi · saṅkrānti |
| Muhūrta | Rāhu-kāl · Yamaghaṇṭa · Gulika · Abhijit · Chaughadiya · Bhadrā |
| Eclipse | solar / lunar · local circumstances · full 30,189-yr baseline catalogue (144,168 events) + live scan |
| Heliacal | udaya / asta per planet · Agastya (Canopus) |
| Sidereal | TKS Ayanāṃśa (true Chitrā) · Lahiri · Sūrya-siddhānta |
| Span | Compute | CPU |
|---|---|---|
| 1 year | 0.02 s | — |
| 20 years | 0.08 s | ~690 % |
| 200 years (CE) | 0.64 s | ~760 % |
| 200 years BCE (3139 BCE, Ujjain) | 0.81 s | ~770 % |
| Endpoint | Latency |
|---|---|
| /v1/tks/ephemeris | ≈ 8 ms |
| /v1/tks/tithi | ≈ 20 ms |
| /v1/tks/heliacal | ≈ 39 ms |
| /v1/tks/sun-year | ≈ 68 ms |
| Aspect | Engine A — SPK/DAF | Engine B — N-body |
|---|---|---|
| Source | JPL DE440 / DE441 reference states | 11-body integration from a DE epoch |
| Method | Chebyshev record evaluation, O(1)/query | DOPRI5 · EIH 1PN · J2–J6 · C22/S22 |
| Validity | ±15,020 yr (DE441) | live ±20 yr near DE edge · offline to millions of years |
| Speed | ≈ 8 ms/request · eclipse 1 yr 0.02 s | eclipse 1 yr ≈ 0.35 s (offline) |
| Best for | Everyday ephemeris & Pañcāṅga in coverage | Outside coverage, deep time, self-tests |
| Uncertainty | Bounded by the JPL fit | Grows with span (long-horizon reconstruction) |
| DE441 reference coverage (Engine A) | −13,202 … +17,191 |
| Eclipse baseline catalogue | −13,000 … +17,189 · 30,189 yr |
| Pañcāṅga transition catalogues | −13,000 … +17,189 · 30,189 yr |
| Engine B live band | ±20 yr near DE edge |
| Engine-B reconstruction | > 10⁶ yr experimental |
| SPK reproduction | ≤ 1.1 m |
| Apparent vs Skyfield | ≈ 0.047″ |
| Time scale vs xalen | Δ = 0 s |
| TKS Ayanāṃśa vs Lahiri | ≈ 57.7″ (definition) |
| System | Value | Δ vs TKS | Zero-epoch |
|---|---|---|---|
| TKS Ayanāṃśa (dynamic Chitrāpakṣa) computed | 24.216901° | baseline | ≈ 312 CE |
| Lahiri (ICRC-1956) our model | 24.232929° | +57.7″ | 285 CE† |
| KP / KPNA‡ | ≈ 24.238–24.242° | +~1.3–1.5′ | 291 CE‡ |
| B.V. Raman‡ | ≈ 22.79–22.82° | −~1.4° | 389 CE‡ |
| Classical bodies | Sun · Moon · Mercury · Venus · Mars · Jupiter · Saturn |
| Extra | Earth · Pluto |
| Nodes | mean + true Rāhu / Ketu |
| Upagrahas | Dhūma · Vyatīpāta · Pariveṣa · Indracāpa · Upaketu · Gulika/Māndi · Kāla · Mṛtyu · Ardhaprahara · Yamaghaṇṭaka |
| Lagna | ascendant + whole-sign bhāvas |
| Stars | Spicā (ayanāṃśa reference) · named-star catalogue |
| SPK evaluation | validated |
| Time conversion | validated |
| Light-time | iterative |
| Aberration | included (relativistic) |
| Solar deflection | included |
| Precession | IAU 2006 |
| Nutation | IAU 2000B |
| ΔT | model-dependent |
| UT1 | observational |
| Ayanāṃśa | model-dependent |
| Lunar dynamics (Engine B) | engine-dependent |
| Δt (yr) | Earth/EMB | Mercury | Venus | Mars | Jupiter | Saturn | Uranus | Neptune | Pluto |
| 10 | 1.4 | 9.7 | 1.7 | 0.78 | 0.30 | 0.10 | 0.03 | 0.01 | 0.01 |
| 100 | 13.7 | 49.8 | 17.7 | 9.4 | 2.1 | 1.1 | 0.57 | 0.54 | 0.28 |
| 1000 | 137 | 420 | 176 | 88 | 23 | 14 | 7.5 | 3.9 | 5.4 |
| 10000 | 1321 | 7027 | 1778 | 840 | 274 | 125 | 70 | 39 | 20 |
| Δt (yr) | Earth/EMB | Mercury | Venus | Mars | Jupiter | Saturn | Uranus | Neptune | Pluto |
| 100 | 16 | 101 | 0.5 | 0.02 | 0.01 | 0.00 | 0.01 | 0.04 | 0.02 |
| 1000 | 166 | 8557 | 53 | 0.4 | 0.09 | 0.04 | 0.15 | 0.58 | 0.51 |
| 10000 | 1777 | 5105 | 5446 | 6.4 | 0.09 | 0.60 | 1.3 | 1.8 | 0.63 |