Restart

To provide for situations in which a filter or simulator run may be interrupted, the restart options in the following table are available.

See also the Process Control topic regarding the effect of different settings of the MeasurementProcessingMode attribute on the filter's processing of measurements at or near the restart time.

Restart Options
Option Description
SaveRecordsToFile If set to true (the default), ODTK will write the restart records to the restart file.

If false, the restart file will:
  • not be created if in Initial mode.
  • not be modified if in Restart or Autorestart mode.
MaxRecordsInFile Enter an integer specifying the maximum number of restart points to be included in the restart time list.
SaveFrequency Enter a time value specifying the interval between restart points in the restart time list.

Restart filenames are unique for restart times at intervals of 0.001 seconds or larger . Attempting to create restart files for times less than 0.001 seconds apart will result in overwriting of restart files.

BackupRestartRecords When set to false, ODTK will not copy the restart directory when starting or restarting a filter or simulator.
StochasticModelUpdates Set the Source attribute to "Explicit" to display the GaussMarkovList, RandomWalkList, and VasicekList attributes. You can update these lists to provide changes to the stochastic definitions of estimated parameters or their nominal values. Set the Source attribute to "ObjectSettings" to have the restart operation detect and apply updated stochastic model definitions directly from object settings.

This flag does not apply to the Vasicek model long-term mean uncertainty controls "Error Threshold" and "PNStep" since these controls do not cause a state reset (i.e., drop or add) when modified. ODTK updates these controls on restart whenever you change them in the Object Settings, regardless of the setting of this flag.

ClockUpdates Set the Enabled attribute to true to display the ClockList attribute.
OnStateSizeChange.
StateReductionMethod
(Filter only)
SimpleTruncation - The covariance of the reduced state is simply the extracted covariance of the state on the Restart file.
SatelliteMassUpdates Set the Enabled attribute to true to display the SatelliteMassList attribute.
OnStateSizeChange.
IfCovGoesNegative
(Filter only)

Action options are:

  • Prompt User (default) displays a message box that prompts you either to abort the run or to continue after applying diagonal deweighting.
  • Abort causes the run to abort without prompting.
  • ApplyDiagonalDeweighting applies the deweighting without prompting.

Use the PercentSigmaDeweighting attribute to enter the percentage diagonal weighting to be applied.

ResetGNSSUTCSteering When set to true, ODTK will reset, at the Restart time, the "GNSS UTC" time steering bias and drift and controls (if any exist) to the values specified in the GNSSConstellation.GNSSUTCTimeSteering list.

When you save a scenario with the StartMode set to AutoRestart and later load that scenario, it will automatically select the last restart point available. This way you can load a scenario, click the play button, and pick up exactly where you left off without having to choose a restart time.

ConstantBiasResetList

The ConstantBiasResetList property provides a list of stochastic model state parameters for which you can reset the associated constant bias term without updating the associated state error covariance. Any parameter modeled using the single parameter GaussMarkov model, the Random Walk model, or Vasicek model is a choice in this list.

Click to the right of the ConstantBiasResetList attribute to display a List dialog that enables you to add and remove any or all of the state parameters that are listed. Tables below provide descriptions of the candidate state parameters in the GausMarkovList, RandomWalkList, and VasicekList. The state parameter entry is a string of the form <ObjectName>.<StateName>, where the <ObjectName> choices are described below by the GaussMarkovList.ObjectName entry and the <StateName> choices are described by the GaussMarkovList.StatetName entry. Example ConstantBiasResetList entries are TrackingSystem1.Facility1.Range, Satellite1.BallisticCoefficient.B, Satellite1.SolarPressure.Cp, and Satellite1.Transponder1.TransponerBias.

For the parameters in the list, ODTK resets the associated constant bias value by zeroing the current filter state error estimate and adding the error into the constant value. Unlike modifying the constant bias using the GaussMarkov, Random Walk, or Vasicek lists below, ODTK will not "reinitialize" the filter state using a state drop and add procedure. However, the FIS smoother and VLS state change processing is unchanged. For the Vasicek parameter, it is the bias error estimate in the "long-term state" that ODTK sets to zero, with the "short-term" error estimate adjusted accordingly.

GaussMarkovList

This is a fixed list. Each row contains data for a Restart File Gauss Markov state. The Gauss Markov states include the force model state parameters for Satellite Ballistic Coefficient, Satellite Atmospheric Density, and Satellite Solar Pressure. Finite Maneuver states are not included. The list also includes measurement modeling parameters, such as Transponder Biases, Facility Measurement Biases, Satellite Measurement Biases, and RetroreflectorDelays, that ODTK models as Gauss Markov sequences. The list contains some informational only (read-only) attributes, and some attributes which you can modify. Included are:

In ODTK version 6.1, the StateName for the spherical SRP model changed from "Scale" to "Cp".

GaussMarkovList Attributes
Attribute Read Only? Description
ObjectName yes State object name, e.g., Satellite1, Satellite1.Transponder, Facility1, etc.
StateName yes State descriptor = AtmosphericDensity | BallisticCoefficient.B | SolarPressure.Cp | SolarPressure2.Scale | SolarPressure2.Y Bias | TransponderBias | Range | Doppler | Azimuth | Elevation | TroposphereBias, etc.
BiasUnits yes Displayed units for the Gauss Markov bias parameters
ConstantBias no Constant (or "nominal") bias
StateBiasError yes Current state bias error estimate
TotalBias yes Current bias estimate = ConstantBias + StateBiasError
StateBiasErrorSigma yes Current state bias estimate error root variance
BiasSigma no Gauss Markov Bias Sigma (i.e., the uncertainty in the nominal bias)
HalfLife no State Bias error half-life in time units

RandomWalkList

This is a fixed list. Each row contains data for a Restart File RandomWalk state. The RandomWalk states include measurement modeling parameters, such as Transponder Biases, Facility Measurement Biases, Satellite Measurement Biases, and RetroreflectorDelays, that ODTK models as RandomWalk stochastic sequences . The list contains some informational only (read-only) attributes, and some attributes which you can modify. Included are:

RandomWalkList Attributes
Attribute Read Only? Description
ObjectName yes State object name, e.g., Satellite1, Satellite1.Transponder, Facility1, etc.
StateName yes State descriptor
BiasUnits yes Displayed units for the Random Walk bias parameters
ConstantBias no Constant (or "nominal") bias
StateBiasError yes Current state bias error estimate
TotalBias yes Current bias estimate = ConstantBias + StateBiasError
StateBiasErrorSigma yes Current state bias estimate error root variance
InitialBiasSigma no Initial Bias Sigma (i.e., the uncertainty in the constant bias)
DiffusionCoefficient no Determines the amount of process noise to be added to the state covariance during time updates

VasicekList

This is a fixed list. Each row contains data for a Restart File Vasicek state. The Vasicek states includes measurement modeling parameters, such as Transponder Biases, Facility Measurement Biases, Satellite Measurement Biases, and RetroreflectorDelays, that ODTK models as Vasicek stochastic sequences . The list contains some informational only (read-only) attributes, and some attributes which you can modify. Included are:

VasicekList Attributes
Attribute Read Only? Description
ObjectName yes State object name, e.g., Satellite1, Satellite1.Transponder, Facility1, etc.
StateName yes State descriptor
BiasUnits yes Displayed units for the Vasicek bias parameters
ConstantBias no Constant (or "nominal") bias
StateBiasError yes Current state bias error estimate
TotalBias yes Current bias estimate = ConstantBias + StateBiasError
StateBiasErrorSigma yes Current state error root variance associated with the "TotalBias" estimate
HalfLife no Vasicek (short-term) bias sigma half-life
StateLongTermMeanError yes Current state error estimate of the long term mean, i.e., this is the current error estimate of "ConstantBias"
StateLongTermMeanErrorSigma yes Current state error root variance associated with "StateLongTermMeanError"
LongTermMeanErrorSigma no Vasicek model Long Term Sigma (i.e., the inital error estimate of "ConstantBias")

Notes about the previous lists

  1. The values displayed correspond to the Restart record currently displayed. If the Restart record changes, then the list changes. ODTK only applies the last list displayed.
  2. ODTK does not apply the lists to the Restart file until you select the Go action (and the Filter or Simulator reaches the point where the Restart file is processed).
  3. After applying each list, ODTK clears the list and resets the Restart.StochasticModelUpdates.Enabled flag to false.
  4. For the GaussMarkovList, changing ConstantBias, BiasSigma, or HalfLife will reinitialize that Filter or Simulator state. In other words, ODTK will set the state bias error estimate to zero, the state bias estimate error variance to BiasSigma2, and the cross-correlations between this state and the other states to zero. This is effectively a Filter or Simulator state deletion and addition, deleting the existing state and then adding a new state. This is similarly true for the RandomWalkList and the VasicekList.
  5. Changing the ConstantBias, BiasSigma, or HalfLife for one state in an n-state model will reinitialize all n-states in the Filter or Simulator. For example, changing SolarPressure2.Scale will reinitialize both SolarPressure2.Scale and SolarPressure2.YBias.
  6. To change the Stochastic Model Type (e.g., from GaussMarkov to Vasicek), you must change the model type in the "original" object properties. For example, to change the range bias model type for a facility, change the range bias model type in that facility's MeasurementStatistics List and update the parameters for that model accordingly. ODTK treats this change as a state deletion and addition.
  7. If you change the stochastic model parameters or the Constant value of a state variable in the GaussMarkovList, RandomWalkList, or VasicekList during Restart, then ODTK changes the corresponding object properties (e.g., tracker MeasurementStatistics, satellite ForceModel parameters, transponder bias) to match the Restart state values when you run the Filter or Simulator in Restart or AutoRestart mode. You must save the scenario to preserve the object properties settings and restart file settings; failure to do so will result in modeling errors in subsequent runs. ODTK does not save the modified values of the stochastic model parameters or the Constant value of a state variable in the GaussMarkovList, RandomWalkList, or VasicekList during a scenario save operation if you perform the save operation prior to running the Filter or Simulator.

Bias units

You should convert biases into the required units before attempting to modify the GaussMarkovList. The required units are:

  • Ballistic Coefficient: m^2/kg
  • Solar Pressure: unitless
  • Atmospheric Density: unitless
  • Transponder Bias: nanosec
  • Range: m
  • Doppler: cm/s
  • Azimuth: deg
  • Elevation: deg
  • Right Ascension: arcsec
  • Declination: arcsec

ClockList

This is a fixed list. Each row contains data for a Restart File Clock state, where the state can consist of {phase, frequency} or {phase, frequency, aging}. The Clock state data includes the current state estimates and state estimate error root variances, as well as clock process noise parameters. The list contains some informational only (read-only) attributes, and some attributes that you can modify. Included are:

ClockList Attributes
Attribute Read Only? Description
ObjectName yes Full name of the GNSS Receiver or GNSS Satellite Object associated with this clock state, e.g., TrackingSystem1.Facility1.GNSSReceiver1, Satellite1.GNSSReceiver1, GNSS.PRN01, etc.
PhaseEstimate no Clock phase error estimate
FreqEstimate no Clock frequency error estimate
AgingEstimate no Clock aging estimate
PhaseSigma yes Clock phase estimate error root variance
FreqSigma yes Clock frequency estimate error root variance
AgingSigma yes Clock aging estimate error root variance
A0 yes Frequency-modulated (FM) clock white noise statistic
Aminus1 yes FM clock flicker noise statistic (not modeled)
Aminus2 yes FM clock random walk statistic
AgingWN yes FM clock drift statistic

Notes about ClockList

  1. The values displayed correspond to the Restart record currently displayed. If the Restart record changes, then the list changes. ODTK only applies the last list displayed.
  2. ODTK does not apply the lists to the Restart file until you select the Go action (and the Filter or Simulator reaches the point where the Restart file is processed).
  3. After applying each list, ODTK clears the list and resets the Restart.ClockUpdates.Enabled flag to false.
  4. Changing either the phase, frequency, or aging state estimate or state sigma will reinitialize the states for that Filter or Simulator clock. In other words, ODTK will set the state estimates and sigmas estimate to the input values given in the ClockList and set the cross-correlations between these states and the other states to zero. This is effectively a Filter or Simulator state deletion and addition, deleting the existing clock states and then adding a new state.
  5. You cannot use the ClockList to add or delete "aging" as part of the clock state. That is, if "aging" is not a clock state, then the AgingSigma will be zero and you cannot change the AgingSigma to a non-zero value in an effort to add "aging". Likewise if "aging" is a clock state, you cannot set the AgingSigma to zero in an effort to delete "aging."
  6. Changing the process noise parameters (A0, Aminus1, Aminus2, or AgingWN) will not reinitialize the clock.

If you change any of the process noise parameters (A0, Aminus1, Aminus2, or AgingWN) in the ClockList during Restart, then ODTK changes the corresponding object properties (i.e., GNSS Receiver or GNSS Satellite clock process noise parameters) to match the Restart state values. You must save the scenario to preserve the object properties settings and restart file settings; failure to do so will result in modeling errors in subsequent runs.

SatelliteMassList

This is a fixed list. Each row contains data for each satellite in the Restart file. Data displayed include satellite identification data as well as the current mass estimate. The list contains some informational only (read-only) attributes, and some attributes that you can modify. Included are:

SatelliteMassList Attributes
Attribute Read-only? Description
SatelliteName yes Name of the satellite
SatelliteID yes Satellite tracking ID
Mass no Current Mass estimate on the Restart file

Notes about SatelliteMassList

  1. The values displayed correspond to the Restart record currently displayed. If the Restart record changes, then the list changes. ODTK only applies the last list displayed.
  2. ODTK does not apply the lists to the Restart file until you select the Go action (and the Filter or Simulator reaches the point where the Restart file is processed).
  3. After applying each list, ODTK clears the list and resets the Restart.SCMassUpdates.Enabled flag to false.
  4. Changing the mass will NOT change the current estimates for states related to the mass, such as drag and solar pressure. If you make an unusually large change in mass, then you must manually adjust SRP and drag coefficients. Failure to make a consistent change can lead to degraded results.
  5. Changing the mass value will NOT change the initial mass setting in the Satellite object properties.
  6. In manual restart mode, after applying a new Restart Time, you could populate the list with correct values from the corresponding restart record. Toggling and applying the Restart.Satellite.MassUpdates.Enabled flag first to False and then to True also causes ODTK to reload the list from the restart record.