Description
Determines the entry time, exit time, and duration of a Spacecraft's pass through the Moon's shadow.
The shadow times are determined using a conical shadow. The three regions of the Moon's shadow are shown in the diagram below. MoonShadowTimes reports events when the Spacecraft is in the any portion of the Moon's shadow.
 The three regions of the Moon's shadow.
Note: This method uses a spherical model for the Moon. Use the options available in the VisibilityCalculator to exercise more control over the analysis.
Timing Precision Mode
This page describes functionality in millisecond timing precision mode. Millisecond timing precision mode is deprecated and will be removed in a future release. We recommend that you migrate your Mission Plans to nanosecond timing precision mode.
Click here to see the documentation for this object in nanosecond timing precision mode.
Note: This is an interval method. See the Interval Methods page for more information.
Note: This method has a state. See the Methods and Properties with State page for more information.
Method Signature
Spacecraft.MoonShadowTimes(
|
Array EventTime,
|
|
Array EventType)
|
Arguments
EventTime
|
|
Description:
|
The time that the event occurred.
The FF_Preferences.IntervalEventReportingBehavior property controls whether the start of propagation is reported as an event. By default, if the time in shadow starts before the beginning of the propagation span, FreeFlyer will label the start of the propagation as the start of the time in shadow.
|
EventType
|
|
Description:
|
The type of the event that occurred. Event type == 1 is entry into annular shadow. Event type == 2 is exit from annular shadow. Event type == 101 is entry into umbral shadow. Event type == 102 is exit from umbral shadow. Event type == 201 is entry into penumbral shadow. Event type == 202 is exit from penumbral shadow.
|
Return Value
Returns the number of elements filled into EventType and EventTime arrays.
Syntax
myVariable1 = mySpacecraft1.MoonShadowTimes(myArray1, myArray2);
|
This example demonstrates how to generate a report of a Spacecraft's passes through the Moon's shadow. An output of 0 indicates that no passes were recorded, if more than one pass is recorded during one step of the Spacecraft, all events during the step are included in the EventTime and EventType Arrays.
Spacecraft Spacecraft1;
Array EventTime;
Array EventType;
String ScEventTime;
Variable ScEventType;
// Configure Spacecraft Orbit
Spacecraft1.CentralBody = "Moon";
Spacecraft1.A = 5000;
Spacecraft1.E = 0;
Spacecraft1.I = 10;
While (Spacecraft1.ElapsedDays < 1);
If (Spacecraft1.MoonShadowTimes(EventTime, EventType) > 0) then;
ScEventTime = EventTime[0].EpochFormat();
ScEventType = EventType[0];
Report ScEventTime, ScEventType to "Spacecraft_MoonShadowTimesArray.txt";
End;
Step Spacecraft1;
End;
|
Output:
|
See also
Spacecraft Object
Spacecraft.MoonShadowTimes
Spacecraft Propagation Guide
Coverage and Contact Analysis Guide
|