Conference PaperPDF Available

Validation of the Draper Semi-analytical satellite theory implementation in Orekit

  • CS SI, France, Toulouse


Semi-analytical propagation techniques are of great interest, as they aim to combine the accuracy of numerical techniques with the speed of analytical methods. Amongst them, the Draper Semi-Analytical Satellite Theory (DSST) stands out, with its extensive treatment of perturbations, its exibility and also its maturity. Unfortunately DSST was for long unavailable for the wider Astrodynamics community. Aiming to �ll this gap, the Orekit space ight library provides an open-source implementation of the DSST theory, with a migration from a procedurally-oriented to an object-oriented paradigm. The purpose of this paper is to discuss the validation process of this implementation in the Java language. Orekit DSST was validated against Fortran 77 DSST Standalone Orbit Propagator, developed by Paul Cefola and his colleagues. The validation has so far been focusing on mean elements equations. Particular topics of interests are: validation of complex force models such as high order central body potential, including resonance e�ects; validation over long time span, with a few orbit decay test cases. Results show great consistency between the two implementations. Thanks to this validation process, the main remaining errors in Orekit DSST were identi�ed and corrected. Now the di�erences on slow variables are low and show almost no drift, even for propagations lasting 20 years. All perturbation contributions implemented in Orekit are validated for the mean elements. This includes: zonal, tesseral geopotential and 3rd body potential for the analytically averaged contributions, atmospheric drag and solar radiation pressure for the numerically averaged contributions. This study and the development of the Java implementation were performed under contract with the European Space Agency.
Among existing orbital propagation techniques, semi-analytical methods are of great interest:
by separating the computation of long-term evolution from one side and the short-term variations from the other side, they tend to be significantly faster than classical numerical methods while keeping similar accuracy.
The implementation of the Draper Semi-analytical Satellite Theory (DSST) into the free OREKIT library offers to the Astrodynamics community one of the most mature and versatile semi-analytical propagator.
The presented work focuses on the validation process of this implementation covering a large panel of orbits, from LEO to HEO. Comparison with legacy Fortran 77 software demonstrated a great consistency.
Validating Short-Periodic Contributions in a Draper Semi-Analytical
Satellite Theory Implementation: the OREKIT Example
Nicolas BERNARD(1), Luc MAISONOBE(1), Lucian BARBULESCU(2), Petre BAZAVAN(2), Sorin SCORTAN (2)
Paul J. CEFOLA(3), Massimo CASASCO(4), Klaus MERZ(5)
(1) CS SI, France, (2) CS Romania, Romania, (3) University at Buffalo, USA, (4) ESA/ESTEC, The Netherlands,- (5) ESA/ESOC, Germany
The complete implementation of the DSST propagator is now publicly available through the OREKIT library, as of release 7.0, freely downloadable at:
The implementation and validation of the Draper Semi-analytical Satellite Theory (DSST) as an orbit
propagator into the free OREKIT library was carried out by CS Romania and CS SI (France) with the
support of Paul J. CEFOLA.
The technical objectives of the project, funded by the European Space Agency (ESA), were threefold:
validation of the equations of motion of the mean elements,
addition of short-periodic variations, to improve accuracy,
handling of 2P periodic attitude laws in the OREKIT DSST.
Semi-analytic propagators combine the speed of analytical propagators to the accuracy of numerical
propagators by computing the orbital state as the sum of two different parts: one has very slow
dynamics while the other corresponds to fast variations. The slowly varying part is akin to a centred or
mean model including secular and long period terms, its rate of change is long with respect to the orbital
period and it can be numerically integrated with very long steps (several orbits per step). The fast
varying part is akin to short period terms that correspond to the difference between mean and
osculating parameters. These terms are either computed analytically or represented as Fourier series.
Fast computation is achieved because numerical integration can be done with long steps and short
period terms are closed-form evaluations. High accuracy is achieved because the averaging and
variations computation can be done for a wide range of perturbation types and only the zero-mean part
of these perturbations needs to be handled (the non-zero-mean part being handled in the numerical
Paul CEFOLA & al developed the DSST (Draper Semi-analytical Satellite Theory) model from the mid 70’s
at the Draper Laboratory. The DSST model, widely used and validated, is characterized by its great
flexibility: taking into account a large set of perturbations (gravity field of a central body, including zonal
and tesseral harmonics, third body attraction, atmospheric drag and solar radiation pressure), it can
handle any kind of elliptical orbits.
OREKIT is a low level space dynamics library written in Java. It provides basic elements (dates, frames,
orbits, attitude ) and various algorithms to handle them (conversions, propagation, pointing, etc.).
OREKIT main features concern:
Time: high accuracy absolute dates, time scales, transparent handling of leap seconds,
Frames: reference and user-defined frames hierarchy supporting fixed and time-dependent frames,
Orbits: Cartesian, circular, equinoctial and Keplerian representations, with transparent conversion
between them, Two-Lines Elements,
Attitude: extensible attitude evolution models and predefined laws,
Propagation: analytical propagators, semi-analytical (DSST) and numerical propagators with
customizable force models, ephemeris handling,
Handling of discrete events during propagation.
Distributed under the Apache License Version 2.0, OREKIT is freely available both in source and binary
formats, with all related documentation and tests.
Mean elements
At the beginning of the project, in mid-2013, the implementation of the DSST model into the OREKIT
library (release 6.0) was limited to the equations of motion of the mean elements. Thus, the first goal
was the analysis of the current implementation and its validation through various test cases.
Therefor a comparison between the results of the OREKIT DSST propagator and those of the original
Fortran DSST propagator, provided by Paul CEFOLA, was carried out.
A set of 29 test cases was completed for various perturbation and orbital configurations:
5 basic tests with only J2 zonal harmonics (to set-up the testing process) ,
4 LEO tests with realistic force models,
4 MEO tests,
2 GTO tests,
10 GEO tests,
2 “exotic” orbits tests,
2 backward propagation tests.
Each test was configured with:
the mean orbital elements (Keplerian, equinoctial or Cartesian representation alike),
the epoch of the orbital elements,
the considered frame (mainly TOD frame to be coherent with Fortran DSST)
the satellite characteristics: mass, cross sectional area, drag and SRP coefficients
the perturbations taken into account, which can be combined:
geopotential: order and degree for zonal and tesseral harmonics,
3rd body: Sun and/or Moon,
atmospheric drag,
solar radiation pressure,
the propagation duration: mainly 7500 days (~20 years),
the choice of the integrator: Dormand-Prince (adaptive step) or Runge-Kutta (fixed step).
For each test, the evolution of all the Keplerian elements as computed by the two DSST propagators was
plotted along with the differences between them.
Short-periodic variations
A set of 24 test cases was completed for various perturbation and orbital configurations:
5 basic tests with only J2 zonal harmonics
5 LEO tests with realistic force models
4 MEO tests
2 GTO tests
2 GEO tests
6 “exotic” orbits tests.
The propagation duration was limited to 7 days for all tests since the validation is mainly focused on
The original Fortran DSST only handles a limited set of short-periodic variations for some specific orbits:
Low altitude, near circular orbit
Zonal Harmonics (up to degree 12)
Tesseral Harmonics (up to 8x8 potential)
Tesseral m-daily harmonics (up to 12x12 potential)
12 Hour high eccentricity Molniya Orbit
J2 zonal harmonics
Tesseral m-daily harmonics (up to 12x12 potential)
Lunar-Solar contribution
24 Hour Geosynchronous Orbit
J2 Zonal Harmonics
Lunar-Solar contribution
Thus, when test cases were not supported by the Fortran DSST, comparisons were made with the
OREKIT numerical propagator.
Most of the tests show extremely small differences between the OREKIT DSST and the
original Fortran DSST. The only noticeable discrepancies appear for LEO cases exhibiting final decay,
they can be explained by a small difference in the implementation of the Harris-Priester atmospheric
model used by the two propagators, but also by the choice of the Dormand-Prince integrator for the
OREKIT DSST, the use of the Runge-Kutta integrator lowering the gaps.
A few tests with propagation over 75000 days (~200 years) have also been run, but, because of a
limitation in the environment data embedded into the original Fortran DSST, the results of the OREKIT
DSST were compared with those of the OREKIT numerical propagator. Neglecting the short periodic
effects, the trend for all the orbital elements appeared to be very satisfactory.
The figure below shows an example of the results for one of the GEO cases (Meteosat-9) with 8x8
potential, Sun and Moon attraction and solar radiation pressure.
Handling of 2P periodic attitude laws
Thanks to the documents provided by Paul CEFOLA about the 2P periodic attitude handling for mean
elements, and despite DSST constraints on either slow or periodic dynamics are very stringent and don’t
correspond to regular attitude laws for operational space missions, it is possible to compute accurately
the mean elements for any force model that can be defined by sampling accelerations and therefore
short-periodic variations for periodic acceleration-based models can also be computed.
A close analysis of Fortran DSST implementation has leaded to improve the spacecraft shape modeling
and to reuse the computation of the accelerations for surface force models (atmospheric drag and solar
radiation pressure) that already exists in the OREKIT numerical propagator.
Several modifications have been made in order to handle properly periodic attitude:
Use of a numerical force model to compute accelerations,
Addition of attitude handling in the OREKIT DSST propagator, allowing the user to set up attitude laws in
order to compute the attitude of the satellite during the propagation,
Update of the computation of accelerations used in the quadrature process for numerical averaging, so
that attitude changes over the orbit could be taken into account.
Some parameters were added to the testing process:
Design of the spacecraft shape: spherical, simple box, box with solar array,
Choice of specific attitude laws:
Local Orbital Offset: attitude of the satellite fixed in the local orbital frame,
Nadir Pointing: satellite pointing towards the nadir,
Celestial Body Pointing: satellite pointing towards the Sun
Enabling/disabling attitude handling for comparison purposes.
As the original Fortran DSST doesn’t handle attitude, the validation has been done by comparing the
results of the OREKIT DSST propagator with the OREKIT numerical propagator, which already handles a
wide set of attitude laws together with various spacecraft shapes.
Attitude handling only affects non-conservative forces, whose strength depends on the type of the orbit.
Thus, two kinds of tests have been run:
GEO cases for solar radiation pressure validation, with various shapes and attitude laws,
LEO cases for atmospheric drag validation, with various shapes and attitude laws.
In both cases, the results produced by the OREKIT DSST propagator show significant sensibility to
changes on the spacecraft shape and on the attitude law and appear to be consistent with those
produced by the numerical propagator for short-term evolutions, of the order of one day. For long-term
evolutions, above one week, the comparison is less satisfactory and, more importantly, the computation
time degrades significantly.
Thus, attitude handling with the DSST propagator is relevant on quite short time span to get an accurate
estimation of the orbit evolution, but for long term evolution, because of the performance issues and the
lack of consistency, one should stay on a simpler modeling for drag and SRP contributions.
This test case is related to a classical GEO (MSG 2).
Orbit characteristics:
a = 42162.0364137 km
e = 0.00016452266
i = 0.30813281366
Ω = 331.126193309
ω = 112.076361788
M = 335.866955746
Forces model:
potential J2 only
3rd body attraction: Sun & Moon
OREKIT DSST is compared to Fortran DSST.
In all cases, the comparison between the position and the velocity computed over the time span by the
two propagators, OREKIT DSST on one side and Fortran DSST or OREKIT numerical propagator on the
other side, show small differences: less than a few meters for position and a few mm/s for velocity.
So, the implementation of the short-periodic variations into the OREKIT DSST has been
successfully validated against the original Fortran DSST and the OREKIT numerical
Some typical test cases are presented hereafter.
This test case is related to an equatorial LEO (HETE-2).
Orbit characteristics:
a = 6944.68005365 km
e = 0.00222270824
i = 1.86438067644
= 281.661404104
ω = 230.123714157
M = 129.195159217
Forces model:
potential 15x15
tesseral m-daily only (short periodic contribution)
OREKIT DSST is compared to Fortran DSST.
This test case is related to a Galileo-like MEO.
Orbit characteristics:
a = 29600.0 km
e = 0.001
i = 56.0
= 240.0
ω = 120.0
M = 0.0
Forces model:
potential 8x8
3rd body attraction: Sun & Moon
solar radiation pressure
OREKIT DSST is compared to OREKIT numerical.
... The DSST Propagator was recently implemented in the open-source, Java library Orekit 1 and validated against the original Fortran implementation [9]. During the validation it was revealed that, while the integration of the mean elements was extremely fast (under 15 seconds for a one year interval) the generation of the short periodic values, necessary for the generation of the satellite real state took a lot more (in the range of minutes for the same interval). ...
Conference Paper
The near-Earth space surveillance requires accurate and fast orbit predictions for the multitude of objects that are present around our planet. This prediction is performed by means of orbit propagators which offer solutions to the satellite equations of motion. Based on the method of computation those propagators are split into three categories: analytical, numerical and semi-analytical, each with its own advantages and disadvantages. Today a large number of propagators are implemented in the form of software libraries, some proprietary and some freeware or even open-source. In this paper we have taken a semi-analytical propagator from an open-source Java library and used it in a distributed environment in order to compute the position of a satellite during a large time interval.
ResearchGate has not been able to resolve any references for this publication.