Calendar Data Collection

Over the past seven years, I have collected Khmer calendar printouts. I thought that after collecting it for a few years, I would find a pattern and be able to formulate an algorithm to describe the calendar. I was far off the mark. As my understanding of the Khmer calendar system improved, I found it more mysterious. I talked to a few people who may have knowledge concerning the calendar but they implied that only the Horas know how the system works. Hora in this case refers to the astronomer not the fortuneteller.

Process

Khmer calendar printouts are not always correct. There is no clear source for an authoritative calendar. Sometimes calendars from different temples differ from each other. Therefore the religious holidays do not always coincide.

I collected my calendar resources in Long Beach, CA. I collected 16 calendar printouts that span 10 years. From these calendars, I attempted to find possible errors. After I was confident that my data was correct, I then mapped out each year. This gave me a mapping of the Khmer calendar dates from 1996 to 2005, including the interpolation I made for 2001 since I did not have the data. I determined which years were leap-month or leap-day years. I also included some comparisons to old Hindu lunisolar calendar leap years from Dershowitz and Reingold's book.

My goal is to find a pattern to identify which years are leap-month or leap-day years (year with extra month or extra day). Given that I have a rough idea that a leap-month year occurs every 2 to 3 years I thought that the data would be sufficient. Unfortunately I was not able to find any conclusive results.

The following table shows data I compiled from the calendar printouts.


Table 1: List of years with leap-day and leap-month from the calendar printouts.

Finding more Khmer calendar printouts proved to be difficult. So my next approach is to try mapping out more years manually. In order to do this I need to have some certainty that the new data is correct. Fortunately, I found four dates that I know both from the Khmer calendar and the Gregorian calendar. These are birthdates in 1975, 1978, 1982, and 1983. Assuming that those dates were correct, I attempted to extrapolate the data from 1995 back to 1975.

As I further uncovered more background on lunisolar calendars, I found access to moon phase data. I also have some references to Khmer text indicating that Khmer New Year (usually April 13 or 14) must fall between certain Khmer months. This helped me to identify the leap years with the extra month. Also, the data on moon phases helped me to line up the Khmer dates more accurately.

With the resources above, I came up with the following criteria to extrapolate the data.

  1. Khmer New Year occurs between two dates in Khmer calendar (4 Keit of Chaet and 4 Keit of Vesak).
  2. Moon phase data synchronize with Roaj and Keit dates. This allows for a good probability of determining the leap-day year. The Roaj and Keit dates should line up with the moon phases as described in the day section above with the error range no more than one day.

With those findings, I was able to map out 31 years (1975-2005) with a certain degree of confidence. Now, I can start to look for patterns.

Metonic Cycle

In order to find the pattern we need to identify a cycle. A well-known cycle is called Metonic cycle. The Metonic cycle, discovered by a Greek astronomer Meton, synchronizes the solar and lunar year. He found that every 19 years the lunar and solar calendar coincided.

In fact, 235 lunar months (19 years) is 6939.6884 days while 19 Tropical years is 6939.6018 days. With 19 lunar years, we can have 7 leap months thus (19 years * 12 months/year) + 7 months is 235 months.

I found a reference claiming that Thai calendar follow the Metonic cycle but not as a rule. Since Khmer and Thai use the same system, I attempted to follow up on this. However, I rejected the relevancy of this cycle early on because Khmer calendar has one whole day increment. Since 6939.60 days is not close to a whole day, the synchronization will be off by 0.6 days every 19 years.

But if I attempt to use the Metonic cycle for Khmer calendar, these would be the calculations:

12 years * 354 days = 6726 days
7 leap month * 30 days = 210 days
Need another 3 extra days = 3 days
So for 19 years, it would sum up to 7 leap-months and 3 leap-days. This comes out to be 6939.0 days. Thus this cycle generates over one half day error every 19 years.

By looking at the pattern, I found that the Metonic cycle sequence seems to exist in Khmer calendar. I was able to find the Metonic sequence (3, 6, 8, 11, 14, 17, and 19) by starting at the year 1978. This cycle fits well on all of my data for leap-month years.

For leap-day years, I cannot use the Metonic cycle sequence number since it is already used for the leap-month year. But if I use Metonic cycle as a cycle, I should find that leap-day years repeat every cycle. The Metonic numbers for leap-day year are 1, 4, and 10. The cycle seems to match well with the existing data.


Table 2: List of leap years corresponds to Metonic cycle. The Metonic cycle number in bold face indicates leap-month years. Year in AD with gray background indicates data from calendar printouts. Years with light gray background are extrapolated from a known date. R stands for Roaj and K stands for Keit. They represent day of the month where 1K is the first day of the month and 1R is sixteenth day of the month.

This cycle by itself does not take into account the fact that 19 years in Khmer calendar is about 0.688 day shorter than the 19 lunar years. So we need additional rules to compensate for the shortage. This may be done manually by Horas who observe the moon phases to determine if it is the leap-day year for every 30 years. For the time being, I will make an educated guess for adding leap days. The cycle found for Khmer calendar above is shorter than the actual lunar cycle by about 0.6884 days every 19 years or 0.0362 days per year. An equivalent ratio, 17/494, which is 0.0344, is fairly close to use since 494 is a multiple of 19. By having 17 leap-day years every 494 years, we need to have 3 leap-day years every 4 Metonic cycles, or 18 leap-day years per 494 years. To get 17, we just subtract one leap-day year every 494 years. By extrapolating from the Metonic cycle described above, I found that the year 2015 AD will miss the moon phase completely if one of the previous years is not a leap-day year (shown in table below). Thus, we can add the first leap-day year on Metonic number 15, 16 or 18. I chose 15 (2011 AD) since the Khmer date seems to begin to misalign with the moon phase. Updates:This turned out to be incorrect assumption since 2009, the calendar shown to be a leap-day year. So I need to move back 2 years. This changes the Metonic number from 15 to 13.


Table 3: List of projected Metonic cycles and Khmer leap years. Note that the Hindu Day above is the day of the month in Hindu lunisolar calendar at January 1. Notice the equivalent to the Khmer day. It typically varies within 1 day. From the correction above, 2009 should be a leap-day year and 2011 has no leap.

Although I do not have enough concrete data to show multiple cycles of the Metonic cycles, the extrapolated data from 2006 to 2016 supports the use of Metonic cycle in Khmer calendar. In addition, running this method over 1000 years, I found that the date still matches with the moon phase.

Next: Computer Algorithm >>


|   Table of Content   |   Khmer Calendar Tools   |