Miksi laskennan avoimuus on tärkeää
Useimmat panchangam-sivustot näyttävät lukuja kertomatta, mistä ne tulevat. Sinun täytyy luottaa siihen, että joku kulissien takana on laskenut oikein. Me teemme päinvastoin: koko laskenta on avoinna askel askeleelta, jotta voit seurata, ja korjata meitä, jos olemme väärässä.
Kyse ei ole tekniikan esittelystä. Kyse on luottamuksesta. Kun Rahu Kalamisi Torontossa eroaa äitisi Rahu Kalamista Chennaissa kymmenen minuuttia, ainoa toimiva vastaus on se, jonka voit jäljittää tarkkoihin syöttötietoihin ja läpinäkyvään kaavaan. Muutoin arvaile, eikä se riitä, kun kyse on jostakin, jonka otat vakavasti.
Alla käymme läpi jokaisen laskennan kerroksen auringonnoususta juhlien päivämääriin, tarkkojen algoritmien ja vakioiden kera. Se on kirjoitettu niin, että voit seurata sitä ilman astronomista taustaa, mutta riittävällä yksityiskohtaisuudella, jotta insinööri voi tarkistaa jokaisen vaiheen.
Kerros 1: Aurinko, auringonnousu, -lasku, päivän pituus
Kaikki alkaa Auringosta. Auringonnousu ja -lasku määrittävät päivänvaloajan, joka puolestaan määrittää Rahu Kalam, Yamagandam, Kuligai, Abhijit Muhurtam ja Gowri Panchangam. Jos auringon sijainnit ovat väärin, loppu laskennasta on myös väärin.
Käytämme NOAA Solar Calculatoria, samaa algoritmia, jota Yhdysvaltain kansallinen valtameri- ja ilmakehähallinto (NOAA) käyttää julkisessa aurinkolaskurissaan. Se laskee Auringon ekliptisen pituuden, deklinaation, aikakorjauksen ja tuntikulman auringonnousussa Julian-päiväluvun sekä havaintopaikan leveysasteen ja pituusasteen perusteella.
Ratkaistu esimerkki
Esimerkki: Chennai, 15. tammikuuta 2026
Näin auringonnousu lasketaan vaihe vaiheelta:
- Päivämäärä
- 15. tammikuuta 2026
- Julian-päivä
- 2 461 056,0
- Julian-vuosisata (t)
- 0,2604
- Auringon geometrinen keskileveys
- 294,96°
- Auringon todellinen pituus
- 295,35°
- Deklinaatio
- −21,07°
- Aikakorjaus
- −9,41 min
- Aurinko-keskipäivä UTC
- 06:48
- Tuntikulma
- 85,78°
- Auringonnousu UTC
- 01:05
- Auringonnousu paikallisaika
- 06:35 IST
Syötepäivämäärä
Gregoriaaninen päivämäärä → Julian-päivä UTC-keskipäivällä
(JD − 2 451 545) / 36 525
280,47 + 36 000,77 × t
Keskileveys + korjaustermit
Auringon korkeus taivaanekvaattorin yläpuolella
Ero aurinkokello- ja keskilämpötilan välillä
720 − 4 × pituusaste − aikakorjaus
arccos(cosHA) kenitille 90,833°
Aurinko-keskipäivä − 4 × tuntikulma
UTC + 5:30 (Intian aikavyöhyke)
Auringonnousu Chennaissa 15. tammikuuta 2026 on klo 06:35 IST, ja kaikki jatkoskentelut perustuvat tähän lukuun.
Kerros 2: Kuu, Meeus, luku 47
Kuun sijainti on ratkaiseva tithille, nakshattaralle, yogalle ja karanalle, neljälle panchangamin viidestä elementistä, jotka eivät ole viikonpäivä. Kuu liikkuu nopeasti: noin 13° päivässä, verrattuna Auringon noin 1°:seen.
Käytämme Jean Meeusin Astronomical Algorithms -teoksen lukua 47, täydellistä 60 termin ΣL-sarjaa Kuun ekliptiselle pituudelle. Tämä on sama malli, jota vakavat almanakat ja planetaarioohjelmat käyttävät.
| Elementti | Määritelmä | Kaava |
|---|---|---|
| Tithi (1–30) | Kuun−Auringon kulmaetäisyys ÷ 12° | floor(elongaatio / 12) + 1 |
| Nakshatra (1–27) | Kuun sideerinen pituus ÷ 13°20' | floor(kuu_sid / 13,333) |
| Yoga (1–27) | Auringon ja Kuun sideeristen pituuksien summa ÷ 13°20' | floor((aurinko_sid + kuu_sid) / 13,333) |
| Karana (1–60) | Puoli-tithi-askel: elongaatio ÷ 6° | floor(elongaatio / 6) |
| Vaaram | Viikonpäivä, ei astronomiaa | JavaScript getDay() |
Kerros 3: Ayanamsa, Lahiri (Chitrapaksha)
Tithi riippuu Auringon ja Kuun välisestä kulmasta, se on sama koordinaattijärjestelmästä riippumatta. Mutta nakshatra, yoga ja rashi vaativat sideerisiä koordinaatteja: sijainteja suhteessa kiintotähtiin, ei kevätpäiväntasaukseen.
Trooppisen ja sideerisen sijainnin välinen ero on nimeltään ayanamsa. Käytämme Lahiria (Chitrapaksha), standardia, jota Intian hallitus on käyttänyt virallisesti vuodesta 1956, ja joka on yleisin tamilisessa panchangam-perinteessä.
Ratkaistu esimerkki
Lahirin ayanamsa käytännössä
Kaava on yksinkertainen:
- Ayanamsa J2000:ssa
- 23,864°
- Presessioonin nopeus
- ~50,29 kulmasekunttia/vuosi
- Ayanamsa 2026
- ≈24,23°
Lähtöpiste, 1. tammikuuta 2000
≈ 1,397° per Julian-vuosisata
23,864 + 1,397 × 0,26
Kaikki sideerisiset sijainnit lasketaan vähentämällä tämä ayanamsa trooppisesta pituudesta.
Muut järjestelmät (KP, Raman, Yukteshwar) käyttävät hieman erilaisia arvoja, mutta ero on alle 2°, yleensä riittävästi siirtääkseen nakshatran rajan vain harvinaisissa tapauksissa.
Kerros 4: Rahu Kalam ja kolme vältettävää ajanjaksoa
Rahu Kalam, Yamagandam ja Kuligai perustuvat kaikki samaan periaatteeseen: jaa päivänvaloaika (auringonnoususta -laskuun) kahdeksaan yhtä suureen osaan ja valitse yksi osa viikonpäivän mukaan.
| Viikonpäivä | Rahu (osa) | Yamagandam | Kuligai |
|---|---|---|---|
| Sunnuntai | 8. osa | 5. osa | 7. osa |
| Maanantai | 2. osa | 4. osa | 6. osa |
| Tiistai | 7. osa | 3. osa | 5. osa |
| Keskiviikko | 5. osa | 2. osa | 4. osa |
| Torstai | 6. osa | 1. osa | 3. osa |
| Perjantai | 4. osa | 7. osa | 2. osa |
| Lauantai | 3. osa | 6. osa | 1. osa |
Ratkaistu esimerkki
Esimerkki: Rahu Kalam maanantaina Chennaissa
Auringonnousu 06:35, -lasku 18:01, maanantai käyttää 2. osaa:
- Päivänvalo
- 686 minuuttia
- Yksi osa
- 85,75 min
- 2. osan alku
- 06:35 + 85,75 = 08:00
- 2. osan loppu
- 08:00 + 85,75 = 09:26
18:01 − 06:35 = 11 t 26 min
686 / 8 ≈ 1 t 26 min
Auringonnousu + 1 × osan pituus
Alku + osan pituus
Rahu Kalam maanantaina Chennaissa tammikuussa: noin 08:00–09:26 IST.
Kerros 5: Abhijit Muhurtam, suotuisa keskipäivän ikkuna
Abhijit Muhurtam on 8. viidestätoista yhtä suuresta muhurta-osasta päivänvaloaikana, tarkasti aurinko-keskipäivän kohdalla. Laskenta on yksinkertainen mutta vaatii tarkan auringonnousun ja -laskun:
- Aurinko-keskipäivä = (auringonnousu + -lasku) / 2
- Puoli muhurtaa = (auringonlasku − -nousu) / 30
- Abhijit alkaa = aurinko-keskipäivä − puoli muhurtaa
- Abhijit päättyy = aurinko-keskipäivä + puoli muhurtaa
Chennaissa tammikuussa (auringonnousu 06:35, -lasku 18:01) tämä antaa Abhijit-ikkunan noin klo 11:55–12:41, noin 46 minuuttia. Helsingissä kesäkuussa, jolloin päivät ovat paljon pidempiä, ikkuna kestää yli tunnin.
Kerros 6: Juhlat ja noudattamiset
Juhlat käyttävät kahta täysin erilaista lähdejärjestelmää. Suuret kiinteät juhlat (Pongal, Deepavali, Thai Pongal, Puthandu) ovat toimituksellisesti kuratoituja: manuaalisesti syötettyjä päivämääriä, joita on verrattu virallisiin kalenterijulkaisuihin, dataa vuosilta 2026–2029.
Kuukausittaiset noudattamiset (Amavasai, Pournami, Ekadasi, Pradosham, Sashti, Karthigai jne.) lasketaan suoraan tithista ja nakshatrasta, täsmälleen sama laskenta, jonka juuri luit. Laskenta käyttää aina auringonnousua Chennaissa viitepisteenä, vaikka olisit Helsingissä. Miksi? Koska juhlan päivämäärä määräytyy sen tithyn mukaan, joka vallitsee auringonnousuhetkellä pyhässä maassa, ei paikallisen auringonnoususi mukaan.
Ei ulkoisia riippuvuuksia, ja se on tarkoituksellista
Koko moottori on kirjoitettu puhtaalla TypeScriptillä. Se ei tuo yhtään ulkoista tähtitieteen kirjastoa, ei kutsu yhtään rajapintaa eikä hae tietoja tietokannasta. Sama koodi suoritetaan palvelimella sivua rakennettaessa ja selaimessasi kaupunkia valitessasi. Tulos on deterministinen: sama syöte antaa aina, kaikkialla, täsmälleen saman tulosteen.
Tämä valinta on tarkoituksellinen. Kun laskenta on itsenäinen, ei ole palvelinta joka voi kaatua, ei API-avainta joka voi vanhentua, ei kolmannen osapuolen muutosta joka hiljaa muuttaa lukujamme. Ja se tarkoittaa, että sinä, tai kuka tahansa, voi tarkistaa jokaisen luvun tarkastelemalla avointa lähdekoodia.
| Moduuli | Algoritmi / Lähde | Mitä se tuottaa |
|---|---|---|
| solar.ts | NOAA Solar Calculator | Auringonnousu, -lasku, aurinko-keskipäivä, Auringon ekliptinen pituus |
| lunar.ts | Meeus, Astronomical Algorithms luku 47 (60 termin ΣL) | Kuun ekliptinen pituus, tithi, nakshatra, yoga, karana |
| lunar.ts | Lahirin ayanamsa (23,864° + 1,397 × t) | Sideerinen sijainti nakshatralle ja yogalle |
| windows.ts | Päivänvalo ÷ 8, osa viikonpäivää kohti | Rahu Kalam, Yamagandam, Kuligai |
| index.ts | (auringonnousu + -lasku) / 2 ± päivänvalo/30 | Abhijit Muhurtam |
| gowri.ts | 8 Gowri-osaa päivänvalosta | Gowri Panchangam / Nalla Neram |
| festivals.ts | Tithi/nakshatra Chennain auringonnousussa + kuratoitu datasetti | Juhlapäivämäärät ja noudattamiset |
| tamilCalendar.ts | Auringon sideerinen pituus → tamilikuukausi | Tamilipäivämäärä (Chithirai, Vaikasi jne.) |
Mitä emme laske, ja miksi
Tämä kalenteri keskittyy siihen, mitä voidaan laskea tähtitieteellisellä tarkkuudella. Mutta panchangam-maailmassa on aiheita, joita emme tarkoituksella kata laskennalla, koska ne vaativat joko subjektiivisia arviointeja tai koulukunnittain vaihtelevia perinteitä:
- Muhurtham-hyväksyntä häille ja seremonioille, vaatii horoskooppitulkinnan, jota emme automatisoi.
- Dasha-jaksot ja planeettavoima, riippuvat astrologisesta perinteestä, ei tähtitiedestä.
- Temppelijuhlat paikallisine vaihteluineen, kunkin temppelin omat perinteet määräävät ne.
Näytämme mieluummin ei mitään kuin luvun, jonka takana emme voi seistä. Se on tämän koko kalenterin perustava periaate.
