Methodology
Panchanga computation
All five angas are computed at sunrise for the selected location using the Swiss Ephemeris with Lahiri ayanamsa. End times are found by bisection on the relevant astronomical quantity — Sun–Moon elongation for tithi, Moon longitude for nakshatra, combined longitude for yoga. All times are shown in the location’s local timezone.
The five limbs of the panchanga all reduce to the positions of the Sun and Moon at a single moment. SahiKundli derives each one from those positions directly rather than reading it from a precomputed table, so the same engine works for any date and any place on Earth.
Sidereal positions, anchored at sunrise
Positions come from the Swiss Ephemeris (built on the JPL DE441 ephemeris), which gives tropical longitudes to sub-arcsecond accuracy. SahiKundli subtracts the Lahiri ayanamsa to convert these to sidereal longitudes — the frame classical Jyotisha uses — applying the correction manually for full control over the value.
Everything is evaluated at the moment of sunrise, the traditional start of the Vedic day, computed for the requested latitude and longitude (New Delhi by default). The tithi and karana follow the Sun–Moon elongation; the nakshatra follows the Moon’s longitude; the yoga follows the sum of the two longitudes; and the vara is the civil weekday of that sunrise.
End times by bisection
Each anga ends when its driving quantity crosses a fixed boundary: a tithi at each 12° of elongation, a nakshatra at each 13°20' of Moon longitude, a yoga at each 13°20' of the combined longitude. Over the short window after sunrise these quantities rise steadily, so the crossing time is located by bisection — repeatedly halving the interval against live positions — rather than interpolated from a table. The result is accurate to the second.
The same root-finding identifies the new moons that bound a lunar month, which is how SahiKundli determines the amanta month name and detects an adhika (leap) month — when no solar sankranti falls between two successive new moons.
Why it is reported this way
A panchanga value is specific to a place and a moment, so every time is shown in the location’s own timezone, and every anga is shown with the time it ends. Surfacing the boundary avoids the false precision of a single “today’s tithi” label when a tithi may begin or end at any hour — the same discipline SahiKundli applies to the rest of the chart: show the calculation, not only the conclusion.