adam_core.orbits.ephemeris module

class adam_core.orbits.ephemeris.Ephemeris(table: Table, **kwargs: int | float | str)[source]

Bases: Table

orbit_id

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

object_id

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

coordinates

A column which represents an embedded quivr table.

Parameters:
  • table_type – The type of the table to embed.

  • nullable – Whether the column can contain null values.

  • metadata – A dictionary of metadata to attach to the column.

predicted_magnitude_v

A column for storing 64-bit floating point numbers.

alpha

A column for storing 64-bit floating point numbers.

light_time

A column for storing 64-bit floating point numbers.

aberrated_coordinates

A column which represents an embedded quivr table.

Parameters:
  • table_type – The type of the table to embed.

  • nullable – Whether the column can contain null values.

  • metadata – A dictionary of metadata to attach to the column.

Link these ephemerides back to the observers that generated them. This is useful if you want or need to use the observer’s position as part of any computation for any given set of ephemerides.

Not all propagators will return ephemerides exactly at the time of the input observers. As an example, PYOORB stores times as a single MJD, when converting from two integers to this singular float there will be a loss of precision. To mitigate this, the user may optionally define the precision to which would like to link back to observers. Times for both the ephemerides and observers will be rounded to this precision before linking.

Parameters:
  • observers (~adam_core.observers.observers.Observers (N)) – Observers that generated the ephemerides.

  • precision (str, optional) – Precision to which to link back to observers, by default “ns”.

Returns:

  • ~qv.MultiKeyLinkage[ – `~adam_core.orbits.ephemeris.Ephemeris, `~adam_core.observers.observersObservers

  • ]` – Linkage between ephemerides and observers.

schema: ClassVar[pa.Schema] = orbit_id: large_string not null object_id: large_string coordinates: struct<rho: double, lon: double, lat: double, vrho: double, vlon: double, vlat: double, time: struct (... 118 chars omitted)   child 0, rho: double   child 1, lon: double   child 2, lat: double   child 3, vrho: double   child 4, vlon: double   child 5, vlat: double   child 6, time: struct<days: int64, nanos: int64>       child 0, days: int64       child 1, nanos: int64   child 7, covariance: struct<values: large_list<item: double>>       child 0, values: large_list<item: double>           child 0, item: double   child 8, origin: struct<code: large_string>       child 0, code: large_string predicted_magnitude_v: double alpha: double light_time: double aberrated_coordinates: struct<x: double, y: double, z: double, vx: double, vy: double, vz: double, time: struct<days: int64 (... 106 chars omitted)   child 0, x: double   child 1, y: double   child 2, z: double   child 3, vx: double   child 4, vy: double   child 5, vz: double   child 6, time: struct<days: int64, nanos: int64>       child 0, days: int64       child 1, nanos: int64   child 7, covariance: struct<values: large_list<item: double>>       child 0, values: large_list<item: double>           child 0, item: double   child 8, origin: struct<code: large_string>       child 0, code: large_string
table: pa.Table