Keywords | Initial Guess Formats

Initial Guess File Format (*.nod)

An initial guess file is an ASCII text file formatted for compatibility with STK that ends in a .nod extension. Initial guess files are used for providing an initial approximation to an Astrogator Optimal Finite Maneuver segment as a part of STK's Astrogator capability. Such an initial guess is then iteratively adjusted by a numerical optimizer in an attempt to converge to a locally optimal solution. The initial-guess content of a *.nod file comprises a time-ordered sequence of the vehicle’s position and velocity, its mass, and the thrust attitude. An initial guess file allows the specification of the thrust attitude in either i) a spherical-angle-pair format, or ii) a direction-cosine or unit vector format.

Keywords

Each initial guess file contains some common elements called keywords. Keywords and their associated values must precede the specification of the actual initial guess data points.

The keywords used in initial guess files are not case-sensitive, and do not have to conform to the case scheme utilized here.

Keyword Required Description
stk.v.<major release number>.<minor release number> Yes

The version of STK software for which the file is formatted to be used. Files can be created in and imported to STK software versions consistent with the file version stamp or higher. The version stamp must be the first line in the initial guess file.

Example: stk.v.11.5

BEGIN CollocationNodes

END CollocationNodes

Yes Sets off the beginning and end of the initial guess data, including all other keyword phrases and data point specification (except the version stamp). Refer to any of the sample files included in the Initial Guess Format section for examples.
ScenarioEpoch Yes

The reference epoch time for the time values of the initial guess data in the file. Specify the scenario epoch using Gregorian UTC time (dd mmm yyyy hh:mm:ss.s). The scenario epoch specified in the initial guess file must match the actual scenario epoch of your STK scenario.

Example: ScenarioEpoch 1 Jan 2003 00:00:00.0

In this case, a time of 5.5 for a particular initial guess data point would correspond to a time of 1 Jan 2003 00:00:05.5. Default is the actual scenario epoch in the STK scenario.

CentralBody Yes

The central body to which the initial guess points are relative. The keyword value that completes the phrase can be the name of any registered central body. Registered central bodies can be found in the STKData\CentralBodies directory.

Example: CentralBody Earth

CoordinateSystem Yes

The coordinate system in which the position and velocity points are defined. Normally, the coordinate system is the name of a valid coordinate system for the central body specified above (see Central Body Coordinate Systems). Typically, each central body supports Fixed, J2000, ICRF, Inertial, TrueOfDate, and MeanOfDate though certain bodies support additional systems. If your dynamical states are not in one of STK's predefined coordinate systems, you must define a new coordinate system using the Vector Geometry Tool (VGT). You may then specify the name of your new coordinate system and the name of the STK object to which it corresponds using the Custom coordinate system.

Example: CoordinateSystem ICRF

CoordinateSystemEpoch No

The epoch time for the coordinate system in Gregorian UTC time (dd mmm yyyy hh:mm:ss.s).

Example: CoordinateSystemEpoch 1 Jun 2003 12:00:00.0

DistanceUnit No

Set the distance unit to be used for all distance measurements in the initial guess file. By default, STK assumes that all distance measurements are in meters and velocities are in meters/second. This may be overridden by setting the distance unit to be any valid STK distance unit.

To see a list of all available units of measure, open the Units page of the Scenario's Basic properties by double-clicking the scenario in the Object Browser and selecting the Units page.

Default for velocity is meters per second.

Default for the ephemeris table is meters.

Example: DistanceUnit Kilometer

TimeFormat No

Specifies a keyword defining the date format of time tags. If set, each line of data in the file begins with a time in the specific date format followed by the rest of the data. Spaces are valid whenever the format admits them (e.g., 1 Jan 2007 12:00:00.000). Quotes around time strings are invalid.

The TimeFormat keyword is the time format abbreviation; e.g., EpSec for Epoch Seconds or JDate for Julian Date. For time format abbreviations, see DateTime Formats.

Examples:TimeFormat DD/MM/YYYY TimeFormat EpSec

The default TimeFormat is EpSec.

ThrustAxes Yes

The axes in which the thrust attitude is defined, either in spherical or Cartesian form (direction cosines).

Examples: AWB LVLH AWB ICR

ThrustAxesEpoch No

The epoch time for the ThrustAxes in Gregorian UTC time (dd mmm yyyy hh:mm:ss.s).

Example:ThrustAxesEpoch 1 Jun 2018 12:00:00.0

NodalTimesType Yes

Describes the time instants at which the initial guess data are sampled. Options are:

  • Ephemeris
  • LegendreGaussLobatto

Ephemeris NodalTimesType applies to initial guess data sampled at generic instants, for example, those obtained from a numerical propagation. LegendreGaussLobatto NodalTimesType applies to initial guess provided at precisely the collocation points.

If an initial guess is generated externally to STK, NodalTimesType would most likely be set to Ephemeris. If, on the other hand, an Astrogator Optimal Finite Maneuver solution is exported from the Steering/Nodes tab, then the resulting .nod file shall have its NodalTimesType automatically set to LegendreGaussLobatto.

Initial Guess Formats

Depending upon the mode of specification of the thrust attitude, initial guess data may be provided in one of two supported formats, as described below. The format keyword must be included in the file on its own line, after the header keywords and before the actual data point array.

  • TimePosVelMassRaDec
  • TimePosVelMassDirCos

The following conventions must be observed when specifying data points:

  • Each line contains only one data point.
  • The values on each line must be separated by at least one space.
  • The lines must be listed in ascending order in time but do not have to be evenly spaced in time.
  • There cannot be multiple points at the same time.

TimePosVelMassRaDec Format

The TimePosVelMassRaDec format is designed to import a state-control initial guess in the form of time, Cartesian position and velocity, mass, and thrust pointing angles. The Cartesian states are interpreted using the CentralBody, CoodinateSystem and CoordinateSystemEpoch keywords. The thrust attitude, expressed in terms of the azimuth (right ascension) and elevation (declination) angles in degrees, are interpreted using the ThrustAxes and ThrustAxesEpoch keywords.

Individual data points following the TimePosVelMassRaDec keyword look like this:

<TimeInSeconds> <X> <Y> <Z> <xDot> <yDot> <zDot> <Mass> <Ra> <Dec>

where

<TimeInSeconds> The time value of the point in seconds (in the format xxxx.xxx) relative to the epoch as defined by the ScenarioEpoch keyword.
<X> <Y> <Z> The vehicle position.
<xDot> <yDot> <zDot> The vehicle velocity.
<Mass> The vehicle mass in Kilograms.
<Ra> <Dec> The thrust attitude spherical angles in degrees.

By default, position values are in meters. Use the DistanceUnit keyword to change units of measure.

A .nod file with a rather rough initial guess for a minimum-time, heliocentric transfer from a 1AU circular orbit to a 1.5254 AU circular orbit (approximately Earth orbit to Mars orbit) with thrust attitude angles specified in the vehicle LVLH frame would look like this sample file.

TimePosVelMassDirCos Format

The TimePosVelMassDirCos format is designed to import a state-control initial guess in the form of time, Cartesian position and velocity, mass, and thrust vector direction cosines. The Cartesian states are interpreted using the CentralBody, CoodinateSystem and CoordinateSystemEpoch keywords. The thrust attitude, expressed in terms of unit vectors or direction cosines, are interpreted using the ThrustAxes and ThrustAxesEpoch keywords.

Individual data points following the TimePosVelMassDirCos keyword look like this:

<TimeInSeconds> <X> <Y> <Z> <xDot> <yDot> <zDot> <Mass> <DirCosX> < DirCosY> <DirCosZ>

where

<TimeInSeconds> The time value of the point in seconds (in the format xxxx.xxx) relative to the epoch as defined by the ScenarioEpoch keyword.
<X> <Y> <Z> The vehicle position.
<xDot> <yDot> <zDot> The vehicle velocity.
<Mass> The vehicle mass in Kilograms.
<DirCosX> < DirCosY> <DirCosZ> The unit vectors expressing the thrust attitude.

By default, position values are in meters. Use the DistanceUnit keyword to change units of measure.

A .nod file with a rather rough initial guess for a minimum-time, heliocentric transfer from a 1AU circular orbit to a 1.5254 AU circular orbit (approximately Earth orbit to Mars orbit) with thrust unit vectors are specified in the vehicle LVLH frame would look like this sample file.