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

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



Javier,

On Fri, 2018-06-15 at 14:31 +0000, Montemayor Mancias, Javier wrote:

Hi Evan,

 

Removing the static keyword fixed the issues, so it appears to be thread safe, should I still submit the bug?


Yes. Previously your code used one instance of Propagator for all instances of the Satellite class. Now by removing the static key word it uses one instance of Propagator for each instance of Satellite. It is safe to use separate instances of Propagator in separate threads, but not the same instance in separate threads.

 

Will submit bug for unit documentation and thanks for the additional advice!


Your welcome.

Best Regards,
Evan

 

Best regards,

Javier

 

Von: orekit-users-request@orekit.org [mailto:orekit-users-request@orekit.org] Im Auftrag von Ward, Evan
Gesendet: Freitag, 15. Juni 2018 16:21
An: orekit-users@orekit.org
Betreff: 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

 

 

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?