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

ODTK 6.6 Release Notes

ODTK 6.6 introduces the ODTK Runtime, i.e., ODTK without a user interface. This is a lightweight option for customers that are automating their processing and don't need the user interface. We are also pleased to announce that Runtime version is available on the Linux operating system as well. No special licenses are required.

The Runtime supports the full functionality of ODTK, but you cannot generate the traditional reports and graphs (because there is no User Interface). Data output is done via export products from the Static Product Builder.

These release notes contain information on system and disk space requirements for installing and running ODTK; information on new capabilities and features introduced in the current version of ODTK, including issues resolved from the prior version; and transition information -- cautions, workarounds, and operational tips -- to help maximize your successful use of the product.

New Cross-platform API

The traditional ODTK API is implemented using Microsoft's Common Object Model (COM) as the underlying interface. This allows users to interface with ODTK from a variety of tools, including MATLAB, Perl, VBScript, Python, C++, etc. But COM is only available on the Windows operating systems. The Linux version of the ODTK Runtime needed another solution. Therefore, we added a new cross-platform API that works on the Windows and Linux versions. We took great pains to make the new API as similar to the old COM API as possible - users should find it easy to port if they choose to do so. We will continue to support the COM API on Windows as well - we have no intention of deprecating it.

The new API is supported via helper routines that we provide in Python, MATLAB, and C++. The scripting guide documentation has been updated appropriately. Users that anticipate running on Linux should use the new API.

Report and Graphing

We have added several new parameters that can be output:

  • True Anomaly Uncertainty
  • Orbit Period Uncertainty
  • Time of Arrival Uncertainty

System requirements

This will be the last 32-bit ODTK release. Future versions of ODTK will be 64-bit only. This means that they will only be able to run on 64-bit operating system bundles.

Measurement models

We now support NASA DSN one-way Total Count Phase (TCP) and Doppler measurements.

General

Filter and Least Squares residual editing and custom data editing lists now allow multi-select for removing different time intervals from their lists.

Resolved issues

The following is a list of enhancements and resolved issues for this release.

New Capabilities and Resolved Issues in ODTK 6.6
Tracking No. Description
12535 The option to force the numerical integrator and Filter/Smoother processes to step between the nodes in an acceleration history file used to define a finite maneuver has been added.
90768 Running batch processes that create large number of ODTK instances on the same system leads to the race condition of mulitple processes trying to write to the same user preference files. This issue was fixed by adding uiApp.PrefFilesMode property. This property disables saving and/or loading user preference files. Learn more in the ODTK Scripting Help topics.
94222 ODTK now supports reading GNSS ephemeris files in SP3d format; previously it only supported SP3c.
98942 A new attribute has been added to file based finite and impulsive maneuvers to display the reference frame used to define the maneuver acceleration in the specified acceleration history file.
100463 This corrects a minor error in the generation of the L1 polynomial coefficients by updating the gravity process noise inputs for the following gravity fields: Earth (EGM96, EGM2008, GGM01C, GGM02C, GGM03C), Moon (GL0420A, LP100K, LP150Q), and Mars (MRO110C). The main effect in correcting the error in the polynomial generation is that the noise associated with the field truncation is slightly larger than previously computed, resulting in slightly larger position covariance results from the orbit propagation and Filter-based estimation.
101625, 26, 27,30 This release provides a new cross-platform API for Window and Linux. It includes a Python HTTP client API and a MATLAB HTTP client API.
101694 The BeiDou, Galileo, GLONASS, and QZSS catalog files were updated to reflect the latest constellation status.
101880 This adds the ability to report and graph uncertainties in the true anomaly, orbit period, and time of arrival.
102328 The CCSDS TDM tracking data reader was interpreting the INTEGRATION_INTERVAL values as an integer instead of a floating point value. The result was that values less than 1 were being set to zero, and ODTK interpreted this to mean that it should use the Doppler Count interval value from the facility's measurement statistics. This problem only occurred when parsing XML-formatted files.
102465 This update corrects for the effect of the TimeInterval in the UnmodeledAccelerations settings for a satellite. In prior versions of ODTK, elapsed time measured in normalized time intervals was squared to scale the addition of process noise based on the length of step taken. The squaring operation was incorrect and is no longer applied. As a result of this change, you may need to retune old scenarios that utilized these settings. You can restore the old behavior if necessary by setting the environment variable AGI_ODTK_SHOW_SQUARED_TIME_IN_EMPIRICAL_PN to expose a hidden setting should be set to "true" to restore the old behavior.
102484 This corrects an error in "Measurement First Difference (Range or Doppler)" styles. They were generating empty plots due to an error in the code that executes arithmetic scriptlets to compute values for the first dependent variable in their lists.
102520 The Finite Maneuver magnitude half-life is now displayed when you specify %MagnitudeAndPointing.
103642 This updates the ILRS tracking system files with the most recent ILRS station locations and measurement statistics.

Windows system requirements

This section includes ODTK system requirements.

Supported Operating Systems

  • Windows 7 32-bit and 64-bit
  • Windows 10 32-bit and 64-bit
  • Windows Server 2012 R2

Notes:

Starting with version 6.3.2, ODTK is not supported on Windows XP.

Starting with version 6.5, ODTK is not supported on Windows Vista.

ODTK runs as a 32-bit application in a 64-bit Windows environment. Code samples are compiled for use in Visual Studio 2012. This is the last release as a 32-bit application.

Hardware requirements

Hardware Requirements
CPU Speed 2+ GHz
Processor Intel Core Duo, SSE2 (or greater) Pentium 4 or Xeon Processors, or AMD Phenom or better CPU
Memory / RAM 3+ GB
Disk Space 4+ GB
Network Hardware Network Card required

ODTK can use up to 3 GB of memory/RAM and will take advantage of multiple processors if available depending on the type of analysis being done.

An ODTK installation requires 200-300 MB of disk space. Running a typical scenario, such as the Sapphire demo scenario that accompanies ODTK (3 satellites, 5 trackers x 3 days), takes about 600MB disk space for simulator, filter, and smoother runs. During such a run the memory footprint of ODTK is slightly over 110Mb.

Compatibility with Windows Server 2012 R2

Windows Server 2008 installations must have the Desktop Experience option turned on before running the ODTK install. This option is available from the Windows Control Panel.

Microsoft recommends running services under a specific user account and does not recommend running under the SYSTEM account unless absolutely necessary.

If you run ODTK under the Local System (SYSTEM) account on a 64-bit system you will need to create a C:\Windows\SysWOW64\config\systemprofile\Documents folder and verify that the C:\Windows\System32\config\systemprofile\Documents folder properly links to it and that both have appropriate permissions.

If you plan to run multiple instances of ODTK on the server you will need to ensure that the system is configured to reserve enough Desktop Heap Memory for each session. See blogs.technet.com for a discussion of the settings in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\SubSystems

We recommend reserving ~256k of Desktop Heap for each instance of ODTK running on the system.

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_v6.6.0_x64.tgz The ODTK Runtime binaries.
odtk_data_v6.6.0.tgz The core ODTK data.
odtk_codesamples_v6.6.0.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_v6.6.0_x64.tgz
tar -xvf ./odtk_data_v6.6.0.tgz
tar -xvf /odtk_codesamples_v6.6.0.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
  • Exports are supported, but reports and 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:

Updating Custom Report and Graph Styles for ODTK 6

The database tables from the various *.*run files (*.filrun, *.smtrun, etc.) used by the Static Product Builder have been updated to reflect the changes in the naming of the solar radiation pressure parameter from Cp to Cr. Additional columns have been added to support the new additive and relative options for the solar radiation pressure and drag parameters. Users that have created their own custom report and graph styles in earlier versions of ODTK will need to update them to work with ODTK 6.3.0. Use the procedure below to update your reports. Graphs do not have an equivalent procedure, however you should test each custom graph to ensure that it continues to function as desired. If not, edit the graph style and update it appropriately.

Changes in Database Table Contents

From release to release, the contents of database tables used in the definition of report and graph styles may change, usually through the addition of new elements to the record definitions. These changes can impact the content of custom report styles created by the user. Before attempting to use a report style generated with a version prior to ODTK 6.3.0, a Verify Database operation should be performed and a new copy of the report style should be saved to a new directory. Overwriting the old style will cause that style to work incorrectly with the prior version of ODTK. The Verify Database operation is performed by highlighting the report style in the Static Product Builder, clicking on the Edit button then right clicking on the Database Fields and selecting Verify Database. After the verification completes, save the style.

Scripting Guide Updates

Please see the ODTK Scripting Guide 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.
52010 Older AMD chips do not support "Streaming SIMD Extensions 2 (SSE2)". SSE2 was first used in ODTK v6.0. The following AMD chips do support SSE2:
  • AMD K8-based CPUs (Athlon 64, Sempron 64, Turion 64, etc.)
  • AMD Phenom CPUs
  • and newer
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.
75024 There is an issue when exporting report data to CSV or TSV format of a field or fields possibly being missing. If this occurs there is a workaround:
  1. Edit the Style in question
  2. Right click on a field in question, choose "Format..."
  3. Go to the first tab and uncheck "Suppress" flag.
  4. Save report style into "My Documents/ODTK 6/Styles"
77998 There are a few styles, such as Avg*, Daily Avg*, and Satellite Pos Vel*, that use suppress conditionals to produce the requested data. Some reports that contain these styles cannot be exported to a CSV format using Crystal Reports. The workaround is to use a different export format or use ODTK's native *.exp styles.
100422 When using native support for 4K displays, the Object Properties tree [+] and [-] boxes do not scale properly and will appear very small.