| Version | Date | Description |
|---|---|---|
| 4.1 | 2009-08-18 | version 4.1 is an upgrade bringing some new features and fixing a few bugs. The equinox-based frames family with IAU1980 precession-nutation models that are still used by many legacy systems are now supported. This simplifies interoperability with legacy systems and helps migrating from this old frames family to the new CIO-based ones that is supported by orekit since its first versions. The data loading mechanism used to retrieve IERS data (Earth Orientation Parameters, UTC-TAI history) and JPL ephemerides is now also used to retrieve gravity potential files. This mechanism has also been vastly improved to support new use cases (loading from disk, from classpath, from network delegating loading to an external library ...). Another change is the addition of the TDB time scale. Some minor incompatibilities have been introduced but they are easy to solve for users, the explanations are provided in detailed changes report. |
| 4.0 | 2008-10-13 | major upgrade with new features (GCRF and ITRF2005 frames, DE 405 and DE 406 ephemerides support, improved and greatly simplified date/time support, vastly improved data configuration with zip files support, new tutorials, improved performances, more tests and all identified bugs fixed, new translation files for italian, spanish and norse. |
| 3.1 | 2008-07-16 | This release is the first public release of Orekit. |
| Type | Changes | By |
|---|---|---|
![]() |
added TDB time scale | aude |
![]() |
the RadiationSensitive and DragForce interfaces now have an additional SpacecraftState parameter in all their get methods. This allows to implement models that take into account solar arrays rotation. Note that this changes breaks compatibility for users that did add their own implementations, but it is simple to deal with (simply add one parameter in the signature and ignore it) so its was considered acceptable. | luc |
![]() |
added german localization for error messages Thanks to James Housden. | luc |
![]() |
added a feature allowing all tests to clear the already built reference objects (frames, time scales, solar system bodies ...) between each tests, thus removing the need to launch tests in separate JVMS. This allows to launch all tests directly from eclipse, and this speeds up maven tests by a factor 4 at least | luc |
![]() |
set up a custom ant build independent from the maven 2 build | luc |
![]() |
changed all tests from Junit 3 to Junit 4 | luc |
![]() |
fixed accuracy of PEF frame | thierry |
![]() |
fixed configuration problems on Windows systems Thanks to Aude Privat. | luc |
![]() |
fixed a reversed sign in solar radiation pressure Thanks to Sébastien Herbinière. | luc |
![]() |
Orekit supports the two different naming patterns for bulletins B provided by IERS on http://www.iers.org/ and http://hpiers.obspm.fr/eop-pc/. | pascal |
![]() |
the predefined times scales (TAI, UTC ...) are now built using a factory. The various XXXScale.getInstance() methods defined in each predefined time scales classes are still available, but have been deprecated and will be removed in the future, they are replaced by TimeScalesFactory.getXXX(). | luc |
![]() |
the Frame class was split into a FramesFactory class, dealing with the predefined reference frames, and a Frame class for the creation of new frames and the navigation through any frames tree. The Frame.getXXX() methods for the predefined reference frames are still available, but have been deprecated and will be removed in the future, they are replaced by FramesFactory.getXXX(). | pascal |
![]() |
3 new predefined reference frames have been added in Orekit : MEME, TEME and PEF. They implement the classical paradigm of equinox-based transformations including the IAU-76 precession model, the IAU-80 nutation model and the IAU-82 sidereal time model, with the capability to apply the nutation corrections provided by IERS through the EOP data files for better agreement with the IAU 2000 precession-nutation model. | pascal |
![]() |
the ChronologicalComparator class is not a singleton anymore, this didn't really make sense | luc |
![]() |
fixed a state reset error: orbital state changed by event detectors like ImpulseManeuver were overwritten by other event detectors | luc |
![]() |
fixed stop date of analytical propagators (Keplerian and Eckstein-Heschler). They used to stop at the first event after target date when an event detector was set up, instead of stopping at the target date | luc |
![]() |
the gravity coefficients for solar system bodies are now extracted from JPL files headers | luc |
![]() |
the eventOccurred method in EventDetector interface and its various implementations has an additional parameter specifying if the switching function increases or decreases at event time. This allows simpler events identification has many switching functions have two switches (start/end, raising/setting, entry/exit ...). Note that this changes breaks compatibility for users that did implement their own events, but it is simple to deal with (simply add one parameter in the signature and ignore it) so its was considered acceptable. | luc |
![]() |
fixed an error occurring when DE406 JPL ephemerides were loaded before DE405 ones Thanks to Christophe Pipo. | luc |
![]() |
fixed an error in EGM potential file loader Thanks to Sébastien Herbinière. | luc |
![]() |
trigger exceptions when no data can be loaded | luc |
![]() |
remove predefined leap seconds, they are not useful anymore since other parts of the library do need configuration data (solar system bodies) and since data configuration has been vastly improved | luc |
![]() |
added support for the ICGEM format for gravity fields | luc |
![]() |
load gravity potential data using the same mechanism already used for Earth Orientation Parameters, UTC-TAI history and JPL ephemerides files | luc |
![]() |
re-activated a way to load data from the classpath using a data provider plugin. Thanks to quinput and Kai Ruhl. | luc |
![]() |
added a way to load data directly from network (either locally or through a proxy server) using a data provider plugin. | luc |
![]() |
added a small plugin-like mechanism to delegate data loading to a user-provided mechanism, thus enabling smooth integration in existing systems. | luc |
![]() |
updated to latest version of commons-math. | luc |
![]() |
added galician localization for error messages. Thanks to Silvia Ríos Bergantiños. | luc |
![]() |
improved javadoc comments in orbit classes. Thanks to Guylaine Prat. | luc |
![]() |
tidal corrections are now available for ITRF and TIRF frames. Both frames are provided in two versions, the standard one with tidal corrections and a stripped down one without tidal corrections. A cache/interpolation mechanism is used to keep the computation cost of tidal correction to a minimum. With this mechanism, the penalty to use tidal correction is slightly above 20% in run time for a transformation between GCRF and ITRF. A raw implementation without this mechanism would lead to a 550% penalty, or even a 1100% penalty if TIRF and ITRF parts were computed independently. | pascal |
| Type | Changes | By |
|---|---|---|
![]() |
The ephemeris produced by numerical propagator now checks date validity in propagate method. | pascal |
![]() |
The EME2000/J2000 frame was slightly mis-oriented (about 20 milli arcseconds). It really was the GCRF frame. This has been fixed and now both the GCRF and the EME2000/J2000 are available. | luc |
![]() |
Dates in UTC within leap seconds are now displayed correctly (i.e. a 61st second is added to the minute). | luc |
![]() |
Fixed an overflow error in AbsoluteDate that generated an exception when any attempts was made to print dates far away like AbsoluteDate.JULIAN_EPOCH or AbsoluteDate.MODIFIED_JULIAN_EPOCH. Thanks to quinput. | luc |
![]() |
Changed test configuration to always use a new JVM for each test. This prevents some false positive to be generated. | luc |
![]() |
The GeodeticPoint constructor arguments has been reordered to reflect more traditional usage, latitude coming before longitude. | luc |
![]() |
The low accuracy Sun model based on Newcomb theory and the Moon model based on Brown theory have been withdrawn as they are superseded by the support of JPL DE 405 binary ephemerides files. | luc |
![]() |
The ThirdBody abstract class has been removed and its specific method getMu has been moved up into CelestialBody interface and renamed getGM. | luc |
![]() |
Improved external data configuration. The java property is now called orekit.data.path and is a colon or semicolon separated path containing directories or zip archives, themselves containing embedded directories or zip archives and data files. This allows easy roll-out of system-wide configuration data that individual users can override by prepending their own data trees in front of the path. This also allows simple configuration since many data files can be stored in easy to handle zip archives. | luc |
![]() |
Renamed the iers package into data, as it is not IERS specific anymore. Some classes where also moved out of the package and into the frame and time package and their visibility reduced to package only. This improves decoupling and reduces clutter on users by limiting the number of visible classes. | luc |
![]() |
The performance of IAU-2000 precession-nutation model computation has been tremendously improved, using a combined caching and interpolation approach. The simplified model (which was quite inaccurate in version 3.1) has therefore been removed as it was not needed anymore. | luc |
![]() |
The ITRF 2005 frame is now supported instead of the older ITRF 2000 frame. The Earth Orientation Parameters data handling classes have been updated to match this change and read the new file format provided by IERS. | luc |
![]() |
The J2000 frame has been renamed as EME2000 as this name seems to be more widely accepted and reduces confusion with the J2000.0 epoch. The Frame.getJ2000() method is still available, but has been deprecated and will be removed in the future. | luc |
![]() |
Changed TimeScale from base abstract class to interface only. | luc |
![]() |
Renamed some classes for better understanding: ChunkedDate is now DateComponents, ChunkedTime is now TimeComponents, ChunksPair is now DateTimeComponents. The getChunks method from AbsoluteDate as also been renamed into getComponents accordingly. | luc |
![]() |
Added new tutorials. | pascal |
![]() |
Added predefined local orbital frames: the (t, n, w) frame aligned with velocity and the (q, s, w) frame aligned with position. | luc |
![]() |
Added a predefined detector for altitude crossing events. | luc |
![]() |
Added methods to get zenith, nadir, north, south, east and west direction for any GeodeticPoint. | luc |
![]() |
Added spanish localization for error messages. Thanks to Silvia Ríos Bergantiños. | luc |
![]() |
Added norse localization for error messages. Thanks to Espen Bjørntvedt. | luc |
![]() |
Added italian localization for error messages. Thanks to Francesco Coccoluto. | luc |
![]() |
Added support for mean motion first and second derivatives fields in TLE. Thanks to Derek Surka. | luc |
![]() |
Added a way to rebuild the two lines of TLE instances. | luc |
![]() |
Added constructor from already parsed elements for TLE. Thanks to Derek Surka. | luc |
![]() |
Added a method to retrieve a body-centered inertial frame to the CelestialBody interface. As a consequence, thirteen new frames are predefined: Sun, Moon, planets and barycenters provided by JPL binary ephemerides. | luc |
![]() |
Support for the JPL DE 405 and DE 406 binary ephemerides files has been added and a factory class SolarSystemBody uses these files to provide implementations of the CelestialBody interface for Sun, Moon, the eight solar system planets,the Pluto dwarf planet as well as the solar system barycenter and Earth-Moon barycenter points. | luc |
![]() |
The CelestialBody interface now provides velocity as well as position. | luc |
![]() |
A getCalls() method has been added to the NumericalPropagator class to count the number of calls to the differential equations computation method. This helps tuning the underlying integrator settings in order to improve performances. | luc |
![]() |
A lot more classes and interfaces are now serializable, to help users embed instance in their own serializable classes. | luc |
![]() |
Added predefined leap seconds to allow proper turn-key use of the library even without an already configured environment. All known leap seconds at time of writing (2008) are predefined, from 1972-01-01 to 2009-01-01 (the last one has been announced in Bulletin C 36 on 2008-07-04 and is not yet present in the UTC-TAI.history published file) | luc |
![]() |
Improved user-friendliness of the time-scales by changing methods parameters types to more easily understandable ones. | luc |
![]() |
Improved user-friendliness of the AbsoluteDate class by adding several new constructors and methods for common cases. It is in particular now possible to use offsets within a time scale, for example to build a date given as a fractional number of days since a reference date in UTC, explicitly ignoring intermediate leap seconds. | luc |
![]() |
Improved the class handling date/time components: added a constructor to allow building from an offset with respect to a reference epoch, implemented Comparable interface and added equals and hashCode methods. | luc |
![]() |
Improved the class handling date components: added a constructor to allow building from any reference epoch, not only J2000.0 (thus simplifying use of modified julian day), added getMJD() method, added several constants JULIAN_EPOCH, MODIFIED_JULIAN_EPOCH, FIFTIES_EPOCH, GPS_EPOCH, J2000_EPOCH and JAVA_EPOCH. | luc |
![]() |
Added a new time scale: GPSScale. | luc |
![]() |
Added the changes page to the generated site. | luc |