NaN on mu when using RangeRateTroposphericDelayModifier
Hi all,
I was using the RangeRateTroposphericDelayModifier
and encounter a NaN. I attached some code to reproduce the error. Place ReproduceMuNanIssue.java
inside the org.orekit
test package and it should run.
Analysis:
BaseRangeRateTroposphericDelayModifier.rangeRateErrorTroposphericModel
tries to do a shiftedBy
on a FieldSpacecraftState state
. The FieldSpacecraftState.shiftedBy
internally does a shiftedBy
on its FieldOrbit orbit
member variable, but mu
inside orbit
is NaN.
It seems that ModifierGradientConverter
created the FieldSpacecraftState
. In my case, ModifierGradientConverter
took a SpacecraftState
which did not have mu
specified (since it's based on absPva
). It then creates a FieldSpacecraftState
with FieldOrbit
with mu
= NaN.
I assume this is not supposed to happen. Possibly the constructor of FieldSpacecraftState
could be used inside ModifierGradientConverter
to resolve it? (Because the code inside ModifierGradientConverter
seems to resemble the code of FieldSpacecraftState
constructor.)
Best wishes,
David