Orekit issueshttps://gitlab.orekit.org/groups/orekit/-/issues2023-12-30T08:34:30Zhttps://gitlab.orekit.org/orekit/orekit/-/issues/1025Frame alignement mistake in the Frames webpage2023-12-30T08:34:30ZbobbyfrasierFrame alignement mistake in the Frames webpageIn the [webpage about the Frames](https://www.orekit.org/site-orekit-latest/architecture/frames.html) on the Orekit website, there seem to be a mistake in the § "Solar system frames"
It is written :
> in these cases, the associated fram...In the [webpage about the Frames](https://www.orekit.org/site-orekit-latest/architecture/frames.html) on the Orekit website, there seem to be a mistake in the § "Solar system frames"
It is written :
> in these cases, the associated frames are aligned with **EME2000**. One important case is the solar system barycenter, as its associated frame is the ICRF
While it should be :
> in these cases, the associated frames are aligned with **GCRF**. One important case is the solar system barycenter, as its associated frame is the ICRF
(or ICRF since ICRF and GCRF are aligned)https://gitlab.orekit.org/orekit/orekit/-/issues/1027Missing Field version of IOD algorithms (not counting Gauss)2023-10-31T19:44:50ZRomain SerraMissing Field version of IOD algorithms (not counting Gauss)There is no `Field` implementation of Laplace, Gooding, Gibbs and Lambert.There is no `Field` implementation of Laplace, Gooding, Gibbs and Lambert.https://gitlab.orekit.org/orekit/orekit/-/issues/1035Feature Request: Star Visibility Detector2023-02-15T12:29:34ZasuthoshcrFeature Request: Star Visibility DetectorBased on the Topic in the forum - https://forum.orekit.org/t/geodeticpoint-getintersectionpoint-returning-null-value/2281/2
I request the Orekit community to add this as a new feature to the library.
Requirements - Star Visibility Dete...Based on the Topic in the forum - https://forum.orekit.org/t/geodeticpoint-getintersectionpoint-returning-null-value/2281/2
I request the Orekit community to add this as a new feature to the library.
Requirements - Star Visibility Detector same as eclipse detector
Reason for Request - To avoid the Null Value Exception in the `Line` while looking for Intersection points due to numerical noise when subtracting two positions that are really far from each other.
Reply from Luc for the Feature Request:-
Here, I think we should have a dedicated detector that really considers a direction at infinity and not a point target. It is probably not really difficult to set up starting from EclipseDetector, but clearly EclipseDetector cannot deal with this use case.https://gitlab.orekit.org/orekit/orekit-tutorials/-/issues/22Add tutorial for Field Of View usage2023-02-14T02:56:19ZLuc MaisonobeAdd tutorial for Field Of View usageThe tutorial can be based [on this forum post](https://forum.orekit.org/t/rotation-of-the-camera-shooting-the-ground-earth/2270/17).The tutorial can be based [on this forum post](https://forum.orekit.org/t/rotation-of-the-camera-shooting-the-ground-earth/2270/17).https://gitlab.orekit.org/orekit/orekit/-/issues/1036Improve estimation of propagation and measurement parameters with Unscented K...2024-03-04T21:18:59ZBryan CazabonneImprove estimation of propagation and measurement parameters with Unscented Kalman FilterCurrently the Unscented Kalman Filter can "estimate" propagation and measurement parameters without throwing any exception. However, because these parameters are not “time propagated” like orbital parameters, the propagated sigma points ...Currently the Unscented Kalman Filter can "estimate" propagation and measurement parameters without throwing any exception. However, because these parameters are not “time propagated” like orbital parameters, the propagated sigma points are equals to the initial sigma points for these parameters. As a results, they don’t have any evolution because the computation of the corrected value depends on the difference between the propagated and the initial ones.
A solution is presented in the following paper:
Matthew C. VANDYKE et al. Unscented Kalman Filtering for Spacecraft attitude state and parameter estimation. AAS.
Probably the fix will also need modifications in Hipparchus.https://gitlab.orekit.org/orekit/orekit/-/issues/1039Add optional String name to ObservableSatellite (or use the satellite number ...2023-02-23T13:30:11Zeefowler3Add optional String name to ObservableSatellite (or use the satellite number to build a default name, if needed)I have noticed that when I create ground-based measurements and do estimation on those measurements, it is nice that I can pull a String name out of the TopocentricFrame used to construct GroundStation, in order to associate a particular...I have noticed that when I create ground-based measurements and do estimation on those measurements, it is nice that I can pull a String name out of the TopocentricFrame used to construct GroundStation, in order to associate a particular measurement with its ground station by name.
Similarly, it would be nice to be able to pull some kind of String name out of the “ObservableSatellite local” used to construct an InterSatellitesRange measurement.https://gitlab.orekit.org/orekit/orekit/-/issues/1040Add support for Onsala Space Observatory HARPOS file format2023-02-17T07:24:42ZBryan CazabonneAdd support for Onsala Space Observatory HARPOS file formatHARPOS format is the last one provided by the Onsala Space Observatory for the ocean tide loading coefficients. It seems containing more coefficients than the classical BLQ format. Both formats are still provided by the Onsala Space Obse...HARPOS format is the last one provided by the Onsala Space Observatory for the ocean tide loading coefficients. It seems containing more coefficients than the classical BLQ format. Both formats are still provided by the Onsala Space Observatory. Therefore, it would be interesting to read this format in order to use it for `OceanLoading` class in Orekit.
A file example is given here: http://holt.oso.chalmers.se/loading/example_har.html
The format should be detailed here: http://holt.oso.chalmers.se/loading/
(The link to HARPOS format description is currently broken)https://gitlab.orekit.org/orekit/orekit/-/issues/1043Parameter driver value safety can be bypassed in constructor.2023-02-23T13:30:49ZSergyDParameter driver value safety can be bypassed in constructor.The `ParameterDriver.setValue()` safeties can be bypassed if introducing a reference value out of range in the constructor.
The issue can occur when introducing parameters out of range in the `BasicConstantThrustPropulsionModel` class c...The `ParameterDriver.setValue()` safeties can be bypassed if introducing a reference value out of range in the constructor.
The issue can occur when introducing parameters out of range in the `BasicConstantThrustPropulsionModel` class constructor.
Potential fixes:
- Add a new constructor that also requires a value to set, decoupling the reference value and the initial value.
- Changing `this.value = referenceValue;` to `this.value = setValue(referenceValue);`
- Add sanity check to reference value in the constructor.https://gitlab.orekit.org/orekit/orekit/-/issues/1054Some CDM fields in ODparameter section are set to 0 (zero) if absent.2024-01-16T12:53:30ZDavid GondelachSome CDM fields in ODparameter section are set to 0 (zero) if absent.Fields in question are:
* OBS_AVAILABLE
* OBS_USED
* TRACKS_AVAILABLE
* TRACKS_USED
By CCSDS standards these fields are not obligatory so the CdmWriter should not write them when absent.
@luc suggested:
> In several places in CCSDS, ...Fields in question are:
* OBS_AVAILABLE
* OBS_USED
* TRACKS_AVAILABLE
* TRACKS_USED
By CCSDS standards these fields are not obligatory so the CdmWriter should not write them when absent.
@luc suggested:
> In several places in CCSDS, we used simply integer -1 to represent an uninitialized value, and we chck for sign in the writer.
Off-topic: The javadoc of `getResidualsAccepted` and `setResidualsAccepted` states that it returns/sets a percentage between 0 to 100, but actually the percentage was normalised during parsing to be between 0 and 1.https://gitlab.orekit.org/orekit/orekit/-/issues/1056Add collectSpans method in TimeSpanMap2023-07-25T15:10:53ZVincent CUCCHIETTIvincent.cucchietti@csgroup.euAdd collectSpans method in TimeSpanMapHi everyone,
I made a small collectSpans method on my end which could be useful inside TimeSpanMap. The method would return a list of TimeSpanMap.Span<T>.
It is not a priority for me right now so if anyone wants to do it, you're free t...Hi everyone,
I made a small collectSpans method on my end which could be useful inside TimeSpanMap. The method would return a list of TimeSpanMap.Span<T>.
It is not a priority for me right now so if anyone wants to do it, you're free to do so (simply leave a message here saying that you're tackling this issue please :smile: ).
Cheers,
VincentVincent CUCCHIETTIvincent.cucchietti@csgroup.euVincent CUCCHIETTIvincent.cucchietti@csgroup.euhttps://gitlab.orekit.org/orekit/orekit/-/issues/1059Add Field equivalent of PropagatorBuilder2024-01-20T12:28:04ZVincent CUCCHIETTIvincent.cucchietti@csgroup.euAdd Field equivalent of PropagatorBuilderHi everyone,
Title is pretty much straightforward, it would be nice to have the "field" equivalent of ```PropagatorBuilder```.
As it is not a priority for my work right now, anyone is free to work on this issue, but please tell us so i...Hi everyone,
Title is pretty much straightforward, it would be nice to have the "field" equivalent of ```PropagatorBuilder```.
As it is not a priority for my work right now, anyone is free to work on this issue, but please tell us so in the comment below so that we are informed !
Cheers,
Vincenthttps://gitlab.orekit.org/orekit/rugged/-/issues/394add PolynomialZHomothety in LOS transforms2023-03-24T08:04:17ZJonathan Guinetadd PolynomialZHomothety in LOS transformshttps://gitlab.orekit.org/orekit/orekit/-/issues/1070Update EGM default supported names for EGM 20082023-04-06T19:16:57ZEvan WardUpdate EGM default supported names for EGM 2008The current value of `GravityFieldFactory.EGM_FILENAME` works for egm96, but not egm2008. The file for EGM 2008 is named `EGM2008_to2190_TideFree`.
See also https://earth-info.nga.mil/The current value of `GravityFieldFactory.EGM_FILENAME` works for egm96, but not egm2008. The file for EGM 2008 is named `EGM2008_to2190_TideFree`.
See also https://earth-info.nga.mil/https://gitlab.orekit.org/orekit/orekit/-/issues/1073KeplerianPropagator estimator convergence with non-Cartesian orbit2024-02-27T16:44:35ZMark RuttenKeplerianPropagator estimator convergence with non-Cartesian orbitA `BatchLSEstimator` with `KeplerianPropagator` does not converge consistently with an `Orbit` which is not `CartesianOrbit`.
More details, including an example, can be found in this [forum post](https://forum.orekit.org/t/estimation-co...A `BatchLSEstimator` with `KeplerianPropagator` does not converge consistently with an `Orbit` which is not `CartesianOrbit`.
More details, including an example, can be found in this [forum post](https://forum.orekit.org/t/estimation-convergence-differences-with-cartesian-and-equinoctial-orbits/2431).
Maxime suspects that the problem is in the calculation of the state-transition matrix.https://gitlab.orekit.org/orekit/orekit/-/issues/1074date drivers are activated without corresponding additional state at the end ...2023-04-11T14:23:19ZTheo Nguyendate drivers are activated without corresponding additional state at the end of an estimationThis issue is linked to the following topic in the forum :
https://forum.orekit.org/t/issue-with-maneuver-date-estimation-propagator/2424.
to reproduce the issue you can try to retrieve the propagator at the end of the maneuver-estimat...This issue is linked to the following topic in the forum :
https://forum.orekit.org/t/issue-with-maneuver-date-estimation-propagator/2424.
to reproduce the issue you can try to retrieve the propagator at the end of the maneuver-estimation tutorial :
```
Propagator[] estimatedPropagators = estimator.estimate();
finish(estimatedPropagators);
Orbit estimated = estimatedPropagators[0].getInitialState().getOrbit();
estimatedPropagators[0].propagate(estimated.getDate().shiftedBy(12 * 3600));
```
The following error should occur :
```
org.orekit.errors.OrekitException: unknown additional state "org.orekit.estimation.leastsquares.BatchLSModel-derivatives"
```
turnarounds have been found on the forum.https://gitlab.orekit.org/orekit/orekit/-/issues/1075Use dateToString(TimeConverter, AbsoluteDate) for CREATION_DATE2023-09-17T09:40:56ZEvan WardUse dateToString(TimeConverter, AbsoluteDate) for CREATION_DATEAs a developer, I would like to have the time scale available when formatting a date so I can use `date.toString(timeScale, fractionDigits)`.
In `AbstractMessageWriter` the time scale is not passed to the generator. It could instead use...As a developer, I would like to have the time scale available when formatting a date so I can use `date.toString(timeScale, fractionDigits)`.
In `AbstractMessageWriter` the time scale is not passed to the generator. It could instead use `dateToString(new TimeConverter(utc, null), creationDate)`.https://gitlab.orekit.org/orekit/orekit/-/issues/1076Combination of GNSS measurements2023-04-21T13:12:26ZMiyuCombination of GNSS measurementsThere are some bugs in the calculation of the combination of GNSS measurements. Details are discussed in this [forum post](https://forum.orekit.org/t/question-about-combination-of-gnss-measurements/2429/6).
Also, for the `AbstractSingle...There are some bugs in the calculation of the combination of GNSS measurements. Details are discussed in this [forum post](https://forum.orekit.org/t/question-about-combination-of-gnss-measurements/2429/6).
Also, for the `AbstractSingleFrequencyCombination.combine(phase, pseudoRange)` method, the CombinationType of the return value is fixed to `PHASE_MINUS_CODE`.
```
// Combined observation data
return new CombinedObservationData(CombinationType.PHASE_MINUS_CODE, MeasurementType.COMBINED_RANGE_PHASE,
combinedValue, f, Arrays.asList(phase, pseudoRange));
```
Shouldn't the CombinationType of the attribute of that class be set?https://gitlab.orekit.org/orekit/orekit/-/issues/1082Orekit unable to read an OPM file generated by itself2024-01-17T21:04:05ZBryan CazabonneOrekit unable to read an OPM file generated by itselfThe attached OPM file has been generated using Orekit:
```
OpmWriter opmWriter = new OpmWriter(IERSConventions.IERS_2010, DataContext.getDefault(), orbit.getDate());
Generator generator = new KvnGenerator(getStringBuffer(), 17, buildBas...The attached OPM file has been generated using Orekit:
```
OpmWriter opmWriter = new OpmWriter(IERSConventions.IERS_2010, DataContext.getDefault(), orbit.getDate());
Generator generator = new KvnGenerator(getStringBuffer(), 17, buildBasename(), 5);
```
However, Orekit is not able to read its generated OPM file.
The problem is that the units are next to the last digit without a space between both. A fix is to increase the value of `unitsColumn` parameter. But, the main issue is that this file has been generated by Orekit without any error. So, we can expect that Orekit can read it.
Several fix are possible:
- Fix the parsing to support the case where there is no space between the value or the unit
- Fix the writing to automatically add a space between the value and the unit in case the user initialized a too small `unitsColumn` value.https://gitlab.orekit.org/orekit/orekit/-/issues/1084Parser for Spacetrack.org SP ephemeris2023-10-31T19:38:47ZbobbyfrasierParser for Spacetrack.org SP ephemerisAs explained [on the forum](https://forum.orekit.org/t/on-the-use-of-the-18sds-s-sp-ephemerides/2408/1), I'm implementing a parser for the SP ephemeris.As explained [on the forum](https://forum.orekit.org/t/on-the-use-of-the-18sds-s-sp-ephemerides/2408/1), I'm implementing a parser for the SP ephemeris.https://gitlab.orekit.org/orekit/orekit/-/issues/1085NaNs in propagation of Keplerian motion with Cartesian coordinates and comple...2023-06-30T12:49:49ZRomain SerraNaNs in propagation of Keplerian motion with Cartesian coordinates and complex numbersIn `shiftPVElliptic` of `FieldCartesianOrbit`, using `ComplexField` with a circular orbit leads to NaN. In particular, any initial position like (X, 0,0) and velocity (0,sqrt(mu/X),0) will cause it. They appear in the `arctan2`.
This hap...In `shiftPVElliptic` of `FieldCartesianOrbit`, using `ComplexField` with a circular orbit leads to NaN. In particular, any initial position like (X, 0,0) and velocity (0,sqrt(mu/X),0) will cause it. They appear in the `arctan2`.
This happens at least if the initial imaginary parts are zeros, have not checked other cases. It is a regression because it doesn't happen when using the old version before Orekit 11.3.