SuperNOVAS C++ vs. astropy

SuperNOVAS C/C++ astrometry library


astropy supernovas++
```python from astropy import units as u from astropy.coordinates import SkyCoord, EarthLocation, Longitude, Latitude, CIRS # Define ICRS coordinates source = SkyCoord( '16h 29m 24.45970s', '−26d 25m 55.2094s', d = u.AU / 5.89 * u.mas, pmra = -12.11 * u.mas / u.yr, pmdec = -23.30 * u.mas / u.yr, rv = -3.4 * u.km / u.s) # Observer location loc = EarthLocation.from_geodetic( Longitude(50.7374), Latitude(7.0982), height=60.0) # Set time of observation time = astropy.time.Time( "2025-02-27T19:57:00.728+0200" scale='tai') # Observer frame & system frame = CIRS(obstime=time, location=loc) # apparent coordinates app = source.transform_to(frame); ``` ```c++ #include using namespace supernovas; // IERS Earth Orientation Parameters... EOP eop(37, 62.56 * Unit::ms, 103.4 * Unit::mas, 396.2 * Unit::mas); // Define ICRS coordinates auto source = CatalogEntry("Antares", "16h 29m 24.45970s", "−26d 25m 55.2094s") .parallax(5.89 * Unit::mas) .proper_motion(-12.11 * Unit::mas / Unit::yr, -23.30 * Unit::mas / Unit::yr) .radial_velocity(-3.4 * Unit::km / Unit::s) .to_source(); // Observer location auto obs = Site::from_GPS(50.7374, 7.0982, 60.0) .to_observer(eop); // Set time of observation Time t("2026-03-14T13:43:00.728+0200", eop, NOVAS_TAI); // Observer frame auto frame = obs.frame_at(t); // apparent coordinates in system auto app = source.apparent_in(frame).cirs(); ``` </td> </tr> </table> ----------------------------------------------------------------------------- Copyright (C) 2026 Attila Kovács