El software de astrometría vectorial del Observatorio Naval ( NOVAS ) es una biblioteca de software para cálculos numéricos relacionados con la astrometría . Fue desarrollado por el Departamento de Aplicaciones Astronómicas del Observatorio Naval de los Estados Unidos . Actualmente, NOVAS tiene tres ediciones diferentes: para C , Fortran y Python .
Los algoritmos utilizados por NOVAS se basan en las teorías de la astrometría vectorial y en las resoluciones de la IAU . En lugar de utilizar fórmulas trigonométricas de la astrometría esférica, NOVAS utiliza la formulación matricial y vectorial , que es más rigurosa. Esta versión implementa las resoluciones sobre sistemas de referencia astronómicos y modelos de rotación de la Tierra aprobadas en las Asambleas Generales de la IAU en 1997, 2000 y 2006. Según el Departamento de Aplicaciones Astronómicas, los algoritmos utilizados en NOVAS son idénticos a los utilizados en la producción de la parte estadounidense del Almanaque Astronómico . [1]
Una descripción detallada de los algoritmos se puede encontrar aquí: Kaplan, et al. (1989) Astron. J. 97 , 1197. [2]
La biblioteca NOVAS proporciona tres niveles de subrutinas (funciones): básica, de utilidad y de supervisión. [1] Las subrutinas de nivel básico suministran los valores de variables fundamentales, como los ángulos de nutación y las posiciones heliocéntricas de los cuerpos del Sistema Solar para épocas específicas . Las subrutinas de nivel de utilidad realizan transformaciones , como las causadas por la precesión , la nutación y la aberración . Las subrutinas de nivel de supervisión sirven como interfaces con las subrutinas básicas y de utilidad para calcular las coordenadas de estrellas o cuerpos del Sistema Solar para fechas y horas específicas.
La biblioteca NOVAS puede conectarse con programas que trabajan con posiciones de cuerpos celestes . Por ejemplo, “Pocket Stars”, un software astronómico para plataformas de teléfonos inteligentes y PDA , utilizó NOVAS como su motor astrométrico. [3]
La edición Python permite llamar a las funciones NOVAS desde Python. Es casi completa en cuanto a funciones con respecto a la edición C, con algunas excepciones [4] , y comparte la API de la edición C. La edición actual utiliza la biblioteca de funciones externas de Python, ctypes.
Las versiones futuras de la interfaz Python agregarán soporte para pasar datos a través de tipos NumPy (y, por lo tanto, admitirán operaciones vectorizadas) y presentarán una interfaz más Pythonic. [5]
SuperNOVAS es una bifurcación de NOVAS C 3.1, mantenida por Attila Kovács en el Centro de Astrofísica de Harvard y Smithsonian desde 2024. Su objetivo es ser un sucesor de NOVAS para C/C++, proporcionando un desarrollo continuo, correcciones de errores, nuevas funciones, usabilidad mejorada, seguridad de subprocesos y documentación en línea. El código fuente y las versiones de SuperNOVAS también están disponibles en https://github.com/Smithsonian/SuperNOVAS.