Corrected the B1875 epoch for determining constellation boundaries.

It turns out I was off by nearly 18 hours in the B1875 epoch.
This has a tiny effect on the orientation of the Earth's axis.
Instead of:           ut = 1875-01-01T12:00:00.000Z
the correct epoch is: ut = 1874-12-31T18:12.21.950Z

See the comments in the Constellation functions in
each of the source files for more info.
This commit is contained in:
Don Cross committed 2020-05-04 21:30:36 -04:00
1 parent 4b4c637468
commit 6c3655c1c6
9 files changed
+102 -10

No files matched your search

+14 -1
View File
@@ -5292,7 +5292,20 @@ astro_constellation_t Astronomy_Constellation(double ra, double dec)
/* Lazy-initialize the rotation matrix for converting J2000 to B1875. */
if (rot.status != ASTRO_SUCCESS)
{
astro_time_t time = Astronomy_MakeTime(1875, 1, 1, 12, 0, 0.0); /* Not sure about exact date/time of 1875. */
/*
Need to calculate the B1875 epoch. Based on this:
https://en.wikipedia.org/wiki/Epoch_(astronomy)#Besselian_years
B = 1900 + (JD - 2415020.31352) / 365.242198781
I'm interested in using TT instead of JD, giving:
B = 1900 + ((TT+2451545) - 2415020.31352) / 365.242198781
B = 1900 + (TT + 36524.68648) / 365.242198781
TT = 365.242198781*(B - 1900) - 36524.68648 = -45655.741449525
But Astronomy_TimeFromDays() wants UT, not TT.
Near that date, I get a historical correction of ut-tt = 3.2 seconds.
That gives UT = -45655.74141261017 for the B1875 epoch,
or 1874-12-31T18:12:21.950Z.
*/
astro_time_t time = Astronomy_TimeFromDays(-45655.74141261017);
rot = Astronomy_Rotation_EQJ_EQD(time);
if (rot.status != ASTRO_SUCCESS)
return ConstelErr(rot.status);
+12 -1
View File
@@ -5045,7 +5045,18 @@ $ASTRO_CSHARP_CHEBYSHEV(8);
if (ConstelRot.rot == null)
{
// Lazy-initialize the rotation matrix for converting J2000 to B1875.
var time = new AstroTime(1875, 1, 1, 12, 0, 0);
// Need to calculate the B1875 epoch. Based on this:
// https://en.wikipedia.org/wiki/Epoch_(astronomy)#Besselian_years
// B = 1900 + (JD - 2415020.31352) / 365.242198781
// I'm interested in using TT instead of JD, giving:
// B = 1900 + ((TT+2451545) - 2415020.31352) / 365.242198781
// B = 1900 + (TT + 36524.68648) / 365.242198781
// TT = 365.242198781*(B - 1900) - 36524.68648 = -45655.741449525
// But the AstroTime constructor wants UT, not TT.
// Near that date, I get a historical correction of ut-tt = 3.2 seconds.
// That gives UT = -45655.74141261017 for the B1875 epoch,
// or 1874-12-31T18:12:21.950Z.
var time = new AstroTime(-45655.74141261017);
ConstelRot = Rotation_EQJ_EQD(time);
Epoch2000 = new AstroTime(0.0);
}
+12 -1
View File
@@ -4209,7 +4209,18 @@ Astronomy.Constellation = function(ra, dec) {
// Lazy-initialize rotation matrix.
if (!ConstelRot) {
ConstelRot = Astronomy.Rotation_EQJ_EQD(new AstroTime(new Date(Date.UTC(1875, 0, 1, 12))));
// Need to calculate the B1875 epoch. Based on this:
// https://en.wikipedia.org/wiki/Epoch_(astronomy)#Besselian_years
// B = 1900 + (JD - 2415020.31352) / 365.242198781
// I'm interested in using TT instead of JD, giving:
// B = 1900 + ((TT+2451545) - 2415020.31352) / 365.242198781
// B = 1900 + (TT + 36524.68648) / 365.242198781
// TT = 365.242198781*(B - 1900) - 36524.68648 = -45655.741449525
// But the AstroTime constructor wants UT, not TT.
// Near that date, I get a historical correction of ut-tt = 3.2 seconds.
// That gives UT = -45655.74141261017 for the B1875 epoch,
// or 1874-12-31T18:12:21.950Z.
ConstelRot = Astronomy.Rotation_EQJ_EQD(new AstroTime(-45655.74141261017));
Epoch2000 = new AstroTime(0);
}
+12 -1
View File
@@ -3976,7 +3976,18 @@ def Constellation(ra, dec):
# Lazy-initialize rotation matrix.
if _ConstelRot is None:
_ConstelRot = Rotation_EQJ_EQD(Time.Make(1875, 1, 1, 12, 0, 0))
# Need to calculate the B1875 epoch. Based on this:
# https://en.wikipedia.org/wiki/Epoch_(astronomy)#Besselian_years
# B = 1900 + (JD - 2415020.31352) / 365.242198781
# I'm interested in using TT instead of JD, giving:
# B = 1900 + ((TT+2451545) - 2415020.31352) / 365.242198781
# B = 1900 + (TT + 36524.68648) / 365.242198781
# TT = 365.242198781*(B - 1900) - 36524.68648 = -45655.741449525
# But the Time constructor wants UT, not TT.
# Near that date, I get a historical correction of ut-tt = 3.2 seconds.
# That gives UT = -45655.74141261017 for the B1875 epoch,
# or 1874-12-31T18:12:21.950Z.
_ConstelRot = Rotation_EQJ_EQD(Time(-45655.74141261017))
_Epoch2000 = Time(0.0)
# Convert coordinates from J2000 to B1875.