Varför öppenhet om beräkningen är viktig
De flesta panchangam-sajter visar siffror utan att berätta varifrån de kommer. Du måste lita på att någon bakom kulisserna har gjort rätt. Vi gör tvärtom: hela beräkningen är öppen, steg för steg, så att du kan följa med – och rätta oss om vi har fel.
Det här handlar inte om att visa upp teknik. Det handlar om förtroende. När Rahu Kalam i Toronto är tio minuter annorlunda än din mammas i Chennai är det enda svaret som håller ett du kan spåra tillbaka till exakta indata och en transparent formel. Annars gissar du – och det räcker inte när det gäller något du tar på allvar.
Nedan går vi igenom varje lager i beräkningen, från soluppgång till festivaldatum, med exakta algoritmer och konstanter. Det är skrivet så att du kan följa med utan astronomibakgrund, men med tillräckligt med detaljer för att en ingenjör ska kunna verifiera varje steg.
Lager 1: Solen, soluppgång, solnedgång, daglängd
Allt börjar med Solen. Soluppgång och solnedgång bestämmer dagsljusperioden, som i sin tur bestämmer Rahu Kalam, Yamagandam, Kuligai, Abhijit Muhurtam och Gowri Panchangam. Får du solpositionerna fel är resten av beräkningen också fel.
Vi använder NOAA Solar Calculator, samma algoritm som US National Oceanic and Atmospheric Administration använder i sin offentliga solkalkylator. Den beräknar Solens ekliptiska longitud, deklination, tidsekvationen och timvinkeln vid soluppgång från det julianska dagnumret och observatörens latitud och longitud.
Löst exempel
Exempel: Chennai, 15 januari 2026
Så beräknas soluppgången steg för steg:
- Datum
- 15 January 2026
- Juliansk dag
- 2,461,056.0
- Julianskt sekel (t)
- 0.2604
- Solens geometriska medellongitud
- 294.96°
- Solens sanna longitud
- 295.35°
- Deklination
- −21.07°
- Tidsekvation
- −9.41 min
- Solmiddag UTC
- 06:48
- Timvinkel
- 85.78°
- Soluppgång UTC
- 01:05
- Soluppgång lokal tid
- 06:35 IST
Inmatningsdatum
Gregorianskt datum → Juliansk dag vid middag UTC
(JD − 2 451 545) / 36 525
280,47 + 36 000,77 × t
Medellongitud + korrektionstermen
Solens höjd över himmelsekvatorern
Skillnaden mellan solur och medeltid
720 − 4 × longitud − tidsekvation
arccos(cosHA) för zenit 90,833°
Solmiddag − 4 × timvinkel
UTC + 5:30 (Indiens tidszon)
Soluppgången i Chennai den 15 januari 2026 är 06:35 IST, och alla vidare beräkningar bygger på det talet.
Lager 2: Månen, Meeus, kapitel 47
Månens position är avgörande för tithi, nakshatra, yoga och karana – fyra av panchangamens fem element förutom veckodagen. Månen rör sig snabbt: ungefär 13° per dag mot Solens knappt 1°. Därför behöver en precis panchangam en bra månmodell.
Vi använder Jean Meeus Astronomical Algorithms, kapitel 47, den fullständiga 60-terms ΣL-serien för Månens ekliptiska longitud. Det är samma modell som seriösa almanackor och planetariumprogram använder. Serien summerar 60 harmoniska termer som modellerar alla kända störningar i Månens bana.
Resultatet är Månens apparenta ekliptiska longitud i grader (0°–360° längs zodiaken). Kombinerat med Solens ekliptiska longitud ger detta tithi (Måne minus Sol-elongation). Kombinerat med ayanamsa ger det nakshatra (Månens sideriska position).
| Element | Definition | Formel |
|---|---|---|
| Tithi (1–30) | Måne–Sol vinkelskillnad ÷ 12° | floor(elongation / 12) + 1 |
| Nakshatra (1–27) | Månens sideriska longitud ÷ 13°20' | floor(moon_sidereal / 13.333) |
| Yoga (1–27) | Summan av Sol och Månens sideriska longituder ÷ 13°20' | floor((sun_sid + moon_sid) / 13.333) |
| Karana (1–60) | Halvt tithi-steg: elongation ÷ 6° | floor(elongation / 6) |
| Vaaram | Veckodag, ingen astronomi inblandad | JavaScript getDay() |
Lager 3: Ayanamsa, Lahiri (Chitrapaksha)
Tithi beror på vinkeln mellan Solen och Månen – den är densamma oavsett koordinatsystem. Men nakshatra, yoga och rashi kräver sideriska koordinater: positioner i förhållande till de fasta stjärnorna, inte vårpunkten.
Skillnaden mellan tropisk och sidereal position kallas ayanamsa. Vi använder Lahiri (Chitrapaksha), standarden som den indiska regeringen officiellt använt sedan 1956, och den mest utbredda i den tamilska panchangam-traditionen. Vår modell är linjär, förankrad vid J2000-epoken.
Löst exempel
Lahiri-ayanamsa i praktiken
Formeln är enkel:
- Ayanamsa vid J2000
- 23.864°
- Precessionshastighet
- ~50.29 arcseconds/year
- Ayanamsa 2026
- ≈24.23°
Startpunkt, 1 januari 2000
≈ 1,397° per julianskt sekel
23,864 + 1,397 × 0,26
Alla sideriska positioner beräknas genom att subtrahera denna ayanamsa från den tropiska longituden.
Andra system (KP, Raman, Yukteshwar) använder något annorlunda värden, men skillnaden är under 2°, vilket typiskt bara förskjuter en nakshatra-gräns i sällsynta fall.
Lager 4: Rahu Kalam och de tre undvika-fönstren
Rahu Kalam, Yamagandam och Kuligai bygger alla på samma princip: dela dagsljusperioden (soluppgång till solnedgång) i åtta lika segment och välj ett segment baserat på veckodagen. Det är ren aritmetik, men det exakta resultatet beror på korrekta soltider.
| Veckodag | Rahu (segment) | Yamagandam | Kuligai |
|---|---|---|---|
| Söndag | 8:e segmentet | 5:e segmentet | 7:e segmentet |
| Måndag | 2:a segmentet | 4:e segmentet | 6:e segmentet |
| Tisdag | 7:e segmentet | 3:e segmentet | 5:e segmentet |
| Onsdag | 5:e segmentet | 2:a segmentet | 4:e segmentet |
| Torsdag | 6:e segmentet | 1:a segmentet | 3:e segmentet |
| Fredag | 4:e segmentet | 7:e segmentet | 2:a segmentet |
| Lördag | 3:e segmentet | 6:e segmentet | 1:a segmentet |
Löst exempel
Exempel: Rahu Kalam en måndag i Chennai
Soluppgång 06:35, solnedgång 18:01, måndag använder 2:a segmentet:
- Dagsljus
- 686 minutes
- Ett segment
- 85.75 min
- 2:a segmentets start
- 06:35 + 85.75 = 08:00
- 2:a segmentets slut
- 08:00 + 85.75 = 09:26
18:01 − 06:35 = 11h 26min
686 / 8 ≈ 1h 26min
Soluppgång + 1 × segmentlängd
Start + segmentlängd
Rahu Kalam måndag i Chennai, januari: ungefär 08:00–09:26 IST.
Lager 5: Abhijit Muhurtam, det lyckosamma middagsfönstret
Abhijit Muhurtam är det 8:e av 15 lika muhurta-segment under dagsljusperioden, centrerat exakt kring solmiddag. Beräkningen är enkel men kräver korrekta soltider:
- Solmiddag = (soluppgång + solnedgång) / 2
- Halv muhurta = (solnedgång − soluppgång) / 30
- Abhijit start = solmiddag − halv muhurta
- Abhijit slut = solmiddag + halv muhurta
I Chennai i januari (soluppgång 06:35, solnedgång 18:01) ger detta ett Abhijit-fönster från ungefär 11:55 till 12:41, drygt 46 minuter. I Copenhagen i juni, där dagarna är mycket längre, varar fönstret över en timme.
Lager 6: Festivaler och högtider
Festivaler använder två helt olika källsystem. Stora fasta festivaler (Pongal, Deepavali, Thai Pongal, Puthandu) är redaktionellt kurerade: manuellt inmatade datum, dubbelkontrollerade mot officiella kalenderutgivningar, med data från 2026 till 2029.
Månatliga observanser (Amavasai, Pournami, Ekadasi, Pradosham, Sashti, Karthigai, osv.) beräknas live från tithi och nakshatra, exakt samma beräkning du just läst om. Beräkningen använder alltid soluppgången i Chennai som referenspunkt, även om du befinner dig i London. Varför? För att ett festivals datum bestäms av den tithi som råder vid soluppgång i det heliga landet, inte din lokala soluppgång.
Inga externa beroenden – och det är ett medvetet val
Hela motorn är skriven i ren TypeScript. Den importerar inget externt astronomibibliotek, anropar inget API och slår inte upp något i en databas. Samma kod körs på servern när sidan byggs, och i din webbläsare när du väljer en ny stad. Resultatet är deterministiskt: samma indata ger alltid, överallt, exakt samma utdata.
Det valet är medvetet. När beräkningen är självständig finns det ingen server som kan gå ner, ingen API-nyckel som kan löpa ut, ingen tredjepartsändring som tyst förändrar våra siffror. Och det innebär att du, eller vem som helst, kan verifiera varje enskild siffra genom att granska den öppna källkoden.
| Modul | Algoritm / Källa | Vad den ger |
|---|---|---|
| solar.ts | NOAA Solar Calculator | Soluppgång, solnedgång, solmiddag, Solens ekliptiska longitud |
| lunar.ts | Meeus, Astronomical Algorithms kap. 47 (60-terms ΣL) | Månens ekliptiska longitud, tithi, nakshatra, yoga, karana |
| lunar.ts | Lahiri ayanamsa (23.864° + 1.397 × t) | Sidereal position för nakshatra och yoga |
| windows.ts | Dagsljus ÷ 8, segment per veckodag | Rahu Kalam, Yamagandam, Kuligai |
| index.ts | (sunrise + sunset) / 2 ± daylight/30 | Abhijit Muhurtam |
| gowri.ts | 8 Gowri-segment från dagsljus | Gowri Panchangam / Nalla Neram |
| festivals.ts | Tithi/nakshatra vid soluppgång i Chennai + kurerat dataset | Festivaldatum och högtider |
| tamilCalendar.ts | Solens sideriska longitud → tamilsk månad | Tamilskt datum (Chithirai, Vaikasi osv.) |
Vad vi inte beräknar – och varför
Den här kalendern fokuserar på vad som kan beräknas med astronomisk precision. Men det finns ämnen i panchangam-universum som vi medvetet inte täcker med beräkningar, eftersom de kräver antingen subjektiva bedömningar eller traditioner som varierar mellan skolor:
- Muhurtham-godkännande för bröllop och ceremonier – kräver horoskoptolkning, vilket vi inte automatiserar.
- Dasha-perioder och planetstyrka – beror på astrologisk tradition, inte astronomi.
- Tempelfestivaler med lokala variationer – bestäms av enskilda tempeltraditoner, inte centralt.
Vi visar hellre ingenting än en siffra vi inte kan stå bakom. Det är den grundläggande principen för hela den här kalendern.
