mesomath 2.1.1__tar.gz → 2.2.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- mesomath-2.2.0/.webui_secret_key +1 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/CHANGELOG.md +25 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/PKG-INFO +108 -26
- mesomath-2.2.0/README.md +253 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/docs/source/api_mesotimes.rst +11 -1
- {mesomath-2.1.1 → mesomath-2.2.0}/docs/source/intro.md +4 -3
- {mesomath-2.1.1 → mesomath-2.2.0}/docs/source/references.md +27 -1
- {mesomath-2.1.1 → mesomath-2.2.0}/docs/source/tutorial.md +445 -11
- {mesomath-2.1.1 → mesomath-2.2.0}/pyproject.toml +6 -2
- {mesomath-2.1.1 → mesomath-2.2.0}/src/mesomath/__about__.py +1 -1
- {mesomath-2.1.1 → mesomath-2.2.0}/src/mesomath/__init__.py +3 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/src/mesomath/babcalc.py +8 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/src/mesomath/ibabcalc.py +6 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/src/mesotimes/__init__.py +3 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/src/mesotimes/almanac.py +5 -5
- {mesomath-2.1.1 → mesomath-2.2.0}/src/mesotimes/astronomy/__init__.py +5 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/src/mesotimes/astronomy/core.py +208 -26
- {mesomath-2.1.1 → mesomath-2.2.0}/src/mesotimes/astronomy/moon.py +33 -32
- {mesomath-2.1.1 → mesomath-2.2.0}/src/mesotimes/astronomy/planets/base.py +8 -8
- mesomath-2.2.0/src/mesotimes/astronomy/planets/finder.py +191 -0
- mesomath-2.2.0/src/mesotimes/astronomy/stars.py +570 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/src/mesotimes/astronomy/sun.py +9 -9
- mesomath-2.2.0/src/mesotimes/astronomy/visibility.py +478 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/src/mesotimes/babday.py +1 -1
- mesomath-2.2.0/src/mesotimes/constants.py +514 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/src/mesotimes/date.py +105 -64
- {mesomath-2.1.1 → mesomath-2.2.0}/src/mesotimes/proleptic.py +2 -2
- {mesomath-2.1.1 → mesomath-2.2.0}/tests/astronomy/test_moon.py +2 -2
- mesomath-2.2.0/tests/astronomy/test_phenomena.py +70 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/tests/astronomy/test_planets.py +2 -2
- mesomath-2.1.1/README.md +0 -171
- mesomath-2.1.1/notebooks/test_cunei.py +0 -162
- mesomath-2.1.1/src/mesotimes/astronomy/planets/finder.py +0 -163
- mesomath-2.1.1/src/mesotimes/constants.py +0 -41
- {mesomath-2.1.1 → mesomath-2.2.0}/.readthedocs.yaml +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/LICENSE +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/Makefile +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/db_data/PD71/Kish_lun.csv +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/db_data/PD71/Kish_sol.csv +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/db_data/PD71/buildDB.sh +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/db_data/PD71/createDB.sql +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/db_data/PD71/normalize_pd.py +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/db_data/PD71/orig/K001.csv +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/db_data/PD71/orig/K002.csv +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/db_data/PD71/orig/K003.csv +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/db_data/PD71/orig/K004.csv +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/db_data/PD71/orig/K005.csv +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/db_data/PD71/orig/K006.csv +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/db_data/PD71/orig/K007.csv +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/db_data/PD71/orig/K008.csv +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/db_data/PD71/orig/K009.csv +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/db_data/PD71/orig/K010.csv +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/db_data/PD71/orig/K011.csv +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/db_data/PD71/orig/K012.csv +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/db_data/PD71/orig/K013.csv +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/db_data/PD71/orig/K014.csv +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/db_data/PD71/orig/K015.csv +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/db_data/PD71/orig/K016.csv +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/db_data/PD71/orig/K017.csv +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/db_data/PD71/orig/K018.csv +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/db_data/PD71/orig/kings.csv +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/db_data/PD71/orig/seleuc1.csv +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/db_data/PD71/orig/seleuc2.csv +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/db_data/PD71/process_allkings.py +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/docs/Makefile +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/docs/make.bat +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/docs/source/_static/custom.css +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/docs/source/_static/favicon.svg +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/docs/source/_static/mesomath.png +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/docs/source/_static/mesomath.svg +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/docs/source/_static/mesomath2.png +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/docs/source/api_mesomath.rst +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/docs/source/changelog.md +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/docs/source/conf.py +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/docs/source/index.md +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/docs/source/install.md +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/docs/source/progs/apps.rst +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/notebooks/BabN.py +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/notebooks/ChronDate.py +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/notebooks/ChronDate2.py +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/notebooks/Melville.py +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/notebooks/Metrology.py +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/notebooks/Plimpton322.py +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/notebooks/babcalc.py +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/notebooks/economics.py +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/notebooks/extension.py +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/notebooks/fractions.py +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/notebooks/hamming.py +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/notebooks/index.py +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/notebooks/lookup.py +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/notebooks/metrolist.py +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/notebooks/multable.py +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/notebooks/squares.py +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/requirements.txt +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/requirements_rtd.txt +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/src/mesomath/babf.py +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/src/mesomath/babn.py +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/src/mesomath/data/proust/__init__.py +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/src/mesomath/data/proust/capacities.py +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/src/mesomath/data/proust/lengths.py +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/src/mesomath/data/proust/surfaces.py +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/src/mesomath/data/proust/weights.py +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/src/mesomath/glyphs.py +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/src/mesomath/hamming.py +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/src/mesomath/metrology_presets.py +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/src/mesomath/nb_utils.py +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/src/mesomath/npvs.py +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/src/mesomath/parser/__init__.py +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/src/mesomath/parser/interpreter.py +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/src/mesomath/utils.py +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/src/mesomath/wisdom.py +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/src/mesotimes/__about__.py +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/src/mesotimes/astronomy/planets/__init__.py +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/src/mesotimes/astronomy/planets/inferiors.py +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/src/mesotimes/astronomy/planets/superiors.py +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/src/mesotimes/calendars.py +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/src/mesotimes/db/mesotimes.sqlite +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/tests/__init__.py +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/tests/astronomy/__init__.py +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/tests/astronomy/test_chrondate.py +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/tests/astronomy/test_sun.py +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/tests/test_babf.py +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/tests/test_babn.py +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/tests/test_babn2.py +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/tests/test_blen.py +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/tests/test_bsur.py +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/tests/test_npvs.py +0 -0
- {mesomath-2.1.1 → mesomath-2.2.0}/tests/test_parser.py +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
8jwRclFzu7ELjH+s
|
|
@@ -1,3 +1,28 @@
|
|
|
1
|
+
## [2.2.0] - 2026-06-29
|
|
2
|
+
|
|
3
|
+
### Added
|
|
4
|
+
* **User-defined locations**: Added support for custom archaeological sites and observation platforms by allowing user-defined coordinate overrides (latitude, longitude, and altitude) in core astronomical functions.
|
|
5
|
+
* **`mesotimes.astronomy.stars` module**: Introduced the `BabStar` class, enabling high-precision tracking of ancient stars. Includes native catalog parsing (`from_catalog`), automatic extraction of photometric magnitudes ($V$, $B-V$), and geometric event finders (`search_phenomena`).
|
|
6
|
+
* **`mesotimes.astronomy.visibility` module**: Implemented a comprehensive twilight visibility simulation framework. Features 3D scattering models for crepuscular sky brightness, customizable air-mass functions (Pickering, Kasten-Young), and atmospheric extinction profiling (`scan_twilight_visibility`).
|
|
7
|
+
* **Object-Oriented Analysis Interface**: Integrated `twilight_tomography` directly into `BabStar`, allowing researchers to generate multi-day visual contrast time-series reports with a single method call.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## [2.1.2] - 2026-06-07
|
|
12
|
+
|
|
13
|
+
### Fixed
|
|
14
|
+
* **Bug in date.py**: Chrondate.day_ephemeris() returned the day of the season based only on the Julian calendar. Fixed.
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
## [2.1.1] - 2026-06-06
|
|
20
|
+
|
|
21
|
+
### Fixed
|
|
22
|
+
* **README.md**: Incorrect badges. Fixed.
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
1
26
|
|
|
2
27
|
## [2.1.0] - 2026-06-06
|
|
3
28
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mesomath
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.2.0
|
|
4
4
|
Summary: A robust sexagesimal, metrological, and astronomical engine for Babylonian mathematics. From the Eduba to the Jupyter Notebook.
|
|
5
5
|
Project-URL: Changelog, https://github.com/jccsvq/mesomath/blob/main/CHANGELOG.md
|
|
6
6
|
Project-URL: Documentation, https://mesomath.readthedocs.io/
|
|
@@ -30,14 +30,13 @@ Requires-Python: >=3.11
|
|
|
30
30
|
Requires-Dist: ipython>=9.0.0
|
|
31
31
|
Requires-Dist: juliandate
|
|
32
32
|
Requires-Dist: parsimonious==0.11.0
|
|
33
|
-
Requires-Dist: pymeeus
|
|
33
|
+
Requires-Dist: pymeeus==0.5.12
|
|
34
34
|
Requires-Dist: traitlets>=5.0.0
|
|
35
35
|
Requires-Dist: typing-extensions>=4.0.0
|
|
36
36
|
Requires-Dist: wcwidth
|
|
37
37
|
Description-Content-Type: text/markdown
|
|
38
38
|
|
|
39
|
-
|
|
40
|
-
# 🏺 MesoMath v2.1.0
|
|
39
|
+
# 🏺 MesoMath v2.2
|
|
41
40
|
**The Mesopotamian Computational Engine for Python.**
|
|
42
41
|
|
|
43
42
|
[](https://pypi.org/project/mesomath/)
|
|
@@ -47,19 +46,36 @@ Description-Content-Type: text/markdown
|
|
|
47
46
|
[](https://mesomath.readthedocs.io)
|
|
48
47
|
[](https://mybinder.org/v2/gh/jccsvq/mesomath-nb/main?labpath=notebooks%2Findex.ipynb)
|
|
49
48
|
|
|
50
|
-
MesoMath is a high-precision computational framework engineered for the rigorous study of ancient Mesopotamian
|
|
49
|
+
MesoMath is a high-precision computational framework engineered for the rigorous study of ancient Mesopotamian:
|
|
50
|
+
|
|
51
|
+
* **Mathematics**
|
|
52
|
+
* Sexagesimal integer arithmetic (absolute and floating)
|
|
53
|
+
* Fraction arithmetic
|
|
54
|
+
* **Metrology**
|
|
55
|
+
* Old Babylonian Period metrology (length, surface, volume, weight, capacity, and bricks)
|
|
56
|
+
* User-extensible framework for other historical periods
|
|
57
|
+
* NPVS Systems S, G, C, and K
|
|
58
|
+
* Socio-economic applications
|
|
59
|
+
* **Chronology**
|
|
60
|
+
* Based on Parker and Dubberstein (1971) for the period 626 B.C. – A.D. 75
|
|
61
|
+
* *Proleptic* lunar calendar engine for other historical eras
|
|
62
|
+
* **Timekeeping & Archaeoastronomy**
|
|
63
|
+
* Lunar and Planetary Ephemerides
|
|
64
|
+
* Heliacal and Acronychal Rising of stars (Atmospheric 3D scattering models)
|
|
65
|
+
* Built-in catalog of relevant Mesopotamian astronomical sites
|
|
66
|
+
* Built-in catalog of critical historical stars
|
|
67
|
+
* Custom user-defined sites and stars support
|
|
68
|
+
|
|
69
|
+
MesoMath provides:
|
|
70
|
+
* **Native Command-Line Environments (CLI)**: `babcalc` (basic) and `ibabcalc` (full-featured interactive shell).
|
|
71
|
+
* **Jupyter Notebook Integration** for reproducible research.
|
|
72
|
+
* **Authentic Epigraphic Support**: Old Babylonian transliteration standards and Unicode cuneiform rendering.
|
|
51
73
|
|
|
52
74
|
---
|
|
53
75
|
|
|
54
|
-
## ✨ What's New in v2.
|
|
55
|
-
|
|
56
|
-
MesoMath has evolved into a unified metapackage, structurally decoupling core arithmetic from chronological anchoring systems:
|
|
76
|
+
## ✨ What's New in v2.2.0?
|
|
57
77
|
|
|
58
|
-
|
|
59
|
-
* **`mesotimes` Subsystem**: A dedicated historical engine driving:
|
|
60
|
-
* **Empirical & Proleptic Chronology**: Seamless alignment with historical cuneiform registers.
|
|
61
|
-
* **Elastic Timekeeping**: Shifting horizon-based day boundaries (Sunset-to-Sunset) and dynamic nocturnal watches (*maṣṣarātu*).
|
|
62
|
-
* **Archaeoastronomy**: High-fidelity celestial positioning and eclipse matrices.
|
|
78
|
+
MesoMath v2.2.0 introduces the `BabStar` class, enabling high-fidelity search, physical contrast tracking, and multi-day **Twilight Tomography** for Heliacal and Acronychal stellar phenomena.
|
|
63
79
|
|
|
64
80
|
---
|
|
65
81
|
|
|
@@ -109,7 +125,7 @@ from mesomath import Bcap
|
|
|
109
125
|
|
|
110
126
|
vol = Bcap('3 bariga 2 ban')
|
|
111
127
|
print(vol.translit) # Output: '3(barig) 2(ban2) še'
|
|
112
|
-
print(vol.cuneiform) # Output:
|
|
128
|
+
print(vol.cuneiform) # Output: itri samot 𒊺
|
|
113
129
|
|
|
114
130
|
```
|
|
115
131
|
|
|
@@ -135,7 +151,7 @@ date.day_ephemeris(city='Susa')
|
|
|
135
151
|
|
|
136
152
|
```text
|
|
137
153
|
=================================================================
|
|
138
|
-
|
|
154
|
+
MESOPOTAMIAN DAILY EPHEMERIS: SUSA
|
|
139
155
|
=================================================================
|
|
140
156
|
Julian Day: 1583129.5 | Civil Calendar: Julian (-378/5/17)
|
|
141
157
|
Chronology: Year 26 of Artaxerxes II, month: 2 (Aiaru), day: 14
|
|
@@ -150,14 +166,13 @@ date.day_ephemeris(city='Susa')
|
|
|
150
166
|
[End-Month] KUR: -894.34 min (Dawn crescent disappearance)
|
|
151
167
|
-----------------------------------------------------------------
|
|
152
168
|
PLANETARY VISIBILITY ( Twilight vs. Arc of Vision ):
|
|
153
|
-
* Mercury -> Invisible / Glare
|
|
169
|
+
* Mercury -> Invisible / Glare (Required Av: 12.0°)
|
|
154
170
|
* Venus -> VISIBLE (Morning Star) (Required Av: 6.0°)
|
|
155
171
|
* Mars -> VISIBLE (Morning Star) (Required Av: 14.0°)
|
|
156
172
|
* Jupiter -> VISIBLE (Evening Star) (Required Av: 9.0°)
|
|
157
173
|
* Saturn -> VISIBLE (Evening Star) (Required Av: 11.0°)
|
|
158
174
|
=================================================================
|
|
159
175
|
|
|
160
|
-
|
|
161
176
|
```
|
|
162
177
|
|
|
163
178
|
```python
|
|
@@ -168,24 +183,91 @@ date.night_at_a_glance(city='Susa')
|
|
|
168
183
|
|
|
169
184
|
```text
|
|
170
185
|
===================================================================
|
|
171
|
-
|
|
186
|
+
Night at a Glance: Susa (-378-05-17)
|
|
172
187
|
===================================================================
|
|
173
188
|
UT Hours: 09 11 13 15 17 19 21 23 01 03 05 07 09
|
|
174
189
|
Local H.: 12 14 16 18 20 22 00 02 04 06 08 10 12
|
|
175
190
|
-------------------------------------------------------------------
|
|
176
191
|
Sky/Sun : #############::. .::###############
|
|
177
192
|
-------------------------------------------------------------------
|
|
178
|
-
Moon :
|
|
193
|
+
Moon : =====================
|
|
179
194
|
-------------------------------------------------------------------
|
|
180
|
-
Mercury : ----------
|
|
181
|
-
Venus : ------------
|
|
182
|
-
Mars : -
|
|
183
|
-
Jupiter :
|
|
184
|
-
Saturn : ------------------------
|
|
195
|
+
Mercury : ---------- -----------------
|
|
196
|
+
Venus : ------------ ----------------
|
|
197
|
+
Mars : - ---------------------
|
|
198
|
+
Jupiter : -----------------------
|
|
199
|
+
Saturn : ------------------------ -----
|
|
185
200
|
===================================================================
|
|
186
201
|
Legend: # Day : Civ/Nav Twilight . Ast Twilight Night
|
|
187
202
|
- Planet above horizon = Moon above horizon
|
|
188
203
|
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
```python
|
|
207
|
+
# Search for Sirius' Heliacal Rising in 378 BCE
|
|
208
|
+
from mesomath import BabStar
|
|
209
|
+
|
|
210
|
+
sirius = BabStar.from_catalog("Sirius")
|
|
211
|
+
sirius.search_phenomena(-378)
|
|
212
|
+
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
```text
|
|
216
|
+
Search for Sirius Heliacal Appearance in the East before sunrise:
|
|
217
|
+
======================================================================
|
|
218
|
+
Search starting at Babylon: -378-01-1.0
|
|
219
|
+
First sight found at: -378-07-23.08 (JD= 1583196.582765)
|
|
220
|
+
Rising angle: 55.912d
|
|
221
|
+
----------------------------------------------------------------------
|
|
222
|
+
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
```python
|
|
226
|
+
# Generates a 2-day contrast time-series report at 6-minute intervals
|
|
227
|
+
sirius.twilight_tomography(year=-378, phenomena="heliacal", city="Babylon", k=0.20, day_offset=(0, 1))
|
|
228
|
+
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
```text
|
|
232
|
+
Search for Sirius Heliacal Appearance in the East before sunrise:
|
|
233
|
+
======================================================================
|
|
234
|
+
Search starting at Babylon: -378-01-1.0
|
|
235
|
+
First sight found at: -378-07-23.08 (JD= 1583196.582765)
|
|
236
|
+
Rising angle: 55.912d
|
|
237
|
+
----------------------------------------------------------------------
|
|
238
|
+
Scanning Sirius visibility in Babylon ( -378-07-23.0)
|
|
239
|
+
at 6 sidereal minutes interval (backward)
|
|
240
|
+
Day Offset: 0
|
|
241
|
+
Current Extinction Coefficient value: k = 0.2
|
|
242
|
+
|sun_ele |star_ele | phi |Vis. |m_real | m_lim | Contrast
|
|
243
|
+
|--------|---------|---------|-----|-------|-------|---------------------
|
|
244
|
+
| -0.041 | 10.885 | 54.736 | No | -0.43 | -5.78 |
|
|
245
|
+
| -2.014 | 9.766 | 54.943 | No | -0.32 | -3.69 |
|
|
246
|
+
| -3.131 | 8.641 | 54.949 | No | -0.18 | -2.52 |
|
|
247
|
+
| -4.239 | 7.510 | 54.956 | No | -0.00 | -1.35 |
|
|
248
|
+
| -5.338 | 6.376 | 54.965 | No | 0.23 | -0.19 |
|
|
249
|
+
| -6.428 | 5.242 | 54.975 | Yes | 0.54 | 0.96 | ###
|
|
250
|
+
| -7.507 | 4.112 | 54.988 | Yes | 0.99 | 2.08 | ########
|
|
251
|
+
| -8.576 | 2.995 | 55.006 | Yes | 1.65 | 3.15 | ############
|
|
252
|
+
| -9.635 | 1.910 | 55.033 | Yes | 2.68 | 4.14 | ###########
|
|
253
|
+
|-10.681 | 0.897 | 55.081 | Yes | 4.33 | 4.94 | ####
|
|
254
|
+
-------------------------------------------------------------------------
|
|
255
|
+
Scanning Sirius visibility in Babylon ( -378-07-22.0)
|
|
256
|
+
at 6 sidereal minutes interval (backward)
|
|
257
|
+
Day Offset: 1
|
|
258
|
+
Current Extinction Coefficient value: k = 0.2
|
|
259
|
+
|sun_ele |star_ele | phi |Vis. |m_real | m_lim | Contrast
|
|
260
|
+
|--------|---------|---------|-----|-------|-------|---------------------
|
|
261
|
+
| -1.888 | 9.028 | 54.332 | No | -0.23 | -3.84 |
|
|
262
|
+
| -3.004 | 7.899 | 54.339 | No | -0.07 | -2.66 |
|
|
263
|
+
| -4.111 | 6.765 | 54.347 | No | 0.14 | -1.49 |
|
|
264
|
+
| -5.209 | 5.631 | 54.356 | No | 0.42 | -0.33 |
|
|
265
|
+
| -6.298 | 4.498 | 54.367 | No | 0.81 | 0.81 |
|
|
266
|
+
| -7.376 | 3.376 | 54.382 | Yes | 1.39 | 1.93 | ####
|
|
267
|
+
| -8.444 | 2.277 | 54.404 | Yes | 2.27 | 3.01 | #####
|
|
268
|
+
| -9.501 | 1.232 | 54.441 | Yes | 3.68 | 4.01 | ##
|
|
269
|
+
|-10.546 | 0.297 | 54.506 | No | 5.89 | 4.85 |
|
|
270
|
+
-------------------------------------------------------------------------
|
|
189
271
|
|
|
190
272
|
```
|
|
191
273
|
|
|
@@ -202,8 +284,8 @@ The complete user manual, tutorials, and mathematical references are available a
|
|
|
202
284
|
* **Mathematical Metrology**: Structured upon the breakthrough historical analyses of **Christine Proust** (*Tablettes mathématiques de Nippur*, 2007) and canonical scribal lexical lists.
|
|
203
285
|
* **Archaeoastronomy & Eclipses**: Driven by the raw ephemeris computational methods and historical eclipse logs compiled in NASA's *Five Millennium Canon of Eclipses* by **Fred Espenak and Jean Meeus**.
|
|
204
286
|
* **Chronological Registers**: Grounded on the empirical data frameworks from *Babylonian Chronology: 626 B.C. – A.D. 75*, by **Richard A. Parker and Waldo H. Dubberstein** (2nd edition, Brown University Press, 1971).
|
|
287
|
+
* **Ephemeris Validation**: Elwood C. Downey's **XEphem** has been continuously utilized during development as an independent computational baseline to audit the mathematical accuracy of the underlying engine.
|
|
205
288
|
|
|
206
289
|
---
|
|
207
290
|
|
|
208
|
-
**Developed by [jccsvq](https://github.com/jccsvq?tab=repositories)
|
|
209
|
-
|
|
291
|
+
**Developed by [jccsvq**](https://github.com/jccsvq?tab=repositories)
|
mesomath-2.2.0/README.md
ADDED
|
@@ -0,0 +1,253 @@
|
|
|
1
|
+
# 🏺 MesoMath v2.2
|
|
2
|
+
**The Mesopotamian Computational Engine for Python.**
|
|
3
|
+
|
|
4
|
+
[](https://pypi.org/project/mesomath/)
|
|
5
|
+
[](https://pypi.org/project/mesomath/)
|
|
6
|
+
[](https://www.python.org/downloads/)
|
|
7
|
+
[](https://github.com/pypa/hatch)
|
|
8
|
+
[](https://mesomath.readthedocs.io)
|
|
9
|
+
[](https://mybinder.org/v2/gh/jccsvq/mesomath-nb/main?labpath=notebooks%2Findex.ipynb)
|
|
10
|
+
|
|
11
|
+
MesoMath is a high-precision computational framework engineered for the rigorous study of ancient Mesopotamian:
|
|
12
|
+
|
|
13
|
+
* **Mathematics**
|
|
14
|
+
* Sexagesimal integer arithmetic (absolute and floating)
|
|
15
|
+
* Fraction arithmetic
|
|
16
|
+
* **Metrology**
|
|
17
|
+
* Old Babylonian Period metrology (length, surface, volume, weight, capacity, and bricks)
|
|
18
|
+
* User-extensible framework for other historical periods
|
|
19
|
+
* NPVS Systems S, G, C, and K
|
|
20
|
+
* Socio-economic applications
|
|
21
|
+
* **Chronology**
|
|
22
|
+
* Based on Parker and Dubberstein (1971) for the period 626 B.C. – A.D. 75
|
|
23
|
+
* *Proleptic* lunar calendar engine for other historical eras
|
|
24
|
+
* **Timekeeping & Archaeoastronomy**
|
|
25
|
+
* Lunar and Planetary Ephemerides
|
|
26
|
+
* Heliacal and Acronychal Rising of stars (Atmospheric 3D scattering models)
|
|
27
|
+
* Built-in catalog of relevant Mesopotamian astronomical sites
|
|
28
|
+
* Built-in catalog of critical historical stars
|
|
29
|
+
* Custom user-defined sites and stars support
|
|
30
|
+
|
|
31
|
+
MesoMath provides:
|
|
32
|
+
* **Native Command-Line Environments (CLI)**: `babcalc` (basic) and `ibabcalc` (full-featured interactive shell).
|
|
33
|
+
* **Jupyter Notebook Integration** for reproducible research.
|
|
34
|
+
* **Authentic Epigraphic Support**: Old Babylonian transliteration standards and Unicode cuneiform rendering.
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## ✨ What's New in v2.2.0?
|
|
39
|
+
|
|
40
|
+
MesoMath v2.2.0 introduces the `BabStar` class, enabling high-fidelity search, physical contrast tracking, and multi-day **Twilight Tomography** for Heliacal and Acronychal stellar phenomena.
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## 🚀 Quick Start
|
|
45
|
+
|
|
46
|
+
### Installation
|
|
47
|
+
|
|
48
|
+
Install the complete environment globally using `pipx` (recommended for CLI apps):
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
$ pipx install mesomath
|
|
52
|
+
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### The Scribal Console
|
|
56
|
+
|
|
57
|
+
Launch the pre-configured advanced interactive environment:
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
$ ibabcalc
|
|
61
|
+
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### 1. Dimensional Arithmetic & Fractions
|
|
65
|
+
|
|
66
|
+
MesoMath manages geometric dimensions and base-60 rational numbers natively:
|
|
67
|
+
|
|
68
|
+
```python
|
|
69
|
+
from mesomath import Blen, Bsur
|
|
70
|
+
|
|
71
|
+
# Objects understand localized metrological ratios
|
|
72
|
+
width = Blen('3 ninda')
|
|
73
|
+
area = Bsur('1 sar')
|
|
74
|
+
|
|
75
|
+
# Dimensional descent via division engine
|
|
76
|
+
length = area / width
|
|
77
|
+
print(length.prtf()) # Output: '1/3 ninda'
|
|
78
|
+
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### 2. Epigraphic Authenticity
|
|
82
|
+
|
|
83
|
+
Export mathematical computations directly into cuneiform strings or scholarly transliterations:
|
|
84
|
+
|
|
85
|
+
```python
|
|
86
|
+
from mesomath import Bcap
|
|
87
|
+
|
|
88
|
+
vol = Bcap('3 bariga 2 ban')
|
|
89
|
+
print(vol.translit) # Output: '3(barig) 2(ban2) še'
|
|
90
|
+
print(vol.cuneiform) # Output: itri samot 𒊺
|
|
91
|
+
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
### 3. Chronology & Archaeoastronomy
|
|
95
|
+
|
|
96
|
+
Translate continuous timeline anchors into historical calendars and calculate complex planetary visibilities:
|
|
97
|
+
|
|
98
|
+
```python
|
|
99
|
+
from mesomath import ChronDate
|
|
100
|
+
|
|
101
|
+
# Instantiate a target Julian date
|
|
102
|
+
date = ChronDate.from_julian(-378, 5, 17)
|
|
103
|
+
print(date.babylonian)
|
|
104
|
+
# Output: 'Year 26 of Artaxerxes II, month: 2 (Aiaru), day: 14'
|
|
105
|
+
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
```python
|
|
109
|
+
# Generate localized micro-historical data grids
|
|
110
|
+
date.day_ephemeris(city='Susa')
|
|
111
|
+
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
```text
|
|
115
|
+
=================================================================
|
|
116
|
+
MESOPOTAMIAN DAILY EPHEMERIS: SUSA
|
|
117
|
+
=================================================================
|
|
118
|
+
Julian Day: 1583129.5 | Civil Calendar: Julian (-378/5/17)
|
|
119
|
+
Chronology: Year 26 of Artaxerxes II, month: 2 (Aiaru), day: 14
|
|
120
|
+
-----------------------------------------------------------------
|
|
121
|
+
SOLAR CONTEXT:
|
|
122
|
+
Sunrise : 01:46 UT | Sunset : 15:32 UT
|
|
123
|
+
Transit : 08:39 UT | Season : Day: 52 of spring
|
|
124
|
+
-----------------------------------------------------------------
|
|
125
|
+
LUNAR INTERVALS (Phenomena in current lunation):
|
|
126
|
+
[Neomenia] NA Interval: -68.35 min (Time from Sunset to Moonset)
|
|
127
|
+
[Mid-Month] MI-MUSH: 19.77 min (Simultaneous visibility)
|
|
128
|
+
[End-Month] KUR: -894.34 min (Dawn crescent disappearance)
|
|
129
|
+
-----------------------------------------------------------------
|
|
130
|
+
PLANETARY VISIBILITY ( Twilight vs. Arc of Vision ):
|
|
131
|
+
* Mercury -> Invisible / Glare (Required Av: 12.0°)
|
|
132
|
+
* Venus -> VISIBLE (Morning Star) (Required Av: 6.0°)
|
|
133
|
+
* Mars -> VISIBLE (Morning Star) (Required Av: 14.0°)
|
|
134
|
+
* Jupiter -> VISIBLE (Evening Star) (Required Av: 9.0°)
|
|
135
|
+
* Saturn -> VISIBLE (Evening Star) (Required Av: 11.0°)
|
|
136
|
+
=================================================================
|
|
137
|
+
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
```python
|
|
141
|
+
# Visualize the sky timeline across ancient nocturnal watches
|
|
142
|
+
date.night_at_a_glance(city='Susa')
|
|
143
|
+
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
```text
|
|
147
|
+
===================================================================
|
|
148
|
+
Night at a Glance: Susa (-378-05-17)
|
|
149
|
+
===================================================================
|
|
150
|
+
UT Hours: 09 11 13 15 17 19 21 23 01 03 05 07 09
|
|
151
|
+
Local H.: 12 14 16 18 20 22 00 02 04 06 08 10 12
|
|
152
|
+
-------------------------------------------------------------------
|
|
153
|
+
Sky/Sun : #############::. .::###############
|
|
154
|
+
-------------------------------------------------------------------
|
|
155
|
+
Moon : =====================
|
|
156
|
+
-------------------------------------------------------------------
|
|
157
|
+
Mercury : ---------- -----------------
|
|
158
|
+
Venus : ------------ ----------------
|
|
159
|
+
Mars : - ---------------------
|
|
160
|
+
Jupiter : -----------------------
|
|
161
|
+
Saturn : ------------------------ -----
|
|
162
|
+
===================================================================
|
|
163
|
+
Legend: # Day : Civ/Nav Twilight . Ast Twilight Night
|
|
164
|
+
- Planet above horizon = Moon above horizon
|
|
165
|
+
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
```python
|
|
169
|
+
# Search for Sirius' Heliacal Rising in 378 BCE
|
|
170
|
+
from mesomath import BabStar
|
|
171
|
+
|
|
172
|
+
sirius = BabStar.from_catalog("Sirius")
|
|
173
|
+
sirius.search_phenomena(-378)
|
|
174
|
+
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
```text
|
|
178
|
+
Search for Sirius Heliacal Appearance in the East before sunrise:
|
|
179
|
+
======================================================================
|
|
180
|
+
Search starting at Babylon: -378-01-1.0
|
|
181
|
+
First sight found at: -378-07-23.08 (JD= 1583196.582765)
|
|
182
|
+
Rising angle: 55.912d
|
|
183
|
+
----------------------------------------------------------------------
|
|
184
|
+
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
```python
|
|
188
|
+
# Generates a 2-day contrast time-series report at 6-minute intervals
|
|
189
|
+
sirius.twilight_tomography(year=-378, phenomena="heliacal", city="Babylon", k=0.20, day_offset=(0, 1))
|
|
190
|
+
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
```text
|
|
194
|
+
Search for Sirius Heliacal Appearance in the East before sunrise:
|
|
195
|
+
======================================================================
|
|
196
|
+
Search starting at Babylon: -378-01-1.0
|
|
197
|
+
First sight found at: -378-07-23.08 (JD= 1583196.582765)
|
|
198
|
+
Rising angle: 55.912d
|
|
199
|
+
----------------------------------------------------------------------
|
|
200
|
+
Scanning Sirius visibility in Babylon ( -378-07-23.0)
|
|
201
|
+
at 6 sidereal minutes interval (backward)
|
|
202
|
+
Day Offset: 0
|
|
203
|
+
Current Extinction Coefficient value: k = 0.2
|
|
204
|
+
|sun_ele |star_ele | phi |Vis. |m_real | m_lim | Contrast
|
|
205
|
+
|--------|---------|---------|-----|-------|-------|---------------------
|
|
206
|
+
| -0.041 | 10.885 | 54.736 | No | -0.43 | -5.78 |
|
|
207
|
+
| -2.014 | 9.766 | 54.943 | No | -0.32 | -3.69 |
|
|
208
|
+
| -3.131 | 8.641 | 54.949 | No | -0.18 | -2.52 |
|
|
209
|
+
| -4.239 | 7.510 | 54.956 | No | -0.00 | -1.35 |
|
|
210
|
+
| -5.338 | 6.376 | 54.965 | No | 0.23 | -0.19 |
|
|
211
|
+
| -6.428 | 5.242 | 54.975 | Yes | 0.54 | 0.96 | ###
|
|
212
|
+
| -7.507 | 4.112 | 54.988 | Yes | 0.99 | 2.08 | ########
|
|
213
|
+
| -8.576 | 2.995 | 55.006 | Yes | 1.65 | 3.15 | ############
|
|
214
|
+
| -9.635 | 1.910 | 55.033 | Yes | 2.68 | 4.14 | ###########
|
|
215
|
+
|-10.681 | 0.897 | 55.081 | Yes | 4.33 | 4.94 | ####
|
|
216
|
+
-------------------------------------------------------------------------
|
|
217
|
+
Scanning Sirius visibility in Babylon ( -378-07-22.0)
|
|
218
|
+
at 6 sidereal minutes interval (backward)
|
|
219
|
+
Day Offset: 1
|
|
220
|
+
Current Extinction Coefficient value: k = 0.2
|
|
221
|
+
|sun_ele |star_ele | phi |Vis. |m_real | m_lim | Contrast
|
|
222
|
+
|--------|---------|---------|-----|-------|-------|---------------------
|
|
223
|
+
| -1.888 | 9.028 | 54.332 | No | -0.23 | -3.84 |
|
|
224
|
+
| -3.004 | 7.899 | 54.339 | No | -0.07 | -2.66 |
|
|
225
|
+
| -4.111 | 6.765 | 54.347 | No | 0.14 | -1.49 |
|
|
226
|
+
| -5.209 | 5.631 | 54.356 | No | 0.42 | -0.33 |
|
|
227
|
+
| -6.298 | 4.498 | 54.367 | No | 0.81 | 0.81 |
|
|
228
|
+
| -7.376 | 3.376 | 54.382 | Yes | 1.39 | 1.93 | ####
|
|
229
|
+
| -8.444 | 2.277 | 54.404 | Yes | 2.27 | 3.01 | #####
|
|
230
|
+
| -9.501 | 1.232 | 54.441 | Yes | 3.68 | 4.01 | ##
|
|
231
|
+
|-10.546 | 0.297 | 54.506 | No | 5.89 | 4.85 |
|
|
232
|
+
-------------------------------------------------------------------------
|
|
233
|
+
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
---
|
|
237
|
+
|
|
238
|
+
## 📚 Documentation
|
|
239
|
+
|
|
240
|
+
The complete user manual, tutorials, and mathematical references are available at [mesomath.readthedocs.io](https://mesomath.readthedocs.io).
|
|
241
|
+
|
|
242
|
+
---
|
|
243
|
+
|
|
244
|
+
## 🏛️ Acknowledgments & Sources
|
|
245
|
+
|
|
246
|
+
* **Mathematical Metrology**: Structured upon the breakthrough historical analyses of **Christine Proust** (*Tablettes mathématiques de Nippur*, 2007) and canonical scribal lexical lists.
|
|
247
|
+
* **Archaeoastronomy & Eclipses**: Driven by the raw ephemeris computational methods and historical eclipse logs compiled in NASA's *Five Millennium Canon of Eclipses* by **Fred Espenak and Jean Meeus**.
|
|
248
|
+
* **Chronological Registers**: Grounded on the empirical data frameworks from *Babylonian Chronology: 626 B.C. – A.D. 75*, by **Richard A. Parker and Waldo H. Dubberstein** (2nd edition, Brown University Press, 1971).
|
|
249
|
+
* **Ephemeris Validation**: Elwood C. Downey's **XEphem** has been continuously utilized during development as an independent computational baseline to audit the mathematical accuracy of the underlying engine.
|
|
250
|
+
|
|
251
|
+
---
|
|
252
|
+
|
|
253
|
+
**Developed by [jccsvq**](https://github.com/jccsvq?tab=repositories)
|
|
@@ -54,7 +54,6 @@ Core
|
|
|
54
54
|
Sun
|
|
55
55
|
...
|
|
56
56
|
|
|
57
|
-
|
|
58
57
|
.. automodule:: mesotimes.astronomy.sun
|
|
59
58
|
:members:
|
|
60
59
|
|
|
@@ -78,3 +77,14 @@ Planets
|
|
|
78
77
|
.. automodule:: mesotimes.astronomy.planets.superiors
|
|
79
78
|
:members:
|
|
80
79
|
:show-inheritance:
|
|
80
|
+
|
|
81
|
+
Stars (BabStar)
|
|
82
|
+
...............
|
|
83
|
+
|
|
84
|
+
.. autoclass:: mesotimes.BabStar
|
|
85
|
+
:members:
|
|
86
|
+
:special-members: __init__
|
|
87
|
+
:undoc-members:
|
|
88
|
+
|
|
89
|
+
.. automodule:: mesotimes.astronomy.visibility
|
|
90
|
+
:members:
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
|
|
2
|
-
# Introduction to MesoMath (
|
|
2
|
+
# Introduction to MesoMath ({{ release }})
|
|
3
3
|
|
|
4
4
|
**MesoMath** is more than just a calculator; it is a digital bridge to the mathematical and astronomical mind of the ancient Mesopotamian scribe. While modern mathematics relies on abstract decimal notation, the Old Babylonian period (c. 1900–1600 BCE) developed a sophisticated sexagesimal (base-60) system that combined floating-point arithmetic with a complex web of metrological units and elastic, horizon-based timekeeping frameworks.
|
|
5
5
|
|
|
6
6
|
## The MesoMath Ecosystem
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
Since version 2.1.0 MesoMath expands its unified workflow by transitioning into a comprehensive metapackage. It couples core scribal mathematics with advanced historical chronology and archaeoastronomy, tailored to the needs of researchers from quick terminal calculations to reproducible academic analysis:
|
|
9
9
|
|
|
10
10
|
### 1. Command-Line Environments (CLI)
|
|
11
11
|
|
|
@@ -44,7 +44,7 @@ The MesoMath engine does not merely compute; it documents. All results can be ex
|
|
|
44
44
|
|
|
45
45
|
* **Precise Event Ephemeris**: Calculated directly with the [`pymeeus` library](https://github.com/architest/pymeeus) (VSOP87, ELP85) up to the current limit of knowledge of the parameter `Delta T`.
|
|
46
46
|
* **Internal Database of Historical Eclipses**: Solar and Lunar eclipses visible at Kish (total and partial) based on the [*Five Millennium Canon of Eclipses* by Fred Espenak and Jean Meeus](https://eclipse.gsfc.nasa.gov/SEpubs/5MCSE.html).
|
|
47
|
-
|
|
47
|
+
* **Heliacal and Acronychal Rising of Stars**: Precise dating and dissection/tomography of twilight lights to reveal the temporal evolution of the contrast between the star and the twilight background.
|
|
48
48
|
-----
|
|
49
49
|
|
|
50
50
|
## Project Architecture
|
|
@@ -59,6 +59,7 @@ MesoMath has shifted into a structural metapackage architecture, decoupling core
|
|
|
59
59
|
|
|
60
60
|
2. **The `mesotimes` Package Core Engine**:
|
|
61
61
|
* `date.py`: Chronological, calendrical, and astronomical dispatchers (`ChronDate`).
|
|
62
|
+
* `stars.py` and `visibility.py`: Search and analysis of heliacal/acronychal star phenomena.
|
|
62
63
|
|
|
63
64
|
3. **Unified API**: Legacy standalone utilities (formerly `mtlookup`, `bmultable`) are integrated directly into the core classes, streamlining the developer experience. Methods like `Blen.lookup()` or `BabN.multable()` are now standard.
|
|
64
65
|
|
|
@@ -114,4 +114,30 @@ This bibliography provides the academic and historical foundations for the metro
|
|
|
114
114
|
|
|
115
115
|
(ref-PyMeeus)=
|
|
116
116
|
* **Arribas, J. L.** (2020). *PyMeeus: Astronomical Algorithms in Python*. Python Software Foundation. Available at: https://github.com/leasw/pymeeus
|
|
117
|
-
> *Note: Python implementation of Meeus' algorithms used as a validation layer for specific internal ephemeris loops.*
|
|
117
|
+
> *Note: Python implementation of Meeus' algorithms used as a validation layer for specific internal ephemeris loops.*
|
|
118
|
+
|
|
119
|
+
## Stellar Visibility
|
|
120
|
+
|
|
121
|
+
(ref-Schoch1924)=
|
|
122
|
+
* **Schoch, C.** (1924). *The Arcus Visionis of the Planets in Babylonian Astronomy*. Monthly Notices of the Royal Astronomical Society, 84(9), 731–734.
|
|
123
|
+
> *Note: Traditional geometric baseline for Babylonian stellar and planetary visibility calculations.*
|
|
124
|
+
|
|
125
|
+
(ref-Schaefer1993)=
|
|
126
|
+
* **Schaefer, B. E.** (1993). *Astronomy and the Limiting Magnitude of the Naked Eye*. Publications of the Astronomical Society of the Pacific, 105(688), 651–661.
|
|
127
|
+
> *Note: Fundamental paper for the 1D ramp model and human visual contrast threshold equations against sky brightness.*
|
|
128
|
+
|
|
129
|
+
(ref-Schaefer2000)=
|
|
130
|
+
* **Schaefer, B. E.** (2000). *The Heliacal Rise of Sirius and Ancient Chronology*. Journal for the History of Astronomy, 31(2), 149–155.
|
|
131
|
+
> *Note: Direct application of atmospheric extinction and scattering models to the specific historical problem of the rising of Sirius.*
|
|
132
|
+
|
|
133
|
+
(ref-Garstang1989)=
|
|
134
|
+
* **Garstang, R. H.** (1989). *Night-sky Brightness at Observatories and Sites*. Publications of the Astronomical Society of the Pacific, 101, 306–329.
|
|
135
|
+
> *Note: Mathematical foundation for the 3D visibility framework, containing Rayleigh and aerosol scattering phase functions.*
|
|
136
|
+
|
|
137
|
+
(ref-Pickering2002)=
|
|
138
|
+
* **Pickering, K. A.** (2002). *The Southern Limits of the Ancient Star Catalog and the Commentary of Hipparchos*. DIO, 12, 3–27.
|
|
139
|
+
> *Note: Reference study for ancient star catalog boundaries and historical stellar visibility constraints.*
|
|
140
|
+
|
|
141
|
+
(ref-KastenYoung1989)=
|
|
142
|
+
* **Kasten, F. and Young, A. T.** (1989). *Revised optical air mass tables and approximation formula*. Applied Optics, 28(22), 4735–4738.
|
|
143
|
+
> *Note: Reference formulation for atmospheric optical air mass calculations at low horizons and high zenith angles.*
|