La siguiente lista de RUTINAS OBLIGATORIAS incluye las rutinas que hay que desarrollar en el curso. El estudiante puede además elegir o no hacer las RUTINAS OPCIONALES (que no son esenciales para el desarrollo del curso). Los PROGRAMAS DE APLICACIÓN SUGERIDOS son aplicaciones que utilizan las rutinas desarrolladas.
NOTAS:
El símbolo ! indica que el desarrollo del correspondiente programa o rutina tiene una dificultad más allá de la estándar, o está asociada a un conjunto de rutinas en la que al menos una de ellas presenta alguna dificultad extra.
Las rutinas con el símbolo A implementan métodos de cálculo de efemérides planetarias o procedimientos de transformación de coordenadas que se sitúan en el límite de la precisión actual, y que por tanto sólo son útiles para generar predicciones de fenómenos que requieren mucha precisión. La implementación de estas rutinas tiene una dificultad adicional, o bien ejecución de las rutinas conlleva un mayor coste computacional.
El nombre de las rutinas es arbitrario. El estudiante puede utilizar el nombre y el idioma que desee. Asimismo, la estructura y argumentos de muchas rutinas se puede modificar libremente por parte del alumno. Durante el curso, sin embargo, nos referimos a las rutinas que aparecen en la lista, cuyo nombre en inglés se ha escogido por precisión y generalidad.
RUTINAS Y PROGRAMAS OBLIGATORIOS (ordenadas por unidad)
UNIDAD 0. PROLEGÓMENOS
degree_to_radian: convierte grados a radianes
radian_to_degree: convierte radianes a grados
degree_to_ddmmss: convierte grados (u horas) decimales a grados (u horas), minutos y segundos
degree_to_ddmmss_compact: misma que anterior, pero en formato compacto
ddmmss_to_degree: convierte grados (u horas), minutos y segundos a grados (u horas)
ddmmss_compact_to_degree: misma que anterior, pero en formato compacto
scale_angle: sitúa un ángulo en radianes en el intervalo [0,2π)
UNIDAD 1. SISTEMAS DE REFERENCIA
julian_date: calcula la fecha juliana de una fecha gregoriana
gregorian_date: calcula la fecha gregoriana de una fecha juliana
split_julian_date: divide una fecha gregoriana en día juliano más fracción
days_between_dates: calcula los días entre dos fechas julianas
day_of_week: calcula el día de la semana
rectangular_to_spherical: transforma coordenadas rectangulares a esféricas
spherical_to_rectangular: transforma coordenadas esféricas a rectangulares
translation: efectúa una traslación
rotation: efectúa una rotación elemental alrededor de un eje cartesiano
rotation_Euler: efectúa una rotación de Euler
greenwich_mean_sidereal_time: calcula la hora sidérea media en Greenwich
ut_to_mst: transforma una hora UT1 en hora MST (hora sidérea media) local
ut_to_ast: transforma una hora UT1 en hora AST (hora sidérea aparente) local
terrestrial_coordinates: calcula las coordenadas de un observador enel sistema terrestre
terrestrial_coordinates: calcula las coordenadas de un observador enel sistema terrestre
mean_obliquity: calcula la oblicuidad media de la eclíptica
precession_parameters: calcula los parámetros de precesión
precession_equatorial: transformación de precesión en ecuatoriales
precession_ecliptic: transformación de precesión en eclíptica
nutation_parameters: calcula los parámetros de nutación
nutation_equatorial: transformación de nutación en ecuatoriales
nutation_inverse_equatorial: transformación de nutación inversa en ecuatoriales
nutation_ecliptic: transformación de nutación en eclípticas
nutation_inverse_ecliptic: transformación de nutación inversa en eclíptica
equation_of_equinoxes: calcula la ecuación de los equinoccios
equatorial_to_ecliptic: transforma de coordenadas ecuatoriales a eclípticas
ecliptic_to_equatorial: transforma de coordenadas eclípticas a ecuatoriales
equatorial_to_horizontal: transforma de coordenadas ecuatoriales a horizontales
UNIDAD 2. EFEMÉRIDES PLANETARIAS
coord1 rutina auxiliar para el cálculo de efemérides planetarias (baja precisión)
planets1 cálculo de efemérides planetarias (baja precisión)
coord2*: rutina auxiliar para el cálculo de efemérides planetarias (precisión intermedia)
planets2*: cálculo de efemérides planetarias (precisión intermedia)
elliptic_orbit_to_ecliptic: calcula una órbita elíptica y reduce la posición a la eclíptica
moon1: cálculo de efemérides lunares (baja precisión)
UNIDAD 3. EFECTOS SOBRE LA POSICIÓN DE UN ASTRO
aberration: cálculo de la corrección por aberración anual (no riguroso)
apparent_planet**: cálculo de coordenadas aparentes de un planeta
apparent_star***: cálculo de coordenadas aparentes de una estrella
UNIDAD 4. SATÉLITES NATURALES DE PLANETAS Y CUERPOS MENORES
asteroid_elements: extrae elementos orbitales osculadores de un asteroide del fichero MPCORB.DAT
asteroid_astrometric: calcula coordenadas astrométricas de un asteroide
asteroid_apparent: calcula coordenadas aparentes de un asteroide
comet_elements: extrae los elementos orbitales osculadores de un cometa del fichero CometEls.txt
comet_astrometric: calcula coordenadas astrométricas de un cometa
galilean_differential: calcula coordenadas joviéntricas diferenciales de los satélites galileanos
UNIDAD 5. CÁLCULO DE FENÓMENOS BÁSICOS
rise_set_meridian_general: orto, ocaso y paso por el meridiano (coordenadas constantes)
moon_phases: cálculo de las fases de la Luna
equation_of_time: cálculo de la ecuación del tiempo
UNIDAD 6. ECLIPSES, OCULTACIONES Y OTROS FENÓMENOS
search_eclipses: búsqueda geocéntrica de eclipses
search_lunar_occultation_star: búsqueda geocéntrica de ocultaciones lunares de estrellas
UNIDAD 7. EFEMÉRIDES FÍSICAS DE CUERPOS DEL SISTEMA SOLAR
physical_parameters: cálculo de los parámetros físicos de Sol, planetas y satélites
physical_ephemerides: cálculo de la magnitud y elementos rotacionales de Sol, planetas y satélites
physical_ephemerides_moon: cálculo de las efemérides físicas y libraciones de la Luna
UNIDAD 8. CATÁLOGOS
search_star_catalogue: búsqueda de una estrella en un catálogo
* Su implementación no es necesaria si se ha escogido implementar las rutinas coord1 y planets1.
** Su implementación no es necesaria si se implementa la rutina opcional apparent_planets3.
*** Su implementación no es necesaria si se implementa la rutina opcional apparent_star3.
RUTINAS OPCIONALES (ordenadas por unidad)
UNIDAD 0. PROLEGÓMENOS
degree_to_ddmm: convierte grados a grados y minutos
degree_to_ddmm_compact: convierte grados a grados y minutos en formato compacto
ddmm_to_degree: convierte grados y minutos a grados
ddmm_compact_to_degree: misma que anterior pero en formato compacto
hour_to_radian: convierte horas a radianes
radian_to_hour: convierte radianes a horas
degree_to_hour: convierte grados a horas
hour_to_degree: convierte horas a grados
hour_to_hhmmss: convierte horas a horas), minutos y segundos
hour_to_hhmmss_compact: misma que anterior, pero en formato compacto
hhmmss_to_hour: convierte horas, minutos y segundos a horas
hhmmss_compact_to_hour: misma que anterior, pero en formato compacto
hour_to_hhmm: convierte horas a horas y minutos
hour_to_hhmm_compact: misma que anterior pero en formato compacto
hhmm_to_hour: convierte horas y minutos a horas
hhmm_compact_to_hour: misma que anterior pero en formato compacto
scale_hour: sitúa una hora en formato decimal en el intervalo [0,24)
scale_degree: sitúa un ángulo en grados en formato decimal en el intervalo [0,360)
UNIDAD 1. SISTEMAS DE REFERENCIA
vector_modulus: calcula el módulo de un vector
dot_product: calcula el producto escalar de dos vectores
cross_product: calcula el producto vectorial de dos vectores
day_of_year: calcula el número de dia del año para una fecha gregoriana
geoid_undulation !A: calcula la ondulación del geoide
equatorial_to_galactic: transforma coordenadas ecuatoriales a galácticas
galactic_to_equatorial: transforma coordenadas galácticas a ecuatoriales
true_obliquity: calcula la oblicuidad verdadera de la eclíptica
polar_motion_parameters !A: calcula los parámetros de movimiento polar para una fecha
polar_motion_correction !A: corrige coordenadas por movimiento polar
polar_motion_correction_inverse !A: aplica la corrección inversa por movimiento polar
frame_bias A: obtiene la matriz de frame bias
equation_of time: cálculo de la ecuación del tiempo
utc_to_tt !A: conversión de UTC a TT
tt_to_utc !A: conversión de TT a UTC
tt_ut1 !A: estimación de la diferencia TT-UT1
UNIDAD 2. EFEMÉRIDES PLANETARIAS
parabolic_orbit_to_ecliptic !: calcula una órbita parabólica y reduce la posición a la eclíptica
hyperbolic_orbit_to_ecliptic !: calcula una órbita hiperbólica y reduce la posición a la eclíptica
orbital_elements_to_posvel !: obtiene posición y velocidad eclípticas a partir de elementos orbitales
posvel_to_orbital_elements !: obtiene elementos orbitales a partir de posición y velocidad eclípticas
binary_DE ó binary_INPOP !A: genera ficheros binarios para efemérides basadas en integraciones DE ó INPOP
coord3 !A: lee ficheros binarios de integraciones de alta precisión
planets3 A: calcula efemérides planetarias (alta precisión)
record_length A: obtiene la longitud de registro de una integración planetaria DE del JPL
au A: obtiene la unidad astronómica de una integración planetaria DE del JPL
emrat A: obtiene el cociente de masas Tierra-Luna de una integración planetaria DE del JPL
UNIDAD 3. EFECTOS SOBRE LA POSICIÓN DE UN ASTRO
aberration_diurnal: cálculo de la corrección por aberración diurna
apparent_planet3 A: calcula coordenadas aparentes de planetas (alta precisión)
apparent_star3 A: calcula coordenadas aparentes de estrellas (alta precisión)
refraction: calcula la corrección por refracción atmosférica
UNIDAD 4. SATÉLITES NATURALES DE PLANETAS Y CUERPOS MENORES
galilean_satellite !: calcula las coordenadas jovicéntricas xyz de los satélites galileanos
saturnian_satellite !: calcula las coordenadas planetocéntricas xyz de algunos de los satélites de Saturno
uranian_satellite !: calcula las coordenadas planetocéntricas xyz de algunos de los satélites de Urano
UNIDAD 5. CÁLCULO DE FENÓMENOS BÁSICOS
rise_set_meridian_planets: cálculo del orto, ocaso y paso por el meridiano de Sol, Luna y planetas
planet_heliocentric: calcula los fenómenos planetarios heliocéntricos (ápsides, nodos, máximas y mínimas amplitudes sobre la eclíptica)
planet_geocentric: calcula los fenómenos planetarios geocéntricos (oposiciones, conjunciones, cuadraturas, máximas elongaciones).
moon_apsides: calcula las máximas y mínimas distancias entre la Tierra u la Luna).
moon_star_approaches: calcula los máximos acercamientos aparentes geocéntricos entre la Luna y estrellas brillantes.
moon_planetary_approaches: calcula los máximos acercamientos aparentes geocéntricos entre la Luna y los planetas.
galilean_satellite_elongation: calcula las máximas elongaciones diferenciales de los satélites galileanos.
saturnian_satellite_elongation: calcula las máximas elongaciones diferenciales de los principales satélites de Saturno.
UNIDAD 6. ECLIPSES, OCULTACIONES Y OTROS FENÓMENOS
lunar_elevation !A: calcula la elevación de un punto de la superficie de la Luna
lunar_limb_correction !A: calcula la corrección por elevación del limbo lunar
local_lunar_occultation_star !: cálculo local de ocultaciones lunares de estrellas
UNIDAD 7. EFEMÉRIDES FÍSICAS DE CUERPOS DEL SISTEMA SOLAR
physical_parameters_asteroids: calcula parámetros físicos de asteroides
UNIDAD 8. CATÁLOGOS
unpack_date_MPC: desempaqueta formato de fecha compacto del MPC
search_asteroid_catalog: busca un asteroide en un catálogo
search_comet_catalog: busca un cometa en un catálogo
query_simbad: extrae información de una estrella de la base de datos SIMBAD
PROGRAMAS DE APLICACIÓN SUGERIDOS
rise_set_meridian_planet: orto, ocaso y paso por el meridiano de un planeta
rise_set_meridian_asteroid: orto, ocaso y paso por el meridiano de un asteroide
rise_set_meridian_comet: orto, ocaso y paso por el meridiano de un cometa
rise_set_meridian_moon: orto, ocaso y paso por el meridiano de la Luna
planetary_phenomena_planets: conjunciones, oposiciones, cuadraturas y máximas elongaciones de planetas
seasons: comienzo de las estaciones
closest_lunar_approaches: búsqueda de máximos acercamientos con la Luna
apsides_and_nodes: paso por apsides y nodos de Luna y planetas
easter: cálculo de la Pascua
search_lunar_occultation_planet: búsqueda de ocultaciones lunares de planetas
local_lunar_occultation_planet: cálculo local de ocultaciones lunares de planetas
search_asteroidal_occultation: búsqueda de ocultaciones de estrellas por asteroides
local_asteroidal_occultation: cálculo local de ocultaciones de estrellas por asteroides
lunar_eclipse: cálculo de las circunstancias geocéntricas de un determinado eclipse de Luna
solar_eclipse: cálculo de las circunstancias locales de un determinado eclipse de Sol
galilean_phenomena: búsqueda de fenómenos de los satélites de Júpiter
star_catalogue_chart: calcula coordenadas gráficas de estrellas en un sector del cielo a partir de un catálogo estelar
NCP_chart: calcula coordenadas gráficas de estrellas alrededor del PNC para una fecha dada
physical_graphics: calcula coordenadas gráficas a partir de parámetros físicos
galilean_graphics: calcula coordenadas gráficas de satélites galileanos
saturnian_graphics: calcula coordenadas gráficas de satélites de Saturno
star_finder: construcción de un planisferio celeste
sundial: construcción de un reloj de Sol
plate_solving: resuelve la identificación estelar y calcula los coeficientes de una placa
light_curve_occultation: ajusta una curva de luz de una ocultación lunar a un patrón de difracción
minor_body_perturbation: integra numéricamente el movimiento de un cuerpo menor con perturbaciones planetarias