コード例 #1
0
    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
コード例 #2
0
 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))
     ]
コード例 #3
0
 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)
     ]
コード例 #4
0
 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)
     ]
コード例 #5
0
 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))
     ]
コード例 #6
0
 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))
     ]
コード例 #7
0
 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))
     ]
コード例 #8
0
 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))
     ]
コード例 #9
0
 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))
     ]
コード例 #10
0
 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))
     ]
コード例 #11
0
 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]
コード例 #12
0
 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]
コード例 #13
0
    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