Orekit 12.0 released

The Orekit team is pleased to announce the release of Orekit version 12.0.
This is a major version, including both new features and bug fixes.
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 Data 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

This version depends on Hipparcus 3.0

Some key numbers of version 12.0:

  • 200 issues fixed
  • 100 merge requests
  • 56 new features
  • 70 enhancements
  • 46 bug corrections
  • about 20 different contributors

For complete release notes please see:

The maven artifacts are available in maven central.
The source and binaries can be retrieved from the forge releases page:

Many thanks to you for taking charge of this release. I know it’s been hard work :wink:

And an even bigger thank you to all the contributors who keep this project alive by constantly improving the code, keeping the documentation up to date, translating log messages or taking part in forum discussions. Orekit really is a great project, and it’s all thanks to you!


I would add that it is not hard to get officially credited as an Orekit contributor. No need to implement complex features: fixing documentation errors or small bugs is enough. You can check out the “easy to fix”, opened issues here. Of course, if you find a problem yourself, please report it!



And the tutorials version 12.0 are released too.

Orekit tutorials 12.0 contains:

  • An update of the existing tutorials to follow the API changes in Orekit 12.0
  • A tutorial for TLE conversion (by @pascal.parraud)
  • A tutorial for station-keeping using the FieldDSSTPropagator (also by @pascal.parraud)

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



Thank you very much @MaximeJ for this effort. Maintaining documentation is a thankless job, but it’s just as essential as the code.


Unfortunately I noticed that the release does not appear on Zenodo. However as Bryan said, Hipparchus 3.0 is there. Does anyone know what the difference could be?


That’s in progress. That was an issue with the “Enable” status of the project on Github. Sébastien fixed it. Now the releses have to be manually imported by the Zenodo team. I sent an email.


Zenodo issue fixed: CS-SI/Orekit: 12.0