orekit¶
Wrapper for the Orekit propagator
Example usage:
Simple propagation showing time difference due to loading of model data.
from sorts.propagator import Orekit
Module summary¶
Classes
|
Propagator class implementing the Orekit propagator. |
Functions
|
Converts a Modified Julian Date value to an orekit AbsoluteDate |
|
Converts a numpy datetime64 value to an orekit AbsoluteDate |
Contents¶
Orekit
-
class
sorts.propagator.orekit.
Orekit
(orekit_data, settings=None, **kwargs)[source] Bases:
sorts.propagator.base.Propagator
Propagator class implementing the Orekit propagator.
#TODO: Update docs according to new “settings dict” method. #TODO: Valdiate Orekit v10 compatibility
- Variables
solarsystem_perturbers (list) – List of strings of names of objects in the solarsystem that should be used for third body perturbation calculations. All objects listed at CelestialBodyFactory are available.
in_frame (str) – String identifying the input frame to be used. All frames listed at FramesFactory are available.
out_frame (str) –
String identifying the output frame to be used. All frames listed at FramesFactory are available.
drag_force (bool) – Should drag force be included in propagation.
radiation_pressure (bool) – Should radiation pressure force be included in propagation.
frame_tidal_effects (bool) – Should coordinate frames include Tidal effects.
integrator (str) – String representing the numerical integrator from the Hipparchus package to use. Any integrator listed at Hipparchus nonstiff ode is available.
minStep (float) – Minimum time step allowed in the numerical orbit propagation given in seconds.
maxStep (float) – Maximum time step allowed in the numerical orbit propagation given in seconds.
position_tolerance (float) – Position tolerance in numerical orbit propagation errors given in meters.
earth_gravity (str) – Gravitation model to use for calculating central acceleration force. Currently avalible options are ‘HolmesFeatherstone’ and ‘Newtonian’. See gravity.
gravity_order (tuple) – A tuple of two integers for describing the order of spherical harmonics used in the HolmesFeatherstoneAttractionModel model.
atmosphere (str) – Atmosphere model used to calculate atmospheric drag. Currently available options are ‘DTM2000’. See atmospheres.
solar_activity (str) – The model used for calculating solar activity and thereby the influx of solar radiation. Used in the atmospheric drag force model. Currently available options are ‘Marshall’ for the MarshallSolarActivityFutureEstimation.
constants_source (str) – Controls which source for Earth constants to use. Currently avalible options are ‘WGS84’ and ‘JPL-IAU’. See constants.
mu (float) – Standard gravitational constant for the Earth. Definition depend on the
sorts.propagator.Orekit
constructor parameterconstants_source
R_earth (float) – Radius of the Earth in m. Definition depend on the
sorts.propagator.Orekit
constructor parameterconstants_source
f_earth (float) – Flattening of the Earth (i.e. \(\frac{a-b}{a}\) ). Definition depend on the
sorts.propagator.Orekit
constructor parameterconstants_source
.M_earth (float) – Mass of the Earth in kg. Definition depend on the
sorts.propagator.Orekit
constructor parameterconstants_source
inputFrame (org.orekit.frames.Frame) – The orekit frame instance for the input frame.
outputFrame (org.orekit.frames.Frame) – The orekit frame instance for the output frame.
inertialFrame (org.orekit.frames.Frame) – The orekit frame instance for the inertial frame. If inputFrame is pseudo innertial this is the same as inputFrame.
body (org.orekit.bodies.OneAxisEllipsoid) – The model ellipsoid representing the Earth.
_forces (dict) – Dictionary of forces to include in the numerical integration. Contains instances of children of
org.orekit.forces.AbstractForceModel
._tolerances (list) – Contains the absolute and relative tolerances calculated by the tolerances function.
propagator (org.orekit.propagation.numerical.NumericalPropagator) – The numerical propagator instance.
SolarStrengthLevel (org.orekit.forces.drag.atmosphere.data.MarshallSolarActivityFutureEstimation.StrengthLevel) – The strength of the solar activity. Options are ‘AVRAGE’, ‘STRONG’, ‘WEAK’.
The constructor creates a propagator instance with supplied options.
- Parameters
solarsystem_perturbers (list) –
List of strings of names of objects in the solarsystem that should be used for third body perturbation calculations. All objects listed at CelestialBodyFactory are available.
in_frame (str) –
String identifying the input frame to be used. All frames listed at FramesFactory are available.
out_frame (str) –
String identifying the output frame to be used. All frames listed at FramesFactory are available.
drag_force (bool) – Should drag force be included in propagation.
radiation_pressure (bool) – Should radiation pressure force be included in propagation.
frame_tidal_effects (bool) – Should coordinate frames include Tidal effects.
integrator (str) –
String representing the numerical integrator from the Hipparchus package to use. Any integrator listed at Hipparchus nonstiff ode is available.
min_step (float) – Minimum time step allowed in the numerical orbit propagation given in seconds.
max_step (float) – Maximum time step allowed in the numerical orbit propagation given in seconds.
position_tolerance (float) – Position tolerance in numerical orbit propagation errors given in meters.
atmosphere (str) –
Atmosphere model used to calculate atmospheric drag. Currently available options are ‘DTM2000’. See atmospheres.
solar_activity (str) –
The model used for calculating solar activity and thereby the influx of solar radiation. Used in the atmospheric drag force model. Currently available options are ‘Marshall’ for the MarshallSolarActivityFutureEstimation.
constants_source (str) –
Controls which source for Earth constants to use. Currently avalible options are ‘WGS84’ and ‘JPL-IAU’. See constants.
earth_gravity (str) –
Gravitation model to use for calculating central acceleration force. Currently avalible options are ‘HolmesFeatherstone’ and ‘Newtonian’. See gravity.
gravity_order (tuple) –
A tuple of two integers for describing the order of spherical harmonics used in the HolmesFeatherstoneAttractionModel model.
solar_activity_strength (str) – The strength of the solar activity. Options are ‘AVRAGE’, ‘STRONG’, ‘WEAK’.
-
class
OrekitVariableStep
[source] Bases:
org.orekit.python.PythonOrekitStepHandler
Class for handling the steps.
-
convert_time
(t, epoch) Convert input time and epoch variables to
astropy.TimeDelta
andastropy.Time
variables of the correct format and scale.
-
heartbeat
(t, state, **kwargs) Function applied after propagation to time t and state state, before next time step as given in the input time vector to propagate.
-
propagate
(t, state0, epoch, **kwargs)[source] Implementation:
Keyword arguments are:
float A: Area in m^2
float C_D: Drag coefficient
float C_R: Radiation pressure coefficient
float m: Mass of object in kg
Functions
-
sorts.propagator.orekit.
mjd2absdate
(mjd, utc)[source] Converts a Modified Julian Date value to an orekit AbsoluteDate
-
sorts.propagator.orekit.
npdt2absdate
(dt, utc)[source] Converts a numpy datetime64 value to an orekit AbsoluteDate