Scarabaeus API#
This reference manual details the modules, classes, and methods included in Scarabaeus. Each module contains classes relevant to itself. For more in-depth descriptions of each, see its respective section below.
The entirety of the source code is available on the source repository.
Body#
The Body module defines objects in the orbit determination process. This includes planets, ground stations, and spacecraft.
Dynamics#
The Dynamics module provides functionality for modeling the dynamic environment acting on a spacecraft. This includes modeling of Keplerian accelerations, 3rd body perturbations, solar radiation pressure, higher-order fidelity gravitational modeling (spherical harmonics, polyhedral), and finite burn modeling.
Environment#
The Environment module provides high-level representations used to define the environment of an orbit-determination scenario. This includes state vector definitions, trajectory containers, numerical propagators, and multi-leg mission sequences.
Finite Burn#
The Finite Burn module provides functionality for modeling finite burn maneuvers, including maneuver sequencing and parsing of maneuver definitions for use in trajectory propagation and orbit determination.
Guidance#
The Guidance module provides functionality for guidance tasks such as B-Plane targeting and maneuver planning.
Measurements#
The Measurements module provides functionality for both computed and observed measurement modeling, multi-type measurement datasets, and computation of partial derivatives. Supported observables include radiometric (range, range-rate, Doppler) and optical measurements.
Orbit Determination#
The Orbit Determination (OD) module implements OD and filtering algorithms, including batch least-squares, linearized Kalman filter, square-root information filter, and smoother variants. Also includes filter management, iteration control, and solution containers.
Spacecraft#
The Spacecraft module provides functionalities that define various properties of a spacecraft body, including sensors (imagers, antennas), actuators (thrusters), structural elements, n-plate models, and power-generation models.
Time & Frame#
The Time and Frame module provides tools for handling reference frame and time referencing systems. A dedicated set of classes manages reference frame definition, transformation, and storage, as well as epoch representation and SPICE integration.
Units#
The Units module provides tools to manage both physical dimensions and units across Scarabaeus, ensuring correct operations, clear interfaces, and continuity when performing calculations using physical properties.
Uncertainty Quantification#
The Uncertainty Quantification module provides tools for uncertainty quantification in the orbit determination process, including covariance matrix construction, propagation, and analysis.
Utilities#
The Utilities module provides utility tools leveraged across the entirety of Scarabaeus, including constants definitions, noise generation, orbital element conversion, polynomial representations, and plotting utilities.
Scarabaeus Rust#
The Scarabaeus Rust contains computationaly expensive algorithms written in Rust instead of Python and exposes them as classes and functions to the rest of Scarabaeus.