Position of bright stars from 2025 astronomical almanac #1034
-
|
I don't seem to be able to reproduce the RA and Dec values for Bright Stars Section H of the Astronomical Almanac. |
Beta Was this translation helpful? Give feedback.
Replies: 9 comments 10 replies
-
|
Could you give an example of a star you are trying to locate, and the coordinates that you would expect to see as output? |
Beta Was this translation helpful? Give feedback.
-
|
Thank you for the very prompt reply. At page H2 of the 2025 AA, alpha And shows RA 00h 09m 42.7s and Dec +29d 13s 52s. I have been using NOVAS FORTRAN for some years, but the list of its errors listed in the superNOVAS fork introduction has me worried. I am teaching myself python and have written a version of the USNO Celestial Navigation Data for Assumed... using your wonderful Skyfield (for which I thank you). Regards, |
Beta Was this translation helpful? Give feedback.
-
|
I've got the star using your example as a go by. I think my problem is in setting the epoch as the AA describes. ....... xvenus = bodylist[i]#AA Bright star print (star32)...... |
Beta Was this translation helpful? Give feedback.
-
|
AstAlmBrightStar.txt |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
|
Ahh.. P is the precession matrix. |
Beta Was this translation helpful? Give feedback.
-
|
Alway find your snipets VERY helpful in understanding and then writing code. Still not easy in phython for an old FORTRAN IV and WATFOR guy. Will try running and report back.
Dave Walden
On Tuesday, February 3, 2026 at 10:49:40 AM EST, Brandon Rhodes ***@***.***> wrote:
I am glad you are finding that the results agree with the almanac!
I looked through the documentation this morning and realized that there were no good examples showing how to use that mean-equator-and-equinox reference frame. So I sat down and rewrote the section on equatorial coordinates, so that you'll have an example to follow. Here's the result:
https://rhodesmill.org/skyfield/coordinates.html#equatorial-right-ascension-and-declination
See whether the example code there, and the paragraphs around it that explain it, helps you write working code that replaces the "brute force" approach we tried earlier. (And let me know if you find any typos in the new text I've written!)
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
|
I seem to be off in the seconds:TT date and time: 2026-02-18 00:00:00 TTTAI date and time: 2026-02-17 23:59:28 TAIUTC date and time: 2026-02-17 23:58:51 UTCTDB Julian date: 2461089.5000000135Julian century: 2026.1
# Building an example position.
from skyfield.api import loadfrom skyfield.framelib import mean_equator_and_equinox_of_date
ts = load.timescale()t = ts.tt(2026, 2, 18, 0, 0, 0)
print('TT date and time: ', t.tt_strftime())print('TAI date and time:', t.tai_strftime())print('UTC date and time:', t.utc_strftime())print('TDB Julian date: {:.10f}'.format(t.tdb))print('Julian century: {:.1f}'.format(t.J))
eph = load('de421.bsp')earth, mercury = eph['earth'], eph['mercury']position = earth.at(t).observe(mercury)
# Producing coordinates.
print('Spherical ICRS:')
ra, dec, distance = position.radec()
print(' ', ra, 'right ascension')print(' ', dec, 'declination')print(' ', distance, 'distance')
from skyfield.framelib import mean_equator_and_equinox_of_date
print('Spherical equinox-of-date coordinates:')
dec, ra, distance = position.frame_latlon(mean_equator_and_equinox_of_date)
ra.preference = 'hours' # print hours instead of degrees
print(' ', ra, 'right ascension')print(' ', dec, 'declination')print(' ', distance, 'distance')
print()
Spherical ICRS: 23h 10m 38.68s right ascension -04deg 28' 55.5" declination 0.987186 au distanceSpherical equinox-of-date coordinates: 23h 11m 59.60s right ascension -04deg 20' 23.6" declination 0.987186 au distance
On Tuesday, February 3, 2026 at 10:49:40 AM EST, Brandon Rhodes ***@***.***> wrote:
I am glad you are finding that the results agree with the almanac!
I looked through the documentation this morning and realized that there were no good examples showing how to use that mean-equator-and-equinox reference frame. So I sat down and rewrote the section on equatorial coordinates, so that you'll have an example to follow. Here's the result:
https://rhodesmill.org/skyfield/coordinates.html#equatorial-right-ascension-and-declination
See whether the example code there, and the paragraphs around it that explain it, helps you write working code that replaces the "brute force" approach we tried earlier. (And let me know if you find any typos in the new text I've written!)
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
|
Agrees as sent, no changes! Fabulous. I forgot apparent. Thanks so much.
On Tuesday, February 3, 2026 at 09:44:41 PM EST, Brandon Rhodes ***@***.***> wrote:
- The book says "apparent' coordinates, but there was no call to .apparent().
- Testing both the true and mean reference frames, it looks like the book is using true, because then I get a match on the coordinates. If I try mean, then the final digits don't seem to match?
Try this and see if it agrees with the book:
from skyfield import framelib
from skyfield.api import Star, load
ts = load.timescale()
t = ts.tt(2026, 2, 18)
planets = load('de440.bsp')
frame = framelib.true_equator_and_equinox_of_date
earth = planets['earth']
target = planets['mercury']
a = earth.at(t).observe(target).apparent()
dec, ra, _ = a.frame_latlon(frame)
ra.preference = 'hours'
print("want: 23h 11m 58.878s -04 20' 30.22")
print(f'got: {ra.hstr(3)} {dec.dstr(2)}')
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.



Well! This is a bit of a surprise for me. It turns out that Skyfield (unless I'm missing something!) doesn't provide a simple way to ask for coordinates relative to the mean equator and mean equinox of Earth. Skyfield is so focused on observational astronomy, where you always want both precession and nutation accounted for, that it doesn't provide a built-in way to turn precession "on" and nutation "off" so that mean coordinates, instead of true coordinates, are returned.
Try this.