[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