ODTK 6.3 Release Notes

ODTK 6.3.0 is a feature release that enhances space situational awareness (SSA) capabilities, particularly with regard to tracking unknown objects.

What's New in ODTK 6.3.0

Licensing

ODTK 6.3 features a variety of improvements and enhancements to ODTK 6.0, and thus requires a new license. Customers on current maintenance should contact AGI Technical Support to get their ODTK 6.3 license file.

Computer processing 

Users can now specify how many cores to use for performance processing.

HTML utilities

The RunSTK.htm utility now creates a constellation object for tracking systems in your ODTK scenario and populates it with the relevant facilities within an STK scenario. STK is available for free and can provide visualization of your OD system.

Filter

  • ODTK now supports performing state updates using equinoctial coordinates, which has been shown to be more accurate than using Cartesian coordinates in situations involving very sparse data or highly eccentric orbits.
  • There is now an option to automatically reduce the state space size by removing measurement bias states if they have become decorrelated from the other parameters in the state space. This allows for faster filter execution, particularly when processing measurements from a small subset of trackers within a larger tracking system.

Least Squares

  • There is a new option to control which iterations allow automatic measurement editing. This allows you to limit the editing to the first N measurements to prevent the estimator from flip-flopping back and forth while taking measurements in and out of the solution on subsequent iterations. This reduces the number of iterations required to converge to a solution.
  • A new attribute on the Least Squares object allows for the specification of the latest iteration when updated sigma editing decisions will be made. Later iterations will continue to use the same editing decisions. This option can accelerate convergence when changing editing decisions results in a moving optimization target.
  • Options for a line search or Levenberg-Marquardt algorithms have been added. These constrain the size and direction of the state updates and can lead to convergence in situations where the standard least squares algorithms do not. These are particularly useful when processing very sparse measurements.
  • Support for consider states (drag, solar radiation pressure, and measurement biases) has been added. The use of the consider states allows the user to add uncertainty into the covariance.
  • Support for performing state updates using equinoctial coordinates has been added. The use of equinoctial coordinates has been shown to be more accurate than using Cartesian coordinates in situations involving very sparse data or highly eccentric orbits.
  • When generating ephemeris for a Least Squares object, there is now an option to include covariance in the ephemeris file.
  • An option has been added to enable Least Squares to restart using the latest solution estimates when the maximum number of iterations is reached.

Force Models

  • Obsolete EOP and Flux data files that were superceded by more current formats have been removed from the DynamicEarthData directory and the Data Update Utility list. Please review the list of affected files below and the recommended files to use instead:
  • Earth Orientation Parameters

    Obsolete Files:

    • EOP.dat
    • EOP.dat.all
    • EOP_v<version number>.dat

    Recommended Files:

    • EOP_v1.1.txt (Past 5 years - Current)

    • or
    • EOP_All_v1.1.txt (1962 - Current)

    Space Weather Files

    Obsolete Files:

    • stkFluxGeoMag.5yr.fxm
    • stkFluxGeoMag.fxm
    • stkNewFluxGeoMag.5yr.fxm
    • stkNewGeoMag.fxm
    • SolFlx*Schatten.dat

    Recommended Files:

    • SpaceWeather_v1.2.txt (Past 5 years - Current)

    • or
    • SpaceWeather_All_v1.2.txt (1957 - Current)

    ODTK will still read the older files if they are present, however we strongly encourage users to switch any scenarios over to the recommended files and formats. The old files are available on our FTP site at ftp://ftp.agi.com/pub/DynamicEarthData.

  • An option is available to add off-axis process noise related to the nominal drag acceleration. Proportional process noise can be specified via in-plane (lift) and out-of-plane contributions to account for non-spherical drag effects.
  • Force model parameter estimates and associated uncertainties are now available as an output for Least Squares.
  • New lunar gravity fields derived from the results of the GRAIL mission have been added. The added fields are GL420A and GL660B, truncated to degree and order 150. These fields provide several orders of magnitude reduction in the uncertainty of the lunar gravitational potential.

Measurement data

  • Two new functions have been added that assist in programmatically setting Initial Orbit Determination (IOD) input measurements. See Functional Attributes for details on how to use these.
  • Residual editing is now available when processing GPS Navsol data.

Graphing

The graph styles used to evaluate the filter-smoother consistency test have been updated to call a new built in VBScript function to evaluate the consistency test metrics. This results in a speed-up of 30% in generating these graph styles. Users who have custom consistency test styles should update them to call the function to improve their performance.

6.3.0 Capabilities Added and Issues Resolved From the Prior Release

The following table identifies limitations and issues that have been resolved in the current release, as well as new capabilities and improvements that have been added:

For convenience, this table includes all enhancements and resolved issues believed to be significant, including some that are discussed in more detail above.

New Capabilities and Resolved Issues in ODTK 6.3.0
Tracking No. Description
47065 The legend will not appear for a graph if there are more than 20 sets/lines of data being displayed. This is a limitation in the graphing package, designed to ensure that the graph contents are still visible when many items are being displayed. Users can still determine which line belongs to what data set by placing their mouse over it and waiting for the Tool Tip to be displayed that shows the identity of the line.
63812

New registry key is now recognized by ODTK to redirect location of AllUsers directory which contains files maintained by DataUpdate utility. Below is the registry keys and default locations that used to be hardcoded in the prior versions of ODTK, but you can now override it by changing the key:

For x86 (32 bit) operating systems:


HKEY_LOCAL_MACHINE\SOFTWARE\AGI\ODTK\6.0\UserHome = "C:\Documents and Settings\All Users\Application Data\AGI\ODTK 6"

For x64 (64 bit) operating systems:


HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\AGI\ODTK\6.0\UserHome = "C:\ProgramData\AGI\ODTK 6"

Make sure new location contains DataUpdate/Settings.txt file that comes with ODTK 6 install.

65889 Exporting reports to Comma Separated Value (CSV) files sometimes output "(" instead of "-". This problem has been corrected.
71082 An option has been added to add off-axis process noise related to the nominal drag acceleration. Proportional process noise can be specified via in-plane (lift) and out-of-plane contributions to account for non-spherical drag effects.
72564 The RunSTK HTML utility now creates Constellation objects for each TrackingSystem in your ODTK scenario. The STK facilities are automatically added to the appropriate constellation object and each constellation has its facilities set to the same color.
72919 The ExportObj function was added to ODTK's scope. The ExportObj function's syntax is similar to SaveObj with the difference being that SaveObj renames the scenario and redirects internal (restart file) directories to a new location, while ExportObj does not modify the existing scenario or its paths.
73052 A correction was made when generating simulated clock phase errors. The correction fixed a problem that would more likely show up when the measurement time interval (in minutes) could not be represented exactly as a double precision number.
73075 Added CCSDS OEM v2 support to read/write optional covariance data. Note that CCSDS OEM v2 also adds optional acceleration data; support for this has not yet been added.
73124 Flux data properties set to use Ap with the KpUpdate set to 3-Hourly interpolated no longer flip to using Kp values.
73135 A numerical instability in the generation of covariance information during ephemeris prediction using the Gauss-Jackson integrator has been corrected. The instability occurred when prediction intervals were long in comparison to half-life settings for stochastic force model parameters. For example: a 3 day prediction when the solar pressure correction half-life was set to 10 minutes.
73206 A new attribute, FinalSigmaEditIteration, on the LeastSquares object allows for the specification of the latest iteration when updated sigma editing decisions will be made. Later iterations will continue to use the same editing decisions. This option can accelerate convergence when changing editing decisions result in a moving optimization target.
73207 A numerical problem which occurred when using the Gauss-Jackson integrator to generate ephemeris predictions over time periods which were long in comparison to the half-life of one or more estimated force model parameters has been corrected. The effect of the issue was improper rapid growth of the state error covariance. Propagation of the non-linear trajectory was not affected.
73343 A potential excessive slowness in least squares processing has been remedied. This particular slowness was experienced when the satellite was configured to use the Gauss-Jackson integration method for ephemeris prediction and was the result of the integrator being restarted at each propagation step.
73391 A change was made so that the Simulator output MeasurementHistory table MeasurementType field for Eph Pos/Vel measurements include the Cartesian component and coordinate system identifiers.
73396 Creating a report from the Static Product Builder and then choosing to export it to "Text" format may cause a crash. This is caused by a problem in the Crystal Reports package itself. Users are recommended to export to the Tab Separated or Comma Separated Value formats instead.
73414 The Filter.Go function was corrected to properly return a code of 'false' when a propagation error is detected during filtering.
73436 Messaging during the LS process has been improved to show the number of accepted, rejected, and skipped observations in each iteration in the message viewer.
73561 A Least Squares correction was made when using apriori orbit covariance. The orbit covariance is now moved from the state epoch time to the Least Squares epoch time prior to the Least Squares solution.
73592 A LineSearch option has been added to the LS processing to help when the normal LS corrections become so large that the solution diverges.
73697 A logic error which prevented the estimation of global density states when starting the Filter in either Restart or AutoRestart mode has been corrected. The result of the error was the dropping of the global density states upon filter restart.
73874 The return code from the Go() method on the InitialOrbitDetermination object has been corrected to indicate success only when a solution is found. The incorrect error code was restricted to the case where the Gooding Angles Only IOD method is selected.
73886 The Antenna Location product styles were updated to graph the corrections to the antenna locations rather than the total antenna location coordinates to be consistent with the terminology used in the styles.
73916 The GPSCatalog.txt file was updated to reflect the latest GPS satellite launches and decommissionings.
73937 The automatic resizing of points on a graph relative to window size has been updated to prevent having really small points that can be difficult to see.
73983 Exporting reports to a comma separated value (CSV) file was inserting a CR-LF instead of a comma. This has been corrected.
74092 A least-squares consider-states option has been added. Current choices include drag and/or solar pressure and/or measurement bias. Consider states are states that are not estimates but whose effects and uncertainty are included in LS output state error covariance.
74279 An error in least-squares error handling which caused ODTK to crash has been corrected. The mishandled error was caused by the condition where the parent satellite object had an initial covariance defined which was not positive definite. In this case, the LS process would issue an error message and stop execution. If the least-squares process was executed again, ODTK would crash.
74293 Fixed a problem in the least-squares object where it might crash when solving for additional parameters beyond the standard position and velocity.
74332 Corrected an issue where ODTK was losing some precision in the satellite state during least squares, at the least-significant digit level.
74335 When least squares is run, it will nominally skip a check of the satellite's covariance eigenvalues, unless least squares is directed to use the apriori covariance.
74398 The option to perform least squares in equinoctial elements has been added to ODTK.
74401 When generating ephemeris for a least-squares object there is now an option to include covariance in the ephemeris file.
74459 The capability to emulate estimation in equinoctial elements has been added to the Filter. This capability is provided through an augmentation to the measurement update process that results in equivalent results to estimation performed natively in equinoctial elements. The use of equinoctial elements as the orbit state representation in the Filter can lead to improved Filter accuracy and convergence behavior in cases where the satellite is in a closed orbit dominated by two body dynamics (which describes most earth orbiting objects).
74633 An option has been added to least squares to restart using the latest solution estimates when maximum iterations are reached.
74684 When you right-click on a Filter object you will now see TransferToSat, Stop, Pause, and Step Forward items. Right-clicking on the Simulator and Smoother objects will give you the Stop item. The Difference Two Runs item has been added to the Utilities menu.
74708 ODTK now writes error messages when JB2006/JB2008 atmospheric density model input files are invalid.
74721 An error in the application of a priori covariance information in least squares has been corrected. The error resulted in least squares divergence in cases where a complete position/velocity covariance was supplied. Cases where a diagonal position/velocity a priori covariance was supplied typically converged even with the error.
74733

To speedup generation of the consistency graphs we have implemented a built in C++ function to avoid calling VBscript scripting engine for each point. Here is an example usage of this function as well as equivalent VBscript code that it replaces:

result = Builtin_Diff_vs_sigma_sqr(1e-5, 'Radial Pos Diff', 'Target Radial Pos Sigma', 'Reference Radial Pos Sigma') 
Function Builtin_Diff_vs_sigma_sqr( epsilon, diff, targetSigma, referenceSigma )
Dim temp
Dim result
temp = 0
on error resume next
temp = abs(targetSigma^2 -referenceSigma ^2) 
if (temp > epsilon) then
    result = diff / sqr(temp)
else
    result = 0
end if
Builtin_Diff_vs_sigma_sqr = result
end function
74795 Unless the user overrides the default file extension, the extension for TabDelimited exports will be *.tsf. Also, an issue in which CommaSeparated report exports were truncating long numeric fields to two decimal digits has been fixed. Data will now be exported with the same precision as specified in the report style.
74825 The CCSDS tracking data reader has been updated to allow the keyword EME2000 to specify the J2000 coordinate frame. It also continues to allow EMEJ2000.
74832 An array indexing issue in the EOP file processing code has been fixed.
74836 An option which allows the filter to automatically adjust the measurement biases held in state space has been added. This option allows the filter to execute faster in cases where there are a large number of potential trackers but only a small number provide measurements over each fit interval.
74999 An issue has been fixed in which the Transmit B3 tracking data reader was writing the checksum values in line 1 incorrectly for observation types 8 and 9. They were being written to column 18 instead of column 17.
75000 An issue in which invisible automated processes sometimes stole focus from the current window has been fixed.
75043 Using the object browser to import multiple objects (e.g. ODTK Facilities into a Tracking System object) would sometimes fail because ODTK would try to import the second object as a child of the first one. This has been corrected.
75080 The Least Squares property "OrbitErrorTransitionMethod" has been eliminated and is now obsolete. Instead, the Satellite.OrbitErrorTransitionMethod property will be used to control the orbit error transition partials method. In loading pre 6.3 scenarios and processing pre 6.3 scripts the LeastSquares.OrbitErrorTransitionMethod property will be read in but ignored.
75171 An issue in which a dynamic graph would sometimes display incorrect data when reloaded has been fixed.
75297 The ConcatenateSP3Files utility was changed to handle PRN numbers up to 99 (limit was 35). In addition the utility now allows for one epoch time overlap.
75324 Least Squares solution uncertainties have been added to the LSRUN file and to the LeastSquaresSummary table. This includes the orbit RIC sigma/correlation data, and drag and SRP sigmas. This data is only added when LS converges to a solution, and is only added to the last iteration "Solution" entry".
75332 Environment variable AGI_DISABLE_INTEL_MKL is retired and has no effect. RuntimeSettings should be used instead.
75419 The behavior of the Save As Default check box on the Preferences window has been improved.
75564 A fix was made to Least Squares to process the correct angle measurement types (DirCos East,/DirCos North vs. Azimuth/Elevation) when rerunning Least Squares and changing the angle types to be processed via the Least Squares Measurement Types list. Before the fix only the angle types in the initial run would be processed.
75649 The SP3_to_Ephemeris utility now supports SP3 files that use UTC or TAI time in addition to GPS time.
75669 The behavior of the return value from a call to the Filter.Go() function has been changed. It used to return the status of the filter run itself but not the status of subsequent ephemeris prediction, if one was enabled. Now the return value from the Go() function will be set to false if either the filter run itself fails or the ephemeris prediction fails to propagate until the requested stop time.
75741 Detailed status/error information has been added for LS, Filter, and Smoother runs.
75783 ODTK now alerts the user when it detects duplicate emitter IDs on emitters that are on the same parent object.
75816 Display issues with parameters in Facility TroposphereModel.Data, which could show up if the TroposphereModel.Enabled Flag was changed from Yes to BasedOnTrackingStation and the TrackingSystem model was different from the previous Facility model, have been fixed.
75831 An error in the use of the Ignore option in Custom Data Editing and Residual Editing when applied to constructed measurement types has been corrected. In this context, constructed measurements are measurements which are constructed internally by ODTK from measurements read in from tracking data files. For example, singly-differenced pseudorange measurements can be constructed from raw pseudorange measurements read in from a RINEX formatted file. Other examples include singly differenced TDOA and FDOA constructed from TDOA and FDOA measurements and Direction Cosine measurements constructed from Azimuth/Elevation measurements. Prior to the fix, the custom data editing rule to Ignore measurements was applied prior to the construction of the new measurement type.
76012 An issue was fixed in which the SP3 file to STK Ephemeris file conversion utility was treating all SP3 files as if the ephemeris was in an Earth Fixed frame and was not respecting the field that indicated the frame was J2000 or ICRF.
76020 An issue was fixed in which a smoother failure could possibly leave rough files open and locked.
76029 Several new gravity models have been added to the install.
76031 The EOP and space weather files were updated to reflect observed data through 11/4/13.
76032 A correction was made to the treatment of tracker position information for ground based trackers (Ex: ships) supplied through the tracking data provider interface which was not being used to update the definition of the elevation angle used in the minimum elevation angle check which is evaluated prior to measurement processing. As a result, observations could be erroneously rejected due to low elevation angle if the default location of the tracking facility was not in the immediate proximity of the location being passed in with the tracking data.
76033 An error in the computation of the tropospheric effect on range and elevation measurements when the position of the facility is input through the tracking data provider interface (Ex: ship based tracking) has been corrected. The prior error was caused by the use of the facility position as specified in the GUI in the troposphere model.
76070 Two new functions were added to assist setting IOD input measurements programmatically.
76074 An error in the Herrick-Gibbs Initial Orbit Determination (IOD) capability resulting from ignoring tracker position information input through the tracking data provider interface (Ex: ship based tracking) has been corrected. The prior error resulted in severely degraded IOD estimates if the facility was not in the immediate vicinity of the locations input with the tracking data.
76098 The Gooding IOD method was updated to properly use the tracker vector passed in with the measurements for a ship based (or other ground mobile station) measurement. Space based measurements were already properly doing this.
76143

Obsolete files were removed from the DynamicEarthData directory. In addition, the Data Update Utility was modified to no longer download them. The files were removed because they are superceded by more current formats or were not used. Please review the list of affected files below and the recommended files to use instead. ODTK will still read the older files if they are present, however we strongly encourage users to switch any scenarios over to the recommended files and formats. The old files are still available on our FTP site at ftp://ftp.agi.com/pub/DynamicEarthData if you want to download them directly.

The following files were removed:


Earth Orientation Parameters
-----------------------------------
EOP.dat
EOP.dat.all
EOP_v<version number>.dat

Users are advised to use the EOP_v1.1.txt (holds last 5 years of data) or EOP_All_v1.1.txt (holds data since 1962).

Space Weather Files
-------------------------
stkFluxGeoMag.5yr.fxm
stkFluxGeoMag.fxm
stkNewFluxGeoMag.5yr.fxm
stkNewGeoMag.fxm
SolFlx*Schatten.dat

Users are advised to use the SpaceWeather_v1.2.txt (holds last 5 years of data) or SpaceWeather_All_v1.2.txt (holds data since 1957).

76296 When ODTK 6.2 or later was trying to run an Atmospheric Density graph or report using a run file generated by ODTK 6.1 or earlier, it would throw an exception and abort computing Area over Mass because vehicle mass was not stored in the run files. This has been fixed: ODTK 6.3 should be able to generate Atmospheric Density reports and graphs on run files produced by older versions.