Orekit issueshttps://gitlab.orekit.org/orekit/orekit/-/issues2023-10-26T15:48:24Zhttps://gitlab.orekit.org/orekit/orekit/-/issues/1194Add constructors from Field and Orbit for FieldOrbit2023-10-26T15:48:24ZRomain SerraAdd constructors from Field and Orbit for FieldOrbitFieldSpacecraftState has one constructor that internally converts an Orbit to FieldOrbit but there is nothing in FieldOrbit inheritorsFieldSpacecraftState has one constructor that internally converts an Orbit to FieldOrbit but there is nothing in FieldOrbit inheritors12.0Romain SerraRomain Serrahttps://gitlab.orekit.org/orekit/orekit/-/issues/1195OrbitBlender shall have a generic API but well documented2023-10-26T15:47:58ZBryan CazabonneOrbitBlender shall have a generic API but well documentedCurrently, `OrbitBlender `only uses analytical orbit propagator to perform its computations.
There is no technical reason to limit this feature to analytical propagator. The only limitation is the computation time. So, 2 tasks can be pe...Currently, `OrbitBlender `only uses analytical orbit propagator to perform its computations.
There is no technical reason to limit this feature to analytical propagator. The only limitation is the computation time. So, 2 tasks can be performed:
1. Use a more generic API: `Propagator `instead of `AbstractAnalyticalPropagator`
2. Improve the documentation to highlight that analytical propagators are recommended for computation time.
This work can be done in a minor release12.0https://gitlab.orekit.org/orekit/orekit/-/issues/1192Revamp (Field)SpacecraftState2023-10-26T15:47:45ZRomain SerraRevamp (Field)SpacecraftStateBoth classes have a few minor problems, including:
- Javadoc is not up to date, especially regarding the `AbsolutePVCoordinates` option
- The default, undisclosed attitude is hard coded several times and could actually be switched to a `...Both classes have a few minor problems, including:
- Javadoc is not up to date, especially regarding the `AbsolutePVCoordinates` option
- The default, undisclosed attitude is hard coded several times and could actually be switched to a `FrameAlignedProvider` for performance (instead of an `LofOffset`)12.0Romain SerraRomain Serrahttps://gitlab.orekit.org/orekit/orekit/-/issues/1197GradientConverter should only use FieldOrbit when applicable2023-10-26T15:47:20ZRomain SerraGradientConverter should only use FieldOrbit when applicable`ModifierGradientConverter` uses `FieldOrbit` even when the original `SpacecraftState` is not based on an `Orbit`. This causes problems when calling `getMu`, see #1141. The issue is larger as `NumericalGradientConverter` seems to have th...`ModifierGradientConverter` uses `FieldOrbit` even when the original `SpacecraftState` is not based on an `Orbit`. This causes problems when calling `getMu`, see #1141. The issue is larger as `NumericalGradientConverter` seems to have the same behaviour.12.0Romain SerraRomain Serrahttps://gitlab.orekit.org/orekit/orekit/-/issues/1199CDM xml file values truncated at reading2023-10-26T15:47:06ZLUGANCDM xml file values truncated at readingSee https://forum.orekit.org/t/cdm-xml-file-values-truncated-at-reading/2870 for initial discussionSee https://forum.orekit.org/t/cdm-xml-file-values-truncated-at-reading/2870 for initial discussion12.0LUGANLUGANhttps://gitlab.orekit.org/orekit/orekit/-/issues/1205Fix failing tests after correction of Hipparchus issue 2532023-10-26T15:46:53ZMaxime JournotFix failing tests after correction of Hipparchus issue 253Following the correction of issue [253](https://github.com/Hipparchus-Math/hipparchus/issues/253), 6 [failing test cases](https://gitlab.orekit.org/orekit/orekit/-/jobs/11904) appeared in Orekit.
They must be fixed before 12.0.Following the correction of issue [253](https://github.com/Hipparchus-Math/hipparchus/issues/253), 6 [failing test cases](https://gitlab.orekit.org/orekit/orekit/-/jobs/11904) appeared in Orekit.
They must be fixed before 12.0.12.0https://gitlab.orekit.org/orekit/orekit/-/issues/1209Rename PositionAngle2023-10-26T15:46:39ZRomain SerraRename PositionAngle`PositionAngleType` is a better name for an enum, more in line with other ones in Orekit and already used for some setter/getter.`PositionAngleType` is a better name for an enum, more in line with other ones in Orekit and already used for some setter/getter.12.0Romain SerraRomain Serrahttps://gitlab.orekit.org/orekit/orekit/-/issues/1217Add getter for resetAtEnd in (Field) AbstractIntegratedPropagator2023-10-26T15:46:28ZRomain SerraAdd getter for resetAtEnd in (Field) AbstractIntegratedPropagator12.0Romain SerraRomain Serrahttps://gitlab.orekit.org/orekit/orekit/-/issues/1207Infinite loop combining `LongitudeCrossingDetector` and another `EventDetector`2023-10-26T15:46:14ZAlberto FerreroInfinite loop combining `LongitudeCrossingDetector` and another `EventDetector`Hi Orekit
I found this infinite loop adding another event detector when already a `LongitudeCrossingDetector` is defined.
Here the discussion on the forum: https://forum.orekit.org/t/not-converging-propagation-combining-eclipsedetector-a...Hi Orekit
I found this infinite loop adding another event detector when already a `LongitudeCrossingDetector` is defined.
Here the discussion on the forum: https://forum.orekit.org/t/not-converging-propagation-combining-eclipsedetector-and-longitudecrossingdetector/2886/3
Here my tests:
- LongitudeCros- singDetector → works
- LatitudeCrossingDetector → works
- LongitudeCrossingDetector + EclipseDetector → no converges
- LatitudeCrossingDetector + EclipseDetector → works
- LongitudeCrossingDetector + LatitudeCrossingDetector → no converges
Here the JUnit Test
```
long endTimestamp = 1366547952523L;
Frame itrf = FramesFactory.getITRF(IERSConventions.IERS_2010, false);
final OneAxisEllipsoid earthShapeIERS = new OneAxisEllipsoid(
org.orekit.utils.Constants.WGS84_EARTH_EQUATORIAL_RADIUS,
org.orekit.utils.Constants.WGS84_EARTH_FLATTENING,
itrf);
//Add logger and events
EventsLogger logger = new EventsLogger();
EventDetector longDetector = new LongitudeCrossingDetector(earthShapeIERS, FastMath.toRadians(-83.4))
.withHandler(new ContinueOnEvent<>());
final EclipseDetector sunEclipseDetector = new EclipseDetector(
CelestialBodyFactory.getSun(), org.orekit.utils.Constants.SUN_RADIUS,
earthShapeIERS)
.withHandler(new ContinueOnEvent<>());
//TLE propagator from ISS 2013 orbit
TLE tle = new TLE("1 25544U 98067A 13110.27262069 .00008419 00000-0 14271-3 0 6447",
"2 25544 51.6474 35.7007 0010356 160.4171 304.1803 15.52381363825715");
TLEPropagator propagator = TLEPropagator.selectExtrapolator(tle);
//Add event detectors and propagate
propagator.addEventDetector(logger.monitorDetector(longDetector));
propagator.addEventDetector(logger.monitorDetector(sunEclipseDetector));
propagator.propagate(Time.getAbsoluteDateFromEpochMilli(endTimestamp));
//Get logged events
assertFalse(logger.getLoggedEvents().stream()
.filter(e -> e.getEventDetector() instanceof LongitudeCrossingDetector)
.toList()
.isEmpty());
```
where:
```
public static AbsoluteDate getAbsoluteDateFromTimestamp(long timestamp) {
LocalDateTime utcDate = LocalDateTime.ofInstant(Instant.ofEpochMilli(timestamp), UTC_ZONE_ID);
val year = utcDate.getYear();
val month = utcDate.getMonthValue();
val day = utcDate.getDayOfMonth();
val hour = utcDate.getHour();
val minute = utcDate.getMinute();
val second = utcDate.getSecond();
val millis = utcDate.getNano() / 1e9;
return new AbsoluteDate(year, month, day, hour, minute, second, TimeScalesFactory.getUTC()).shiftedBy(millis);
}
```
Thanks!
Albertohttps://gitlab.orekit.org/orekit/orekit/-/issues/1210Add missing inheritance of FieldTimeShiftable2023-10-26T15:45:50ZRomain SerraAdd missing inheritance of FieldTimeShiftable- `FieldTimeShiftable` should inherit from `TimeShiftable` as it defines a double version of `shiftedBy`
- Some classes e.g. `FieldAbsoluteDate`, `FieldTransform`, etc. should inherit from `FieldTimeShiftable` since they define the requi...- `FieldTimeShiftable` should inherit from `TimeShiftable` as it defines a double version of `shiftedBy`
- Some classes e.g. `FieldAbsoluteDate`, `FieldTransform`, etc. should inherit from `FieldTimeShiftable` since they define the required methods12.0Romain SerraRomain Serrahttps://gitlab.orekit.org/orekit/orekit/-/issues/1211Add method to produce angle-based (Field)Orbit instance without derivatives2023-10-26T15:45:27ZRomain SerraAdd method to produce angle-based (Field)Orbit instance without derivativesThe presence of derivatives in `EquinoctialOrbit` and the like can produce computational overhead when computing `PVCoordinates` in `shiftedBy` for example, which is not always suitable.The presence of derivatives in `EquinoctialOrbit` and the like can produce computational overhead when computing `PVCoordinates` in `shiftedBy` for example, which is not always suitable.12.0Romain SerraRomain Serrahttps://gitlab.orekit.org/orekit/orekit/-/issues/1208Default settings give errors in ssa package2023-10-26T15:44:58ZVincent CUCCHIETTIvincent.cucchietti@csgroup.euDefault settings give errors in ssa packageHey all,
Opening this issue following [this thread](https://forum.orekit.org/t/collision-probability-algorithms-default-settings-give-errors/2899).
Cheers,
VincentHey all,
Opening this issue following [this thread](https://forum.orekit.org/t/collision-probability-algorithms-default-settings-give-errors/2899).
Cheers,
Vincent12.0Vincent CUCCHIETTIvincent.cucchietti@csgroup.euVincent CUCCHIETTIvincent.cucchietti@csgroup.euhttps://gitlab.orekit.org/orekit/orekit/-/issues/1066Fix MarshallSolarActivityFutureEstimation javadoc2023-10-26T09:30:22ZVincent CUCCHIETTIvincent.cucchietti@csgroup.euFix MarshallSolarActivityFutureEstimation javadocHi everyone,
I noticed that the "Marshall Solar Activity website" link provided in the ```MarshallSolarActivityFutureEstimation``` class javadoc is dead and need to be updated.
The new link seems to be this one : https://www.nasa.gov/...Hi everyone,
I noticed that the "Marshall Solar Activity website" link provided in the ```MarshallSolarActivityFutureEstimation``` class javadoc is dead and need to be updated.
The new link seems to be this one : https://www.nasa.gov/msfcsolar
Cheers,
Vincent12.0https://gitlab.orekit.org/orekit/orekit/-/issues/1173Wrong uses of non-fielded AbsoluteDate for some transformations in Atmosphere...2023-10-23T13:16:59ZRomain SerraWrong uses of non-fielded AbsoluteDate for some transformations in Atmosphere and FieldElevationDetectorSimilar to #1170
Basically, (Static)Transform and other methods should be built with a `FieldAbsoluteDate`, so `toAbsoluteDate` should not be called beforehand.
Problem present at least in `getVelocity` of Interface `Atmosphere` and ...Similar to #1170
Basically, (Static)Transform and other methods should be built with a `FieldAbsoluteDate`, so `toAbsoluteDate` should not be called beforehand.
Problem present at least in `getVelocity` of Interface `Atmosphere` and `FieldElevationDetector`.
It might decrease performance a bit but the current implementation is not rigorous.12.0Romain SerraRomain Serrahttps://gitlab.orekit.org/orekit/orekit/-/issues/1239Add derivatives to EOP when they are missing in the files2023-10-23T11:54:11ZLuc MaisonobeAdd derivatives to EOP when they are missing in the filesTwo sets of EOP data have derivatives: polhody (xp, yp, as derivatives will be added in early November 2023 by IERS in several products and are already present in EOP C04 since February 2023) and dUT1 (because LOD is linked to dUT1 deriv...Two sets of EOP data have derivatives: polhody (xp, yp, as derivatives will be added in early November 2023 by IERS in several products and are already present in EOP C04 since February 2023) and dUT1 (because LOD is linked to dUT1 derivative).
In some cases, the derivatives are present in the files Orekit loads, in some cases they are missing.
If for example one loads EOP C04 data from before Febrary 2023 and data after November 2023, the polhody data will be inconsistent.
Bulletin A also miss LOD data. In the regular txt version of the files, this is taken care of during parsing, and some finite difference algorithm is used to add the missing data. This is not done in the xml or csv versions of the file.
It would be better and more consistent to add missing derivatives to points that miss them during loading, as a post-processing step before the EOP history is returned. This way, all data will always have all derivatives and interpolation will be more consistent. This is a follow-up of issue #1238 as it will permit proper Hermite interpolation throughout history for these parameters.12.0Luc MaisonobeLuc Maisonobehttps://gitlab.orekit.org/orekit/orekit/-/issues/1238Allow customization of interpolation degree in EOP2023-10-22T19:02:08ZLuc MaisonobeAllow customization of interpolation degree in EOPEOP interpolation uses a fixed number of points for interpolation, and this number of points is the same for data that has no derivatives and uses Lagrange (like dx and dy) and for data that does have derivatives and uses Hermite (like x...EOP interpolation uses a fixed number of points for interpolation, and this number of points is the same for data that has no derivatives and uses Lagrange (like dx and dy) and for data that does have derivatives and uses Hermite (like xp, yp). Also UTA/LOD should use derivatives since LOD is basically the opposite of UT1 derivatives (scaled to one day).
It would be better for users and more consistent between parameters to set up an interpolation degree, with some default.
As some parameters use Hermite with first derivatives and for symmetry reason we want an even number of points, the degree should have the form 4k-1, typically 3 (4 points without derivatives, 2 points with derivatives) or 7 (8 points without derivatives, 4 points with derivatives).12.0Luc MaisonobeLuc Maisonobehttps://gitlab.orekit.org/orekit/orekit/-/issues/1031Add support for new EOPC04 format2023-10-22T08:42:07ZLuc MaisonobeAdd support for new EOPC04 formatAccording to [IERS message 471](https://www.iers.org/SharedDocs/Publikationen/EN/IERS/Publications/messages/message_471.txt), a new format for EOPC04 file will be published starting next week, with new columns for pole rates.
Orekit shou...According to [IERS message 471](https://www.iers.org/SharedDocs/Publikationen/EN/IERS/Publications/messages/message_471.txt), a new format for EOPC04 file will be published starting next week, with new columns for pole rates.
Orekit should support this new format.12.0Luc MaisonobeLuc Maisonobehttps://gitlab.orekit.org/orekit/orekit/-/issues/1233Small fix on missing protected InterSatDirectViewDetector constructor2023-10-18T21:24:32ZAlberto FerreroSmall fix on missing protected InterSatDirectViewDetector constructorSmall fix, as Detector constructor were made `private`. (from https://gitlab.orekit.org/orekit/orekit/-/issues/1143)
Missing `InterSatDirectViewDetector`Small fix, as Detector constructor were made `private`. (from https://gitlab.orekit.org/orekit/orekit/-/issues/1143)
Missing `InterSatDirectViewDetector`12.0https://gitlab.orekit.org/orekit/orekit/-/issues/1235Checkstyle shall be verified before unit tests2023-10-18T16:53:33ZBryan CazabonneCheckstyle shall be verified before unit testsCurrently checkstyle is verified after unit tests. However, performing tests takes about 20 minutes. As a results, it is better to perform checkstyle verification before unit tests to reduce duration of possible fail pipelinesCurrently checkstyle is verified after unit tests. However, performing tests takes about 20 minutes. As a results, it is better to perform checkstyle verification before unit tests to reduce duration of possible fail pipelineshttps://gitlab.orekit.org/orekit/orekit/-/issues/1234Fix on typo on getReflection for Panel2023-10-18T16:35:59ZAlberto FerreroFix on typo on getReflection for PanelJust a small bug on getReflection() method for `Panel`Just a small bug on getReflection() method for `Panel`12.0