Some new errors with DSST

Hi everyone,

I’ve recently encountered some exceptions with the DSST in mean propagation mode that I had never seen before and they are not in the known issues either. FYI, I’m using Orekit 11.3.2.
I’m posting the trace here in case somebody has also come across them or wants to investigate (@bcazabonne ? :stuck_out_tongue_winking_eye:).
Not sure yet what kind of conditions cause this, I would need to do some digging.

Error 1:

java.lang.ArrayIndexOutOfBoundsException: Index -1 out of bounds for length 4
	at org.orekit.propagation.semianalytical.dsst.utilities.hansen.HansenTesseralLinear.getValue(HansenTesseralLinear.java:371)
	at org.orekit.propagation.semianalytical.dsst.forces.DSSTTesseral.computeNSum(DSSTTesseral.java:873)
	at org.orekit.propagation.semianalytical.dsst.forces.DSSTTesseral.access$1100(DSSTTesseral.java:84)
	at org.orekit.propagation.semianalytical.dsst.forces.DSSTTesseral$UAnddU.<init>(DSSTTesseral.java:2380)
	at org.orekit.propagation.semianalytical.dsst.forces.DSSTTesseral.getMeanElementRate(DSSTTesseral.java:467)
	at org.orekit.propagation.semianalytical.dsst.DSSTPropagator$Main.elementRates(DSSTPropagator.java:1173)
	at org.orekit.propagation.semianalytical.dsst.DSSTPropagator$Main.computeDerivatives(DSSTPropagator.java:1152)
	at org.orekit.propagation.integration.AbstractIntegratedPropagator$ConvertedMainStateEquations.computeDerivatives(AbstractIntegratedPropagator.java:758)
	at org.hipparchus.ode.ExpandableODE.computeDerivatives(ExpandableODE.java:134)
	at org.hipparchus.ode.AbstractIntegrator.computeDerivatives(AbstractIntegrator.java:265)
	at org.hipparchus.ode.AbstractIntegrator.acceptStep(AbstractIntegrator.java:394)
	at org.hipparchus.ode.nonstiff.EmbeddedRungeKuttaIntegrator.integrate(EmbeddedRungeKuttaIntegrator.java:285)
	at org.orekit.propagation.integration.AbstractIntegratedPropagator.integrateDynamics(AbstractIntegratedPropagator.java:477)
	at org.orekit.propagation.integration.AbstractIntegratedPropagator.propagate(AbstractIntegratedPropagator.java:425)

Error 2:

java.lang.NullPointerException: Cannot invoke "org.orekit.propagation.semianalytical.dsst.utilities.hansen.HansenTesseralLinear.computeInitValues(double, double, double)" because "this.hansenObjects[rows][columns]" is null
	at org.orekit.propagation.semianalytical.dsst.forces.DSSTTesseral$HansenObjects.computeHansenObjectsInitValues(DSSTTesseral.java:2788)
	at org.orekit.propagation.semianalytical.dsst.forces.DSSTTesseral$UAnddU.<init>(DSSTTesseral.java:2377)
	at org.orekit.propagation.semianalytical.dsst.forces.DSSTTesseral.getMeanElementRate(DSSTTesseral.java:467)
	at org.orekit.propagation.semianalytical.dsst.DSSTPropagator$Main.elementRates(DSSTPropagator.java:1173)
	at org.orekit.propagation.semianalytical.dsst.DSSTPropagator$Main.computeDerivatives(DSSTPropagator.java:1152)
	at org.orekit.propagation.integration.AbstractIntegratedPropagator$ConvertedMainStateEquations.computeDerivatives(AbstractIntegratedPropagator.java:758)
	at org.hipparchus.ode.ExpandableODE.computeDerivatives(ExpandableODE.java:134)
	at org.hipparchus.ode.AbstractIntegrator.computeDerivatives(AbstractIntegrator.java:265)
	at org.hipparchus.ode.AbstractIntegrator.acceptStep(AbstractIntegrator.java:394)
	at org.hipparchus.ode.nonstiff.EmbeddedRungeKuttaIntegrator.integrate(EmbeddedRungeKuttaIntegrator.java:285)
	at org.orekit.propagation.integration.AbstractIntegratedPropagator.integrateDynamics(AbstractIntegratedPropagator.java:477)
	at org.orekit.propagation.integration.AbstractIntegratedPropagator.propagate(AbstractIntegratedPropagator.java:425)

As you can see, they seem all linked to tesseral harmonics though.

Cheers,
Romain.

Come on! There is no bug in DSST! :stuck_out_tongue:

Ok… DSST bugs are difficult to understand but DSST bugs in Hansen objects are… terrible…

Could you help me a little bit by giving me (if possible) for each case:

  • The dynamical model
  • The initial orbit (and if it is MEAN or OSCULATING)
  • The integrator configuration
  • The propagation type

Thank you!
Bryan

3 Likes

Aye aye captain.

Both initial orbit and propagation are in mean.
Integrator is DormandPrince 8.
Dynamics is 4x4 geopotential, lunisolar and SRP. There might be some ImpulseManeuver as well, I’m not sure. I know it’s not rigourous to apply them to Cartesian states obtained from the mean orbit, but osculating propagation is too costly in this context.
The initial conditions are GEO-like let’s say.

Btw, error 1 seems to be the most frequent, I’ve only seen error 2 once.

Cheers,
Romain.

I hope the fix will be the same as Crash during DSST propagation with osculating parameters and 3rd body perturbations (#1029) · Issues · Orekit / Orekit · GitLab

(Introducing a static context for DSSTTesseral)

You think? This issue seems linked to osculating propagation, unlike the present error. Anyway good luck :sweat_smile:

Romain.

I don’t think, I hope :sweat_smile:

1 Like