- changed status to closed
Apogy Orbital Module Errors
Issue #78
closed
Bugs reported by William Bourque.
#!
Repo org.eclipse.symphony
File
bundles/org.eclipse.symphony.core.environment.orbit.earth.ui/src-generated/org/eclipse/symphony/core/environment/orbit/earth/ui/impl/OrbitModelWorldWindLayerImpl.java:
At line 627, we have:
long duration = Math.round(getBackwardPropagationDuration() * 1000.0);
Date startDate = new Date(getTimeSource().getTime().getTime() -
duration);
and later on at line 659:
long duration = Math.round(getForwardPropagationDuration() * 1000.0);
Date startDate = getTimeSource().getTime();
Date endDate = new Date(getTimeSource().getTime().getTime() +
duration);
Here, "getTimeSource()" is the "StartTime" of a <BrowseableTimeSource> I
defined in the UI.
Note that the "<BrowseableTimeSource>" UI has 2 value : "startTime" and
"Time". I set both to the same value (current time).
I try but I could not locate where "getBackwardPropagationDuration()"
and "getForwardPropagationDuration()" come from.
After substracting/adding the duration, "startDate" and "endDate" are
always equal to "startDate - 12hours" and "endDate + 12hours".
Which is rather weird because I never set any 24 hours duration in the UI.
Maybe it is present in the TLE format (i'm using some TLE found on the
Web as Orbit propagation) but even then it should be used since the "TLE
Earth Orbit Propagator" of Symphony has fields "Valid from Date" and
"Valid To Date". I would expect those fields to be used instead of any
predefined TLE-encoded value.
Which bring me to the actual issue this cause... whenever Symphony try
to do the Orbit propagation, it fails and I see this in the console:
!ENTRY org.eclipse.symphony.core.environment.orbit.earth 4 0 2016-02-04
16:17:22.307
java.lang.Exception: Start date is outside the validity range !
at
org.eclipse.symphony.core.environment.orbit.earth.impl.EarthOrbitPropagatorImpl.getSpacecraftStates(EarthOrbitPropagatorImpl.java:102)
at
org.eclipse.symphony.core.environment.orbit.earth.ui.impl.OrbitModelWorldWindLayerImpl$1.run(OrbitModelWorldWindLayerImpl.java:630)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
log4j:WARN No appenders could be found for logger
(org.eclipse.xtext.ui.internal.Activator).
log4j:WARN Please initialize the log4j system properly.
By adding debug print, I can see that Symphony fails because it compares
"startDate - 12hours" against the "Valid From Date" I have "TLE Earth
Orbit Propagator" UI.
So clearly, the "duration" is missplaced and shouldn't be used there.
I tried to set the (line 627) duration to 0 and it fixes my bug : I can
now do the orbit propagation just fine.
However, it seems it has a fixed endDate of startDate + 12hours.
Comments (1)
-
reporter - Log in to comment
Propagator meta-models were refactored. Validity ranges were fixed. However, it is still possible presence of malformed remaining errors while you propagate beyond the validity range. We'll ensure we catch and report these errors properly to the end-user.