Amanta Maasam and Paksham
panchangam.maasam-paksham
Bounding new moons and solar signs determine lunar month, Adhika/Nija status, and fortnight.
Assurance
| Level | Current statement |
|---|---|
| Documented and traceable | Yes — the canonical record includes the process and a worked example. |
| Regression or reproduction checked | Linked to 4 repository test file(s). |
| Independently source-supported | Not independently verified at this level; current behavior is regression-pinned. |
Computation method
Method type: algorithm
Find the new moons bounding sunrise from engine elongation, name the Amanta month from the Sun sign at the starting new moon, identify Adhika or Nija repetition, and derive Paksham from the sunrise Tithi index.
Process
- Iteratively locate the previous new moon using mean elongation rate 12.19 degrees/day for ten corrections, with a 29.530589-day fallback.
- Name the month from (starting-new-moon Sun-sign index - 11) modulo 12.
- Find the next bound; equal Sun signs at start and end imply Adhika.
- Otherwise inspect the previous bound; equal previous/start signs imply Nija.
- Set Paksham to Shukla for Tithi indices 0-14 and Krishna for 15-29.
Worked example
Hyderabad, 2026-06-11, Drik Ganita
Inputs
- Sunrise elongation: 302.5814559608 degrees
- Sunrise Tithi index: 25
- Engine-specific bounding new moons and solar signs
Calculation
- The bounding-new-moon Sun signs are equal, so prefix the derived Jyeshtha name with Adhika.
- Tithi index 25 lies in 15-29, so choose Krishna Paksham.
Result
- Maasam: Adhika Jyeshtha
- Paksham: Krishna
Method notes
- The numerical search is an implementation technique, not a separately verified new-moon series.
- The convention is Telugu Amanta; Purnimanta calendars differ.
Contract
Owning layer: engine-core
Claim kind: regional-convention
Time basis: Month at local sunrise bounded by engine-specific new moons.
Inputs
- Moon-Sun elongation
- solar longitude
- sunrise
Outputs
- Amanta month
- Adhika/Nija prefix
- Shukla/Krishna Paksham
References and evidence
Evidence classes: astronomical, textual, regional_convention
Verification states: needs_locator, engine_pinned
Semantics need exact locators; non-Drik month outputs are regression-pinned.
panchangam.calendar_semantics
Evidence class: textual
Verification state: needs_locator
Locator: No precise locator is registered.
Scope: Samvatsara, Ayana, Ritu, lunar-month, Paksha, weekday and Rasi labels combine astronomical calculations with calendar rollover conventions. They require criterion-level locators and regional-scope notes; astronomical correctness alone does not verify the naming convention.
Sources
- Muhurtha (Electional Astrology) — B. V. Raman; UBS Publishers' Distributors, 1993, ISBN 9788185674681, 181 catalogued pages; authority type:
modern_synthesis
panchangam.non_drik_engine_outputs
Evidence class: astronomical
Verification state: engine_pinned
Locator: tests/test_surya_siddhanta_engine.py and tests/test_vakya_engine.py
Scope: Regression tests preserve the current Surya Siddhanta and Vakya Pancha-Anga and sky-event outputs. No independent published-Panchangam comparison set is registered, so engine-pinned output must not be described as externally verified.
Sources
- No external source is registered for this claim.
The complete machine-readable source registry is available in provenance.json. A regression fixture or same-code reproduction is not independent verification.
Reproduce and review
tests/test_drik_engine.pytests/test_adhika_maasa_muhurta.pytests/test_surya_siddhanta_engine.pytests/test_vakya_engine.py
Run the linked tests, then the complete offline contract:
python tools/verify_project.pyPublic surfaces
python-librarymcpicswebsite
Limitations
- The project follows Telugu Amanta conventions; Purnimanta calendars differ.
Implementation
- owner:
telugu_panchangam/engines/base.py—maasam_name - owner:
telugu_panchangam/engines/drik.py—DrikGanitaEngine._maasam - owner:
telugu_panchangam/engines/surya_siddhanta.py—SuryaSiddhantaEngine._maasam - owner:
telugu_panchangam/engines/vakya.py—VakyaEngine._maasam
This route is generated from computations.json. Edit the registry and canonical reference prose in the same pull request as a behavior change.