I have been writing my own ephemeride program for my own interest. However, I encounter a problem when I use it to generate Chinese lunisolar calendar. While the program succeeds to produce the Chinese calendar for year 1929-2043 correctly (verified against official ones), it fails for year 1979. In particular, what's the exact time of Dahan [en.wikipedia.org] (大寒; major cold) in year 1979?
By definition, the major cold begins when the apparent longitude of the sun (with respect to the mean equinox) reaches 300°. (Is this definition correct?) To find out the exact answer, we can refer to some accurate ephemeride such as the JPL Horizons On-Line Ephemeris System that makes use of DE405/DE406/DE413, which are generally considered the most accurate ephemerides to date.
Examine the apparent longitude of the sun of every minute (in Terrestrial Time) on 20th Jan 1979, we can find that:
By doing a parabolic interpolation with five tabular values, we can find that the longitude turned 300° at 1979-Jan-20, 16:00:45.712 TT (Terrestrial Time). At that time, the value of Delta-T [en.wikipedia.org] (= UT - TT) is 50.184s. Thus, the event happened at 1979-Jan-20, 15:59:55.528 UT (Universal Time). Note that the absolute difference of UT and UTC (Coordinated Universal Time) is no more than 0.9s. Therefore, in Beijing of China, which is within the UTC+8 time zone, the event happened no later than 1979-Jan-20, 23:59:57.
However, from many resources on Chinese lunisolar calendar I have checked, the Dahan for year 1979 fell on Jan-21 00:00 --- less than one minute but also one day later than the calculation above! Why is there such a discrepancy? More findings about this issue:
I have not found an explanation to the discrepancy. I need it to solve the problem in my own ephemeride program. Is there anything wrong in my calculation? Tell me if you know, thanks!