The Marble Satellite Catalog format is a simple file format for satellite data catalogs. It contains all data necessary to calculate satellite's position and orbits. It is plain ascii in order to allow simple parsing and was introduced with version 1.1 of Marble's satellites plugin in order to provide the necessary data for planetary satellites.
The satellites plugin uses a generic Marble Satellite Catalog available from Marble download servers by default. The data of this catalog is collected and updated periodically from various sources like ESA TASC or JPL Horizons using Marble's gen-sat-catalog utility. Though, the plugin also allows user defined catalog files to be used.
A Marble Satellite Catalog is a plain ascii text file preferably with the file extension '.msc'. This file extension is just a suggestion. You may also use .txt or whatever you want. Marble's satellite plugin distinguishes between satellite data file formats based on the content, not the file extension.
Lines starting with a '#' are ignored and may be used as one line comments.
The file consists of lines where each line represents a single data record.
Each record (line) is a comma separated list of 13 fields and must provide all of them (even if they are empty) in order to be valid. Each field has its fixed position. The fields of a valid record are listed in the following table:
|1||text||name||The name of the object this data record describes.|
|2||text||category|| The category this object belongs to. In order to allow translation of category names in an application (and Marble's satellites plugin), this field should contain one of these categories, if possible:
Comets, Moons, Spacecrafts, Space probes, Other
|3||text||related body||The body this object belongs to (e.g. the planet) and position information is relative to.|
|4||seconds since 0h Jan 1, 1970||mission start||If the object is part of a space mission, this field contains the start date of the mission (unix timestamp). Otherwise it is empty.|
|5||seconds since 0h Jan 1, 1970||mission end||If the object is part of a space mission, this field contains the end date of the mission (unix timestamp). If it is not part of a space mission or the mission's end date is not known yet, this field is empty.|
|6||text||additional data url||This field is reserved for future use and not used by Marble's satellites plugin at the moment.|
|7||julien days - 2400000.5||mjd timestamp||Time and date of the position and velocity data (see fields below) as modified julian days.|
|8||float||position, x component||The X component of the object's position relative to the body given in the 'related body' field at the time given in the 'mjd timestamp' field.|
|9||float||position y component||The Y component of the object's position relative to the body given in the 'related body' field at the time given in the 'mjd timestamp' field.|
|10||float||position z component||The Z component of the object's position relative to the body given in the 'related body' field at the time given in the 'mjd timestamp' field.|
|11||float||velocity x component||The X component of the object's velocity at the time given in the 'mjd timestamp' field.|
|12||float||velocity y component||The Y component of the object's velocity at the time given in the 'mjd timestamp' field.|
|13||float||velocity z component||The Z component of the object's velocity at the time given in the 'mjd timestamp' field.|
This is an example Marble Satellite Catalog file:
# name, category, related_body, mission_start, mission_end, -, <mjd timestamp>, <...state vector...> Mars Express, Spacecrafts, Mars, 1072137600,,, 2456159.5, 9342.5, 2476.8, 9722.2, -0.09, -0.96, 0.68 Venus Express, Spacecrafts, Venus, 1144713600,,, 2456162.5, -4360.9, 15932.7, -2610.3, 0.58, -3.51, 4.24 Phobos, Moons, Mars,,,, 2456175.5, -8319.3, -516.1, 4397.9, -0.30, -1.92, -0.86