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

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



You can manually call the evaluation function at the start and stop dates and check the event function value at those two points.  The sign of the function will tell you which side of the elevation threshold (over or under) you are.  The logic I would build would therefore be to run the propagation and evaluate the start and stop times.  A logic tree for the cases of always under, always over, and determining the end values would get you what you need, I think.  This is essentially what we do when we are building viewing intervals from these sorts of calculations.  

On Mon, May 1, 2017 at 10:45 PM, <schatzman-james@n-ask.com> wrote:
Thanks for your help.

Now that I straightened out my understanding of how the software works, I
fixed my original problem, but I found two difficulties:

1)  If elevation>threshold at the end of the propagation interval, then an
event is generated when the elevation rises above the threshold but not at the
end of the propagation interval. I dealt with that easily enough by looking
for an unmatched "rise" event after the propagation.

2) A harder problem occurs when the elevation is above the threshold at the
start of a propagation. Then no event is generated at the beginning nor when
then elevation falls below the threshold. There is no trace in the event
history that the satellite was ever above the elevation threshold.

3) A further complication occurs when you propagate over an interval where the
satellite is always above the elevation threshold relative to the ground
point. No events are generated.

I am thinking about how to deal with #2. Fixing that will probably also fix
#3. Looking at the code, it is not obvious to me how to do it. Simply
generating an event at the initial time if the elevation is above the
threshold is insufficient, because the internal logic suppresses any event
when the elevation falls below the threshold.

Any ideas?

Thanks!