Orekit 12.0 – Java

After one year of development, the Orekit team is pleased to announce the release of Orekit version 12.0. Version 12.0 is a major release of Orekit.

The main changes are:

  • Introduction of the SSA package which contains probability of collision computation methods (Laas, Alfano, Alfriend, Patera, and Chan)
  • Many features related to GNSS products
    • Refactoring of RINEX files and support of versions 2, 3.05, and 4.0
    • Support of SINEX differential code bias files
    • Writing of GNSS observation files
    • RTCM orbit and clock correction messages for GPS, GLONASS, and Galileo
    • Improvement in SP3 parsing and introduction of SP3 writer
    • Splicing and interpolation of SP3 files
    • Decoding RF-link GNSS messages
    • Custom satellite system allowed in GNSS
  • Huge improvements in spacecraft state interpolation & introduction of covariance interpolation and blending
  • Propagation
    • DSST: addition of the Zeis model for J2-squared mean perturbation contribution
    • Multi-satellite: addition of a step normalizer
    • Custom attitude provider when parsing ephemeris
    • Adaptable max checking interval for event detection
    • Central body flatness now taken into account for eclipse detector and solar radiation pressure
    • Panel dependent coefficients in BoxAndSolarArraySpacecraft
  • Orbit Determination
    • Introduction of date-based parameter drivers for orbit determination
    • Unscented Kalman filter now available for all types of propagators
    • Addition of Gauss Angles-only initial orbit determination
    • Az/El based Initial Orbit Determination
  • Frames & attitude providers
    • Earth Orientation Parameters prediction
    • Building of ITRF frame directly from EOP
    • Torque free attitude provider
    • Interface LOF to allow custom Local Orbital Frames
    • Magnetic-field-aligned Local Orbital Frame
    • Encounter LOF frames for collision prediction
  • New supported file formats
    • Earth Orientation Parameters C04 files
    • Satellite Tool Kit (STK) ephemeris files
    • CCSDS ADM v2 (Attitude Determination Message)
    • Writer for CCSDS OCM files (Orbit Comprehensive Message)
  • Measurements
    • Support for FDOA measurements (Frequency Difference Of Arrival)
    • Modifiers for aberration of light in RADEC (telescope) measurements
    • Full parsing of IRLS CRD files (laser ranging measurements files)
    • Measurements generation and evaluation without derivatives for better performance
    • Station displacements due to plate tectonics
    • Phase center variations for on-board antenna modifiers
  • Maneuvers
    • Refactoring of the package
    • Fielded version of impulse maneuvers
    • Profile based (polynomial segments) thrust propulsion model
    • Introduction of non-euclidean norms to ΔV and mass consumption models
  • Miscellaneous:
    • Static transform for {Field} elements
    • Change of TimeInterpolable by TimeInterpolator
    • Change of PositionAngle by PositionAngleType
    • Field class for StateCovariance
    • Python keywords (e.g. init) are now forbidden for method naming

Orekit 12.0 represents 200 issues fixed and 100 merge requests!

This version depends on Hipparchus 3.0. For complete release notes please see the change report.

The maven artifacts are available in Maven Central repository. The source and binaries can be retrieved from the forge releases page.

Orekit 12.0 – Python

Version 12.0 of the Orekit Python wrapper is also available, many thanks again to Petrus Hyvönen for his work! See this forum post for more information.

Orekit 12.0 – Java Tutorials

The Java tutorials were also updated to Orekit 12.0, including changes below:

  • Update of the existing tutorials to follow the API changes in Orekit 12.0
  • New tutorial for TLE conversion
  • New tutorial for station-keeping using the FieldDSSTPropagator

The sources can be downloaded from the orekit-tutorials forge release page or directly from Orekit website download page.


Sébastien Dinot

Free and Open Source Software expert at CS GROUP