[Remind-Fans] orthodox easter (pascha) calculation. tested and NOT working.
James Miller
gajs-f0el at dea.spamcon.org
Thu Jun 1 12:13:22 EDT 2017
Hi. The subject field of this note is taken in large part (excepting the
word NOT) from a post made to this list back in spring of 2015. The thread
initiator was gino-aerografia. I was happy to run across his original post
under the subject line "orthodox easter (pascha) calculation. tested and
working.," and even happier when I tried out his code and it seemed to
work for the year 2018. By "seemed to work" I mean that it showed orthodox
easter and associated celebrations on their correct dates in an annual
calendar I produced by running remind output through rem2ps. I did
discover and implement the corrections he made in a couple of subsequent
posts, btw.
But as I further tested his code, I discovered that, in most cases, it was
not working. The first indication there was a problem was that my
scheduling program of choice--wyrd--was throwing up error messages, once
I'd added gino-aerografia's code to my reminders file, to the effect
'Error in reminders file: "/home/user/reminders.rem(35): date(): Bad date
specification.' I would later discover that this was because, although his
code worked for producing a calendar for the year 2018, it was not working
for the current year--for calendar year 2017. In fact, his code seemed to
produce a valid calendar of the sort I was trying to generate only about
once every 2 or 3 years in my attempts: 2012, 2015, 2018, and 2020 were
successful but 2002, 2003, 2009, 2016, 2017, and 2019 were not. In the
latter case, I would get a long string of
annual-cal.rem(11): date(): Bad date specification
annual-cal.rem(13): Undefined variable: pas_d
annual-cal.rem(15): Undefined variable: Easterdate
annual-cal.rem(16): Undefined variable: Easterdate
annual-cal.rem(17): Undefined variable: Easterdate
annual-cal.rem(18): Undefined variable: Easterdate
annual-cal.rem(19): Undefined variable: Easterdate
annual-cal.rem(20): Undefined variable: Easterdate
annual-cal.rem(21): Undefined variable: Easterdate
annual-cal.rem(22): Undefined variable: Easterdate
annual-cal.rem(23): Undefined variable: Easterdate
annual-cal.rem(24): Undefined variable: Easterdate
annual-cal.rem(25): Undefined variable: Easterdate
annual-cal.rem(26): Undefined variable: Easterdate
annual-cal.rem(27): Undefined variable: Easterdate
annual-cal.rem(28): Undefined variable: Easterdate
annual-cal.rem(29): Undefined variable: Easterdate
annual-cal.rem(30): Undefined variable: Easterdate
annual-cal.rem(31): Undefined variable: Easterdate
annual-cal.rem(32): Undefined variable: Easterdate
annual-cal.rem(33): Undefined variable: Easterdate
annual-cal.rem(34): Undefined variable: Easterdate
annual-cal.rem(35): Undefined variable: Easterdate
annual-cal.rem(36): Undefined variable: Easterdate
annual-cal.rem(37): Undefined variable: Easterdate
annual-cal.rem(38): Undefined variable: Easterdate
annual-cal.rem(39): Undefined variable: Easterdate
annual-cal.rem(40): Undefined variable: Easterdate
annual-cal.rem(41): Undefined variable: Easterdate
when trying to produce an annual postscript calendar. And no orthodox
easter or any other related entries appeared in the resulting annual
postscript calendar: the code was clearly not working in those cases.
So, something appears to be wrong with gino-aerografia's code. And,
unfortunately, my rather modest technical/mathematical acumen does not
suffice for identifying where the problem(s) may lie. In case anyone on
this list might be able to help identify and remedy any issues, I will
paste below the corrected code offered by gino-aerografia back in 2015.
# orthodox easter calculation
SET cal_d 44-((((year(today())-2)%19)*11)%30)
IF cal_d <= 20
SET pas_d date(year(today()),04,cal_d)+11
ELSE
SET pas_d date(year(today()),03,cal_d)+11
ENDIF
SET Easterdate evaltrig("Sunday",pas_d)
Though I understand rather poorly what this code is doing, had it worked
more reliably, I was going to pose a question to the author about whether
his code takes into account the date of the Jewish Passover. From what I
can get out of his code, it seems to me it does not (I would expect
something like hebdate to play some role, were an attempt being made to
determine the relation of easter to Passover). The occurrence of that
latter celebration can be a decisive factor in determining the date of
orthodox easter, since long-standing convention stipulates that the date
of easter should fall after the date of the Jewish Passover (more
accurately speaking, after 14 Nisan). 14 Nisan can shift significantly from
year to year since the calendation system within which it occurs is a
mostly lunar calendar that stipulates regular insertion of intercalary
months. And there have certainly been cases within my memory where
orthodox easter was moved to a subsequent Sunday so as to ensure easter
was preceded by 14 Nisan. The Roman Catholic determination for the date of
easter, on the other hand, takes no account of the date of Passover and
its relation to easter, and gino-aerografia seems to have relied as well
on a formula that did not take account of 14 Nisan (he remarked "Method
used is the same one greek orthodox church uses to translate julian's cal.
days")
Stated in simplest possible terms, in case it will be helpful, the
orthodox determine the date of easter as follows: it should fall on the
first Sunday after the first full moon that follows the vernal
equinox--provided that Sunday is subsequent to 14 Nisan. If it is not
subsequent, easter is moved to a following Sunday that is. It also needs
to be taken into account that the date of the vernal equinox is calculated
by the orthodox based on the Julian calendar. March 21st on that calendar
corresponds to April 3rd on the Gregorian calendar now widely used: so
yes, the real, celestial vernal equinox does not actually occur on the
Julian calendar's March 21st, which goes to explain why the date of what
is sometimes called "western easter"--a date calculated with reference to
the occurrence of the actual vernal equinox as tied to March 21st on the
modern, Gregorian calendar--can differ by a month and more from the date
of orthodox easter.
So a corrected formula would identify the first full moon subsequent to
April 3rd and test whether the Sunday immediately following that full moon
precedes 14 Nisan. If it does not precede, but rather follows, 14 Nisan,
then that is the date of orthodox easter for that year. If it precedes 14
Nisan, then the next Sunday should be likewise tested. And so forth, until
the appropriate Sunday is identified. Though I have not tried to work out
how the chronological relationship between the two celebrations has played
out historically, I assume it would be quite exceptional for orthodox
easter to have to be shifted ahead by more than one Sunday owing to 14
Nisan.
Input on developing a better scheme--if that will even be possible--for
determining, using remind, date of orthodox easter, will be appreciated.
More information about the Remind-fans
mailing list