# What is the explanation for discrepancies in RA values at Santa Maria Degli Angeli e dei Martiri in Rome

There is a meridian line in the floor of this church in Rome: http://www.santamariadegliangeliroma.it/paginamastersing.html?codice_url=La_Meridana&

I took this photograph which shows the inlaid brass Right Ascension measurements for various stars: Spica Virginis (Spica), Leonis Cauda (Denebola?), Orionis Pes Lucidus Rigel (Rigel) and Pegasi Os (Epsilon Pegasi?).

I've been trying to match up the numbers on the floor with the present RA of the stars. I'm aware that the meridian relative to which these figures were recorded may be an obscure one (it doesn't seem to be Paris or Greenwich, but neither is it Rome). I'm getting values between 3.6° and 3.8° for the difference between the numbers on the floor and the present RA figures.

There is a recent paper (in English) which discusses some aspects of the meridian line, but doesn't answer my question: MODERN OBSERVATIONS USING THE 1702 MERIDIAN LINE OF THE BASILICA OF SANTA MARIA DEGLI ANGELI E DEI MARTIRI (ROME)

(Another thing that is unclear to me is just what the scales on either side of the meridian line are measuring—50–52 and 118–130 in the photo.)

• The caption to Fig. 9 in the paper you linked to explains what the scales are: the left-hand numbers are the solar zenith angle and the right-hand numbers are $100 \times$ the tangent of the zenith angle. Commented Apr 14 at 1:07
• I assume that the RA discrepancy is due to precession, which is ~4.2° along the ecliptic from 1700 to 2000. Commented Apr 14 at 7:22

Here's a little script I wrote that uses Astropy to calculate the right ascension of these stars in 1703 AD, accounting for both proper motion and precession of the equinoxes.

It's based on an earlier answer of mine, so look there for a more detailed explanation of how the script works.

import astropy.time
import astropy.coordinates
import astroquery.vizier

# Define the time of the observation
time = astropy.time.Time("1703-01-01")

# Define the location of the observation

# Define the list of stars to investigate
stars = [
"Spica",
"Denebola",
"Rigel",
"Epsilon Pegasi",
]

# Record the measured right ascension values
# printed on the meridian line
ra_measured = astropy.coordinates.Angle([
"197d22m45s",
"173d27m30s",
"75d3m15s",
"322d23m25s",
])

# Query VizieR using astroquery to get the position
# and proper motion of each star from the Hipparcos catalog
query = astroquery.vizier.Vizier.query_object(
object_name=stars,
catalog="Hipparcos",
)[0]

# Express the query results in ICRS coordinates
coords = astropy.coordinates.SkyCoord(
ra=query["RAICRS"],
dec=query["DEICRS"],
distance=query["Plx"],
pm_ra_cosdec=query["pmRA"],
pm_dec=query['pmDE'],
frame="icrs",
obstime=astropy.time.Time("J1991.25"),
location=location,
)

# Use the proper motion of each star to determine
# their positions at the observation time
coords = coords.apply_space_motion(time)

# Convert the coordinates of each star from
# ICRS to the True Equator True Equinox
# coordinate frame to account for precession
# of the equinoxes
coords = coords.tete

# Compute the error between the measured position
# and the calculated position
error_ra = coords.ra - ra_measured

# Print the right ascension of each star
column_names = f"{'star':<15} {'calculated RA':>13} {'RA error':>10}"
print(column_names)
print("-" * len(column_names))
for i, star in enumerate(stars):
str_ra = coords.ra[i].to_string(precision=0)
str_err = error_ra[i].to_string(decimal=False, precision=0)
print(f"{star:<15} {str_ra:>13} {str_err:>10}")

The output is:

star            calculated RA   RA error
----------------------------------------
Spica              197d23m41s   0d00m56s
Denebola           173d27m58s   0d00m28s
Rigel               75d04m18s   0d01m03s
Epsilon Pegasi     322d23m27s   0d00m02s

which seems to match the numbers on the meridian line to about 1 arcminute.