فایدیم

حرف

فایدیم

حرف

The Persian calendar for 3000 years

1.  Rules of the Persian calendar

The Persian or Jalaali calendar is officially used in Iran and surrounding areas. It is a solar calendar closely following the astronomical seasons, thus requires the knowledge of exact times of the vernal (Spring) equinox.

The rules of the Jalaali calendar are quite simple. Years of 12 months are reckoned from the era of the Hijra, commemorating the migration of the Prophet and his followers from Mecca to Medina in AD 622. A Jalaali year begins on the first day of astronomically determined spring or on the day following it according to whether the exact moment of the equinox occurs before or after, respectively, 12:00 of the Teheran mean time. The first 6 months all have 31 days and the last 6 manths all have 30 days in leap years. In common years the last month has 29 days. Thus every season is associated with three consecutive months.

As expected, roughly every fourth year in the Persian calendar is the leap one. This is the well known regularity in solar calendars. However, normally after every 32 (sometimes after 28 or 36) years follows an extra common year making four consecutive 365-day years instead of the usual three. Currently the leap years go smoothly in the 33-year cycles and specifically they are those years that after dividing by 33 leave a remainder of 1, 5, 9, 13, 17, 22, 26 and 30. E.g., the Jalaali year 1375 that begun on March 20, 1996 has the remainder of 22 and thus is the leap year. These rules are implemented in the so called Khayam program of Ali Moayedian and Mash Cheragh-Ali, which is available on the Internet. Unfortunately this simple behaviour will not last indefinitly and the 33-year cycle is sure to break sometimes. Hossein Bagherzadeh Rafsanjani in his introduction to the program suggests that a break may occur `early in the next century Hijra' and that the program should be correct until early 2050's of Gregorian calendar. It is the purpose of this paper to determine exactly how long the above rule of remainders will be valid and to establish the rules for the Jalaali calendar as far into future as is presently practical.

2.  Astronomical background

In general, to determine if a Persian year is leap or common it is necessary to find the date and time of the vernal equinox at the beginning of that year and at the beginning of the next year. To this end I have employed an analytical theory of the motion of the Earth around the Sun (Bretagnon et al.1986), which is accurate to about 2˘˘ in the angular coordinates of the Sun as viewed from the Earth. The theory has been used in a converging process to find the Terrestrial Time (TT or Ephemeris Time) of the epoch at which the celestial longitude of the Sun equalled 0. The TT of the equinox has been then converted to the Universal Time (UT1) using past estimates, measurements, and future predictions of the difference DT = TT - UT1 = 32.184 - (UT1 - TAI), where TAI is the atomic time scale of BIPM. For past years and far future predictions I have used essentially tabular data and formulae of Stephenson and Morrison (1984):

DT = ě
ď
í
ď
î
(44.3t + 320)t + 1360
for   y < 948
25.5t2
for   948 Ł y < 1637
25.5t2 - 36
for   y > 2005
(here the last expression has an extra -36 s to ensure a smooth transition from tabular data), where t = (y - 1800)/100, y is the Julian year, and DT is obtained in seconds. The most recent tabular data and predictions until 2006 were taken from IERS Annual Reports and the USNO archives available on Internet.

In Table I we present partial list of vernal equinoxes given in the Universal Time that might be of general interest. As a final step, the mean time of Teheran has been calculated by adding its geographic longitude, 3.425 hours, to the UT1 of the equinoxes.

Table I: Vernal equinoxes 1900 – 2099

 Year  Day UT1       Year  Day  UT1   Year Day UT1 Year Day UT1
 AD  Mar  [h:m]     AD  Mar  [h:m] AD Mar [h:m] AD Mar [h:m]

 1900  21  1:39     1950  21  4:35       2000 20 7:35       2050 20 10:19
 1901  21  7:24     1951  21  10:26   2001 20 13:31 2051 20 15:58
 1902  21  13:16     1952  20  16:13   2002 20 19:16 2052 19 21:55
 1903  21  19:15     1953  20  22:01   2003 21 1:00 2053 20 3:46
 1904  21  0:58     1954  21  3:53   2004 20 6:48 2054 20 9:33
 1905  21  6:58     1955  21  9:35   2005 20 12:33 2055 20 15:28
 1906  21  12:53     1956  20  15:21   2006 20 18:25 2056 19 21:10
 1907  21  18:33     1957  20  21:16   2007 21 0:07 2057 20 3:07
 1908  21  0:28     1958  21  3:05   2008 20 5:48 2058 20 9:04
 1909  21  6:13     1959  21  8:55   2009 20 11:44 2059 20 14:44
 1910  21  12:03     1960  20  14:43   2010 20 17:32 2060 19 20:38
 1911  21  17:54     1961  20  20:32   2011 20 23:21 2061 20 2:25
 1912  20  23:29     1962  21  2:30   2012 20 5:14 2062 20 8:07
 1913  21  5:18     1963  21  8:20   2013 20 11:01 2063 20 13:59
 1914  21  11:11     1964  20  14:10   2014 20 16:57 2064 19 19:38
 1915  21  16:51     1965  20  20:05   2015 20 22:45 2065 20 1:27
 1916  20  22:47     1966  21  1:52   2016 20 4:30 2066 20 7:19
 1917  21  4:37     1967  21  7:37   2017 20 10:28 2067 20 12:53
 1918  21  10:26     1968  20  13:22   2018 20 16:15 2068 19 18:48
 1919  21  16:19     1969  20  19:08   2019 20 21:58 2069 20 0:44
 1920  20  21:59     1970  21  0:56   2020 20 3:49 2070 20 6:34
 1921  21  3:51     1971  21  6:38   2021 20 9:37 2071 20 12:34
 1922  21  9:48     1972  20  12:21   2022 20 15:33 2072 19 18:20
 1923  21  15:29     1973  20  18:13   2023 20 21:24 2073 20 0:13
 1924  20  21:21     1974  21  0:06   2024 20 3:06 2074 20 6:08
 1925  21  3:12     1975  21  5:57   2025 20 9:01 2075 20 11:46
 1926  21  9:01     1976  20  11:50   2026 20 14:45 2076 19 17:38
 1927  21  14:59     1977  20  17:42   2027 20 20:24 2077 19 23:30
 1928  20  20:44     1978  20  23:33   2028 20 2:16 2078 20 5:10
 1929  21  2:35     1979  21  5:22   2029 20 8:01 2079 20 11:00
 1930  21  8:30     1980  20  11:10   2030 20 13:51 2080 19 16:43
 1931  21  14:06     1981  20  17:03   2031 20 19:40 2081 19 22:34
 1932  20  19:54     1982  20  22:55   2032 20 1:21 2082 20 4:31
 1933  21  1:43     1983  21  4:39   2033 20 7:22 2083 20 10:10
 1934  21  7:27     1984  20  10:24   2034 20 13:17 2084 19 15:59
 1935  21  13:18     1985  20  16:14   2035 20 19:03 2085 19 21:53
 1936  20  18:57     1986  20  22:03   2036 20 1:02 2086 20 3:35
 1937  21  0:45     1987  21  3:52   2037 20 6:49 2087 20 9:28
 1938  21  6:43     1988  20  9:39   2038 20 12:40 2088 19 15:16
 1939  21  12:28     1989  20  15:28   2039 20 18:31 2089 19 21:06
 1940  20  18:24     1990  20  21:19   2040 20 0:11 2090 20 3:02
 1941  21  0:21     1991  21  3:02   2041 20 6:06 2091 20 8:41
 1942  21  6:10     1992  20  8:48   2042 20 11:52 2092 19 14:33
 1943  21  12:03     1993  20  14:41   2043 20 17:27 2093 19 20:34
 1944  20  17:48     1994  20  20:28   2044 19 23:20 2094 20 2:21
 1945  20  23:37     1995  21  2:15   2045 20 5:07 2095 20 8:15
 1946  21  5:33     1996  20  8:03   2046 20 10:57 2096 19 14:02
 1947  21  11:13     1997  20  13:55   2047 20 16:52 2097 19 19:48
 1948  20  16:57     1998  20  19:54   2048 19 22:33 2098 20 1:40
 1949  20  22:48     1999  21  1:46   2049 20 4:28 2099 20 7:17

A full list of equinoxes comprising the years AD 550 to 3800, referred to the Teheran time has been used to identify the leap years of the Jalaali calendar. The pattern of leap years is quite regular: they come every 4 years in groups of 28, 32 or 36 years with each group supplemented with an extra common year. Usually these are 32+1 year groups and the few occasional exceptions, called here breaks, can be used in a practical procedure to reconstruct the entire sequence of leap years. In Table II the Jalaali years represent the first year (leap) of a new cycle (mostly the 33-year cycle) after a break (i.e. after the 4-th common year closing the 28 or 36 year group).

Table II: The years of the Gregorian calendar (Gy) that mark the end of a 29- or 37-year period which breaks the 33-year rule validity. Around 20 March Gy ends the 4th common year and begins the Jalaali leap year Jy

Gy  Jy            Gy   Jy           Gy  Jy           Gy  Jy 

560  -61   1307  686 1831 1210 2883 2262
630  9   1377  756 2256 1635 2945 2324
659  38   1439  818 2681 2060 3015 2394
820  199   1732  1111 2718 2097 3077 2456
1047  426   1802  1181 2813 2192 3799 3178

As can be seen from Table II, the 33-year cycle operates continuously between 1831 and 2256. Closer examination shows that in fact it operated from 1799, since 1831 marks just the end of the 29-year period, and would not appear here if the previous break would fall four years earlier. This is thus the time span of validity of the Khayam algorithm. There is however a possibility that it will not be as good as that and the upper limit may fall on AD 2124. I shall return to this question when discussing errors.

3.  Algorithm for the Jalaali calendar

The proposed algorithm is based on the described list of the breaking years in which the fourth common Jalaali year occurs after 28 or 36 (and not 32) years of 4-year periods since the previous occurence of four common years in succession. During 3000 years there are only about 20 such breaking years, and they allow for an easy reconstruction of a complete sequence of Jalaali leap years.

To determine whether a Jalaali year is common or leap, one finds the number, say N, of years that have passed since the last breaking year of Table II. With one exception, the year of interest is leap if -1 plus the remainder of (N + 1)/33 is evenly divisible by 4, or

lp = MOD[MOD(N + 1,33) - 1,4]
equals 0, where MOD is the operation of finding the remainder when the first argument is divided by the second. The exception concerns the case when the year of interest lies within 5 years of the following breaking year. In this case instead of N + 1 above the value of N + 1 ± 4 must be used, where the + sign is chosen if the cycle, where the considered year belongs, is 29-year long, and the - sign otherwise (i.e. with the 37-year long cycle).

Using the integer arithmetic this algorithm reduces to just two FORTRAN lines (apart of searching the list for the required breaking years). For the common years the remainder of division by 4, i.e. lp, tells how many years have passed since the last leap year. E.g. the remainder of 1 (2 or 3) means that the leap year was the previous one (2 or 3 years ego). Obviously, it is also possible to tell whether the considered year is the 4-th common one. The case occurs when N + 1 (or N + 1 ± 4 if it is the exceptional situation), is evenly divisible by 33.

To relate the Jalaali calendar to the Gregorian one it is necessary to find the number of leap years since an initial epoch in both these calendars. In the Jalaali calendar, the number of leap years between two adjacent break years of Table II, say between yi and yj is

lj = 8 INT(Nj/33) + INT[MOD(Nj,33)/4]
where Nj = yj - yi and INT is the function taking the integral part of the evaluated argument. The numbers lj must be summed until yj remains smaller than the year in question. Then the sum must be increased by
8 INT(N/33) + INT{[MOD(N,33) + 3]/4} + k,
the number of leap years since the last break year. Here k is 1 only when the considered year lies 4 years before the following breaking year (yj) and the current group is 37 year long; otherwise it is 0.

This algorithm has been encoded in the FORTRAN integer arithmetic subroutine (Table III) JalCal(Jy,leap,Gy,March), which for a given Jalaali year Jy returns information on the leap year in the leap variable, which assumes values 0 to 4, as described above. The routine returns also the Gregorian date of the first day of the Jalaali year in the variables Gy (Gregorian year) and March (day of March). Thus it can be directly used to relate the beginning of the Persian calendar for any year within about 3000 years to the Gregorian calendar.

Table III:

       subroutine JalCal(Jy,leap,Gy,March)
c This procedure determines if the Jalaali (Persian) year is 
c leap (366-day long) or is the common year (365 days), and 
c finds the day in March (Gregorian calendar) of the first 
c day of the Jalaali year (Jy)
c Input:  Jy - Jalaali calendar year (-61 to 3177)
c Output:
c   leap  - number of years since the last leap year (0 to 4)
c   Gy    - Gregorian year of the beginning of Jalaali year
c   March - the March day of Farvardin the 1st (1st day of Jy)
       integer breaks(20),Gy
c Jalaali years starting the 33-year rule
       data breaks/-61,9,38,199,426,686,756,818,1111,1181,
     *   1210,1635,2060,2097,2192,2262,2324,2394,2456,3178/
       Gy=Jy+621
       leapJ=-14
       jp=breaks(1)
       if(Jy.lt.jp.or.Jy.ge.breaks(20)) print'(a,i5,a,i5,a)',
     *' Bad year number:',Gy,' Gregorian   =',Jy,' Jalaali'
c Find the limiting years for the Jalaali year Jy
       do 1 j=2,20
       jm=breaks(j)
       jump=jm-jp
        if(Jy.lt.jm) go to 2
       leapJ=leapJ+jump/33*8+MOD(jump,33)/4
1      jp=jm
2      N=Jy-jp
c Find the number of leap years from AD 621 to the beginning 
c of the current Jalaali year in the Persian calendar
       leapJ=leapJ+N/33*8+(MOD(N,33)+3)/4
        if(MOD(jump,33).eq.4.and.jump-N.eq.4) leapJ=leapJ+1
c and the same in the Gregorian calendar (until the year Gy)
       leapG=Gy/4-(Gy/100+1)*3/4-150
c Determine the Gregorian date of Farvardin the 1st
       March=20+leapJ-leapG
c Find how many years have passed since the last leap year
       if(jump-N.lt.6) N=N-jump+(jump+4)/33*33
       leap=MOD(MOD(N+1,33)-1,4)
       if(leap.eq.-1) leap=4
          end

Such a procedure can be employed for full date conversion from the Persian calendar if we note that until the Jalaali date m (month) and d (day)

31(m - 1) - (m - 7) INT(m/7) + d
days have elapsed since the beginning of any Jalaali year.

Practical programs were written and tested for convertion of Jalaali calendar, first into the Julian Day number (JD), and then into the Gregorian or Julian calendar, and also for reverse conversion of these calendars to the Persian one. The following procedures in FORTRAN serving this purpose are available from the author (see this complete coversion program listing and the DOS executable):

  • function Jal2JD(Jy,m,d) — converts the Jalaali calendar date to the Julian Day number at the mean Greenwich noon (12:00 UT1),
  • function JG2JD(JGy,m,d,1/0) — converts the Julian/Gregorian date to the Julian Day number,
  • subroutine JD2Jal(JDN,Jy,m,d) — converts the Julian Day number to the Jalaali calendar date,
  • subroutine JD2JG(JDN,JGy,m,d,1/0) — converts the Julian Day number to the Julian/Gregorian date.

    4.  Error discussion

    Due to approximate nature of the ephemeris the results of the equinox time may be in error of about 1 minute of time. Uncertainty of DT adds to the error of the final result. This parameter is very well known from direct observations only back to about AD 1630.

    Table IV: Critical years in the Jalaali calendar most likely to alter the sequence of breaking years. The first four columns give Gregorian date in March, the Teheran mean time (in hours and minutes) of the vernal equinox, and the value of DT = TT - UT1. Then there is the day in March of the first day of the Jalaali year (Farvardin the 1st) and the year itself. The last column shows possible additions (+) to and subtractions (-) from the breaking years list of Table II.

    Year Day of Teheran DT 1st Jalaali    Effect of
    AD March time [min] Farv. year     actual error

     626 21 12:00.4 61.8 22 5   -9      -38
     659 21 11:56.6 57.9 21     38 -38      +71
     886 20 11:57.7 35.6 20   265 +269    +298
    1113 21 11:58.5 20.0 21   492 +496    +525
    1373 20 12:01.3 7.7 21   752 -756    +789
    2124 20 12:00.3 3.9 21 1503 +1503  +1540
    2322 21 11:58.0 11.0 21 1701 +1705  +1734
    2681 20 11:59.6 32.4 20 2060 -2060  -2097
    2780 20 12:04.8 40.2 21 2159 +2159  -2192
    2813 20 11:56.3 43.0 20 2192 -2192  +2225
    2846 20 11:59.1 45.9 20 2225 +2229  -2262
    2879 20 12:03.5 48.9 21 2258 -2262  +2295
    2912 20 12:03.3 52.0 21 2291 +2291  -2324
    3011 21 12:00.9 61.7 22 2390 -2394  +2427
    3044 20 12:02.2 65.2 21 2423 +2423  -2456
    3176 20 11:56.7 79.9 20 2555 +2559  +2588
    3209 20 11:59.9 83.8 20 2588 +2592  +2621
    3370 20 12:11.0 104.2 21 2749 +2749  +2786
    3473 20 11:48.2 118.4 20 2852 +2856  +2885
    3502 21 12:10.4 122.5 22 2881 +2881  +2918
    3634 20 12:04.5 142.4 21 3013 +3013  +3050
    3667 20 12:03.8 147.6 21 3046 +3046  +3083

    The past breaking years, as being purely astronomical and based on contemporary knowledge, may not coincide with the actual Jalaali calendar, used then for astronomical purposes only. Also, the future breaking years of Table II may disappear altogether or new ones will have to be introduced depending on real rotation of the Earth (the behaviour of the DT value). The most critical years are listed in Table IV, where the date in March (Gregorian calendar) and the predicted Teheran mean time are given along with the assumed DT value. The table contains all the cases that the equinox time is removed from 12:00 Teheran time by less than (1 + DT/10) minutes, where the 1 minute is due to uncertainty of the equinox determination and the other term is intended to account for 10% error in DT (an ad hoc error estimate). The Jalaali years indicated in Table IV are leap years if the equinox time is less than 12:00, otherwise the previous year is leap. The expected change to be introduced to the list of breaking years in case the actual equinox time shifts across the noon point (12:00) due to combined effect of the ephemeris error and a change in DT, is shown in the last column of this table.

    It will be noted, that the discussed change affects only the year in question (shifting it by one day relative to e.g. Gregorian calendar) and the last day of the previous Jalaali year. Thus the algorithm in the form presented may lose its validity only for some of the future Jalaali years given in Table IV. In the worst case, if my estimates of DT are systematically low, the 10 critical years with equinox greater than 12:00 of that table may drop to less then 12:00 and thus the corresponding Jalaali years would shift by one day into the previous year, themeselves becoming the leap years. Should the DT be systematically high instead, there would be only 7 future years of Table IV endangered by an opposite shift.

    2124 is the nearest doubtful year. The Teheran times of the vernal equinox indicate that in this year the 1503 Jalaali year starts on 21 March and not on 20 March just because the calculated equinox time was only about one third of a minute past 12:00 (see Table IV). Thus if DT will be greater by some 20 seconds than predicted in this analysis, this year will become an additional breaking point to be added to the presented algorithm along with another one 37 years later (1540 Jalaali).

    References

    Bretagnon P., Simon J.L., Laskar J., 1986, J. Hist. Astron., 17, 39 50
    McCarthy D.D., Babcock A.K, 1986, Phys. Earth Planet. Interiors, 44, 281
    Stephenson F.R., Morrison, L.V, 1984, Phil. Trans. Roy. Soc. London, A313, 47
     
    Kazimierz M. Borkowski  )
  • نظرات 0 + ارسال نظر
    برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
    ایمیل شما بعد از ثبت نمایش داده نخواهد شد