def year_37_month_2(self, month: List[BabylonianDay]) -> List[AbstractQuery]: res = [] # Sîn (Moon) appeared below the Rear Bright Star of the Large Twins (β Geminorum) if self.mode == VAT4956Mode.ALL or self.mode == VAT4956Mode.LUNAR_ONLY: res.append(AngularSeparationQuery(self.db, MOON, BETA_GEMINORUM, 0, 15, EclipticPosition.BELOW, SearchRange.for_night(month, 1))) # Kajjamānu (Saturn) was in front of the Swallow (Pisces). if self.mode == VAT4956Mode.ALL or self.mode == VAT4956Mode.PLANET_ONLY: res.append(AngularSeparationQuery(self.db, SATURN, PISCES.central_star, 0, PISCES.radius, EclipticPosition.AHEAD, SearchRange.for_night(month, 1))) # The 3rd, Ṣalbaṭānu (Mars) entered the Crab (Praesepe), the 5th it emerged. if self.mode == VAT4956Mode.ALL or self.mode == VAT4956Mode.PLANET_ONLY: res.append(AngularSeparationQuery(self.db, MARS, FORTY_TWO_CANCRI, 0, 5, None, SearchRange.range_of_nights(month, 3, 5))) # The 10th, Šiḫṭu (Mercury) [rose] in the west behind the [Little] Twins [...] (Gemini) if self.mode == VAT4956Mode.ALL or self.mode == VAT4956Mode.PLANET_ONLY: res.append(PlanetaryEventQuery(self.db, MERCURY, InnerPlanetPhenomena.EF, SearchRange.for_night_and_day(month, 10))) res.append(AngularSeparationQuery(self.db, MERCURY, GEMINI.central_star, 0, GEMINI.radius, None, SearchRange.for_night_and_day(month, 10))) # The 18th, Dilbat (Venus) was ‘balanced’ 1 cubit 4 fingers above the King (Regulus). if self.mode == VAT4956Mode.ALL or self.mode == VAT4956Mode.PLANET_ONLY: res.append(AngularSeparationQuery(self.db, VENUS, REGULUS, (1 * CUBIT) + (4 * FINGER), 8 * CUBIT, EclipticPosition.ABOVE, SearchRange.for_night(month, 18))) # The 26th (KUR) (moonrise to sunrise) was 23, I did not observe Sîn. if self.mode == VAT4956Mode.ALL or self.mode == VAT4956Mode.LUNAR_SIX_ONLY: res.append(LunarSixQuery(self.db, month, 26, LunarSix.KUR, 23, low_precision=True)) return res
def year_14_month_12(self, month: List[BabylonianDay]) -> List[AbstractQuery]: # 6' [Mon]th XII, the 14th, (eclipse) which was omitted. # 7' .... after? sunrise?. return [ LunarEclipseQuery(self.db, None, ExpectedEclipseType.UNKNOWN, None, None, SearchRange.for_night_and_day(month, 14)) ]
def year_50_month_13(self, month: List[BabylonianDay]) -> List[AbstractQuery]: # 9' Month XII₂, the 15th [....] range = SearchRange.for_night_and_day(month, 15) return [ LunarEclipseQuery(self.db, None, ExpectedEclipseType.UNKNOWN, None, None, range) ]
def year_18_month_8(self, month: List[BabylonianDay]) -> List[AbstractQuery]: # 5 Month VIII, the 13th, .... [....] # 6 and south [....] range = SearchRange.for_night_and_day(month, 13) return [ LunarEclipseQuery(self.db, None, ExpectedEclipseType.UNKNOWN, None, None, range) ]
def year_28_month_3(self, month: List[BabylonianDay]) -> List[AbstractQuery]: # 7' Year 28. Month III, the 14th, .... # 8' [....] .... [....] finger remaining # 9' [....nn]°, it set eclipsed. return [ LunarEclipseQuery(self.db, None, ExpectedEclipseType.PARTIAL_OR_TOTAL, None, None, SearchRange.for_night_and_day(month, 14)) ]
def year_12_month_12(self, month: List[BabylonianDay]) -> List[AbstractQuery]: # 6 Month XII, the 15th. 10? [....nn]° after sunset [....] # 7 1 bēru 6° onset [and clearing.] length = (1 * BERU_US) + 6 return [ LunarEclipseQuery(self.db, None, ExpectedEclipseType.PARTIAL_OR_TOTAL, CompositePhaseTiming(length), None, SearchRange.for_night_and_day(month, 15)) ]
def year_29_month_2(self, month: List[BabylonianDay]) -> List[AbstractQuery]: # 13' Year 29. [Mon]th II, the 14th, [....] # 14' 1 bēru 10° before sunrise, t = (1 * BERU_US) + 10 return [ LunarEclipseQuery( self.db, FirstContactTime(t, FirstContactRelative.BEFORE_SUNRISE), ExpectedEclipseType.PARTIAL_OR_TOTAL, None, None, SearchRange.for_night_and_day(month, 14)) ]
def year_17_month_10(self, month: List[BabylonianDay]) -> List[AbstractQuery]: # 17 [Month] X, the 13th, morning watch. 1 bēru 5° [before sunrise?] # 18 all of it was covered. [It set eclips]ed. t = (1 * BERU_US) + 5 return [ LunarEclipseQuery( self.db, FirstContactTime(t, FirstContactRelative.BEFORE_SUNRISE), ExpectedEclipseType.TOTAL, None, None, SearchRange.for_night_and_day(month, 13)) ]
def year_16_month_b(self, month: List[BabylonianDay]) -> List[AbstractQuery]: # 14 [Month X,] the 14th. morning watch. ⅔ bēru before sunrise?. # 15 half of it was covered. [It set] eclipsed. t = (2 / 3 * BERU_US) return [ LunarEclipseQuery( self.db, FirstContactTime(t, FirstContactRelative.BEFORE_SUNRISE), ExpectedEclipseType.PARTIAL, None, None, SearchRange.for_night_and_day(month, 14)) ]
def year_4_month_1(self, month: List[BabylonianDay]) -> List[AbstractQuery]: # 8 [Year 4. M]onth I, the 13th, middle watch, 3 bēru 5° after sunset, # 9 it began in the west and north. Three quarters # 10 [was covered.] It cleared in the north. The north wind blew. t = (3 * BERU_US) + 5 return [ LunarEclipseQuery( self.db, FirstContactTime(t, FirstContactRelative.AFTER_SUNSET), ExpectedEclipseType.PARTIAL, None, None, SearchRange.for_night_and_day(month, 13)) ]
def year_36_month_3(self, month: List[BabylonianDay]) -> List[AbstractQuery]: # 1 (Year) 16 of Kandalānu, # 2 month III, (after) 5 months, the 15th, 2 fin[gers?] # 3 between north and east were covered. # 4 It cleared in the north. The north wind b[lew?.] # 5 20° onset, maximal phase, [and clearing ....] # 6 behind α Scorpii [it was eclipsed.] day15 = SearchRange.for_night_and_day(month, 15) location = EclipsePosition(ANTARES, 0, 20, EclipticPosition.BEHIND) res1 = LunarEclipseQuery(self.db, None, ExpectedEclipseType.PARTIAL, CompositePhaseTiming(20), location, day15) return [res1]
def year_50_month_7(self, month: List[BabylonianDay]) -> List[AbstractQuery]: # 2' Month VII, the 13th, in 17° on the east side' # 3' all was covered; 28° maximal phase. # 4' In 20° it cleared from east to west. # 5' Its eclipse was red. # 6' Behind the rump of Aries it was eclipsed. # 7' During onset, the north wind blew, during clearing. the west wind. # 8' At 55° before sunrise. day13 = SearchRange.for_night_and_day(month, 13) eclipse_length = SeparatePhaseTimings(17, 28, 20) eclipse_time = FirstContactTime(55, FirstContactRelative.BEFORE_SUNRISE) location = EclipsePosition(ARIES.central_star, 0, ARIES.radius, EclipticPosition.BEHIND) res1 = LunarEclipseQuery(self.db, eclipse_time, ExpectedEclipseType.TOTAL, eclipse_length, location, day13) return [res1]
def year_37_month_3(self, month: List[BabylonianDay]) -> List[AbstractQuery]: res = [] # Sîn (Moon) appeared behind the Crab (Cancer); if self.mode == VAT4956Mode.ALL or self.mode == VAT4956Mode.LUNAR_ONLY: res.append(AngularSeparationQuery(self.db, MOON, CANCER.central_star, 0, CANCER.radius, EclipticPosition.BEHIND, SearchRange.for_night(month, 1))) # NA (sunset to moonset) was 20 if self.mode == VAT4956Mode.ALL or self.mode == VAT4956Mode.LUNAR_SIX_ONLY: res.append(LunarSixQuery(self.db, month, 1, LunarSix.NA1, 20)) # At that time, Ṣalba-ṭānu (Mars) and Šiḫṭu (Mercury) were 4 cubits in front of the K[ing ...] (Regulus) # In the evening, Šiḫṭu (Mercury) passed below Ṣalbaṭānu (Mars) if self.mode == VAT4956Mode.ALL or self.mode == VAT4956Mode.PLANET_ONLY: res.append(AngularSeparationQuery(self.db, MARS, REGULUS, 4 * CUBIT, 1 * CUBIT, EclipticPosition.AHEAD, SearchRange.for_night(month, 1))) res.append(AngularSeparationQuery(self.db, MERCURY, REGULUS, 4 * CUBIT, 1 * CUBIT, EclipticPosition.AHEAD, SearchRange.for_night(month, 1))) res.append(AngularSeparationQuery(self.db, MARS, MERCURY, 0, 10, EclipticPosition.ABOVE, SearchRange.for_night(month, 1))) # Sagmegar (Jupiter) was above Lisi (Antares) if self.mode == VAT4956Mode.ALL or self.mode == VAT4956Mode.PLANET_ONLY: res.append((AngularSeparationQuery(self.db, JUPITER, ANTARES, 0, 15, EclipticPosition.ABOVE, SearchRange.for_night(month, 1)))) # Dilbat (Venus) was in the west, opposite the Tail of the Li[on ...] (θ Leonis) if self.mode == VAT4956Mode.ALL or self.mode == VAT4956Mode.PLANET_ONLY: res.append(AngularSeparationQuery(self.db, VENUS, THETA_LEONIS, 0, 15, None, SearchRange.for_night(month, 1))) # Night of the 5th, beginning of the night, Sîn (Moon) passed towards the east 1 cubit ‹above/below› # the Bright Star at the Tip of the Lion’s Foot. (Leo) if self.mode == VAT4956Mode.ALL or self.mode == VAT4956Mode.LUNAR_ONLY: res.append(AngularSeparationQuery(self.db, MOON, LEO.central_star, 0, LEO.radius, None, SearchRange.for_night(month, 5))) # the 8th, evening watch, Sîn (Moon) stood 2 1/2 cubits below the Northern Part of the Scales (β Librae). if self.mode == VAT4956Mode.ALL or self.mode == VAT4956Mode.LUNAR_ONLY: res.append(AngularSeparationQuery(self.db, MOON, BETA_LIBRAE, 2.5 * CUBIT, 1 * CUBIT, EclipticPosition.BELOW, SearchRange.for_night(month, 8))) # Night of the 10th, evening watch, Sîn (Moon) was ‘balanced’ 3 1/2 cubits above Lisi (Antares). if self.mode == VAT4956Mode.ALL or self.mode == VAT4956Mode.LUNAR_ONLY: res.append(AngularSeparationQuery(self.db, MOON, ANTARES, 3.5 * CUBIT, 1 * CUBIT, EclipticPosition.ABOVE, SearchRange.for_night(month, 10))) # The 12th, Ṣalbaṭānu (Mars) was 2/3 of a cubit ˹above˺ [the King ...] (Regulus) if self.mode == VAT4956Mode.ALL or self.mode == VAT4956Mode.PLANET_ONLY: res.append(AngularSeparationQuery(self.db, MARS, REGULUS, 2/3 * CUBIT, 6 * FINGER, EclipticPosition.ABOVE, SearchRange.for_night(month, 12))) # The 15th, (one) god was seen with the (other) god, NA (sunrise to moonset) was 7;30 if self.mode == VAT4956Mode.ALL or self.mode == VAT4956Mode.LUNAR_SIX_ONLY: res.append(LunarSixQuery(self.db, month, 15, LunarSix.NA, 7.5)) # An eclipse of Sîn (Moon) which passed by if self.mode == VAT4956Mode.ALL or self.mode == VAT4956Mode.LUNAR_ONLY: res.append(LunarEclipseQuery(self.db, None, ExpectedEclipseType.UNKNOWN, None, None, SearchRange.for_night_and_day(month, 15))) return res