§1The Lahiri ayanamsa
Chakra converts tropical planetary positions to sidereal ones using the Lahiri (Chitrapaksha) ayanamsa — the reference adopted by India’s Calendar Reform Committee (1952–55) and used by most widely followed Indian panchangs, so our tithi and nakshatra boundaries stay in line with what people already expect to see.
The exact formula our code runs
ayanamsa(d) = 23.863782° + years_since_J2000 × (50.29380″ ÷ 3600)
A linear precession model, least-squares fit to drikpanchang.com’s own published Lahiri series (accurate to within 0.003″ across the fitted span — no quadratic term is needed across Chakra’s 2020–2100 range).
Where schools diverge
This anchor sits roughly 41.6″ from the Swiss-Ephemeris Lahiri value (23.85222° at J2000) — expected, since Chakra pins to drikpanchang’s published series rather than Swiss Ephemeris’s. Other lineages diverge further still: Krishnamurti (KP) by roughly 5′, B.V. Raman by roughly 1°27′. Chakra does not switch ayanamsa per tradition — it flags known temple variances as ayanamsa offsets rather than arithmetic error.
§2The astronomical engine
Planetary and lunar positions come from the VSOP87 / ELP series, as implemented by the astronomy-engine library (MIT). The full ephemeris for the covered years is evaluated once, at build time, and baked into static pages — nothing is computed when you load one. Accuracy is on the order of one arc-minute for the Sun and Moon over this period, comfortably enough to place tithi and nakshatra transitions to the correct minute. Chakra does not use the Swiss Ephemeris.
§3Sunrise, sunset & moonrise
Sunrise and sunset use the NOAA solar-position algorithm, at the standard geometric zenith of 90.833° (90° + 34′ atmospheric refraction + 16′ solar semi-diameter) rather than the moment the Sun’s geometric centre crosses the horizon. Moonrise and moonset follow Meeus, Astronomical Algorithms, chapter 47, iterated for the Moon’s faster motion. Both are computed for the exact latitude, longitude and elevation of the city you pick — never a single national reference point.
§4Tithi at sunrise, kshaya & vriddhi
All five angas — tithi, nakshatra, yoga, karana and vaara — are reported as the value prevailing at local sunrise. This is the convention drikpanchang.com and most Indian almanacs use: the tithi “of the day” is whichever one is running when the Sun rises, even if it changes an hour later. Because a tithi’s true duration runs anywhere from 19 to 26 hours, it doesn’t always touch dawn cleanly:
Kshaya (omission)
A short tithi that begins after one sunrise and ends before the next never touches a dawn — so it is skipped entirely from the civil-day sequence, though it did occur in the sky.
Vriddhi (extension)
A long tithi present at two consecutive sunrises is observed on both calendar dates — the same tithi reported two days running.
§5Why dates differ by city
A tithi’s boundary is an absolute instant in the sky — but sunrise is local, set by latitude, longitude and elevation. So the tithi “at dawn” can differ by city on the very same calendar date. These aren’t invented numbers: it’s what Chakra actually computed for Thursday, 17 September 2026, the date this page was last built.
| City | Local sunrise | Tithi at sunrise |
|---|---|---|
| New Delhi, Delhi · India | 6:06 am (UTC+5:30) | Shashthi |
| Chennai, Tamil Nadu · India | 5:58 am (UTC+5:30) | Shashthi |
| Dubai, Dubai · United Arab Emirates | 6:05 am (UTC+4) | Shashthi |
| London, England · United Kingdom | 6:38 am (UTC+1) | Saptami |
Today, that split is visible directly: the running tithi turned over between two of these cities' sunrises, so their dawns land on different sides of the boundary. Neither is wrong — each is reading the same sky from its own horizon.
§6Masa & regional reconciliation
Adhika (intercalary) months are detected and flagged; monthly vrats still resolve inside an adhika masa, while other festivals fall in the corresponding nija (regular) month, matching common practice.
Amanta vs. purnimanta
The lunar month is indexed amanta (new-moon to new-moon) as Chakra’s primary scheme; the purnimanta name — full-moon to full-moon, the convention in much of the Hindi-speaking north — is shown as a relabel of the same underlying month, not a separate calculation.
Smarta vs. vaishnava ekadashi
Vrat dates default to the smarta / viddha rule — the day the required tithi is present at the relevant reference time, rather than simply the day it first touches sunrise. This matches the majority of vrat listings on drikpanchang. Where a tradition splits, Chakra follows the smarta list.
§7The five limbs, formalized पञ्चाङ्ग
Each limb is a continuous angle, cut into equal arcs by modular arithmetic. These are the classical definitions — the same ones that place a moment inside the lunisolar calendar.
Vaara
The solar day
Tithi
Lunar phase elongation
Nakshatra
Lunar mansion
Yoga
Sun + Moon angle
Karana
Half-tithi
- Vara वार
- the weekday, one of seven
- Tithi तिथि
- the moon's day — 1 to 15 in each fortnight, waxing or waning
- Nakshatra नक्षत्र
- the lunar mansion the moon sits in, one of 27
- Yoga योग
- a sun-plus-moon angle, one of 27
- Karana करण
- half a tithi, one of eleven repeating
§8How accuracy is checked
A golden-fixture suite runs on every change: it rebuilds the full almanac, checks New Delhi’s panchang against drikpanchang.com, and sweeps festival dates across 2024–2030 against the same source. A wrong date fails the build — it never ships.
§9Known limitations
Chakra’s festival resolver matches drikpanchang’s New Delhi dates exactly for the current reference year and for the large majority of a 2024–2030 cross-check. A small set of dates — about sixteen festival-years, each off by at most one day — differ because they need a finer classical test than the current rules implement:
Bhadra-aware shifts
Holika Dahan, and in some years Raksha Bandhan, move off any day whose relevant window falls in the Bhadra karana. Chakra does not yet implement a Bhadra-aware selector, so in those years it can land a day early.
Two-evening pradosh tiebreaks
When the deciding tithi covers the evening (pradosh) on two consecutive days, some years' Diwali and Dhanteras take the second evening; Chakra's current selector takes the first.
Holi
Read directly from the tithi at sunrise on Chaitra Krishna Pratipada, without coupling to the preceding Holika Dahan evening — off by a day in 2024, 2025 and 2027.
Nishita proxy
Janmashtami and Maha Shivratri properly depend on the tithi at true solar midnight (nishita). Chakra approximates that with the post-sunset window, off by a day where the two disagree.
Viddha edge cases
A few dates — some years of Karva Chauth, Ram Navami, Rath Yatra — sit on a near-even split between two candidate days.
Pitru Paksha
Not yet listed as its own entry. The resolver handles observances keyed to a single tithi moment or a fixed day-count; Pitru Paksha is a sixteen-day span between two tithis, which it doesn't yet model.
These edges are tracked and corrected over time. For the authoritative, continuously updated dates — including per-city timings — use the Chakra app.
§10Coverage & corrections
Dates are available for 2020 through 2100. Time-zone conversions use the IANA time-zone database, so historical and future DST rules apply per city.