Computed sky · Meghnad Chitnis
Finding the exact moment a tithi turns
Two ephemeris rows an hour apart, a lunar day ending between them, and the crossing located by interpolation, then checked against printed almanac times.
Two ways in. The gist assumes you have never met any of this before.
Every 12 degrees the Moon gains on the Sun ends a tithi (तिथि), the lunar day an Indian almanac counts by, and each of those endings is a single instant shared by the whole earth. Printed sheets round that instant to the nearest minute. This page locates one of them, the end of the full-moon tithi of August 2026, to the nearest second, out of two lines of an ephemeris and one division.
Start with the quantity the whole calculation turns on. The elongation of the Moon is the Moon's longitude minus the Sun's:
elongation = Moon's longitude − Sun's longitude
taken as a number between 0 and 360. It is 0 at new moon. It grows through the month as the Moon pulls ahead, reaches 180 at full moon, and comes back to 0. Each of those two longitudes is a position measured along the ecliptic, the line the Sun appears to walk through the year, counted in degrees from a common zero and running all the way round to 360.
Two things about that definition matter before we use it.
It is a difference of longitudes and not the angle you would measure between the two bodies in the sky. Longitude is one coordinate of two. The Moon also stands a little above or below the ecliptic, and on this morning it was about 28 arcminutes north of it, so at the instant its elongation reached exactly 180 the Moon and the Sun were 179° 32′ apart in the sky rather than 180. The calculation does not care. It is defined on the longitudes alone.
And it does not depend on where anybody puts their zero. Sidereal longitudes are tropical longitudes with the ayanāṃśa (अयनांश) subtracted, and subtracting the same offset from both bodies leaves the difference between them untouched. So this is one number in the whole panchang that comes out identical whichever ayanamsha the software was built on, which is worth noticing given how much else that choice moves.
Twelve degrees of elongation, then, make one tithi, and 30 tithis fill the 360 degrees of a lunar month. A tithi ends whenever the elongation crosses a multiple of twelve: 12, then 24, then 36, and so on round. The 15th crossing is 180, which ends pūrṇimā (पूर्णिमा), the full-moon tithi, and which is also the instant astronomers call full moon. One event, two names.
Here are two rows out of an ephemeris, an hour apart, for the morning of 28 August 2026:
| Universal Time | Moon | Sun |
|---|---|---|
| 04:00 | 334.7376 | 154.8895 |
| 05:00 | 335.2698 | 154.9297 |
Those are apparent geocentric longitudes for the date, read off the Horizons service at NASA's Jet Propulsion Laboratory, and any careful ephemeris gives the same values to the last digit printed. Somewhere between the two lines a tithi ends. The work is to say when, to the nearest second, using those four numbers and nothing else.
So subtract, row by row.
At 04:00, 334.7376 − 154.8895 = 179.8481.
At 05:00, 335.2698 − 154.9297 = 180.3401.
The number 180 lies between them. Purnima ends inside that hour.
Splitting the hour
In that hour the gap grew by 180.3401 − 179.8481 = 0.4920 degrees. That is 29.5 arcminutes, and the Moon's own apparent width that morning was 30.6 arcminutes. The Moon gains on the Sun by about one moon-width an hour, all month, every month, which is a useful thing to carry in your head.
At 04:00 the gap still had 180 − 179.8481 = 0.1519 degrees left to grow. That is 9.11 arcminutes.
Assume for a moment that the gap grows at a steady rate across the hour. Then the share of the hour used up before the crossing is one distance divided by the other:
0.1519 ÷ 0.4920 = 0.3087
and 0.3087 of 60 minutes is 18.52 minutes, which is 18 minutes 31 seconds.
Add that to 04:00: 04:18:31 Universal Time. Indian Standard Time runs five and a half hours ahead, so 09:48:31 on the clock in Delhi, or in Chennai, or anywhere else keeping the same clock. The tithi turns once, for the whole earth, and only the name of the hour changes from place to place.
That is the entire method. Draw a straight line between two rows and find where it crosses the number you want. It has a name, linear interpolation, and it was once somebody's living. The first Nautical Almanac, published in 1766 for the year 1767, printed the Moon's distance from the Sun and from a list of bright stars every three hours of Greenwich time. Everything between those rows was the navigator's own arithmetic, done on a heaving deck, to find out where he was.
Checking it against print
The navigator had nothing to check his arithmetic against. Sitting still at a desk, I have two checks, and neither costs anything. Drik Panchang and Prokerala, two widely used online panchangs, both computed for Delhi, print purnima as ending at 9:48 in the morning. My line lands inside that minute.
A second check comes from outside the almanac trade altogether. Elongation 180 is the definition of full moon, so any published table of lunar phases is quietly reporting the same instant. The phase tables put the full moon of August 2026 at 04:18 Universal Time on the 28th. That is my minute again, arrived at by people who were not thinking about tithis at all.
Which day then carries the name of that tithi is a separate rule and not mine: it is the sunrise test Priya sets out in full, and the boundary time computed here is what that rule takes as its input.
What the answer is actually worth
Take the sources of error one at a time, in rising order of what each costs.
Start with the straight line, since that was the assumption. Bring in a third row: at 03:00 the elongation was 179.3566. So the gap grew 0.4915 degrees in the first hour and 0.4920 in the second. The gap is opening faster, by five ten-thousandths of a degree per hour per hour. Fit a curve through the three points instead of a line through two, and the crossing moves to 18 minutes 31.9 seconds. Stepping the ephemeris a minute at a time to find the crossing directly gives 18 minutes 32.0 seconds. The straight line was half a second early, and the third row recovered nearly all of it.
Then the printing. I worked with four decimal places of a degree. A ten thousandth of a degree is 0.36 arcseconds, and at this rate of gain one arcsecond of elongation is worth about two seconds of clock, so the rounding in the table can move the answer by most of a second on its own. The final digit of 04:18:31 was never mine to claim.
Now the one that bites. What happens when the two rows are further apart? A printed ephemeris usually gives one row a day, at midnight, and that is what most people actually have in front of them. Here they are:
| Universal Time | Elongation |
|---|---|
| 27 Aug, 00:00 | 166.2416 |
| 28 Aug, 00:00 | 177.8846 |
| 29 Aug, 00:00 | 189.7668 |
Run the same straight line through the last two. The gap needs 2.1154 degrees more and grows 11.8822 degrees across the day, so the crossing falls 0.1780 of a day after midnight, which is 04:16:22. That is 2 minutes and 10 seconds early. Fit the curve through all three rows and it comes back to 04:18:30, within two seconds of the truth.
A straight-line guess gets worse roughly with the square of the gap between the rows. That is why widening the gap from an hour to a day turns an error of a fraction of a second into an error of a couple of minutes. The arithmetic did not change. Only the spacing did. If your rows are a day apart, the third row is not a refinement, it is the difference between a right answer and a wrong one.
The ephemeris itself is not the limit here. Modern lunar positions are known far better than an arcsecond, which is to say better than two seconds of clock at this rate, and that sits under the rounding I have already accepted.
The limit is the last item, and it is not arithmetic at all. Published sheets round to the minute, and two sheets do not always round to the same minute. On a boundary three days before this one the same two panchangs print 6:20 and 6:21 for a tithi ending that my working puts at 6:21:21. A minute is small. It is also larger than everything above it added together. I do not know which convention the two publishers differ on, and I am not going to guess at it in print.
So the honest form of the answer is this. Purnima ended at 09:48:32 Indian Standard Time on 28 August 2026, and I will defend that to a second or two against anyone doing the same sum. I will not defend the seconds against a printed sheet, because the printed sheet is not offering any.
There was a second instant in that morning worth setting beside this one. The Moon passed through the earth's shadow, and the eclipse tables put greatest eclipse at 4:12:49 Universal Time, close to five and three quarter minutes before the tithi turned. The two numbers differ because they are answers to different questions. Greatest eclipse asks when the Moon came nearest the middle of the shadow, which needs both coordinates and cares very much that the Moon was 28 arcminutes off the ecliptic. The tithi asks one question with one coordinate in it, and the 28 arcminutes are none of its business.
Twice a week
Essays like this one, Tuesdays and Saturdays. One email per essay, and the archive is never mailed out. Subscriptions open shortly; the RSS feed is live now.
Nothing else arrives, ever.