Using the Time Tool

STK Pro, STK Premium (Air), STK Premium (Space), or STK Enterprise
You can obtain the necessary licenses for this tutorial by contacting AGI Support at support@agi.com or 1-800-924-7244.

The results of the tutorial may vary depending on the user settings and data enabled (online operations, terrain server, dynamic Earth data, etc.). It is acceptable to have different results.

This lesson requires an internet connection and version 12.8 of the STK software or newer to complete.

Capabilities covered

This lesson covers the following capabilities of the Ansys Systems Tool Kit® (STK®) digital mission engineering software:

  • STK Pro
  • Analysis Workbench

Problem statement

Mission planners and operators need a quick way to determine the response time of a U.S. Coast Guard search and rescue mission. Distress beacons are picked up by the National Oceanic and Atmospheric Administration (NOAA) Search and Rescue Satellite Aided Tracking (SARSAT) satellite system. Once the distress call is confirmed, a rescue helicopter is dispatched to the distress beacon's location. You want to understand how long it will take for the helicopter to reach the disabled watercraft once the distress call has been received.

Solution

Use the Analysis Workbench capability's Time Tool to analyze the response time of the search and rescue mission. Add the individual steps as time-based events to the Timeline View in your analysis. From the issuing of the distress call to dispatched helicopter, each event will occur in a series, one triggering the next.

What you will learn

Upon completion of this tutorial, you will be able to:

  • Add time components to the Timeline View
  • Use the Analysis Workbench capability's Time Tool
  • Create different time components, including Time Instants, Intervals, and Interval Lists

Video guidance

Watch the following video. Then follow the steps below, which incorporate the systems and missions you work on (sample inputs provided).

Creating a new scenario

First, you must create a new STK scenario.

  1. Launch the STK application (), then build from there.
  2. Click Create a Scenario in the Welcome to STK dialog box.
  3. Enter the following in the STK: New Scenario Wizard:
  4. Option Value
    Name SAR_Response
    Location Default
    Start 15 Dec 2023 16:00:00.000 UTCG
    Stop + 1 day
  5. Click OK when you finish.
  6. Click Save () when the scenario loads. The STK application creates a folder with the same name as your scenario for you.
  7. Verify the scenario name and location in the Save As dialog box.
  8. Click Save.

Save () often during this lesson!

Disabling Terrain Server

You will not use streaming terrain in your analysis, so you can turn off the Terrain Server.

  1. Right-click on SAR_Response () in the Object Browser.
  2. Select Properties ().
  3. Select the Basic - Terrain page when the Properties Browser opens.
  4. Clear the Use terrain server for analysis check box.
  5. Click OK to accept your change and to close the Properties Browser.

Setting the distress call's location

Use a Target object to pinpoint the approximate location of the distress call.

Inserting a new Target object

Create a new Target object and name it DistressLocation.

  1. Select Target () in the Insert STK Objects Tool.
  2. Select the Insert Default () method.
  3. Click Insert....
  4. Right-click on Target1 () in the Object Browser.
  5. Select Rename in the shortcut menu.
  6. Rename Target1 () DistressLocation.

Setting the geographic location of the distress call

The distress location is in the Atlantic Ocean east of New England.

  1. Open DistressLocation's () Properties ().
  2. Select the Basic - Position page when the Properties Browser opens.
  3. Set the following in the Position panel:
  4. Option Value
    Latitude 43 deg
    Longitude -70 deg
  5. Click OK to accept your changes and to close the Properties Browser.

Inserting the NOAA SARSAT satellites

NOAA weather satellites that are part of the SARSAT system detect and relay distress signals from emergency beacons to the appropriate search and rescue authorities. This tells agencies like the U.S. Coast Guard who is in trouble and where they are. Create a Constellation object with three NOAA SARSAT satellites from the Standard Object Database.

  1. Insert a Satellite () object using the From Standard Object Database () method.
  2. Enter NOAA in the Name or ID field when the Search Standard Object Data dialog box opens.
  3. Click Search.
  4. Select the following satellites in the Results list:
    • NOAA_20_JPSS-1_43013
    • NOAA_21_JPSS-2_54234
    • Noaa19_33591

    The NOAA-20 and NOAA-21 satellites (also known as JPSS-1 and JPSS-2, respectively) are part of the Joint Polar Satellite System (JPSS) and orbit the Earth from pole to pole. The NOAA-19 satellite is in a sun-synchronous orbit.

  5. Select the Create Constellation from Selected check box in the Insert Options panel.
  6. Enter NOAA_Sats in the Name field.
  7. Click Insert.
  8. Click Close to close the Search Standard Object Data dialog box once the Satellite objects are propagated.

Removing an unneeded sensor

The Noaa19_33591 satellite was imported with an attached Sensor object, which isn't used in your analysis. You can remove it from your scenario.

  1. Right-click on Noaa19_Avhrr3_Vir_FixedPt_FieldOfView () in the Object Browser.
  2. Select Delete () in the shortcut menu.
  3. Click Delete to confirm in the Delete Object dialog box.

Modeling the distress beacon's routing

A Chain object models a list of objects (individual, grouped into constellations, and satellite collections) in order of access.

Inserting a new Chain object

Create a Chain object that starts at DistressLocation and ends at the NOAA_Sats constellation.

  1. Insert a Chain () object using the Insert Default () method.
  2. Rename Chain1 () DistressCall.

Defining the chain's start and end objects

Start by choosing the start object and end object in your chain.

  1. Open DistressCall's () Properties ().
  2. Select the Basic - Definition page when the Properties Browser opens.
  3. Click the Start Object ellipsis ().
  4. Select DistressLocation () when the Select Object dialog box opens.
  5. Click OK to confirm your selection and to close the Select Object dialog box.
  6. Click the End Object ellipsis ().
  7. Select NOAA_Sats () in the Select Object dialog box.
  8. Click OK to confirm your selection and to close the Select Object dialog box.

Creating the Chain object's connections

After you choose the start and end objects in your chain, you need to build the chain's connections. It doesn't matter in which order you place the connections in the Connections list. What matters is the From Object must be able to access the To Object. In this simple chain, the from and to objects are your start and end objects.

  1. Click Add in the Connections panel.
  2. Click the From Object ellipsis ().
  3. Select DistressLocation () in the Select Object dialog box.
  4. Click OK to confirm your selection and to close the Select Object dialog box.
  5. Click the To Object ellipsis ().
  6. Select NOAA_Sats () in the Select Object dialog box.
  7. Click OK to confirm your selection and to close the Select Object dialog box.
  8. Click OK to accept your changes and to close the Properties Browser.

Building time components using the Time Tool

You will build time components for the mission using the Analysis Workbench capability, which comprises four application-wide tools that you can use to create custom components and insert them into your scenarios. One of these tools, the Time Tool creates time-related components. There are two basic types of time components: Time Instants and Intervals. A Time Instant is any single moment in time, such as a launch time, whereas an Interval is a period of time bounded by two time Instants, such as a launch window. In addition to those basic types, the STK application also has the following time components:

  • Interval List: A set of intervals, such as access intervals
  • Collection of Interval Lists: A group of related Interval Lists, such as lighting intervals like Direct Sun, Umbra, and Penumbra intervals
  • Time Arrays: A set of Time Instants, such as threshold crossings and acquisition Of signal times

You can use the Timeline View to visualize time instants and time intervals within your scenario. You can adjust the display and content by using the toolbar, adjusting the timeline display, and adding rows of time components. Use the Timeline View to display the Access times from the DistressLocation to NOAA_Sats.

  1. Click Add Time Components () in the Timeline View toolbar.
  2. Select DistressCall () in the objects list when the Select Timeline Component dialog box opens.
  3. Select CompleteChainAccessIntervals () in the Components for: DistressCall list.
  4. CompleteChainAccessIntervals is an Interval List, which is the set of intervals for which the chain is completed. It is computed by overlapping all the individual strand accesses of the Chain object.

  5. Click OK to close the Select Timeline Component dialog box.

Visualizing an access in the 3D Graphics window

Use the Timeline View's gray pointer and the 3D Graphics window to visualize access between the NOAA satellites and the distress location.

  1. Bring the 3D Graphics window to the front.
  2. Right-click on DistressLocation () in the Object Browser.
  3. Select Zoom To in the shortcut menu.
  4. Look at the Timeline View. You will see all the accesses between NOAA satellites in NOAA_Sats () and DistressLocation ().
  5. Place your cursor on the gray pointer () in the Timeline View.
  6. Click and drag the gray pointer to the first access interval.
  7. NOAA Satellite access

  8. Return to the 3D Graphics window.
  9. Hold down your mouse's right button and zoom out until you can see DistressLocation () and the NOAA satellite it is accessing.
  10. Distress location ACCESS to a NOAA satellite

Confirming the distress call

Due to the large number of false alarms received by the NOAA satellites, a rescue response is initiated only after a second satellite pass confirms the distress signal.

Creating a new Interval

A time Interval defines components that produce a single interval of time. Create a new Interval to capture the second satellite pass, which confirms the distress signal is being sent.

  1. Right-click on DistressCall () in the Object Browser.
  2. Select Analysis Workbench... () in the shortcut menu.
  3. Select the Time tab when the Analysis Workbench opens.
  4. Click Create new Interval () in the Time Tool toolbar.

Using the Interval From List component type

The Interval From List component type is a single interval created from an Interval List and is defined by a specified Interval List component.

  1. Keep the default Interval From List as the Type when the Add Time Component dialog box opens.
  2. Enter DistressConfirmed in the Name field.
  3. Click the Interval List ellipsis ().
  4. Select DistressCall () in the object list when the Select Reference Interval List dialog box opens.
  5. Select CompleteChainAccessIntervals () in the Interval Lists for: DistressCall list.
  6. Click OK to close the Select Reference Interval List dialog box.

Adding the second satellite pass

The distress call is confirmed by the second satellite pass. When the access displays on the Timeline View in the DistressConfirmed row, you will know that the second satellite has confirmed the distress call.

  1. Open the Interval Selection drop-down list when you return to the Add Time Component dialog box.
  2. Select Count forward from Start.
  3. Enter 2 in the Interval Number field.
  4. Click OK to close the Add Time Component dialog box.
  5. Click and drag DistressConfirmed () from the Components for: DistressCall list to the Timeline View's Time Display.
  6. Keep the Analysis Workbench open.
  7. Distress call Confirmed

Inserting the helicopter's preparation time

Once the distress signal is confirmed, it takes time to contact the rescue station and for them to prepare and dispatch a rescue helicopter.

Creating a new Time Instant

A Time Instant defines components that produce a single moment in time. Create a new Time Instant that represents a 20-minute delay to launch the rescue helicopter after the time the distress signal is confirmed.

  1. Return to the Time Tool.
  2. Select DistressCall () in the object tree.
  3. Click Create new Time Instant () in the Time Tool toolbar.
  4. Click Type: Select... when the Add Time Component dialog box opens.

Using the Fixed Time Offset component type

The Fixed Time Offset component type is a time instant offset by a fixed time relative to another time instant component.

  1. Select Fixed Time Offset () in the Select Component Type list when the Select Component Type dialog box opens.
  2. Click OK to close the Select Component Type dialog box.
  3. Enter Rescue Launch Time in the Name field when you return to the Add Time Component dialog box.
  4. Click the Reference Time Instant ellipsis ().
  5. Select DistressCall () in the object list when the Select Reference Time Instant dialog box opens.
  6. Expand () DistressConfirmed () in the Time Instants for: DistressCall list.
  7. Select Stop ().
  8. Click OK to close the Select Reference Time Instant dialog box.

Setting the rescue launch time

The rescue launch time begins 20 minutes after the distress confirmed time. Add the Rescue_Launch_Time Time Instant to the Time Display.

  1. Enter 20 min in the Time Offset field when you return to the Add Time Component dialog box.
  2. Click OK to close the Add Time Component dialog box.
  3. Click and drag Rescue_Launch_Time () from the My Components () folder to the Timeline View's Time Display.
  4. Keep the Analysis Workbench open.
  5. Rescue launch time

Creating the Coast Guard Air Station

The rescue helicopter will launch from U.S. Coast Guard Air Station Cape Cod, which is the only Coast Guard Aviation facility in the northeastern United States, and fly to the distress location.

  1. Insert a Place () object using the Insert Default () method.
  2. Rename Place1 () Coast_Guard_Air_Station_Cape_Cod_MA.
  3. Open Coast_Guard_Air_Station_Cape_Cod_MA's () Properties ().
  4. Select the Basic - Position page when the Properties Browser opens.
  5. Enter the following in the Position panel:
  6. Option Value
    Latitude 41.66541 deg
    Longitude -70.52475 deg
  7. Click OK to accept your changes and to close the Properties Browser.

Modeling the rescue helicopter's mission

The Coast Guard station operates MH-60 Jayhawk rescue helicopters. Model the rescue helicopter and its flight route.

Inserting an Aircraft object

Insert a new Aircraft object into your scenario.

  1. Insert an Aircraft () object using the Insert Default () method.
  2. Rename Aircraft1 () RescueHelicopter.

Using the Great Arc propagator

The Great Arc Propagator defines the route of an aircraft that follows a point-by-point path over the surface of the Earth at a given altitude.

  1. Open RescueHelicopter's () Properties ().
  2. Select the Basic - Route page when the Properties Browser opens.

Using a Time Instant as the Start Time

You can change the takeoff time of your helicopter by using the Rescue_Launch_Time Time Instant component you created.

  1. Open () the Start Stop drop-down menu.
  2. Select Start Time in the drop-down menu.
  3. Select Time Component... in the Start Time submenu.
  4. Select DistressCall () in the object list when the Select Time Instance dialog box opens.
  5. Select Rescue_Launch_Time () in the Time Instants for: DistressCall list.
  6. Click OK to close the Select Time Instance dialog box.
  7. Click Apply to accept you change and to keep the Properties Browser open.

Creating the helicopter's route waypoints

The helicopter will take off from the Coast Guard Base, fly north along the coast, and then turn towards the distress location.

  1. Click Insert Point to create your first waypoint.
  2. Enter the following values for waypoint one:
  3. Option Value
    Latitude 41.66541 deg
    Longitude -70.52475 deg
    Altitude 1000 ft
    Speed 160 mi/hr
  4. Click Insert Point.
  5. Enter the following values for the second waypoint:
  6. Option Value
    Latitude 42.6 deg
    Longitude -70.5 deg
    Turn Radius 500 ft
  7. Click Insert Point.
  8. Enter the following values for the third waypoint:
  9. Option Value
    Latitude 43 deg
    Longitude -70 deg
    Altitude 100 ft
    Speed 10 mi/hr
  10. Click Apply to accept your changes and to keep the Properties Browser open.

Now the helicopter, instead of launching at the start of the scenario (default), will launch 20 minutes after the confirmation of the distress call. Furthermore, since the launch time depends on the distress call intervals, if those intervals change, the launch time will automatically update.

Changing the Aircraft object's model

You will use a more realistic model for your helicopter and change its appearance in your scenario.

  1. Select the 3D Graphics - Model page.
  2. Click the Model File ellipsis () in the Model panel.
  3. Select sh-60_seahawk.glb in the File dialog box.
  4. The MH-60 Jayhawk is based on the SH-60 Seahawk helicopter.

  5. Click Open.
  6. Click Apply to accept your changes and to close the Properties Browser.

Viewing the rescue helicopter's flight route

View thee Rescue Helicopter's flight route in the 3D Graphics window.

  1. Select the Basic - Route page.
  2. Copy the time from the second waypoint.
  3. Paste the time in the Current Scenario Time field of the Animation toolbar.
  4. Select the Enter key.
  5. Click OK to close the Properties Browser.
  6. Bring the 3D Graphics window to the front.
  7. Zoom to RescueHelicopter ().
  8. Zoom out until you can see RescueHelicopter's () flight route.

Rescue helicopter flight route

Adding the helicopter's flight time

Add the Interval of the helicopter's flight to the Timeline View.

  1. Return to the Analysis Workbench.
  2. Select the Time tab.
  3. Select RescueHelicopter () in the object tree.
  4. Click and drag EphemerisTimeSpan () from the Installed Components () folder to the Timeline View.
  5. Keep the Analysis Workbench open.

Rescue Helicopter's flight time

Showing position updates

Create a new Interval List to determine when the rescue helicopter might receive updates on the position of the distress location as it approaches. Updates are received when a NOAA satellite accesses DistressLocation. This is accomplished by merging the DistressCall Complete Chain Access intervals with the RescueHelicopter's Ephemeris Time Span interval.

Creating a new Interval List

An Interval List is a time component that produces an ordered list of time intervals.

  1. Return to the Analysis Workbench.
  2. Select the Time tab.
  3. Select DistressCall () in the object list.
  4. Click Create new Interval List () in the Time Tool toolbar.

Using the Merged Interval List type

A Merged Interval List component type contains intervals merged from multiple intervals or Interval List Time Components using one of several merging operations.

  1. Click Type: Select... when the Add Time Component dialog box opens.
  2. Select Merged () in the Select Component Type list when the Select Component Type dialog box opens.
  3. Click OK to close the Select Component Type dialog box.
  4. Enter Distress Position Updates in the Name field when you return to the Add Time Component dialog box.
  5. Make sure the default AND value is showing in the Operation field.
  6. Select the first time component in the Time Components list.
  7. Click Remove.
  8. Select the second time component in the Time Components list.
  9. Click Remove.

Adding DistressCall to the Time Components list

Add DistressCall's Complete Chain Access intervals to the Time Components List.

  1. Click Add....
  2. Select DistressCall () in the object list when the Select Time Intervals dialog box opens.
  3. Select CompleteChainAccessIntervals () in the Components for: DistressCall list.
  4. Click OK to close the Select Time Intervals dialog box.

Adding RescueHelicopter's ephemeris time span to the Time Components list

Add the rescue helicopter's Ephemeris Time Span interval to the Time Components list.

  1. Click Add....
  2. Select RescueHelicopter () in the object list when the Select Time Intervals dialog box opens.
  3. Select EphemerisTimeSpan () in the Components for: RescueHelicopter list.
  4. Click OK to close the Select Time Intervals dialog box.
  5. Click OK to close the Add Time Component dialog box.

Adding the Distress Position Updates to the Timeline View

With your Merged Interval List created, add it to the Timeline View.

  1. Click and drag Distress_Position_Updates () from the My Components () folder to the Timeline View's Time Display.
  2. Click Close to close the Analysis Workbench.
  3. Distress position updates

You can see that the rescue helicopter receives an update about the distress position's location as it approaches the distress site.

Reviewing the system response time

Use the Time Display to see just how long it takes from the time the distress call is confirmed to the time that the rescue helicopter reaches the distress location. The Coast Guard aims for no greater than a two-hour total response time, calculated from the time of notification of the Coast Guard until the time of arrival on scene, including the preparation time.

  1. Right-click on DistressCall DistressConfirmed time component interval.
  2. Select Set Animation Time to Interval Stop Time in the shortcut menu.
  3. Note the time in the Animation Toolbar.
  4. Right-click on the RescueHelicopter EphemerisTimeSpan time component interval.
  5. Select Set Animation Time to Interval Stop Time in the shortcut menu.
  6. Note the time in the Animation Toolbar.

You can see then that the help arrives approximately one and a quarter hours after the Coast Guard was notified and approximately two and a half hours after the beacon was first activated.

Saving your work

Clean up your workspace and close out your scenario.

  1. Close all reports and windows except the 2D and 3D Graphics windows.
  2. Save () your work.
  3. Close the scenario when finished.

Summary

You practiced using the Timeline View and the Time tool in Analysis Workbench to interact with your scenario. You used Time components to set access constraints and from timeline intervals for your reports or graphs. You set your object behaviors and display properties with Time components and used the Timeline View to evaluate the total system response time.

On your own

In order for the rescue helicopter to receive updates on the position of the distress location as it approaches, the route needs to overlap with at least one of the Complete Chain Access intervals. You can relocate the distress location and modify the rescue helicopter's route so they overlap allowing time for the helicopter to get distress position updates. This will then display Distress_Position_Updates intervals. All the time components that you created will automatically update.