Vaisnava Events Calculation in GCAL

 

This is the summary of calculation of the vaisnava events in the GCAL program. Algorithms are described "as they are" implemented in program and are not for definition of particular event in vaisnava calendar.

 

Contents

 

Calendar Calculation

 

1 Calendar Calculation

Calendar calculation is always performed on given range of dates <date1, dateN>. Calculation is done in phases. For one phase is performed specific calculation for whole range of dates.

 

Phases:

- calculation of tithi, paksa, naksatra, yoga

- calculation of masa

- calculation of dvadasi

- calculation of ekadasi

- calculation of ekadasi parana (breaking fast)

- calculation of appearance days

- calculation of depending appearance days

- resolution of fasting days

- calculation of sankrantis

- calculation of events depending on sankrantis

- calculation of exact time for ksaya tithis

- correction of calculated times according DST

 

1.1 Calculation of tithi, paksa, naksatra, yoga

This calculation is described in document "Astronomical Calculations in GCAL". Preformed for each and every day in range.

1.2 Calculation of masa

Process of this calculation is described in document "Astronomical Calculations in GCAL". Masa is calculated only for pratipat tithi (two times in month). All next days up to Purnima or Amavasya Tithi have the same masa. If pratipat tithi is ksaya, then masa is calculated for dvitiya tithi. If pratipat tithi is vriddhi, then masa is calculated for first day of tithi.

1.3 Calculation of dvadasi

This tests are performed only for days when today's tithi is Dvadasi and yesterday's tithi is less than Dvadasi (Ekadasi or Dasami).

 

test1.3.1

if today is GauraDvadasi and naksatra_test is successful

then this day1 is Naksatra Mahadvadasi

otherwise perform next test

 

test 1.3.2

if today is Dvadasi and tomorrow is Dvadasi and yesterday is Suddha Ekadasi

then this day1 is VYANJULI MAHADVADASI

otherwise perform next test

 

test 1.3.3

if today is Dvadasi and next pratipat or amavasya tithi is vriddhi (last 2 days)

then this day1 is PAKSAVARDHINI MAHADVADASI

otherwise perform next test

 

test1.3.4

if today is Dvadasi and yesterday on arunodaya is less than ekadasi

then today is Dvadasi suitable for Fasting

 

Naksatra test:

 

Today

Tomorrow

Today Mahadvadasi

Sunrise

Sunset

Sunrise

Naksatra

Tithi

Naksatra

Tithi

Naksatra

Tithi

Sravana

Gaura Dvadasi

-

-

Sravana

-

Vijaya

Punarvasu

Gaura Dvadasi

-

Gaura Dvadasi

Punarvasu

-

Jaya

Rohini

Gaura Dvadasi

-

Gaura Dvadasi

Rohini

-

Jayanti

Pusyami

Gaura Dvadasi

-

Gaura Dvadasi

Pusyami

-

Papa nasini

 

 

 

Table 1 sumarizes decision logic for Dvadasi day.

 

Yesterday
(arunodaya)

Yesterday
(sunrise)

Today
(sunrise)

Tomorrow
(sunrise)

Today Fast

-

less than dvadasi

gaura dvadasi

-

if naksatra_test is positive, then result is related Mahadvadasi

ekadasi

ekadasi

dvadasi

dvadasi

today is Vyanjuli Mahadvadasi

-

less than dvadasi

dvadasi

-

here performed tests for next full or new moon: if vriddha then Paksavardhini Mahadvadasi

less than ekadasi

less than dvadasi

dvadasi

-

Today Fast for Ekadasi

 

1.4 Calculation of ekadasi

This calculation is performed only for Ekadasi Tithi days.

That means we are testing day1, which is Ekadasi Tithi.

 

Table 2 shows decision table for determining type of Ekadasi.

 

Yesterday
(arunodaya)

Yesterday
(sunrise)

Today
(arunodaya)

Today
(sunrise)

Tomorrow
(sunrise)

Today Fast

-

-

dasami

ekadasi

-

not suitable for fast

ekadasi

ekadasi

ekadasi

ekadasi

trayodasi

Unmilani Trisprsa Mahadvadasi

ekadasi

ekadasi

ekadasi

ekadasi

dvadasi

Unmilani Mahadvadasi

not ekadasi

-

ekadasi

ekadasi

trayodasi

Trisprsa Mahadvadasi

-

-

ekadasi

ekadasi

ekadasi

not suitable for fast (tomorrow is Unmilani)

-

-

ekadasi

ekadasi

some mahadvadasi

not suitable for fast

not ekadasi

-

ekadasi

ekadasi

dvadasi

Suddha Ekadasi

 

 

1.4.1 Calculation of ekadasi parana

 

There are 7 types of Ekadasi day and related parana time.

 

1. Normal - fasting day has ekadasi at sunrise and dvadasi at next sunrise.

 

2. Viddha - fasting day has dvadasi at sunrise and trayodasi at next sunrise, and it is not a naksatra mahadvadasi

 

3. Unmilani - fasting day and previous day has ekadasi at sunrise.

 

4. Vyanjuli - fasting day has dvadasi at both sunrises, and it is not a naksatra mahadvadasi.

 

5. Trisprsa - fasting day has ekadasi at sunrise and trayodasi at next sunrise.

 

6. Jayanti/Vijaya - fasting day has gaura dvadasi and Rohini/Sravana naksatra at sunrise and same naksatra at next sunrise.

 

7. Jaya/Papanasini - fasting day has gaura dvadasi and Punarvasu/Pusya naksatra at sunrise and same naksatra at next sunrise.

 

Case 1: Normal

 

If dvadasi tithi ends before 1/3 of daylight

   then PARANA END = TIME OF END OF TITHI

but if dvadasi TITHI ends after 1/3 of daylight

   then PARANA END = TIME OF 1/3 OF DAYLIGHT

 

if 1/4 of dvadasi tithi is before sunrise

   then PARANA BEGIN is sunrise time

but if 1/4 of dvadasi tithi is after sunrise

   then PARANA BEGIN is time of 1/4 of dvadasi tithi

 

if PARANA BEGIN is before PARANA END

   then we will write "BREAK FAST FROM xx TO yy

but if PARANA BEGIN is after PARANA END

   then we will write "BREAK FAST AFTER xx"

 

Case 2: Viddha

 

If trayodasi tithi ends before 1/3 of daylight

   then PARANA END = TIME OF END OF TITHI

but if trayodasi TITHI ends after 1/3 of daylight

   then PARANA END = TIME OF 1/3 OF DAYLIGHT

 

PARANA BEGIN is sunrise time

 

we will write "BREAK FAST FROM xx TO yy

 

Case 3: Unmilani

 

PARANA END is end of Dvadasi tithi or 1/3rd of daylight hours, whichever is

earlier

 

PARANA BEGIN is sunrise

 

We write "BREAK FAST FROM xx TO yy

 

Case 4: Vyanjuli

 

PARANA BEGIN = Sunrise

 

PARANA END is end of Dvadasi tithi or 1/3 of daylight hours, whichever is earlier

 

we will write "BREAK FAST FROM xx TO yy

 

Case 5: Trisprsa

 

PARANA BEGIN = Sunrise

 

PARANA END = 1/3 of daylight hours

 

we will write "BREAK FAST FROM xx TO yy

 

Case 6: Jayanti/Vijaya

 

If the dvadasi tithi is present at sunrise and the naksatra ends before the dvadasi tithi and before 1/3 of daylight hours, then PARANA BEGIN = end of naksatra and PARANA END = end of dvadasi tithi or 1/3 of daylight hours, whichever is earlier.

 

   then we will write "BREAK FAST FROM xx TO yy"

 

If the dvadasi tithi is present at sunrise and the naksatra ends before the dvadasi tithi but after 1/3 of daylight hours then PARANA BEGIN = end of naksatra and PARANA END = end of dvadasi tithi.

 

   then we will write "BREAK FAST FROM xx TO yy"

 

If the dvadasi tithi is present at sunrise and the naksatra ends after the dvadasi tithi then PARANA BEGIN = sunrise and PARANA END = end of dvadasi tithi or 1/3 of daylight hours, whichever is earlier.

 

   then we will write "BREAK FAST FROM xx TO yy"

 

If the dvadasi tithi is not present at sunrise, then PARANA BEGIN = sunrise and PARANA END = end of naksatra or 1/3 of daylight hours, whichever is earlier.

 

   then we will write "BREAK FAST FROM xx TO yy"

 

Case 7: Jaya/Papanasini

 

If the dvadasi tithi is present at sunrise and the naksatra ends before the dvadasi tithi and before 1/3 of daylight hours, then PARANA BEGIN = end of naksatra and PARANA END = end of dvadasi tithi or 1/3 of daylight hours, whichever is earlier.

 

   then we will write "BREAK FAST FROM xx TO yy"

 

If the dvadasi tithi is present at sunrise and the naksatra ends before the dvadasi tithi but after 1/3 of daylight hours then PARANA BEGIN = end of naksatra and PARANA END = end of dvadasi tithi.

 

   then we will write "BREAK FAST FROM xx TO yy"

 

If the dvadasi tithi is present at sunrise and the naksatra ends after the dvadasi tithi then PARANA BEGIN = sunrise and PARANA END = end of dvadasi tithi or 1/3 of daylight hours, whichever is earlier.

 

   then we will write "BREAK FAST FROM xx TO yy"

 

If the dvadasi tithi is not present at sunrise and the naksatra ends before 1/3 of the daylight hours, then PARANA BEGIN = end of naksatra and PARANA END = 1/3 of daylight hours.

 

   then we will write "BREAK FAST FROM xx TO yy"

 

If the dvadasi tithi is not present at sunrise and the naksatra ends after 1/3 of the daylight hours, then PARANA BEGIN = end of naksatra.

 

   then we will write "BREAK FAST AFTER xx"

 

1.5 Calculation of appearance days

Tests for build-in festival calculations:

 

test 1.5.1 – Govardhana Puja

 

if day is in damodara masa, gaura paksa, then perform following test 1.5.1

 

if today and yesterday is gaura pratipat

then do nothing (Govardhana Puja was resolved when yesterday was tested)

 

if today and tomorrow is gaura pratipat

then    if moon rises between todays sunrise and tomorrow's sunrise

then today is Govardhana Puja

otherwise Govardhana Puja is tomorrow

 

if just today is gaura pratipat

then today is Govardhana Puja

 

if yesterday is Amavasya and today is Gaura Dvitiya

then today is Govardhana Puja

 

test 1.5.2 – Sri Krsna Janmasthami

 

This test if performed when masa is Hrsikesa. First we are testing present tithi.

 

Yesterday

Today

Tomorrow

Decision

saptami

astami

navami

today is Janmasthami

saptami

navami

any

today is Janmasthami

astami

astami

navami

need to perform test 1.5.2.1

saptami

astami

astami

need to perform test 1.5.2.1

 

Last two lines seems to be the same case, but if navami or saptami is ksaya, then both of these lines are needed. If test in 3rd line is succesfull, then last line is skipped, so no double testing is performed.

 

test 1.5.2.1

 

Day1
sunrise naksatra

Day2
sunrise naksatra

Decision

not rohini

not rohini

need to perfrom test 1.5.2.2

rohini

not rohini

day1 is janmasthami

not rohini

rohini

day2 is janmasthami

rohini

rohini

need to perform test 1.5.2.3

 

test 1.5.2.2

 

Day 1

Day 2

Decision

monday

tuesday

day1 is janmasthami

tuesday

wednesday

day2 is janmasthami

wednesday

thursday

day1 is janmasthami

thursday

friday

day1 is janmasthami

friday

saturday

day1 is janmasthami

saturday

sunday

day1 is janmasthami

sunday

monday

day2 is janmasthami

 

test 1.5.2.3

 

Day1
midnight naksatra

Day2
midnight naksatra

Decision

not rohini

not rohini

need to perfrom test 1.5.2.2

rohini

not rohini

day1 is janmasthami

not rohini

rohini

day2 is janmasthami

rohini

rohini

need to perform test 1.5.2.2

 

 

test 1.5.3 – Ratha Yatra

 

This is performed in Vamana Masa.

 

Yesterday

Today

Tomorrow

Decision

less than Dvitiya

Gaura Dvitiya

any

today is Ratha Yatra

Gaura Pratipat

Gaura Tritiya

any

today is Ratha Yatra

Gaura Dvitya

Gaura Dvitiya

any

yesterday is Ratha Yatra

 

test 1.5.4 – Gaura Purnima

 

This is performed when yesterday is in Govinda Masa.

 

Yesterday

Today

Decision

less than Purnima (Govinda Masa)

Purnima (Govinda Masa)

today is Gaura Purnima

less than Purnima (Govinda Masa)

Krsna Pratipat (Visnu Masa)

today is Gaura Purnima

Purnima (Govinda Masa)

Purnima (Govinda Masa)

yesterday is Gaura Purnima

 

test 1.5.5 – Rama Navami

 

This test is performed in Visnu Masa, Gaura Paksa.

 

Yesterday

Today

Tomorrow

Decision

Astami

Navami

Dasami

today is Rama Navami

Astami

Navami

Navami

today is Rama Navami

Astami

Dasami

Dasami

today is Rama Navami

Astami

Dasami

Not suitable for Ekadasi fasting

today is Rama Navami

Astami

Dasami

Suitable Ekadasi for fasting

yesterday is Rama Navami

 

test 1.5.5 – Test for other festivals

 

There is a list of festivals and events and for each and every event is performed the same test. For example we have event which occurs on tithi, before was tithi-1 and after is tithi+1.

 

Yesterday

Today

Tomorrow

Decision

tithi-1 or less

tithi

tithi+1

event is celebrated today

tithi-1

tithi+1

any

event is celebrated today

any

tithi

tithi

event is celebrated today

 

1.6 Calculation of depending appearance days

 

Event

Offset to

Event

Srila Prabhupada Appearance

1 day after

Janmasthami

Gundica Marjana

1 day before

Ratha Yatra

Hera Pancami

4 days after

Ratha Yatra

Return Ratha

8 days after

Ratha Yatra

Jagannatha Misra festival

1 day after

Gaura Purnima

1.7 Resolution of fasting days

If (today is Ekadasi fasting day) and (need to fast till noon for some event)

then write ' Today: Fast till noon for ... Feast is tomorrow.'

 

If (yesterday is Ekadasi fasting day) and (today is need for fast till noon)

then write ' Today: ...event.... (Fasting was done yesterday). '

 

This resolution procedure will be performed for each festival separately with appropriate text. If there are two festivals in one day (like sometimes Nityananda and Varaha after Trisprisa Mahadvadasi, or Bhaktivinoda and Vamana after Trisprisa Mahadvadasi), for each festival is writen separate note.

1.8 Calculation of sankrantis

Sankranti is calculated for given day and note about sankranti is placed to parcticular day according one of four systems:

 

midnight – midnight

sunrise – sunrise

noon – noon

sunset – sunset

 

Default setting is "noon to noon".

1) for given day we calculate particular value (of noon or sunset or etc..)

 

2) if sankranti occurs before calculated value, then note about sankranti will be at this day

 

3) if sankranti occurs after calculated value, then note about sankranti will be next day

1.9 Calculation of events depending on sankrantis

 

This is a list of events which depends on sankranti day.

 

Event

Offset

Sankranti

Ganga Sagara Mela

on day of

Makara Sankranti

Tulasi Jala Dan begins

on day of

Mesha Sankranti

Tulasi Jala Dan ends

a day before

Vrsabha Sankranti

 

1.10 Calculation of exact time for ksaya tithis

If yesterday is the same tithi as today

then today is marked as second day of vriddhi

 

If today is more than next tithi of yesterday (one tithi is missing)

then ksaya times are calculated

1.11 Correction of calculated times according DST

 

Finaly are corrected time values calculated. This is valid for these values:

1) Time of Ekadasi Parana

2) Sunrise, Sunset, Noon, Arunodaya

3) Moonrise, Moonset

 

Document History

 

Date

Changes

May 8, 2008

Initial release

May 28, 2008

Modified "Calculation of Dvadasi day", "Ekadasi Parana calculation", "Sankranti calculation", "Ratha yatra calculation", "Janmasthami", "Gaura Purnima", "Resolution of fasting days",

June 5, 2008

Corrected "Pusya" to "Pusyami"