[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Orekit Users] Propagating with Threads (Error)



Hi Javier,

Don't share a Propagator between threads. I.e. make Satellite.propagator not static. Could you submit a bug to document that propagators are not thread-safe? It is currently documented for NumericalPropagator, but not TLEPropagator or Propagator. [1]

Altitude is in meters. Orekit uses m, s, rad, kg unless otherwise documented. Could you create a bug to document units there?

Patches are also welcome with the bugs if you would like to fix the issues.

Some other unsolicited advice. :) Use TLEPropagator.selectExtrapolator() instead of new SGP4(). [2] Use an ExecutorService [3] instead of Thread.

Best Regards,
Evan

[1] https://www.orekit.org/site-orekit-9.2/apidocs/org/orekit/propagation/numerical/NumericalPropagator.html
[2] https://www.orekit.org/site-orekit-9.2/apidocs/org/orekit/propagation/analytical/tle/TLEPropagator.html#selectExtrapolator-org.orekit.propagation.analytical.tle.TLE-org.orekit.attitudes.AttitudeProvider-double-
[3] https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ExecutorService.html

On Fri, 2018-06-15 at 15:22 +0200, javier.montemayor.mancias@emi.fraunhofer.de wrote:
Hi,

I'm trying to run several propagations in parallel using threads. However, I
get either a NullPointerException or an Orekit Exception "interval does not
bracket a root: f(0) = 0,01, f(60) = 0,042". I am using elevation detectors,
when I do not use them, the error does not happen.

Any ideas on how to make this right?
Here's the GitHub for the project:
https://github.com/jmontemayorm/Satellite_Orbit_Analyzer

Best regards,
Javier

P.S.: Does anybody know if the altitude argument for GeodeticPoint is in
meters or km?