adam_core.orbits.orbits module

class adam_core.orbits.orbits.Orbits(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.

physical_parameters

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.

non_gravitational_parameters

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.

group_by_orbit_id() Iterable[Tuple[str, Orbits]][source]

Group orbits by orbit ID and yield them.

Yields:
  • orbit_id (str) – Orbit ID.

  • orbits (~adam_core.orbits.orbits.Orbits) – Orbits belonging to this orbit ID.

dynamical_class() ndarray[tuple[Any, ...], dtype[str]][source]

Compute dynamical classes of orbits. Currently limited to asteroid dynamical classes.

Returns:

dynamical_classes – Dynamical classes of orbits.

Return type:

~numpy.ndarray

has_non_gravitational_parameters() bool[source]

Return True if any orbit carries a non-zero non-gravitational parameter value.

Parameters that are explicitly solved to zero are treated as absent: they exert no force, so a gravity-only propagation of such an orbit is still exact.

has_non_gravitational_solution() bool[source]

Return True if any orbit carries a non-gravitational solution: either a non-zero parameter value or a non-gravitational block in the coordinate covariance (a zero-mean parameter can still carry uncertainty).

without_non_gravitational_parameters() Orbits[source]

Return a copy with the non-gravitational parameters nulled and the coordinate covariance reduced to its 6x6 coordinate block.

coordinates_to(representation_out: type[CartesianCoordinates | KeplerianCoordinates | CometaryCoordinates | SphericalCoordinates], *, frame_out: Literal['ecliptic', 'equatorial', 'itrf93'] | None = None, origin_out: OriginCodes | None = None)[source]

Transform this orbit’s coordinates to another representation, frame, and/or origin. Covariances – including the non-gravitational block for orbits with a non-gravitational solution – are transformed alongside the coordinates.

to_keplerian() KeplerianCoordinates[source]
to_cometary() CometaryCoordinates[source]
to_spherical() SphericalCoordinates[source]
preview(propagator: Propagator) None[source]

For a single orbit, render a plotly plot of the orbit.

schema: ClassVar[pa.Schema] = orbit_id: large_string not null object_id: large_string 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 physical_parameters: struct<H_v: double, H_v_sigma: double, G: double, G_sigma: double, sigma_eff: double, chi2_red: doub (... 3 chars omitted)   child 0, H_v: double   child 1, H_v_sigma: double   child 2, G: double   child 3, G_sigma: double   child 4, sigma_eff: double   child 5, chi2_red: double non_gravitational_parameters: struct<source: large_string, A1: double, A2: double, A3: double, ALN: double, NK: double, NM: double (... 25 chars omitted)   child 0, source: large_string   child 1, A1: double   child 2, A2: double   child 3, A3: double   child 4, ALN: double   child 5, NK: double   child 6, NM: double   child 7, NN: double   child 8, R0: double
table: pa.Table