SSOXmatch v0.6
This API implements the computation of cross-matches of Solar System bodies (asteroids, comets, planets and
natural satellites) in astronomical images, and the ingestion of them into a database that later may be used by ESASky. Project is developed and copyright by Tomás Alonso Albi: the program and code cannot be used or distributed without the permission of the author. The project aimed to be a replacement of the old pipeline used to compute the cross-matches, and later used in ESASky to overlay the trajectories of minor bodies in the images of the different space missions. This pipeline has the following main improvements:
- Ephemerides generated with Java code, including planets and satellites. No need to compile/call Eproc and parse text files.
- All steps performed from Java code, including the creation of the database tables, the download of orbital elements and kernels, and the ingestion into databases. The queries to get the list of observation are also executed from this software.
- Generic approach for all surveys, with the inclusion of the kernel SPK files for the different missions, read from Java code using a JNI library.
- Maximum speed optimization with the use of fast approximate trigonometric functions for the computation of the ephemerides. The consistency level is usually around 1E-5 degrees respect Horizons.
- It is not necessary to release a new version to support a new mission, since the properties file contains all necessary input data for them, and a custom one can be loaded from the command-line. The input files (SPK, orbital elements, observations) can also be loaded from a local folder.
- Ephemerides of both asteroids and comets from numerical integration, using Lowell+cometpro or JPL databases, and with multiple options for the integrator. By default a Dormand-Prince order 5 Runge-Kutta, and 16 asteroids as perturbers. The physical model is much more accurate and suitable for NEAs and colliding bodies. A table with close encounters is generated, as well as charts of each individual cross-match.
- Great performance and limited resources, designed to be executed directly from production environments with only few threads. Cross-matches are found by computing the positions directly for the observation times, no Healpix tesselation needed.
- Possibility of performing local tests by means of two database configurations, one for local ingestions (for the properties file for local environment), and another configuration for the remote database (required to get the list of observations). In production environments both configurations would point to the same remote database.
- In a next step, on-the-fly generation of cross-matches, without the need to ingest to a database. This could open the possibility to directly integrate this code in ESASky.
Package | Description |
---|---|
talonsoalbi_at_gmail_dot_com.ssoxmatch |
Main package with constants, utilities, logs, and the main command line program.
|
talonsoalbi_at_gmail_dot_com.ssoxmatch.actions |
Actions package implementing general actions to be called from the command-line.
|
talonsoalbi_at_gmail_dot_com.ssoxmatch.actions.web |
Package containing the classes that implements a complete web portatl with services
to compute cross-matches and ephemerides.
|
talonsoalbi_at_gmail_dot_com.ssoxmatch.actions.xmatch |
Cross-match related actions and utilities.
|
talonsoalbi_at_gmail_dot_com.ssoxmatch.db |
Database package with classes for postgres queries and file reading formats for orbital elements.
|
talonsoalbi_at_gmail_dot_com.ssoxmatch.ephem |
Ephemeris package with utilities to compute the position of the bodies.
|
talonsoalbi_at_gmail_dot_com.ssoxmatch.ephem.moons |
Moons package implementing analytical theories to compute the positions of natural moons.
|
talonsoalbi_at_gmail_dot_com.ssoxmatch.ephem.nbody |
This package implements the Solar System numerical integration model.
|