@@ -375,6 +375,36 @@ public class ComplexZmanimCalendar extends ZmanimCalendar {
375
375
* @see #getTzaisGeonim9Point75Degrees()
376
376
*/
377
377
protected static final double ZENITH_9_POINT_75 = GEOMETRIC_ZENITH + 9.75 ;
378
+
379
+ /**
380
+ * The zenith of 2.03° above {@link #GEOMETRIC_ZENITH geometric zenith} (90°). This calculation is used for
381
+ * calculating the start of <em>bain hashmashos</em> (twilight) of 13.5 minutes before sunset converted to degrees
382
+ * according to the Yereim. As is traditional with degrees below the horizon, this is calculated without refraction
383
+ * and from the center of the sun. It would be 0.833° less without this.
384
+ *
385
+ * @see #getBainHasmashosYereim2Point03Degrees()
386
+ */
387
+ protected static final double ZENITH_MINUS_2_POINT_03 = GEOMETRIC_ZENITH - 2.03 ;
388
+
389
+ /**
390
+ * The zenith of 2.75° above {@link #GEOMETRIC_ZENITH geometric zenith} (90°). This calculation is used for
391
+ * calculating the start of <em>bain hashmashos</em> (twilight) of 16.875 minutes before sunset converted to degrees
392
+ * according to the Yereim. As is traditional with degrees below the horizon, this is calculated without refraction
393
+ * and from the center of the sun. It would be 0.833° less without this.
394
+ *
395
+ * @see #getBainHasmashosYereim2Point75Degrees()
396
+ */
397
+ protected static final double ZENITH_MINUS_2_POINT_75 = GEOMETRIC_ZENITH - 2.75 ;
398
+
399
+ /**
400
+ * The zenith of 2.99° above {@link #GEOMETRIC_ZENITH geometric zenith} (90°). This calculation is used for
401
+ * calculating the start of <em>bain hashmashos</em> (twilight) of 18 minutes before sunset converted to degrees
402
+ * according to the Yereim. As is traditional with degrees below the horizon, this is calculated without refraction
403
+ * and from the center of the sun. It would be 0.833° less without this.
404
+ *
405
+ * @see #getBainHasmashosYereim2Point99Degrees()
406
+ */
407
+ protected static final double ZENITH_MINUS_2_POINT_99 = GEOMETRIC_ZENITH - 2.99 ;
378
408
379
409
/**
380
410
* The offset in minutes (defaults to 40) after sunset used for <em>tzeit</em> for Ateret Torah calculations.
@@ -1912,13 +1942,13 @@ public Date getPlagAlos16Point1ToTzaisGeonim7Point083Degrees() {
1912
1942
}
1913
1943
1914
1944
/**
1915
- * Method to return <em>Bain Hashmashos </em> of <em>Rabbeinu Tam</em> calculated when the sun is
1945
+ * Method to return the beginning of <em>bain hashmashos </em> of <em>Rabbeinu Tam</em> calculated when the sun is
1916
1946
* {@link #ZENITH_13_POINT_24 13.24°} below the western {@link #GEOMETRIC_ZENITH geometric horizon} (90°)
1917
1947
* after sunset. This calculation is based on the same calculation of {@link #getBainHasmashosRT58Point5Minutes()
1918
- * Bain Hashmashos Rabbeinu Tam 58.5 minutes} but uses a degree based calculation instead of 58.5 exact minutes. This
1919
- * calculation is based on the position of the sun 58.5 minutes after sunset in Jerusalem during the equinox (on
1920
- * March 16, about 4 days before the astronomical equinox, the day that a solar hour is 60 minutes) which calculates
1921
- * to 13.24° below {@link #GEOMETRIC_ZENITH geometric zenith}.
1948
+ * <em>bain hashmashos</em> Rabbeinu Tam 58.5 minutes} but uses a degree based calculation instead of 58.5 exact
1949
+ * minutes. This calculation is based on the position of the sun 58.5 minutes after sunset in Jerusalem during the
1950
+ * equinox (on March 16, about 4 days before the astronomical equinox, the day that a solar hour is 60 minutes)
1951
+ * which calculates to 13.24° below {@link #GEOMETRIC_ZENITH geometric zenith}.
1922
1952
* NOTE: As per Yisrael Vehazmanim Vol. III page 1028 No 50, a dip of slightly less than 13° should be used.
1923
1953
* Calculations show that the proper dip to be 13.2456° (truncated to 13.24 that provides about 1.5 second
1924
1954
* earlier (<em>lechumra</em>) time) below the horizon at that time. This makes a difference of 1 minute and 10
@@ -1939,9 +1969,9 @@ public Date getBainHasmashosRT13Point24Degrees() {
1939
1969
}
1940
1970
1941
1971
/**
1942
- * This method returns <em>Bain Hashmashos </em> of <em>Rabbeinu Tam</em> calculated as a 58.5 minute offset after
1943
- * sunset. <em>Bain hashmashos</em> is 3/4 of a <em>Mil</em> before <em>tzais</em> or 3 1/4 <em>Mil</em> after
1944
- * sunset. With a <em>Mil</em> calculated as 18 minutes, 3.25 * 18 = 58.5 minutes.
1972
+ * This method returns the beginning of <em>Bain hashmashos </em> of <em>Rabbeinu Tam</em> calculated as a 58.5
1973
+ * minute offset after sunset. <em>bain hashmashos</em> is 3/4 of a <em>Mil</em> before <em>tzais</em> or 3 1/4
1974
+ * <em>Mil</em> after sunset. With a <em>Mil</em> calculated as 18 minutes, 3.25 * 18 = 58.5 minutes.
1945
1975
*
1946
1976
* @return the <code>Date</code> of 58.5 minutes after sunset. If the calculation can't be computed such as in the
1947
1977
* Arctic Circle where there is at least one day a year where the sun does not rise, and one where it does
@@ -1954,8 +1984,8 @@ public Date getBainHasmashosRT58Point5Minutes() {
1954
1984
}
1955
1985
1956
1986
/**
1957
- * This method returns the time of <em>bain hashmashos</em> based on the calculation of 13.5 minutes (3/4 of an 18
1958
- * minute <em>Mil</em> before shkiah calculated as {@link #getTzaisGeonim7Point083Degrees() 7.083°}.
1987
+ * This method returns the beginning of <em>bain hashmashos</em> based on the calculation of 13.5 minutes (3/4 of an
1988
+ * 18 minute <em>Mil</em>) before <em> shkiah</em> calculated as {@link #getTzaisGeonim7Point083Degrees() 7.083°}.
1959
1989
*
1960
1990
* @return the <code>Date</code> of the <em>bain hashmashos</em> of <em>Rabbeinu Tam</em> in this calculation. If the
1961
1991
* calculation can't be computed such as northern and southern locations even south of the Arctic Circle and
@@ -1969,10 +1999,10 @@ public Date getBainHasmashosRT13Point5MinutesBefore7Point083Degrees() {
1969
1999
}
1970
2000
1971
2001
/**
1972
- * This method returns <em>bain hashmashos</em> of <em>Rabbeinu Tam</em> calculated according to the opinion of the
1973
- * <em>Divrei Yosef</em> (see Yisrael Vehazmanim) calculated 5/18th (27.77%) of the time between <em>alos</em>
1974
- * (calculated as 19.8° before sunrise) and sunrise. This is added to sunset to arrive at the time for
1975
- * <em>bain hashmashos</em> of <em>Rabbeinu Tam</em>).
2002
+ * This method returns the beginning of <em>bain hashmashos</em> of <em>Rabbeinu Tam</em> calculated according to the
2003
+ * opinion of the <em>Divrei Yosef</em> (see Yisrael Vehazmanim) calculated 5/18th (27.77%) of the time between
2004
+ * <em>alos</em> (calculated as 19.8° before sunrise) and sunrise. This is added to sunset to arrive at the time
2005
+ * for <em>bain hashmashos</em> of <em>Rabbeinu Tam</em>).
1976
2006
*
1977
2007
* @return the <code>Date</code> of <em>bain hashmashos</em> of <em>Rabbeinu Tam</em> for this calculation. If the
1978
2008
* calculation can't be computed such as northern and southern locations even south of the Arctic Circle and
@@ -1989,7 +2019,117 @@ public Date getBainHasmashosRT2Stars() {
1989
2019
1990
2020
return getTimeOffset (getElevationAdjustedSunset (), (sunrise .getTime () - alos19Point8 .getTime ()) * (5 / 18d ));
1991
2021
}
1992
-
2022
+
2023
+ /**
2024
+ * This method returns the beginning of <em>bain hashmashos</em> (twilight) according to the <a href=
2025
+ * "https://en.wikipedia.org/wiki/Eliezer_ben_Samuel">Yereim (Rabbi Eliezer of Metz)</a> calculated as 18 minutes
2026
+ * or 3/4 of a 24 minute <em>Mil</em> before sunset. According to the Yereim, <em>bain hashmashos</em> starts 3/4
2027
+ * of a <em>Mil</em> before sunset and <em>tzais</em> or nightfall starts at sunset.
2028
+ *
2029
+ * @return the <code>Date</code> of 18 minutes before sunset. If the calculation can't be computed such as in the
2030
+ * Arctic Circle where there is at least one day a year where the sun does not rise, and one where it does
2031
+ * not set, a null will be returned. See detailed explanation on top of the {@link AstronomicalCalendar}
2032
+ * documentation.
2033
+ * @see #getBainHasmashosYereim2Point99Degrees()
2034
+ */
2035
+ public Date getBainHasmashosYereim18Minutes () {
2036
+ return getTimeOffset (getElevationAdjustedSunset (), -18 * MINUTE_MILLIS );
2037
+ }
2038
+
2039
+ /**
2040
+ * This method returns the beginning of <em>hain hashmashos</em> (twilight) according to the <a href=
2041
+ * "https://en.wikipedia.org/wiki/Eliezer_ben_Samuel">Yereim (Rabbi Eliezer of Metz)</a> calculated as the sun's
2042
+ * position 2.99° above the horizon during the equinox (on March 16, about 4 days before the astronomical
2043
+ * equinox, the day that a solar hour is 60 minutes) in Yerushalayim, its position 18 minutes or 3/4 of an 24
2044
+ * minute <em>Mil</em> before sunset. According to the Yereim, bain hashmashos starts 3/4 of a <em>Mil</em> before
2045
+ * sunset and <em>tzais</em> or nightfall starts at sunset.
2046
+ *
2047
+ * @return the <code>Date</code> of the sun's position 2.99° minutes before sunset. If the calculation can't
2048
+ * be computed such as in the Arctic Circle where there is at least one day a year where the sun does not
2049
+ * rise, and one where it does not set, a null will be returned. See detailed explanation on top of the
2050
+ * {@link AstronomicalCalendar} documentation.
2051
+ *
2052
+ * @see #ZENITH_MINUS_2_POINT_99
2053
+ * @see #getBainHasmashosYereim18Minutes()
2054
+ */
2055
+ public Date getBainHasmashosYereim2Point99Degrees () {
2056
+ return getSunsetOffsetByDegrees (ZENITH_MINUS_2_POINT_99 );
2057
+ }
2058
+
2059
+ /**
2060
+ * This method returns the beginning of <em>bain hashmashos</em> (twilight) according to the <a href=
2061
+ * "https://en.wikipedia.org/wiki/Eliezer_ben_Samuel">Yereim (Rabbi Eliezer of Metz)</a> calculated as 16.875
2062
+ * minutes or 3/4 of a 22.5 minute <em>Mil</em> before sunset. According to the Yereim, bain hashmashos starts 3/4 of a
2063
+ * <em>Mil</em> before sunset and <em>tzais</em> or nightfall starts at sunset.
2064
+ *
2065
+ * @return the <code>Date</code> of 16.875 minutes before sunset. If the calculation can't be computed such as in the
2066
+ * Arctic Circle where there is at least one day a year where the sun does not rise, and one where it does
2067
+ * not set, a null will be returned. See detailed explanation on top of the {@link AstronomicalCalendar}
2068
+ * documentation.
2069
+ *
2070
+ * @see #getBainHasmashosYereim2Point75Degrees()
2071
+ */
2072
+ public Date getBainHasmashosYereim16Point875Minutes () {
2073
+ return getTimeOffset (getElevationAdjustedSunset (), -16.875 * MINUTE_MILLIS );
2074
+ }
2075
+
2076
+ /**
2077
+ * This method returns the beginning of <em>bain hashmashos</em> (twilight) according to the <a href=
2078
+ * "https://en.wikipedia.org/wiki/Eliezer_ben_Samuel">Yereim (Rabbi Eliezer of Metz)</a> calculated as the sun's
2079
+ * position 2.75° above the horizon during the equinox (on March 16, about 4 days before the astronomical
2080
+ * equinox, the day that a solar hour is 60 minutes) in Yerushalayim, its position 16.875 minutes or 3/4 of an 18
2081
+ * minute <em>Mil</em> before sunset. According to the Yereim, bain hashmashos starts 3/4 of a <em>Mil</em> before
2082
+ * sunset and <em>tzais</em> or nightfall starts at sunset.
2083
+ *
2084
+ * @return the <code>Date</code> of the sun's position 2.75° minutes before sunset. If the calculation can't
2085
+ * be computed such as in the Arctic Circle where there is at least one day a year where the sun does not
2086
+ * rise, and one where it does not set, a null will be returned. See detailed explanation on top of the
2087
+ * {@link AstronomicalCalendar} documentation.
2088
+ *
2089
+ * @see #ZENITH_MINUS_2_POINT_75
2090
+ * @see #getBainHasmashosYereim16Point875Minutes()
2091
+ */
2092
+ public Date getBainHasmashosYereim2Point75Degrees () {
2093
+ return getSunsetOffsetByDegrees (ZENITH_MINUS_2_POINT_75 );
2094
+ }
2095
+
2096
+ /**
2097
+ * This method returns the beginning of <em>bain hashmashos</em> (twilight) according to the <a href=
2098
+ * "https://en.wikipedia.org/wiki/Eliezer_ben_Samuel">Yereim (Rabbi Eliezer of Metz)</a> calculated as 13.5 minutes
2099
+ * or 3/4 of an 18 minute <em>Mil</em> before sunset. According to the Yereim, bain hashmashos starts 3/4 of a
2100
+ * <em>Mil</em> before sunset and <em>tzais</em> or nightfall starts at sunset.
2101
+ *
2102
+ * @return the <code>Date</code> of 13.5 minutes before sunset. If the calculation can't be computed such as in the
2103
+ * Arctic Circle where there is at least one day a year where the sun does not rise, and one where it does
2104
+ * not set, a null will be returned. See detailed explanation on top of the {@link AstronomicalCalendar}
2105
+ * documentation.
2106
+ *
2107
+ * @see #getBainHasmashosYereim2Point03Degrees()
2108
+ */
2109
+ public Date getBainHasmashosYereim13Point5Minutes () {
2110
+ return getTimeOffset (getElevationAdjustedSunset (), -13.5 * MINUTE_MILLIS );
2111
+ }
2112
+
2113
+ /**
2114
+ * This method returns the beginning of <em>bain hashmashos</em> according to the <a href=
2115
+ * "https://en.wikipedia.org/wiki/Eliezer_ben_Samuel">Yereim (Rabbi Eliezer of Metz)</a> calculated as the sun's
2116
+ * position 2.03° above the horizon during the equinox (on March 16, about 4 days before the astronomical
2117
+ * equinox, the day that a solar hour is 60 minutes) in Yerushalayim, its position 13.5 minutes or 3/4 of an 18
2118
+ * minute <em>Mil</em> before sunset. According to the Yereim, bain hashmashos starts 3/4 of a <em>Mil</em> before
2119
+ * sunset and <em>tzais</em> or nightfall starts at sunset.
2120
+ *
2121
+ * @return the <code>Date</code> of the sun's position 2.03° minutes before sunset. If the calculation can't
2122
+ * be computed such as in the Arctic Circle where there is at least one day a year where the sun does not
2123
+ * rise, and one where it does not set, a null will be returned. See detailed explanation on top of the
2124
+ * {@link AstronomicalCalendar} documentation.
2125
+ *
2126
+ * @see #ZENITH_MINUS_2_POINT_03
2127
+ * @see #getBainHasmashosYereim13Point5Minutes()
2128
+ */
2129
+ public Date getBainHasmashosYereim2Point03Degrees () {
2130
+ return getSunsetOffsetByDegrees (ZENITH_MINUS_2_POINT_03 );
2131
+ }
2132
+
1993
2133
/**
1994
2134
* This method returns the <em>tzais</em> (nightfall) based on the opinion of the <em>Geonim</em> calculated at the
1995
2135
* sun's position at {@link #ZENITH_3_POINT_7 3.7°} below the western horizon.
0 commit comments