What's New | Resolved Issues | System Requirements | Transition Issues | Known Issues | Tracking Data Interface Version Changes | Background Information | Online Help Resources | ODTK 6.6 Features

ODTK 7.0 Release Notes

ODTK 7.0 is a major release with significant improvements in several areas. Users are encouraged to read release notes thoroughly to understand how you may benefit or otherwise be impacted if upgrading from a previous version.

General

ODTK is now available only as a 64-bit executable. Previous versions were only 32-bit. User will not see any significant differences in the overall performance. This change was done to be consistent with the overall AGI product line architecture. Users who have a custom tracking data readers implemented as Windows Script Component (WSC) will need to re-register them using the standard 64-bit regsvr32.exe rather than the 32-bit version under C:\Windows\SysWOW64.

ODTK now requires that Python be installed to support Reports (see the discussion below). It must meet the minimum requirements outlined in the Help topic on Reporting. If Python is not installed, all ODTK functionality other than reporting still works. The data can be extracted with Exports instead of Reports.

Reports

The report generation process has been completely redone in ODTK 7. Since the beginning of ODTK we have used a 3rd party reporting package called Crystal Reports. This offered nicely formatted reports and support for custom calculations within the reports. But over the years we've found the disadvantages started to outweigh the advantages. The nice quality output is great for producing business type reports. But ODTK users are focused on scientific reporting and not as concerned about pagination, margins, etc. We wanted a solution that allowed users to get the exact outputs they wanted in a way that is easily exported to a file and supports complex calculations. After much searching we settled on leveraging the power of the Python ecosystem. We replaced Crystal Reports with a combination of HDF5 files and Python scripts. The front-end user interface within ODTK remains the same, but now what happens behind the scenes is that ODTK writes the requested data elements to an HDF5 file and calls a Python script that reads the file and generates the report. This enables our users to get as fancy (or not) as they want. For more details on how all of this works, please check out the Help topic on Reporting.

Finite maneuvers now report the integrated delta-V in a variety of frames. This makes it much easier to calibrate the achieved maneuver relative to the input maneuver.

We updated some of the Data Element names. You can find a list of the changed Data Elements on the ODTK 6 to ODTK 7 Migration Guide

Filter

We've added options to the filter object to support processing as an Unscented Kalman Filter (UKF). Our testing has showed that when running in this mode it is about 25x slower than the standard Extended Kalman Filter (EKF) mode. This is because it has to propagate multiple samples for each time step. Our recommendation is to use the normal EFK and smoother processing unless you find that your circumstances require running in UKF mode. A more detailed discussion of our testing can be found in the paper AAS 190781 "Analysis of Relative Merits of Unscented and Extended Kalman Filters in Orbit Determination" by James Woodburn and Vincent Coppola.

Satellites

The capability to use an N Plate atmospheric drag model has been added. Plate definitions are supplied using a file interface that also exposes accelerations scaling parameters, which can be estimated.

We've added the ability to output CCSDS Orbit Ephemeris Messages (OEM) where the covariance is in a different frame than the ephemeris itself. This option is only available when outputting an OEM.

You can now use multiple attitude files (*.a) to specify the attitude of the satellite.

Tracking data

We've added support for the TDRSS SGSS Tracking Data Messages (TDM). While very similar to CCSDS TDMs, there are some subtle differences to specifically support TDRS and user satellites.

We've added additional optical viewing constraints on Facilities and TrackingInstruments to make it easier to simulate typical optical tracking geometries. These include:

  • Target must be lit
  • Space background required
  • Minimum Sun and Moon angle exclusion
  • Maximum solar phase angle
  • Maximum Sun elevation angle

New capabilities and resolved issues in ODTK 7.0

New Capabilities and Resolved Issues in ODTK 7.0
Tracking No. Description
48921 The ability to augment GNSS clock solutions contained in SP3 files with higher frequency clock solutions in the RINEX clock format has been added. The use of the higher frequency clock data reduces the size of intervals over which clock solutions must be interpolated during pseudo-range can carrier phase measurement processing.
78361 ODTK now allows creation of multiple GNSS constellation objects. When you insert new GPS Constellation objects into a scenario, you get a sequence of one of each GNSS types: GPS, QZSS, Glonass, Galileo, and BeiDou. Alternatively, after inserting a new system, you could set it to a different Catalog.txt file and it will change the GNSS system type.
79862 ODTK now includes support for RINEX 3.02 files using 3rd party open source GPSTk 2.4 library (Apr 2014).
91124 New constraints focused on limiting the simulation of optical observations to times when appropriate lighting conditions exists have been added.
101883 The ability to enter dates in a Julian date format of the solar system barycentric dynamical time scale (TDB) has been added. This date format is convenient for entering epoch information consistent with web based sources of planetary information such as JPL/Horizons site.
103981 An error which resulted in the inability to estimate measurement time tag biases from ground based optical sensors when the target satellite orbits were also estimated has been corrected.
104477 The Finite Maneuver summary report now uses integrated accelerations to calculate the overall delta-v, magnitude correction, and angle correction.
104693 If EmpiricalForces estimation was enabled, filter's functional attribute Filter.ViewRestartData() would return restart record data without populating any EmpiricalForces states info. This has been fixed.
104940 The Python client for the cross-platform API was truncating some floating point values to six (6) digits. It now supports full precision.
105331 There was an issue saving custom floating point edit formats for values displayed in the popup sub-panels, such as Satellite.ForceModel.Gravity.ThirdBodies.Settings. This is fixed now and custom formats for such fields are now correctly saved to "ODTK Form Prefs.xml" file and allow user to view and edit floating point values in sub-panels with custom precision settings.
105550 Intel Math Kernel Library used by ODTK for accelerated matrix processing has been updated from version 2017.2.187 to 2019.4.245.
MKL Release Notes could be found here: (https://software.intel.com/en-us/articles/intel-math-kernel-library-release-notes-and-new-features).
105804 Applied values for Filter.Restart.SatelliteMassUpdates.SatelliteMassList would reset when a user would open a White Panel for Filter properties to review them. This bug has been fixed for both Clock and Mass updates for both Filter and Simulator restarts. They should now work correctly in both manual and auto restart modes.
105824 An N Plate model has been added for the computation of drag accelerations.
105829 The option to configure the sequential filter to operate as an Unscented Kalman Filter (UKF) has been added.
106009 The Measurement Summary By Altitude graph style has been updated to work for all satellites in orbit about all central bodies.
106428 An error in the computation of satellite attitude in the evaluation of the NPlate SRP model has been corrected. The error was limited to the case where the satellite attitude was specified via a file.
106430 The ability to specify a reference epoch for GPS week numbers contained in SEM and YUMA almanac files has been added to the GNSS Constellation object. The new setting is only available when an almanac file is used as the source of GPS satellites trajectory and clock information. Prior to the addition of this setting, the reference epoch was assumed to be August 22, 1999, which was the time of the last GPS week rollover.
106593 The reporting mechanism in ODTK has been significantly updated. Please review the help files for more information.
106659 The Galileo and Beidoi GNSS constellation catalog files were updated to reflect the latest constellation configurations.
106698 A logic error in the deep space light time delay code has been corrected. The error could result in a slight variation of results from running the filter multiple times in scenarios where DSN measurements were processed on a satellite which was still in a geometric orbit.
106868 The capability to generate ephemeris in the CCSDS OEM format with covariance in UVW coordinates has been added.
107027 The capability to use a list of files to specify spacecraft attitude has been added.
107133 The FilePath HTML utility was broken when we upgraded to the IRI2016 ionosphere model and wouldn't display
107148 The instantaneous and finite maneuver dialogs have been updated to add "Expand All" and "Collapse All" buttons to help the user quickly navigate to a particular maneuver.
107164 Incompatibilities between the Filter equinoctial mode and instant maneuver estimation within the filter and the Filter equinoctial mode and the Variable Lag Smoother when the Frazer form of the Fixed Epoch Smoother is used in each capability have been identified with warning/error messages. The default Fixed Epoch Smoother formulation has also been updated to CarltonRauch to help avoid these issues.
107172 Deprecated GPSConstellation.PRNList.Enabled attribute was removed in ODTK version 7. Scripts should use GPSConstellation.SVEstimatedStates.EnabledPRNs.Enabled attribute instead.
107613 Attribute.LeastSquares.RunResults.MaxIterationsExausted had a typo and was renamed to MaxIterationsExhausted.
107618 The various data items from the table used to build reports, graphs, and exports in the Static Product Builder have been updated to normalize the names for consistency across the different tables.
107912 An error in the simulator logic which could allow measurements for satellites not contained explicitly or implicitly in the simulator Satellite List to be generated has been corrected. The error was restricted to the case where measurements from a space based tracker were involved and the space based tracker was explicitly excluded from the simulator Satellite List.
107936 Regenerated Java/JNI Interfaces for ODTK 7.
107951 The help was updated to include a description of all the two-character measurement editing flags that may show up in a Residuals report. See the help topic for more information.
107952 Data Provider Element names have been fixed.
108186 Custom Export and Graph styles created with older versions of ODTK may not work with ODTK 7.0 because some database field named have changed. Users Guide has instructions on how to upgrade those styles to work with ODTK version 7.0.
108255 ODTK has the ability to automatically rerieve latest updates to EOP, SpaceWeather, Ionosphere, and GPS configuration files from ftp.agi.com with Windows service configured by ODTK Data Update Utility (DUU).
However, depending on the system policy and configuration, those utilities may not have adequate permission to establish outbound connections to the ftp.agi.com server.
You may need to manually add C:\Program Files\AGI\ODTK 7\AgODDataUpdateGUI.exe and AgODDataUpdateSvc7.exe to the list of allowed programs for the firewall. Learn how to add a program to Windows 10.
108260 Logic is now in place for the GEO IOD Using Least Squares HTML tool to use the optical tracking properties of a ground station when optical measurement were selected without specification of the optical reference frame.
108297 Logic is now in place for the Least Squares estimator to identify and take corrective action during the case where the initial orbit estimate represents a closed orbit and the update mode is set to emulate equinoctial elements and an iteration update to the orbit generates a non-closed orbit. Previously, this behavior was considered undefined and could result in a crash of ODTK.
108339 This corrects an error in the simulator logic that prevented the simulation of 2L CA Pseudorange measurements when using a custom simulation schedule.

Windows system requirements

To install ODTK, you must be an administrator or have elevated permission for the computer on which ODTK is being installed.

Supported operating systems

  • Windows 10
  • Windows 8
  • Windows 7, Service Pack 1 (SP1) or higher
  • Windows Server 2016
  • Windows Server 2012
  • Windows Server 2008 R2

Hardware requirements

Hardware Requirements
Processor Intel® Core™ i5 or better, AMD Ryzen™ 5 or better.
Memory / RAM 8 GB (minimum); 16+ GB (recommended).
Disk Space 1.1 GB (minimum)
Network Hardware Network Card recommended. Online operations will not be available without it.

Minimum software requirements

Microsoft Internet Explorer 11.

ODTK Runtime System Requirements

Overview

The ODTK Runtime is a cross-platform (Linux and Windows) application that provides the functionality of the ODTK Windows Desktop application without a graphical user interface. Its services can be consumed via HTTP using the ODTK Cross-Platform API (described further below).

Supported operating systems

The following table lists the specific distributions and versions tested, and for which installation directions are provided. Other Linux distributions are likely to work as well, assuming the required dependencies are installed and available.

Operating System Latest update or service pack tested
Red Hat Enterprise Linux /CentOS 7.5 Update 4
Ubuntu Desktop 18.04

Hardware and software requirements

The following table lists the hardware and software requirements.

Hardware/Software Requirements
Development disk space 1.76 GB
Deployment disk space 1.25 GB minimum, possibly more depending on specific application requirements
libstdc++.so 6.0.13 minimum
Ubuntu Package libgfortran.s0.3

You can use the following commands to find the package that provides a library: RHEL/CentOS: yum whatprovides libgfortran.so.3. On the Ubuntu website, you can search the 'Ubuntu Packages Search' page at https://packages.ubuntu.com/ for the contents of the packages by providing the file name (e.g. libgfortran.so.3) as a keyword.

Installation

The following files are included:

File Description
odtk_binaries_v7.8_x64.tgz The ODTK Runtime binaries.
odtk_data_v7.8.tgz The core ODTK data.
odtk_codesamples_v7.8.tgz The ODTK documentation and Cross-Platform API code samples.

Unpacking the ODTK Runtime

To install the core ODTK Runtime files (needed for both development and deployment), issue the following commands:

tar -xvf ./odtk_binaries_v7.8_x64.tgz
tar -xvf ./odtk_data_v7.8.tgz
tar -xvf /odtk_codesamples_v7.8.tgz

Setting up the environment

Three environment variables need to be set. Note that these variables can be set from the shell or at initialization in your custom application if it is more convenient for your specific workflow.

The path to the bin directory needs to be added to your LD_LIBRARY_PATH environment variable:

bash: export LD_LIBRARY_PATH=<install dir>/bin:$LD_LIBRARY_PATH

csh: setenv LD_LIBRARY_PATH=<install dir>/bin:$LD_LIBRARY_PATH

Two environment variables need to be set up to indicate where ODTK reads its data from and where it stores the user specific configuration:

bash:

export ODTK_INSTALL_DIR=<install dir>
export ODTK_USER_DIR=<location for user specific data>

csh: setenv ODTK_INSTALL_DIR=<install dir>
setenv ODTK_USER_DIR=<location for user specific data>

Optional: the location for ODTK user configuration, if omitted, is set to $ODTK_USER_DIR/Config

bash:

export ODTK_CONFIG_DIR=<location of user configuration>

csh:

setenv ODTK_CONFIG_DIR=<location for user configuration>

License file deployment

When you request a license, you will receive a *.lic file. You need to copy that file to one of the locations where ODTK Runtime looks for that information:

  • <current working directory>/LicenseData
  • <current working directory>
  • On Windows directory pointed by:
    HKEY_LOCAL_MACHINE\SOFTWARE\FLEXlm License Manager\STKD_License_File or
    HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\FLEXlm License Manager\STKD\License\File
  • HOME environment variable (if set)
  • LM_License_FILE environment variable (if set)
  • STKD_LICENSE_FILE environment variable (if set)
  • On Linux
    $ODTK_CONFIG_DIR or if ODTK_CONFIG_DIR is not defined then
    $ODTK_USER_DIR/CONFIG
    On Window
    HKEY_CURRENT_USER\SOFTWARE\AGI\ODTK\6.0\ConfigDir
  • On Linux
    $ODTK_INSTALL_DIR/bin/LicenseData
    On Windows
    valueOf(HKEY_LOCAL_MACHINE\SOFTWARE[\\WOW6432Node]\AGI\ODTK\6.0\InstallHome)\bin\LicenseData
  • Directory containing ODTK executables, normally:
    $ODTK_INSTALL_DIR/bin

Limitations of the ODTK Runtime

ODTK Runtime does not currently support the following features found in ODTK Desktop:

  • ODTK Desktop user interface
  • Reports and Exports are supported, but graphs are not
  • Plugins: Currently, only the IAgODProvideTrackingDataLib plugin point is supported on Linux. Furthermore, the ODTK Runtime on Linux can only work with plugins developed in Python as described in the Tracking Data Provider Plugin Development.

Transition issues

It is suggested that you review the following list of cautions, workarounds and operational tips before using the current version of ODTK:

Scripting Guide Updates

Please see the ODTK Scripting Help topics for changes to scripting interfaces and additional scripting examples.

Unresolved issues affecting the current release

The user should be aware of the following limitations and unresolved issues affecting ODTK as of the date of this release.

Unresolved Issues
Tracking No. Description
07071 Tracker satellites cannot share tracking IDs with GPS constellation PRN numbers. If a scenario contains both an optical tracker satellite and a GPS constellation, and the tracker satellite has a tracking ID between 1-36, the tracking ID will become ambiguous.
10186 Users should not name objects using class names like Filter, Smoother, Simulator. Refer to the "VBA to VB.NET Migration" section of the ODTK Help.
23349 LaunchPad doesn't format dates in local format, it always uses MM/DD/YYYY even if machine is configured to show dates as DD/MM/YYYY.
29439 To avoid abnormal terminations that may occur when FLEXlm code is run with Windows Data Execution Prevention enabled, you need to change the DEP settings: Open the "System Properties", click on the "Advanced" tab and click on "Performance, Settings" button. This will bring up a dialog with three tabs. Click on the "DEP" tab and set the option to: "Turn on DEP for essential Windows programs and services only". You may need to restart the computer after that.
30517 The Plugins tab does not refresh the SupportsSave column. When you add a new plugin tracking data reader and click Apply, the column labeled SupportsSave is not refreshed. By default the value in this column is false, but after you add a new tracking data reader that supports save, then the value in this column should be true. The user must dismiss the panel and pull it back up to get the correct value.
31034 After a long predict, the covariance is quite large. A very large measurement update can drive the filter covariance negative.
31802 A GPS constellation object does not populate the PRNList until properties are applied. We suggest that when you first assign a source file to a GPS constellation, you press Apply before double-clicking on the PRNList to view its contents.
32139 State File To SP3 utility limits output to GPSSatellites named PRN01, PRN02, etc.
36839 If ODTK aborts or runs out of disk space then any active runfile is not saved in a valid state. This issue cannot be corrected without a big impact on processing speed (opening and closing the file and opening to append). The user is advised to monitor disk utilization and plan for large run files from ODTK to avoid disk space issues.
42672 Dynamic Earth Data does not use file find paths. Do not attempt to change the location from the default location.
45226 ODTK does not support saving and loading of files that use multi-byte character sets.
100422 When using native support for 4K displays, the Object Properties tree [+] and [-] boxes do not scale properly and will appear very small.