changes.xml 180 KB
Newer Older
1
<?xml version="1.0" encoding="UTF-8" ?>
2
3
<!-- Copyright 2002-2020 CS GROUP
  Licensed to CS GROUP (CS) under one or more
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  CS licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->
<document>
  <properties>
    <title>Orekit Changes</title>
  </properties>
  <body>
23
    <release version="10.3" date="TBD" description="TBD">
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
      <action dev="raphael" type="add" issue="686">
        Allowed user-defined format for ephemeris data lines in
        StreamingAemWriter, AEMWriter, StreamingOemWriter and OEMWriter.
      </action>
   	  <action dev="bryan" type="fix" issue="683">
      	Updated building instructions.
      </action>
   	  <action dev="bryan" type="add" issue="734">
      	Added getters for phase measurement ambiguity driver.
      </action>
   	  <action dev="bryan" type="fix" issue="696">
      	Allowed to configure initial covariance for measurements in Kalman Filter.
      </action>
      <action dev="thomas, bryan" type="add" issue="709">
        Added clock drift contribution to range rate measurements.
      </action>
   	  <action dev="bryan" type="fix" issue="687">
      	Fixed Javadoc of ElevationMask.
      </action>
      <action dev="raphael" type="fix" issue="711">
        Allowed definition of a default interpolation degree in both AEMParser and OEMParser.
      </action>
      <action dev="bryan" type="add" issue="733">
        Added Lense-Thirring and De Sitter relativistic effects.
      </action>
      <action dev="melanisti" type="fix" issue="725">
        Fixed missing measurement parameter in InterSatellitesRange measurement.
      </action>
      <action dev="bryan" type="add" issue="732">
        Added documentation for checkstyle configuration.
      </action>
   	  <action dev="thomas" type="fix" issue="730">
      	Removed useless loop over an empty list
      </action>
      <action dev="luc" type="fix" issue="731">
        Fixed parsing of some ICGEM gravity fields files.
      </action>
      <action dev="raphael" type="fix" issue="720">
      	Added support for measurements parameters in UnivariateProcessNoise
      </action>
      <action dev="luc" type="fix" issue="729">
        Fixed wrong handling of RESET-STATE in analytical propagators.
      </action>
      <action dev="luc" type="add" issue="728">
        Allow creating a node detector without an orbit.
      </action>
70
71
72
      <action dev="bryan" type="add" issue="671">
        Added support for laser ranging file formats.
      </action>
73
74
75
      <action dev="clement" type="fix" issue="724">
        Remove range checks in TLE constructor.
      </action>
76
77
78
      <action dev="bryan" type="fix" issue="723">
        Allowed AEM and OEM writers to write header comments.
      </action>
Bryan Cazabonne's avatar
Bryan Cazabonne committed
79
80
81
82
      <action dev="bryan" type="add" issue="719">
        Added one-way GNSS range and phase measurements for LEO satellite
        orbit determination applications.
      </action>
83
84
85
      <action dev="bryan" type="add" issue="716">
        Added piecewise empirical force model.
      </action>
86
87
88
      <action dev="bryan" type="add" >
        Considered a new implementation for empirical forces, to allow piecewise model.
      </action>
89
90
91
      <action dev="bryan" type="add" issue="703">
        Added inter-satellites phase measurement.
      </action>
92
93
94
      <action dev="bryan" type="fix" issue="695">
        Considered covariance matrix from Position measurement in Kalman estimator.
      </action>
95
96
97
      <action dev="bryan" type="fix" issue="718">
        Fixed orbital state used for short periodic Jacobian computation.
      </action>
98
99
100
101
      <action dev="bryan" type="add" issue="704">
        Allow using user specified velocity error for computing
        tolerance vectors for integrators.
      </action>
102
103
104
      <action dev="bryan" type="add" issue="714">
        Added frequency deviation for range-rate measurements.
      </action>
105
106
107
108
      <action dev="bryan" type="add" issue="715">
        Added relativistic clock correction for range, phase and
        inter-satellite range measurements.
      </action>
109
110
111
      <action dev="bryan" type="fix" issue="706">
        Fixed missing measurement parameter in inter-satellites range measurement.
      </action>
Thomas Paulet's avatar
Thomas Paulet committed
112
113
114
   	  <action dev="thomas" type="fix" issue="713">
        Fixed computation of DSST short period Jacobian.
      </action>
115
116
117
      <action dev="luc" type="fix" issue="699">
        Fixed missing measurement parameter in Phase measurement
      </action>
118
119
120
121
122
      <action dev="luc" type="fix" issue="701">
        Fixed wrong handling of propagation parameters by Kalman filter in multi-satellite
        context
      </action>
    </release>
Bryan Cazabonne's avatar
Bryan Cazabonne committed
123
    <release version="10.2" date="2020-07-14"
124
125
126
127
128
129
             description="Version 10.2 is a minor release of Orekit.
             It includes both new features and bug fixes. New features introduced
             in 10.2 are: support for CCSDS ADM files, modelling of trajectories
             around Lagrangian points using CR3BP model, a piece wise drag force model,
             a time span tropospheric estimated model, an estimated ionospheric model,
             an improved modelling of the GNSS phase measurement, several bug fixes
130
131
132
133
             for date functionnalities, a new organization of the maneuvers package,
             a configurable low thrust maneuver model based on detectors,
             support for CSSI space weather data, , as well as several other minor
             features and bug fixes. See the list below for a full description
134
             of the changes.">
135
136
137
      <action dev="bryan" type="fix" issue="661">
        Fixed visibility of WindUpFactory.
      </action>
138
139
140
      <action dev="bryan" type="update" >
        Increased visibility of setters in CCSDS ADM related classes.
      </action>
141
142
143
144
      <action dev="clement" type="add" issue="656">
        Added CssiSpaceWeatherLoader which provides three-hourly space weather
        data and implements DTM2000InputParameters and NRLMSISE00InputParameters
      </action>
145
146
147
      <action dev="maxime" type="update" issue="690">
        Increased visibility of setters in CCSDS OEM related classes.
      </action>
148
149
150
      <action dev="bryan" type="update" >
        Improved Orekit performance by using new Hipparchus' differentiation classes.
      </action>
151
152
153
      <action dev="bryan" type="update" issue="682">
        Changed visibility of OrbitType parameter drivers' names to public.
      </action>
154
155
156
157
      <action dev="evan" type="add" issue="684" due-to="Mikael">
        Fix infinite loop in event detection when a RESET_* event causes two other events
        to occur simultaneously and discontinuously.
      </action>
Evan Ward's avatar
Evan Ward committed
158
159
160
      <action dev="evan" type="add" issue="684">
        Add FieldFunctionalDetector.
      </action>
161
162
163
      <action dev="mikael" type="add">
        Added a configurable low thrust maneuver based on detectors.
      </action>
164
165
166
      <action dev="bryan" type="fix" issue="605">
        Added support for Rinex C0, L0, S0 and D0 observation types.
      </action>
Bryan Cazabonne's avatar
Bryan Cazabonne committed
167
168
169
      <action dev="bryan" type="fix" issue="641">
        Allow Pattern functionalities instead of String.replaceAll() and String.split().
      </action>
170
171
172
173
      <action dev="evan" type="fix" issue="658">
        Fix invalid hour when using TimeScale(double) or TimeScale(int, double) with a
        value in [86400, 86401]. Treat these values as indicating a leap second.
      </action>
174
175
176
      <action dev="evan" type="add" issue="677">
        Add AbsoluteDate.toStringRfc3339() and DateTimeComponents.toStringRfc3339().
      </action>
177
178
179
180
181
182
      <action dev="evan" type="fix" issue="681">
        Fix AbsoluteDate.getComponents(...) produces invalid times.
      </action>
      <action dev="evan" type="fix" issue="676">
        Fix AbsoluteDate.getComponents(utc) throws "non-existent time 23:59:61".
      </action>
183
184
185
      <action dev="bryan" type="fix" issue="651">
        Improved use of try with resources statement.
      </action>
Bryan Cazabonne's avatar
Bryan Cazabonne committed
186
      <action dev="bryan" type="fix" issue="679" due-to="luc, maxime">
187
188
        Improved testRetrogradeOrbit in CircularOrbit and KeplerianOrbit tests.
      </action>
189
190
191
      <action dev="bryan" type="fix" issue="680">
        Allowed ephemeris class to be used with absolute PV coordinates.
      </action>
192
193
194
      <action dev="bryan" type="fix" issue="674">
        Added an exception if eccentricity is negative for keplerian orbit.
      </action>
Evan Ward's avatar
Evan Ward committed
195
196
197
      <action dev="evan" type="fix" issue="667">
        Fix build on CentOS/RedHat 7.
      </action>
198
199
200
      <action dev="bryan" type="fix" issue="662">
        Fixed forgotten additional state in Ephemeris propagator.
      </action>
201
202
203
      <action dev="evan" type="update">
        Improve error message for TimeStampedCache by including requested date.
      </action>
204
205
206
      <action dev="bryan" type="fix" issue="663">
        Fixed initialization of the triggering event for ImpulseManeuver class.
      </action>
Clément Jonglez's avatar
Clément Jonglez committed
207
208
209
      <action dev="clement" type="fix" issue="664">
        Fix sign of RAAN and PA parameters in TLE constructor if negative, range check most other orbit parameters.
      </action>
210
211
212
      <action dev="bryan" type="add" issue="669">
        Added estimated ionospheric model.
      </action>
213
214
215
      <action dev="bryan" type="add" issue="645">
        Merged phase-measurement branch into develop.
      </action>
Bryan Cazabonne's avatar
Bryan Cazabonne committed
216
217
218
      <action dev="bryan" type="add" >
        Added a time span tropospheric estimated model.
      </action>
Bryan Cazabonne's avatar
Bryan Cazabonne committed
219
220
221
      <action dev="bryan" type="add" issue="646">
        Merged cr3bp branch into develop.
      </action>
222
223
224
      <action dev="bryan" type="add" issue="660">
        Improved exception handling in IODGibbs.
      </action>
225
226
227
      <action dev="bryan" type="add" issue="647">
        Improved package-info documentation.
      </action>
228
      <action dev="nick" type="update" >
229
        Upgrade maven-checkstyle-plugin to 3.1.1.
230
      </action>
231
232
233
      <action dev="bryan" type="add" issue="657">
        Added multiplexed Orekit fixed step handler.
      </action>
234
235
236
      <action dev="bryan" type="add" issue="655">
        Added support for CCSDS ADM files.
      </action>
Maxime Journot's avatar
Maxime Journot committed
237
238
239
      <action dev="maxime" type="add" issue="649">
        Added a piece wise drag force model: TimeSpanDragForce in forces package.
      </action>
Maxime Journot's avatar
Maxime Journot committed
240
241
242
      <action dev="yannick" type="fix" issue="654">
        Prevent divergence of Saastomoinen model pathDelay method at low elevation.
      </action>
Bryan Cazabonne's avatar
Bryan Cazabonne committed
243
244
245
246
247
248
249
250
251
252
253
254
      <action dev="bryan" type="fix" issue="542">
        Removed duplicated BUILDING.txt file.
      </action>
      <action dev="bryan" type="add" issue="504">
        Allowed Eckstein Hechler propagator to be initialized with a mean orbit.
      </action>
      <action dev="bryan" type="update" issue="644">
        Removed try and catch statements for ParameterDriver initialization.
      </action>
      <action dev="bryan" type="fix" issue="613">
        Allowed DSST propagation in osculating type with event detectors.
      </action>
255
    </release>
Bryan Cazabonne's avatar
Bryan Cazabonne committed
256
    <release version="10.1" date="2020-02-19"
257
258
259
260
261
262
263
264
265
266
267
             description="Version 10.1 is a minor release of Orekit.
             It includes both new features and bug fixes. New features introduced
             in 10.1 are: wind-up effect for phase measurement, NeQuick ionospheric model,
             support for Hatanaka compact RINEX format, methods for the combination
             of GNSS measurements, Laplace method for initial orbit determination,
             a new Field Of View package, comparison methods for absolute dates,
             a new multiplexed measurement, specialized propagators for GNSS constellation,
             default constructors for DSST force models, covariance matrices in OEM writer,
             a new data context implementation, connection with Gitlab CI, improved documentation,
             the migration of the tutorials to a separate sister project, as well as several other minor
             features and bug fixes. See the list below for a full description of the changes.">
Evan Ward's avatar
Evan Ward committed
268
269
270
      <action dev="ward" type="fix">
        Improve performance of loading CCSDS files.
      </action>
271
272
273
      <action dev="ward" type="fix" issue="639" due-to="qmor">
        In Ellipsoid.pointOnLimb(...) improved numerical stability by cancelling terms.
      </action>
274
      <action dev="maxime" type="fix" issue="639" due-to="qmor">
275
276
        Fixed pointOnLimb method in bodies.Ellipsoid class. Normalized equations should now avoid numerical issues.
      </action>
277
278
279
280
      <action dev="evan" type="fix" issue="627">
        Fix TimeScalesFactory.getGMST(conventions, simpleEop) always returning the same
        value.
      </action>
281
282
283
      <action dev="evan" type="fix" issue="636">
        Fix UT1 and Earth rotation during a leap second. Was off by 1 second.
      </action>
284
      <action dev="luc" type="fix" issue="635">
285
286
        Fixed inconsistency in constant thrust maneuver acceleration.
      </action>
287
      <action dev="evan" type="add" >
288
289
290
        Added an annotation and a compiler plugin that generates a warning
        when default context is used without being explicitly annotated.
      </action>
291
      <action dev="luc" type="fix" issue="632" due-to="Evan Ward">
292
293
        Fixed projection to ellipsoid at pole.
      </action>
Evan Ward's avatar
Evan Ward committed
294
295
296
      <action dev="evan,luc,yannick" type="add" issue="607">
        Add DataContext, a way to load separate sets of EOP, leap seconds, etc.
      </action>
297
      <action dev="luc" type="fix" issue="630">
298
299
        Improve performance of UnixCompressFilter.
      </action>
300
      <action dev="luc" type="fix" issue="631">
301
302
        Improve performance of HatanakaCompressFilter.
      </action>
303
      <action dev="evan" type="fix" issue="629">
304
305
        Improve performance of ZipJarCrawler.
      </action>
306
307
308
309
      <action dev="bryan" type="add" issue="625">
      	Added default constructors for DSSTZonal and DSSTTesseral. 
      </action>   
      <action dev="bryan" type="add" issue="622">
310
311
      	Added OrekitException for unknown number of frequencies in ANTEX files. 
      </action>
312
      <action dev="bryan" type="add" issue="621">
Bryan Cazabonne's avatar
Bryan Cazabonne committed
313
314
      	Added OrekitException in the case where IONEX header is corrupted. 
      </action>
Gautreau Dylan's avatar
Gautreau Dylan committed
315
316
317
318
319
320
      <action dev="dylan" type="add" issue="359">
      	Added a specific test for issue 359 in BatchLSEstimatorTest.
      	The test verifies that a Newtonian attraction is known
      	by both the propagator builder and the propagator when
      	it is not added explicitly.
      </action>
321
322
323
      <action dev="dylan" type="add" issue="367">
      	Added write of covariance matrices in OEMWriter.
      </action>
324
325
326
      <action dev="dylan" type="fix" issue="619">
        Fixed origin transform in CcsdsModifierFrame.
      </action>
Bryan Cazabonne's avatar
Bryan Cazabonne committed
327
328
329
      <action dev="bryan" type="add" issue="611">
        Added SBAS orbit propagator.
      </action>
330
331
332
      <action dev="bryan" type="fix" issue="617">
        Fixed null pointer exception in MultiplexedMeasurement.
      </action>
333
334
335
336
      <action dev="luc" type="fix" issue="575">
        Allow users to provide custom convergence checkers for
        batch least squares orbit determination.
      </action>
337
338
339
      <action dev="luc" type="add" issue="614">
        Added multiplexed measurements.
      </action>
340
341
342
343
      <action dev="luc" type="fix" issue="616">
        Fixed missed changes updates in ParameterDriversList embedding
        other ParameterDriversList instances.
      </action>
344
345
346
      <action dev="luc" type="update">
        Moved tutorials to a separate sister project.
      </action>
347
348
349
      <action dev="bryan" type="add" due-to="Shiva Iyer">
        Added Laplace method for initial orbit determination.
      </action>
350
351
352
      <action dev="bryan" type="fix" issue="612">
        Fixed DSST orbit determination tutorial.
      </action>
353
354
355
      <action dev="bryan" type="add" issue="610">
        Added IRNSS orbit propagator.
      </action>
356
357
358
      <action dev="bryan" type="add" issue="608">
        Added support for RINEX 3.04 files.
      </action>
Gabriele Serafini's avatar
Gabriele Serafini committed
359
360
361
362
363
      <action dev="gabb" type="fix" issue="533">
        Fixed bugs in the derivatives computation in IodGooding.
        Fixed bugs in IodLambert when there's more than an half revolution
        between start and final position.
      </action>
364
365
366
367
      <action dev="bryan" type="fix" issue="604">
        Fixed parsing of compact RINEX files with wrong key in header
        produced by some Septentrio receivers.
      </action>
368
369
370
371
      <action dev="luc" type="fix" issue="603">
        Fixed parsing of compact RINEX files with missing types in header
        produced by some Septentrio receivers.
      </action>
372
373
374
      <action dev="evan" type="fix" issue="589">
        Improve performance of AggregateBoundedPropagator by factor of 2.
      </action>
375
376
377
      <action dev="luc" type="fix" issue="600">
        Fixed parsing of compact RINEX files with many observation types.
      </action>
378
379
380
      <action dev="bryan" type="fix">
        Fixed poor design of GLONASS numerical propagator.
      </action>
381
382
383
      <action dev="luc" type="fix" issue="599">
        Fixed an issue in projection to flat ellipse.
      </action>
Bryan Cazabonne's avatar
Bryan Cazabonne committed
384
385
386
387
      <action dev="bryan" type="fix" issue="598">
        Added lazily addition of Newtonian attraction to the DSST and
        numerical propagator builders.
      </action>
Luc Maisonobe's avatar
Luc Maisonobe committed
388
389
390
391
392
      <action dev="luc" type="add" issue="595">
        Added EllipticalFieldOfView (with two different ways to define the
        ellipticity constraint) that can be used in FieldOfViewDetector,
        GroundFieldOfViewDetector and FootprintOverlapDetector.
      </action>
393
394
395
396
397
398
      <action dev="luc" type="add">
        Fields of view with regular polygonal shape can now be built either
        based on a defining cone inside the Fov and touching it at edges
        middle points, or based on a defining cone outside the Fov and touching
        it at vertices.
      </action>
Luc Maisonobe's avatar
Luc Maisonobe committed
399
400
401
402
      <action dev="luc" type="add" issue="594">
        Added CircularFieldOfView that can be used in FieldOfViewDetector,
        GroundFieldOfViewDetector and FootprintOverlapDetector.
      </action>
403
404
405
406
      <action dev="luc" type="add">
        Set up a general hierarchy for Field Of View with various shapes. At
        start, it includes DoubleDihedraFieldOfView and PolygonalFieldOfView.
      </action>
407
408
409
      <action dev="luc" type="add" issue="592">
        Added FilesListCrawler to load files from an explicit list.
      </action>
410
411
412
      <action dev="evan" type="fix" issue="583">
        Fix AbsoluteDate.compareTo() for future/past infinity.
      </action>
413
414
415
416
      <action dev="luc" type="fix" issue="588">
        Fixed wrong handling of spacecraft states in multi-satellites orbit determination
        and multi-satellite measurements generation.
      </action>
Bryan Cazabonne's avatar
Bryan Cazabonne committed
417
418
419
      <action dev="bryan" type="fix" issue="585">
        Improved contributing guide.
      </action>
420
      <action dev="petrus" type="fix" issue="570">
421
        Make FieldOfView.getFootprint public.
422
      </action>
423
424
425
      <action dev="bryan" type="add">
        Added combination of measurements.
      </action>
426
427
428
      <action dev="bryan" type="fix">
        Fix values of GPS C2D, L2D, D2D and S2D frequencies.
      </action>
429
430
431
      <action dev="bryan" type="add">
        Add Nequick ionospheric model.
      </action>
432
433
434
435
      <action dev="luc" type="fix" issue="581">
        Fixed spurious empty line insertion during Rinex 2 decompression
        when the number of observations per satellite is a multiple of 5
      </action>
436
437
438
439
      <action dev="luc" type="fix" issue="580">
        Fixed decompression of very small negative values in Hatanaka
        Compact RINEX format.
      </action>
440
441
442
443
      <action dev="luc" type="fix" issue="578">
        Orbit determination tutorials (and tests too) now supports compressed
        measurement files (gzip, Unix compress, Hatanaka Compact RINEX).
      </action>
444
445
446
      <action dev="luc" type="fix" issue="579">
        Handle properly special events flags in Hatanaka Compact RINEX format.
      </action>
447
448
449
450
      <action dev="luc" type="fix" issue="483">
        Reset additional state changed by event handlers and not managed by any
        additional state providers.
      </action>
451
452
453
      <action dev="luc" type="add" issue="472">
        Added support for Hatanaka Compact RINEX format.
      </action>
454
455
456
457
      <action dev="luc" type="fix" issue="574">
        Cope with input stream readers that keep asking for new bytes after end
        of Unix compressed files has been reached.
      </action>
458
459
460
      <action dev="luc" type="fix" issue="573">
        Added detection of some corrupted Unix-compressed files.
      </action>
461
462
463
      <action dev="bryan" type="fix" issue="572">
        Fixed the Saastamoinen model when station altitude is bigger than 5000.0 meters.
      </action>
464
465
466
      <action dev="luc" type="fix" issue="568">
        Fixed too fast step increase in a bracketing attempt.
      </action>
467
468
469
      <action dev="luc" type="add">
        Added phase measurement builder.
      </action>
470
471
472
      <action dev="luc" type="add">
        Added getWavelength in GNSS Frequency.
      </action>
Evan Ward's avatar
Evan Ward committed
473
    </release>
Evan Ward's avatar
Evan Ward committed
474
475
476
477
478
479
480
481
482
483
484
485
486
    <release version="10.0" date="2019-06-24"
             description="Orekit 10.0 is a major new release. It includes DSST OD,
             propagation in non-inertial frames, specialized propagators for GNSS
             constellations, a new ionospheric model, modeling for phase measurements, the
             LAMBDA method for phase ambiguity resolution, Shapiro effect for range
             measurements, improved documentation, as well as several other new features
             and bug fixes. This release fixes a security denial of service bug regarding
             itrf-versions.conf present since Orekit 9.2. Some APIs have incompatibly
             changed since the 9.X series including the format of itrf-versions.conf,
             removal of deprecated methods, reorganization of the models package, as well
             as updates to AbstractDetector, AbstractGNSSAttitudeProvider, DragSensitive,
             RadiationSensitive, and ZipJarCrawler. See the list below for a full
             description of the changes.">
Evan Ward's avatar
Evan Ward committed
487
488
489
      <action dev="evan" type="fix">
        Fix  name of GLONASS G2 frequency.
      </action>
490
491
492
      <action dev="luc" type="fix" >
        Fixed accuracy of dates conversions from java dates.
      </action>
Evan Ward's avatar
Evan Ward committed
493
494
495
      <action dev="evan" type="fix" issue="566">
        Make ITRFVersionLoader public.
      </action>
496
497
498
      <action dev="bryan" type="fix" issue="564">
        Fixed private argument of getLLimits() abstract method.
      </action>
Bryan Cazabonne's avatar
Bryan Cazabonne committed
499
500
501
      <action dev="bryan" type="fix" issue="565">
        Fixed static loading of UTC for GLONASS reference epoch.
      </action>
502
503
504
505
506
507
      <action dev="luc" type="fix" issue="547">
        Added a tile/sampling aiming direction that diverts singularity outside of a
        area of interest. This is mainly useful when sampling areas of interest that
        cover the pole as the pole is singular for classical aiming directions (constant
        azimuth or along track).
      </action>
508
509
510
511
512
      <action dev="luc" type="update" >
        Removed latitude limitation in AlongTrackAiming. If latitude is above (resp. below)
        the maximum (resp. minimum) latitude reached by the defining orbit, then aiming
        will be towards East for prograde orbits and towards West for retrograde orbits.
      </action>
513
514
515
      <action dev="bryan" type="fix">
        Fixes broken links on Orekit JavaDoc.
      </action>
516
517
518
       <action dev="pascal" type="fix" issue="558">
        Fixes broken links on Maven site.
      </action>
519
520
521
      <action dev="luc" type="fix" issue="559">
        Take into account changes in MSAFE files names published by NASA.
      </action>
522
523
524
      <action dev="bryan" type="add">
        Add Global Ionosphere Map model.
      </action>
525
526
527
      <action dev="maxime" type="add" issue="554">
        Added propagation in inertial frame.
      </action>
528
529
530
531
      <action dev="luc" type="fix" issue="557">
        Improved documentation about DatesSelector not being reusable across several
        schedulers during measurements generation.
      </action>
Evan Ward's avatar
Evan Ward committed
532
533
534
      <action dev="evan" type="fix">
        Fix some possible NPEs in AntexLoader, FieldAngularCoordinates.
      </action>
Evan Ward's avatar
Evan Ward committed
535
536
537
      <action dev="evan" type="fix">
        Fix locale dependent comparisons in SP3File, TDMParser, and YUMAParser.
      </action>
Evan Ward's avatar
Evan Ward committed
538
539
540
541
      <action dev="evan" type="fix">
        Ensure opened streams are closed in ZipJarCrawler, DTM2000, IERSConventions, and
        OceanLoadDeformationCoefficients.
      </action>
542
543
544
      <action dev="bryan" type="add">
        Add DSST Orbit Determination for both Kalman Filter and Batch Least Squares estimator.
      </action>
Romaric HER's avatar
Romaric HER committed
545
546
547
548
      <action dev="romaric" type="add">
        Add a events detector based on the geomagnetic field intensity at the satellite altitude
        or at sea level above the satellite, and the associated tests
      </action>
Evan Ward's avatar
Evan Ward committed
549
      <action dev="maxime" type="update" issue="549">
550
551
        Deleted deprecated methods in EclipseDetector.
      </action>
Romaric HER's avatar
Romaric HER committed
552
553
554
555
      <action dev="romaric" type="fix" issue="553">
        Fix the bug of attitude transition with Ephemeris propagator
        by adding a way for the LocalPVProvider to get the attitude at the end of the transition
      </action>
Evan Ward's avatar
Evan Ward committed
556
      <action dev="petrus" type="update" issue="518">
557
558
        Changing AbstractGNSSAttitudeProvider from public to package-private.
      </action>
Romaric HER's avatar
Romaric HER committed
559
560
561
562
      <action dev="romaric" type="fix" issue="551">
        Fix the bug of attitude transition with analytical propagator 
        by refreshing the attitude after the events triggering
      </action>
563
564
565
566
      <action dev="romaric" type="fix" issue="552">
        Fix the bug of attitude transition if a reset occurs during the transition
        by adding margins to the reset of TimeSpanMap to keep the one corresponding to the "after" attitude law.
      </action>
Bryan Cazabonne's avatar
Bryan Cazabonne committed
567
568
569
570
571
572
573
      <action dev="bryan" type="add" issue="522">
        Generalized the GPSPropagator class to handle all GNSS constellations using
        the same algorithm.
      </action>
      <action dev="bryan" type="add" issue="519">
        Added numerical and analytical GLONASS propagators.
      </action>
574
575
576
577
      <action dev="luc" type="add" >
        Added ambiguity resolution for phase measurements.
        This feature is not complete yet and is considered experimental.
      </action>
Evan Ward's avatar
Evan Ward committed
578
      <action dev="bryan" type="update" issue="548">
579
580
        Reorganized models package by adding new sub-packages.
      </action>
Evan Ward's avatar
Evan Ward committed
581
      <action dev="maxime" type="update" issue="546">
582
583
        Updated Hipparchus dependency to version 1.5 in pom.xml file.
      </action>
Evan Ward's avatar
Evan Ward committed
584
      <action dev="maxime" type="update" issue="514">
585
        Deleted unused DerivativeStructure acceleration computation methods.
586
587
588
589
590
591
592
593
594
595
596
597
        In interfaces radiationPressureAcceleration and dragAcceleration, and all their implementations and their tests.
      </action>
      <action dev="evan" type="update" issue="543">
        Change format of itrf-versions.conf to use prefix matching instead of Regular
        Expression matching. All existing itrf-versions.conf files will need to be
        updated. This is to avoid a potential denial of service where a crafted
        itrf-versions.conf could cause the application to hang.
      </action>
      <action dev="evan" type="update" issue="543">
        ZipJarCrawler now uses "!/" to denote the start of the path within the archive
        which matches the convention used by JarURLConnection. ZipJarCrawler used to use
        "!".
598
      </action>
599
600
601
      <action dev="bryan" type="fix" issue="544" due-to="Josef Probst">
        Fixed endless loop on GPSPropagator and (Field)KeplerianOrbit.
      </action>
602
603
604
605
      <action dev="maxime" type="add" issue="403">
        Added tests for class UnivariateProcessNoise.
        Working tests for non-Cartesian orbit propagation are still needed.
      </action>
606
607
608
609
      <action dev="maxime" type="fix" issue="514">
        Deprecated unused DerivativeStructure acceleration computation methods.
        In interfaces radiationPressureAcceleration and dragAcceleration, and all their implementations and their tests. 
      </action>
610
611
612
      <action dev="luc" type="add" issue="536">
        Take target radius into account in CircularFieldOfViewDetector and FieldOfViewDetector.
      </action>
613
614
615
      <action dev="maxime" type="fix" issue="539">
        Fixed DTM2000.getDensity method, made it independent of user time zone.
      </action>
616
617
618
      <action dev="luc" type="add" issue="535">
        Take occulting body flattening into account in eclipse detector.
      </action>
Maxime Journot's avatar
Maxime Journot committed
619
      <action dev="maxime" type="fix" issue="538" due-to="Dorian Gegout">
620
621
        Fixed default method compareTo in interface ComparableMeasurement.
      </action>
622
623
624
      <action dev="luc" type="add" issue="532">
        Added Shapiro effect modifier for Range and InterSatelliteRange measurements.
      </action>
625
626
627
628
      <action dev="evan" type="update" issue="389">
        Fix type parametrization of AbstractDetector so that multiple with* methods can be
        called when the type parameter is '?'.
      </action>
Evan Ward's avatar
Evan Ward committed
629
630
631
632
      <action dev="evan" type="remove" issue="506">
        Remove EventHandler.Action and FieldEventHandler.Action. Use
        org.hipparchus.ode.events.Action instead.
      </action>
Evan Ward's avatar
Evan Ward committed
633
      <action dev="bryan" type="update" issue="527">
Bryan Cazabonne's avatar
Bryan Cazabonne committed
634
635
        Changed API for magnetic field model to a SI base unit API.
      </action>
636
637
638
639
      <action dev="evan" type="fix">
        OrekitException preserves the stack trace when formatting the message throws
        another exception.
      </action>
640
      <action dev="luc" type="remove" issue="530">
641
642
        Event detectors, field of view and attitude providers are not serializable anymore.
      </action>
643
644
645
646
      <action dev="bryan" type="update" issue="526">
        Replaced private class BilinearInterpolatingFunction of Saastamoinen model
        by the one of Hipparchus
      </action>
647
648
649
650
      <action dev="evan" type="add" issue="507">
        Add Action.RESET_EVENTS to check all detectors for events without recomputing the
        propagation step.
      </action>
Evan Ward's avatar
Evan Ward committed
651
652
653
654
      <action dev="evan" type="add" issue="507">
        Add Action.RESET_EVENTS to check all detectors for events without recomputing the
        propagation step.
      </action>
655
656
657
658
      <action dev="evan" type="add" issue="507">
        Add toString() implementations to SpacecraftState, RecordAndContinue.Event and
        Field versions.
      </action>
Evan Ward's avatar
Evan Ward committed
659
660
661
      <action dev="evan" type="add" issue="507">
        Add Field version of RecordAndContinue.
      </action>
Evan Ward's avatar
Evan Ward committed
662
663
664
      <action dev="evan" type="add" issue="507">
        Add Field version of LatitudeCrossingDetector.
      </action>
665
666
667
      <action dev="luc" type="update">
        Removed classes and methods deprecated in the 9.X series.
      </action>
668
669
670
      <action dev="luc" type="fix" issue="528" due-to="Gowtham Sivaraman">
        Fixed parsing of clock in SP3 files.
      </action>
Luc Maisonobe's avatar
Luc Maisonobe committed
671
    </release>
Luc Maisonobe's avatar
Luc Maisonobe committed
672
    <release version="9.3.1" date="2019-03-16" description="Version 9.3.1 is a minor version of Orekit.
673
674
675
676
677
    It fixes an issue with GPS week rollover.">
      <action dev="luc" type="add" issue="534">
        Handle GPS week rollover in GPSDate.
      </action>
    </release>
678
    <release version="9.3" date="2019-01-25" description="Version 9.3 is a minor version of Orekit.
679
680
681
682
    It includes both new features and bug fixes. New features introduced in 9.3 are: a new GPSDate class,
    changed OrekitException from checked to unchecked exceptions, parameter drivers scales and reference
    value can be changed, access to Kalman filter internal matrices, position-only measurements in orbit determination,
    support for unofficial versions 2.12 and 2.20 of Rinex files (mainly for spaceborne receivers),
683
    direct building of appropriate attitude law with eclipses for all GNSS satellite types, inter-satellites
684
685
686
687
688
689
690
691
    view detector, measurement generation feature, possibility fo use Marshall Solar Activity Future Estimation
    to feed NRL MSISE 2000 atmosphere model, new tropospheric models: Mendes-Pavlis, Vienna 1, Vienna 3, estimated model,
    new mapping functions for tropospheric effect: Global Mapping Function, Niell Mapping Function, Global
    Pression Temperature Models GPT and GPT2, possibility to estimate tropospheric zenith delay,
    clock offset that can be estimated (both for ground station and satellite clocks).">
      <action dev="luc" type="add" issue="516">
        Added a way to manage clock corrections from GPSPropagator.
      </action>
692
693
694
695
696
697
698
699
      <action dev="bryan" type="add" issue="498">
        Added several tropospheric models: Mendes-Pavlis, Vienna 1, Vienna 3, estimated model
        where the total zenith delay can be estimated during Orbit Determination.
      </action>
      <action dev="bryan" type="add" issue="498">
        Added Global Mapping Function and Niell Mapping Function to be used with tropospheric
        models.
      </action>
700
701
702
      <action dev="luc" type="add" issue="515">
        Added clock offset parameter at satellites level for orbit determination.
      </action>
703
704
705
      <action dev="luc" type="add" issue="513">
        Added clock offset parameter at ground stations level for orbit determination.
      </action>
706
      <action dev="bryan" type="add" issue="512">
707
708
        Added weather model Global Pressure and Temperature 2.
      </action>
709
710
711
      <action dev="bryan" type="add" issue="511">
        Added weather model Global Pressure and Temperature.
      </action>
712
713
714
      <action dev="luc" type="fix" issue="510">
        Fixed dropped derivatives in TimeStampedFieldPVCoordinates.shiftedBy(dt).
      </action>
715
716
717
      <action dev="luc" type="fix" issue="509">
        Fixed scaling error in ParameterFunction differentiation.
      </action>
718
719
720
      <action dev="luc" type="fix" issue="508">
        Fixed inconsistency leading to inaccuracies in conversions from AbsoluteDate to FieldAbsoluteDate.
      </action>
721
722
723
724
      <action dev="pascal" type="fix" issue="495">
        The MarshallSolarActivityFutureEstimation class implements
        the NRLMSISE00InputParameters interface.
      </action>
725
726
727
      <action dev="evan" type="fix" issue="486">
        Make FieldTransform.shiftedBy(T) public.
      </action>
728
729
730
      <action dev="evan" type="fix" issue="496">
        Fix JavaDoc for TimeComponents.getSecond().
      </action>
Evan Ward's avatar
Evan Ward committed
731
732
733
      <action dev="evan" type="update" issue="501">
        Deprecate GFunction in favor of ToDoubleFunction.
      </action>
734
735
736
737
      <action dev="luc" type="add" issue="494">
        Added a measurements generation feature for use with orbit determination.
        Fixes issue #494
      </action>
738
739
740
741
      <action dev="luc" type="add">
        Added adapter for event detectors, allowing to wrap existing detector
        while changing their behaviour.
      </action>
742
743
744
      <action dev="luc" type="add">
        Added ground at night detector.
      </action>
745
746
747
      <action dev="luc" type="add">
        Added inter-satellites direct view detector.
      </action>
748
749
750
      <action dev="luc" type="add">
        Added constants defined by IAU 2015 resolution B3 for Sun, Earth and Jupiter.
      </action>
751
752
753
754
755
      <action dev="luc" type="add" issue="500">
        Added retrieval of full time span (start time, end time and data) containing
        a specified date in TimeSpanMap.
        Fixes issue #500
      </action>
756
757
758
      <action dev="luc" type="add">
        Added direct building of attitude provider from GNSS satellite type.
      </action>
759
760
761
762
      <action dev="luc" type="add">
        Added parsing of unofficial versions 2.12 and 2.20 of Rinex files
        (used by some spaceborne receivers like IceSat 1).
      </action>
763
764
765
      <action dev="luc" type="add">
        Added a way to retrieve Rinex header directly from the observations data set.
      </action>
766
767
768
      <action dev="luc" type="add">
        Added position-only measurements in orbit determination.
      </action>
769
770
771
      <action dev="luc" type="fix" issue="491">
        Allow parsing of SP3 files that use non-predefined orbit types.
        Fixes issue #491.
772
      </action>
773
	  <action dev="maxime" type="add" issue="485">
774
775
776
777
778
779
        Added access to Kalman filter matrices.
		KalmanEstimation interface now has methods returning the physical values of:
		state transition matrix phi, measurement matrix H, innovation matrix S and Kalman gain matrix K.
		The methods are implemented in Model class. A class ModelTest was added to test these values.
		Fixes issue #485
      </action>
780
781
      <action dev="luc" type="fix" issue="492" due-to="Lebas">
        Fixed error message for TLE with incorrect checksum.
782
        Fixes issue #492.
783
784
      </action>
      <action dev="maxime" type="fix" issue="490">
785
786
787
788
789
        Fixed reference value of parameter drivers updating in Kalman filter. 
        When resetting the orbit in the propagator builder, the reference values
        of the drivers are now reset too.
        Fixes issue #490.
      </action>
790
      <action dev="maxime" type="add" issue="489">
791
792
793
794
        Made ParameterDriver class fully mutable.
        By adding setters for attributes scale, reference, minimum and maximum values.
        Fixes issue #489.
      </action>
795
      <action dev="maxime" type="fix" issue="488">
796
797
798
799
        Fixed method unNormalizeStateVector in Model class of Kalman estimator.
        Previous value did not take into account the reference values of the drivers.
        Fixes issue #488.
      </action>
800
801
802
803
804
805
806
807
808
809
      <action dev="luc" type="fix" issue="484" due-to="Yannick Jeandroz">
        Changed OrekitException from checked to unchecked exception.
        Most functions do throw such exceptions. As they are unchecked, they are
        not advertised in either `throws` statements in the function signature or
        in the javadoc. So users must consider that as soon as they use any Orekit
        feature, an unchecked `OrekitException` may be thrown. In most cases, users
        will not attempt to recover for this but will only use them to display or
        log a meaningful error message.
        Fixes #484.
      </action>
810
811
812
813
      <action dev="luc" type="fix" issue="480">
        Added GPSDate class to convert back and forth with AbsoluteDate.
        Fixes #480.
      </action>
814
815
816
817
      <action dev="evan" type="fix" issue="476">
        Fix generics in EventEnablingPredicateFilter.
        Fixes #476.
      </action>
818
      <action dev="maxime" type="fix" issue="473">
819
820
821
822
823
824
        Fixed wrong values of radec generated in AngularRaDecMeasurementCreator.
        Fixed wrong values of range rate generated in RangeRateMeasurementCreator.
        Added tests that check the values of measurements for each type of measurement.
        Upgraded precision in Kalman and batch least-squares OD tests that are using range-rate and radec measurements.
        Fixes issue #473.
      </action>
825
826
827
828
      <action dev="luc" type="fix">
        Derivatives with respect to mass are not computed anymore since several versions,
        some remnants of former computation remained and have now been removed.
      </action>
829
    </release>
Luc Maisonobe's avatar
Luc Maisonobe committed
830
831
832
833
834
835
836
837
838
839
840
841
842
    <release version="9.2" date="2018-05-26" description="Version 9.2 is a minor release of Orekit.
    It introduces several new features and bug fixes. New features introduced in version 9.2 are
    Kalman filter for orbit determination, loading of RINEX files, loading of ANTEX files, loading
    of version d of SP3 files (version a to c were already supported), on-the-fly decompression of .Z
    files, code measurements, phase measurements (but only a very basic implementation for now),
    specific attitude laws (GPS, GLONASS, GALILEO, BEIDOU) with midnight/noon turns, possibility to
    use backward propagation in LS orbit determination, support for any ITRF version, even if EOP
    files do not match the desired version, attitude overriding in constant thrust maneuvers,
    FunctionalDetector, filtering mechanism to insert specific decompression or deciphering algorithms
    during data loading, frames for Lagrange L1 and L2 point for any two related celestial bodies.
    WARNING: phase measurements, GNSS attitude and time-dependent process noise are considered
    experimental features for now, they should not be used yet for operational systems.
    Several bugs have been fixed.">
843
844
845
846
      <action dev="luc" type="fix">
        Fixed missing eclipse detectors in field version of Solar radiation pressure.
        Fixes issue #366.
      </action>
Evan Ward's avatar
Evan Ward committed
847
848
849
850
      <action dev="evan" type="fix">
        Fixed issue where EventHandler.init() was never called.
        Fixes issue #471.
      </action>
851
      <action dev="luc" type="fix">
852
        Fixed error in relative humidity units in Marini-Murray tropospheric model.
853
854
        Fixes issue #352.
      </action>
855
856
857
858
      <action dev="luc" type="fix">
        Fixed DSST events detection in the osculating case.
        Fixes issue #398.
      </action>
859
860
861
862
      <action dev="luc" type="fix">
        Allow several TLE with same date in TLESeries.
        Fixes issue #411.
      </action>
863
864
865
866
      <action dev="luc" type="fix">
        Fixed compilation problems with JDK 1.8
        Fixes issue #462.
      </action>
Luc Maisonobe's avatar
Luc Maisonobe committed
867
868
869
870
871
872
      <action dev="luc" type="add" >
        Added specific attitude mode for GNSS satellites: GPS (block IIA, block IIF, block IIF),
        GLONASS, GALILEO, BEIDOU (GEO, IGSO, MEO). This is still considered experimental as there
        are some problems when Sun crosses the orbital plane during a midnight/noon turn maneuver
        (which is a rare event but nevertheless occurs)
      </action>
873
874
875
876
877
878
      <action dev="luc" type="add" >
        Added natural order for observed measurements primarily based on
        chronological order, but with also value comparisons if measurements
        are simultaneous (which occurs a lot in GNSS), and ensuring no
        measurements are lost if stored in SortedSet
      </action>
Luc Maisonobe's avatar
Luc Maisonobe committed
879
880
881
882
883
884
      <action dev="luc" type="add" due-to="Albert Alcarraz García">
        Added GNSS code measurements
      </action>
      <action dev="luc" type="add" due-to="Albert Alcarraz García">
        Added GNSS phase measurements (very basic implementation for now, not usable as is)
      </action>
885
886
887
      <action dev="luc" type="add" due-to="Albert Alcarraz García">
        Added loading of RINEX observation files (versions 2 and 3)
      </action>
888
889
890
891
      <action dev="luc" type="fix">
        Fixed compression table reset problem in .Z files
        Fixes issue #450.
      </action>
892
893
894
895
896
897
      <action dev="maxime" type="fix">
        Fixed de-activation of event detection.
        In the propagate(startDate, endDate) function of class "AbstractIntegratedPropagator",
        for dates out of the time interval defined by ]startDate, endDate].
        Fixes issue #449.
      </action>
898
899
900
901
902
903
      <action dev="luc" type="add">
        Added support for loading Unix-compressed files (ending in .Z).
        This file compression algorithm is still widely used in the GNSS
        community (SP3 files, clock files, Klobuchar coefficients...)
        Fixes issue #447.
      </action>
904
905
906
907
      <action dev="luc" type="add">
        Added a customizable filtering capability in data loading.
        This allows users to insert layers providing features like
        custom decompression algorithms, deciphering, monitoring...
908
        Fixes issue #446.
909
      </action>
910
911
912
913
      <action dev="luc" type="add">
        Allow direct retrieval of rotation part without derivatives from
        LOFType without computing the full transform from inertial frame.
      </action>
914
915
916
917
918
919
      <action dev="maxime" type="fix">
        Added a provider for time-dependent process noise in Kalman estimator.
        This providers allow users to set up realistic models where the process
        noise increases in the along track direction.
        Fixes issue #403.
      </action>
920
921
922
923
924
925
926
      <action dev="maxime" type="add">
        Increased visibility of attributes in ConstantThrustManeuver class.
        Added getters for all attributes. Also added an attribute name that
        allows the differentiation of the maneuvers, both from a parameter driver
        point of view and from a force model point of view.
        Fixes issue #426.
      </action>
927
928
929
930
931
932
933
      <action dev="maxime" type="add">
        Increased visibility of attributes in propagator builders.
        By adding getters for all attributes in NumericalPropagatorBuilder
        and AbstractPropagatorBuilder.
        Also made the method findByName in ParameterDriversList public.
        Fixes issue #425.
      </action>
934
935
936
937
      <action dev="luc" type="fix">
        Ensure the correct ITRF version is used in CCSDS files, regardless
        of the EOP source chosen, defaulting to ITRF-2014.
      </action>
938
939
940
941
      <action dev="luc" type="fix">
        Split initial covariance matrix and process noise matrix in two
        methods in the covariance matrix provider interface.
      </action>
942
      <action dev="luc" type="add">
Luc Maisonobe's avatar
Luc Maisonobe committed
943
944
945
946
947
948
        Added VersionedITRF frame that allow users with needs for very high
        accuracy to specify which ITRF version they want, and stick to it
        regardless of their EOP source.
        Fixes issue #412.
      </action>
      <action dev="luc" type="add">
949
950
951
952
953
954
955
        Added an itrf-versions.conf configuration file allowing to specify
        which ITRF version each EOP file defines for which date
      </action>
      <action dev="luc" type="add">
        EOP history now contains the ITRF version corresponding to each
        EOP entry on a per date basis
      </action>
956
957
958
959
      <action dev="luc" type="add">
        Added an ITRFVersion enumerate to simplify conversion between ITRF frames,
        even when no direct Helmert transformation is available
      </action>
960
961
962
      <action dev="luc" type="add">
        Added TransformProviderUtility to reverse or combine TransformProvider instances.
      </action>
963
964
965
966
      <action dev="luc" type="add">
        Allow attitude overriding during constant-thrust maneuvers.
        Fixes issue #410.
      </action>
967
968
969
970
      <action dev="luc" type="fix">
        Fixed out-of-sync attitude computation near switch events in AttitudeSequence.
        Fixes issue #404.
      </action>
971
972
973
      <action dev="luc" type="add">
        Added a method to extract sub-ranges from TimeSpanMap instances.
      </action>
974
975
976
977
      <action dev="luc" type="fix">
        Fixed TLE creation with B* coefficients having single digits like 1.0e-4.
        Fixes issue #388.
      </action>
Evan Ward's avatar
Evan Ward committed
978
979
980
      <action dev="evan" type="add">
        Add FunctionalDetector.
      </action>
981
982
      <action dev="luc" type="add">
        Added handling of IGS ANTEX GNSS antenna models file.
983
984
985
      </action>
      <action dev="luc" type="add">
        Added support for SP3-d files.
986
      </action>
Luc Maisonobe's avatar
Luc Maisonobe committed
987
988
989
990
      <action dev="luc" type="fix">
        Improved SP3 files parsing.
        Some files already operationally produced by IGS Multi-GNSS Experiment (MGEX)
        exceed the maximum number of satellites supported by the regular SP3-c file
991
992
        format (which is 85 satellites) and extended the header, without updating the
        format version to SP3-d, which specifically raises the 85 satellites limitation.
Luc Maisonobe's avatar
Luc Maisonobe committed
993
994
        Fixes issue #376.
      </action>
995
996
997
998
      <action dev="maxime" type="add">
        Allow backward propagation in batch LS orbit determination.
        Fixes issue #375.
      </action>
999
1000
      <action dev="maxime" type="add">
        Added covariance matrix to PV measurements.