ephemeris

None

Functions

direct_spice(frame_origin, …)

Factory function for creating ephemeris model settings entirely from Spice.

interpolated_spice(initial_time, final_time, …)

Factory function for creating ephemeris model settings using interpolated Spice data.

approximate_planet_positions(*args, **kwargs)

Overloaded function.

approximate_planet_positions(*args, **kwargs)

Overloaded function.

constant(constant_state, 1]], frame_origin, …)

Factory function for creating constant ephemeris model settings.

custom(custom_state_function, …)

Factory function for creating custom ephemeris model settings.

keplerian(initial_keplerian_state, 1]], …)

Factory function for creating Keplerian ephemeris model settings.

keplerian_from_spice(body, …)

Factory function for creating Keplerian ephemeris model settings with initial state from Spice.

scaled(*args, **kwargs)

Overloaded function.

scaled(*args, **kwargs)

Overloaded function.

scaled(*args, **kwargs)

Overloaded function.

tabulated(body_state_history, …)

Factory function for creating ephemeris model settings from tabulated data.

direct_spice(frame_origin: str = 'SSB', frame_orientation: str = 'ECLIPJ2000', body_name_to_use: str = '') tudatpy.kernel.simulation.environment_setup.ephemeris.EphemerisSettings

Factory function for creating ephemeris model settings entirely from Spice.

Factory function for settings object, defining ephemeris model directly and entirely from Spice. Requires an appropriate Spice kernel to be loaded. This function creates an instance of an EphemerisSettings derived DirectSpiceEphemerisSettings object.

Parameters
  • frame_origin (str, default='SSB') – Origin of frame in which ephemeris data is defined.

  • frame_orientation (str, default='ECLIPJ2000') – Orientation of frame in which ephemeris data is defined.

  • body_name_to_use (str, default = "") –

    ?

Returns

None

Return type

DirectSpiceEphemerisSettings

interpolated_spice(initial_time: float, final_time: float, time_step: float, frame_origin: str = 'SSB', frame_orientation: str = 'ECLIPJ2000', interpolator_settings: tudatpy.kernel.math.interpolators.InterpolatorSettings = <tudatpy.kernel.math.interpolators.LagrangeInterpolatorSettings object at 0x7ff4ca6cc130>, body_name_to_use: str = '') tudatpy.kernel.simulation.environment_setup.ephemeris.EphemerisSettings

Factory function for creating ephemeris model settings using interpolated Spice data.

Parameters
  • initial_time (float) – Initial time from which interpolated data from Spice should be created.

  • final_time (float) – Final time from which interpolated data from Spice should be created.

  • time_step (float) – Time step with which interpolated data from Spice should be created.

  • frame_origin (str, default='SSB') – Origin of frame in which ephemeris data is defined.

  • frame_orientation (str, default='ECLIPJ2000') – Orientation of frame in which ephemeris data is defined.

  • interpolator_settings (std::make_shared< interpolators::InterpolatorSettings >, default=std::make_shared< interpolators::LagrangeInterpolatorSettings >( 6 )) – Settings to be used for the state interpolation.

  • body_name_to_use (str, default = "") –

    ?

Returns

None

Return type

InterpolatedSpiceEphemerisSettings

approximate_planet_positions(*args, **kwargs)

Overloaded function.

  1. approximate_planet_positions(body_name_to_use: str) -> tudatpy.kernel.simulation.environment_setup.ephemeris.EphemerisSettings

    Factory function for creating approximate ephemeris model settings for major planets.

    Factory function for settings object, defining approximate ephemeris model for major planets. In this highly simplified ephemeris model, Keplerian elements of the major solar system bodies are modelled as linear functions of time and several sinusoidal variations (described on http://ssd.jpl.nasa.gov/txt/aprx_pos_planets.pdf). #(%! only given in ctor, not FF) Three-dimensional and circular-coplanar approximation may be used. This function creates an instance of an EphemerisSettings derived ApproximatePlanetPositionsSettings object.

    body_name_to_usestr

    String that is attempted to be matched to an identifier for the body that the ephemeris is to be created for.

    ApproximatePlanetPositionSettings

    None

  2. approximate_planet_positions() -> tudatpy.kernel.simulation.environment_setup.ephemeris.EphemerisSettings

    Factory function for creating approximate ephemeris model settings for major planets.

    Factory function for settings object, defining approximate ephemeris model for major planets. In this highly simplified ephemeris model, Keplerian elements of the major solar system bodies are modelled as linear functions of time and several sinusoidal variations (described on http://ssd.jpl.nasa.gov/txt/aprx_pos_planets.pdf). #(%! only given in ctor, not FF) Three-dimensional and circular-coplanar approximation may be used. This function creates an instance of an EphemerisSettings derived ApproximatePlanetPositionsSettings object.

    None

    None

    ApproximatePlanetPositionSettings

    None

approximate_planet_positions(*args, **kwargs)

Overloaded function.

  1. approximate_planet_positions(body_name_to_use: str) -> tudatpy.kernel.simulation.environment_setup.ephemeris.EphemerisSettings

    Factory function for creating approximate ephemeris model settings for major planets.

    Factory function for settings object, defining approximate ephemeris model for major planets. In this highly simplified ephemeris model, Keplerian elements of the major solar system bodies are modelled as linear functions of time and several sinusoidal variations (described on http://ssd.jpl.nasa.gov/txt/aprx_pos_planets.pdf). #(%! only given in ctor, not FF) Three-dimensional and circular-coplanar approximation may be used. This function creates an instance of an EphemerisSettings derived ApproximatePlanetPositionsSettings object.

    body_name_to_usestr

    String that is attempted to be matched to an identifier for the body that the ephemeris is to be created for.

    ApproximatePlanetPositionSettings

    None

  2. approximate_planet_positions() -> tudatpy.kernel.simulation.environment_setup.ephemeris.EphemerisSettings

    Factory function for creating approximate ephemeris model settings for major planets.

    Factory function for settings object, defining approximate ephemeris model for major planets. In this highly simplified ephemeris model, Keplerian elements of the major solar system bodies are modelled as linear functions of time and several sinusoidal variations (described on http://ssd.jpl.nasa.gov/txt/aprx_pos_planets.pdf). #(%! only given in ctor, not FF) Three-dimensional and circular-coplanar approximation may be used. This function creates an instance of an EphemerisSettings derived ApproximatePlanetPositionsSettings object.

    None

    None

    ApproximatePlanetPositionSettings

    None

constant(constant_state: numpy.ndarray[numpy.float64[6, 1]], frame_origin: str = 'SSB', frame_orientation: str = 'ECLIPJ2000') tudatpy.kernel.simulation.environment_setup.ephemeris.EphemerisSettings

Factory function for creating constant ephemeris model settings.

Factory function for settings object, defining ephemeris model with a constant, time-independent state. This function creates an instance of an EphemerisSettings derived constantEphemerisSettings object.

Parameters
  • constant_state (numpy.ndarray) – Constant state that will be provided as output of the ephemeris at all times.

  • frame_origin (str, default='SSB') – Origin of frame in which ephemeris data is defined.

  • frame_orientation (str, default='ECLIPJ2000') – Orientation of frame in which ephemeris data is defined.

Returns

Return type

ConstantEphemerisSettings

custom(custom_state_function: Callable[[float], numpy.ndarray[numpy.float64[6, 1]]], frame_origin: str = 'SSB', frame_orientation: str = 'ECLIPJ2000') tudatpy.kernel.simulation.environment_setup.ephemeris.EphemerisSettings

Factory function for creating custom ephemeris model settings.

Factory function for settings object, defining ephemeris model with a custom state. This allows the user to provide an custom state function as ephemeris model. The state function (pointer) must be taking a time (float) as input and returning the Cartesian state (numpy.ndarray). This function creates an instance of an EphemerisSettings derived customEphemerisSettings object.

Parameters
  • custom_state_function – Function returning the state as a function of time.

  • frame_origin (str, default='SSB') – Origin of frame in which ephemeris data is defined.

  • frame_orientation (str, default='ECLIPJ2000') – Orientation of frame in which ephemeris data is defined.

Returns

Return type

CustomEphemerisSettings

keplerian(initial_keplerian_state: numpy.ndarray[numpy.float64[6, 1]], initial_state_epoch: float, central_body_gravitational_parameter: float, frame_origin: str = 'SSB', frame_orientation: str = 'ECLIPJ2000', root_finder_absolute_tolerance: float = 4.440892098500626e-14, root_finder_maximum_iterations: float = 1000.0) tudatpy.kernel.simulation.environment_setup.ephemeris.EphemerisSettings

Factory function for creating Keplerian ephemeris model settings.

Factory function for settings object, defining ephemeris model which represents an ideal Kepler orbit from the given Kepler elements. These are taken as the elements at the initial_state_epoch and propagated to any other time using the provided central_body_gravitational_parameter. See Frame/State Transformations (link) for more details on orbital elements in Tudat. This function creates an instance of an EphemerisSettings derived KeplerEphemerisSettings object.

Parameters
  • initial_state_in_keplerian_elements (numpy.ndarray) – Kepler elements at time epochOfInitialState.

  • initial_state_epoch (float) – Time at which initialStateInKeplerianElements represents the Keplerian state.

  • central_body_gravitational_parameter (float) – Gravitational parameter of the central body that is used in the computations.

  • frame_origin (str, default='SSB') – Origin of frame in which ephemeris data is defined.

  • frame_orientation (str, default='ECLIPJ2000') – Orientation of frame in which ephemeris data is defined.

  • root_finder_absolute_tolerance (float) – Convergence tolerance for root finder used to convert mean to eccentric anomaly on each call to getCartesianState.

  • root_finder_maximum_number_of_iterations (float) – Maximum iteration for root finder used to convert mean to eccentric anomaly on each call to getCartesianState.

Returns

Return type

KeplerEphemerisSettings

keplerian_from_spice(body: str, initial_state_epoch: float, central_body_gravitational_parameter: float, frame_origin: str = 'SSB', frame_orientation: str = 'ECLIPJ2000', root_finder_absolute_tolerance: float = 4.440892098500626e-14, root_finder_maximum_iterations: float = 1000.0) tudatpy.kernel.simulation.environment_setup.ephemeris.EphemerisSettings

Factory function for creating Keplerian ephemeris model settings with initial state from Spice.

Factory function for settings object, defining ephemeris model which represents an ideal Kepler orbit from an initial state from Spice. The Kepler elements inferred from the initial state are propagated to any other time using the provided central_body_gravitational_parameter. See Frame/State Transformations (link) for more details on orbital elements in Tudat. This function creates an instance of an EphemerisSettings derived KeplerEphemerisSettings object.

Parameters
  • body (str) – Name of body for which to create ephemeris settings and infer initial state from Spice.

  • initial_state_epoch (float) – Time at which initialStateInKeplerianElements represents the Keplerian state.

  • central_body_gravitational_parameter (float) – Gravitational parameter of the central body that is used in the computations.

  • frame_origin (str, default='SSB') – Origin of frame in which ephemeris data is defined.

  • frame_orientation (str, default='ECLIPJ2000') – Orientation of frame in which ephemeris data is defined.

  • root_finder_absolute_tolerance (float) – Convergence tolerance for root finder used to convert mean to eccentric anomaly on each call to getCartesianState.

  • root_finder_maximum_number_of_iterations (float) – Maximum iteration for root finder used to convert mean to eccentric anomaly on each call to getCartesianState.

Returns

Return type

KeplerEphemerisSettings

scaled(*args, **kwargs)

Overloaded function.

  1. scaled(unscaled_ephemeris_settings: tudatpy.kernel.simulation.environment_setup.ephemeris.EphemerisSettings, scaling_constant: float, is_scaling_absolute: bool = False) -> tudatpy.kernel.simulation.environment_setup.ephemeris.EphemerisSettings

    Factory function for creating scaled ephemeris model settings.

    Factory function for settings object, defining ephemeris model based on an scaling of an existing ephemeris settings object. The user can apply a scaling factor (or an absolute value) to the resulting Cartesian states (for instance for an uncertainty analysis). This function creates an instance of an EphemerisSettings derived ScaledEphemerisSettings object.

    unscaled_ephemeris_settingsEphemerisSettings

    Sets base settings of ephemeris to be scaled.

    scaling_constantfloat

    Constant scaling factor to be applied to all elements of the Cartesian state.

    is_scaling_absolutebool, default=false

    Boolean indicating whether ephemeris scaling is absolute. Setting this boolean to true will add the scaling value to the state, instead of the default behaviour of multiplying the state by the scaling value.

    ScaledEphemerisSettings

  2. scaled(unscaled_ephemeris_settings: tudatpy.kernel.simulation.environment_setup.ephemeris.EphemerisSettings, scaling_vector: numpy.ndarray[numpy.float64[6, 1]], is_scaling_absolute: bool = False) -> tudatpy.kernel.simulation.environment_setup.ephemeris.EphemerisSettings

    Factory function for creating scaled ephemeris model settings.

    Factory function for settings object, defining ephemeris model based on an scaling of an existing ephemeris settings object. The user can apply a scaling factor (or an absolute value) to the resulting Cartesian states (for instance for an uncertainty analysis). This function creates an instance of an EphemerisSettings derived ScaledEphemerisSettings object.

    unscaled_ephemeris_settingsEphemerisSettings

    Sets base settings of ephemeris to be scaled.

    scaling_vectornumpy.ndarray

    Vector containing scaling factors to be applied to each element of the Cartesian state.

    is_scaling_absolutebool, default=false

    Boolean indicating whether ephemeris scaling is absolute. Setting this boolean to true will add the scaling value to the state, instead of the default behaviour of multiplying the state by the scaling value.

    ScaledEphemerisSettings

  3. scaled(unscaled_ephemeris_settings: tudatpy.kernel.simulation.environment_setup.ephemeris.EphemerisSettings, scaling_vector_function: Callable[[float], numpy.ndarray[numpy.float64[6, 1]]], is_scaling_absolute: bool = False) -> tudatpy.kernel.simulation.environment_setup.ephemeris.EphemerisSettings

    Factory function for creating scaled ephemeris model settings.

    Factory function for settings object, defining ephemeris model based on an scaling of an existing ephemeris settings object. The user can apply a scaling factor (or an absolute value) to the resulting Cartesian states (for instance for an uncertainty analysis). This function creates an instance of an EphemerisSettings derived ScaledEphemerisSettings object.

    unscaled_ephemeris_settingsEphemerisSettings

    Sets base settings of ephemeris to be scaled.

    scaling_vector_functionfunction < numpy.ndarray >

    Function returning a vector with the scaling factors to be applied to each element of the Cartesian state.

    is_scaling_absolutebool, default=false

    Boolean indicating whether ephemeris scaling is absolute. Setting this boolean to true will add the scaling value to the state, instead of the default behaviour of multiplying the state by the scaling value.

    ScaledEphemerisSettings

scaled(*args, **kwargs)

Overloaded function.

  1. scaled(unscaled_ephemeris_settings: tudatpy.kernel.simulation.environment_setup.ephemeris.EphemerisSettings, scaling_constant: float, is_scaling_absolute: bool = False) -> tudatpy.kernel.simulation.environment_setup.ephemeris.EphemerisSettings

    Factory function for creating scaled ephemeris model settings.

    Factory function for settings object, defining ephemeris model based on an scaling of an existing ephemeris settings object. The user can apply a scaling factor (or an absolute value) to the resulting Cartesian states (for instance for an uncertainty analysis). This function creates an instance of an EphemerisSettings derived ScaledEphemerisSettings object.

    unscaled_ephemeris_settingsEphemerisSettings

    Sets base settings of ephemeris to be scaled.

    scaling_constantfloat

    Constant scaling factor to be applied to all elements of the Cartesian state.

    is_scaling_absolutebool, default=false

    Boolean indicating whether ephemeris scaling is absolute. Setting this boolean to true will add the scaling value to the state, instead of the default behaviour of multiplying the state by the scaling value.

    ScaledEphemerisSettings

  2. scaled(unscaled_ephemeris_settings: tudatpy.kernel.simulation.environment_setup.ephemeris.EphemerisSettings, scaling_vector: numpy.ndarray[numpy.float64[6, 1]], is_scaling_absolute: bool = False) -> tudatpy.kernel.simulation.environment_setup.ephemeris.EphemerisSettings

    Factory function for creating scaled ephemeris model settings.

    Factory function for settings object, defining ephemeris model based on an scaling of an existing ephemeris settings object. The user can apply a scaling factor (or an absolute value) to the resulting Cartesian states (for instance for an uncertainty analysis). This function creates an instance of an EphemerisSettings derived ScaledEphemerisSettings object.

    unscaled_ephemeris_settingsEphemerisSettings

    Sets base settings of ephemeris to be scaled.

    scaling_vectornumpy.ndarray

    Vector containing scaling factors to be applied to each element of the Cartesian state.

    is_scaling_absolutebool, default=false

    Boolean indicating whether ephemeris scaling is absolute. Setting this boolean to true will add the scaling value to the state, instead of the default behaviour of multiplying the state by the scaling value.

    ScaledEphemerisSettings

  3. scaled(unscaled_ephemeris_settings: tudatpy.kernel.simulation.environment_setup.ephemeris.EphemerisSettings, scaling_vector_function: Callable[[float], numpy.ndarray[numpy.float64[6, 1]]], is_scaling_absolute: bool = False) -> tudatpy.kernel.simulation.environment_setup.ephemeris.EphemerisSettings

    Factory function for creating scaled ephemeris model settings.

    Factory function for settings object, defining ephemeris model based on an scaling of an existing ephemeris settings object. The user can apply a scaling factor (or an absolute value) to the resulting Cartesian states (for instance for an uncertainty analysis). This function creates an instance of an EphemerisSettings derived ScaledEphemerisSettings object.

    unscaled_ephemeris_settingsEphemerisSettings

    Sets base settings of ephemeris to be scaled.

    scaling_vector_functionfunction < numpy.ndarray >

    Function returning a vector with the scaling factors to be applied to each element of the Cartesian state.

    is_scaling_absolutebool, default=false

    Boolean indicating whether ephemeris scaling is absolute. Setting this boolean to true will add the scaling value to the state, instead of the default behaviour of multiplying the state by the scaling value.

    ScaledEphemerisSettings

scaled(*args, **kwargs)

Overloaded function.

  1. scaled(unscaled_ephemeris_settings: tudatpy.kernel.simulation.environment_setup.ephemeris.EphemerisSettings, scaling_constant: float, is_scaling_absolute: bool = False) -> tudatpy.kernel.simulation.environment_setup.ephemeris.EphemerisSettings

    Factory function for creating scaled ephemeris model settings.

    Factory function for settings object, defining ephemeris model based on an scaling of an existing ephemeris settings object. The user can apply a scaling factor (or an absolute value) to the resulting Cartesian states (for instance for an uncertainty analysis). This function creates an instance of an EphemerisSettings derived ScaledEphemerisSettings object.

    unscaled_ephemeris_settingsEphemerisSettings

    Sets base settings of ephemeris to be scaled.

    scaling_constantfloat

    Constant scaling factor to be applied to all elements of the Cartesian state.

    is_scaling_absolutebool, default=false

    Boolean indicating whether ephemeris scaling is absolute. Setting this boolean to true will add the scaling value to the state, instead of the default behaviour of multiplying the state by the scaling value.

    ScaledEphemerisSettings

  2. scaled(unscaled_ephemeris_settings: tudatpy.kernel.simulation.environment_setup.ephemeris.EphemerisSettings, scaling_vector: numpy.ndarray[numpy.float64[6, 1]], is_scaling_absolute: bool = False) -> tudatpy.kernel.simulation.environment_setup.ephemeris.EphemerisSettings

    Factory function for creating scaled ephemeris model settings.

    Factory function for settings object, defining ephemeris model based on an scaling of an existing ephemeris settings object. The user can apply a scaling factor (or an absolute value) to the resulting Cartesian states (for instance for an uncertainty analysis). This function creates an instance of an EphemerisSettings derived ScaledEphemerisSettings object.

    unscaled_ephemeris_settingsEphemerisSettings

    Sets base settings of ephemeris to be scaled.

    scaling_vectornumpy.ndarray

    Vector containing scaling factors to be applied to each element of the Cartesian state.

    is_scaling_absolutebool, default=false

    Boolean indicating whether ephemeris scaling is absolute. Setting this boolean to true will add the scaling value to the state, instead of the default behaviour of multiplying the state by the scaling value.

    ScaledEphemerisSettings

  3. scaled(unscaled_ephemeris_settings: tudatpy.kernel.simulation.environment_setup.ephemeris.EphemerisSettings, scaling_vector_function: Callable[[float], numpy.ndarray[numpy.float64[6, 1]]], is_scaling_absolute: bool = False) -> tudatpy.kernel.simulation.environment_setup.ephemeris.EphemerisSettings

    Factory function for creating scaled ephemeris model settings.

    Factory function for settings object, defining ephemeris model based on an scaling of an existing ephemeris settings object. The user can apply a scaling factor (or an absolute value) to the resulting Cartesian states (for instance for an uncertainty analysis). This function creates an instance of an EphemerisSettings derived ScaledEphemerisSettings object.

    unscaled_ephemeris_settingsEphemerisSettings

    Sets base settings of ephemeris to be scaled.

    scaling_vector_functionfunction < numpy.ndarray >

    Function returning a vector with the scaling factors to be applied to each element of the Cartesian state.

    is_scaling_absolutebool, default=false

    Boolean indicating whether ephemeris scaling is absolute. Setting this boolean to true will add the scaling value to the state, instead of the default behaviour of multiplying the state by the scaling value.

    ScaledEphemerisSettings

tabulated(body_state_history: Dict[float, numpy.ndarray[numpy.float64[6, 1]]], frame_origin: str = 'SSB', frame_orientation: str = 'ECLIPJ2000') tudatpy.kernel.simulation.environment_setup.ephemeris.EphemerisSettings

Factory function for creating ephemeris model settings from tabulated data.

Factory function for settings object, defining ephemeris model to be created from tabulated data. Currently the data that is provided gets interpolated by a 6th order Lagrange interpolator (hardcoded). At the edges of the interpolation interval a cubic spline interpolator is used to suppres the influence of Runge’s phenomenon. This function creates an instance of an EphemerisSettings derived TabulatedEphemerisSettings object.

Parameters
  • body_state_history (dict) – Dictionary of the discrete state history data from which ephemeris is to be created. Keys representing the time (float) and values representing Cartesian states (numpy.ndarray).

  • frame_origin (str, default='SSB') – Origin of frame in which ephemeris data is defined.

  • frame_orientation (str, default='ECLIPJ2000') – Orientation of frame in which ephemeris data is defined.

Returns

Return type

TabulatedEphemerisSettings

Classes

class EphemerisSettings

Base class for providing settings for ephemeris model.

Functional (base) class for settings of ephemeris models that require no information in addition to their type (and frame origin and orientation). Ephemeris model classes requiring additional information must be created using an object derived from this class.

class DirectSpiceEphemerisSettings

Class for defining settings of an ephemeris linked directly to Spice.

EphemerisSettings derived class for ephemeris which are directly linked to Spice.

class InterpolatedSpiceEphemerisSettings

Class for defining settings of an ephemeris interpolated from Spice data.

DirectSpiceEphemerisSettings derived class for setting ephemerides to be created from interpolated Spice ephemeris data.

class ApproximatePlanetPositionSettings

Class for creating settings of approximate ephemeris for major planets.

EphemerisSettings derived class for approximate ephemeris for major planets as inplemented in ApproximatePlanetPositions class and derived class (described on http://ssd.jpl.nasa.gov/txt/aprx_pos_planets.pdf).

class ConstantEphemerisSettings

Class for defining settings of constant ephemerides.

EphemerisSettings derived class for ephemerides producing a constant (time-independent) state.

class CustomEphemerisSettings

Class for defining settings of a custom ephemeris.

EphemerisSettings derived class for ephemerides which represent an ideal Kepler orbit.

class TabulatedEphemerisSettings

Class for defining settings of ephemeris to be created from tabulated data.

EphemerisSettings derived class for ephemeris created from tabulated data. The provided data is interpolated into ephemerides.