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

Re: [Orekit Users] Issue with EventState/Propagator/Elevation Detector - HELP!!



Hi Jim,

Welcome to Orekit. 

On Mon, 2017-05-01 at 18:36 +0200, schatzman-james@n-ask.com wrote:
The ElevationDetector mechanism discussed in the tutorial

https://www.orekit.org/static/tutorial/propagation.html

works fine for me, except for one thing. When I add multiple
ElevationDetectors (wth different station locations and different
EventHandlers) to the (Keplerian) propagator, the callbacks to eventOccurred
in the EventHandler get mixed up. What I mean is that

1) Generally, the EventHandler associated with a given station location is
called. GOOD

2) Sometimes, the EventHandler associated with the wrong station is called.
For example, I set a threshold elevation of +10 degrees and most often the
EventHandlers are called when the elevation is just about exactly +10, but
sometimes an EventHandler is called when the elevation is -60 degrees to -30
degrees. E.g., Station A is at +10 but the EventHandler for Station B is
called. BAD

That is certainly a problem. Can you provide a short program that demonstrates the error, or better yet a failing JUnit test case? This will help us to understand exactly what is happening. What version of Orekit and Hipparchus are you using?

Tracing through the call stack...

Propagator.acceptStep  calls

EventState.doEvent  calls

AbstractDetector.eventOccurred  calls

EventHandler.eventOccurred

but it is the wrong detector (and wrong EventHandler).

The EventState is a bit complicated and I don't really understand how this is
supposed to work. What I want to be able to do is to propagate the orbit ONCE,
flagging elevation events for ALL GROUND STATIONS. But obviously the code
needs to know which stations trigger which events, and that it currently
getting mixed up.

Your use case is certainly supported and one that users have had success with. If there is a problem with the code then it is certainly a bug that we would like to fix. 

Best Regards,
Evan

Any suggestions?

Thanks!

Jim