Do STK Engine and STK Components Produce the Same Results?
- Jan 29, 2018
- Tech Tip
- STK Components
AGI offers two interfaces for your programming needs: STK Engine and STK Components. STK Engine is an application programming interface for the System Tool Kit (STK) application, while STK Components is a low level library that is independent from STK. Often, customers who are exploring components will run the same analysis in STK Components that they run in STK and will then compare the results. And often, they will contact Technical Support upset that two of our products are producing different results.
We use the same algorithms in both STK and STK Components. The problem occurs when different data inputs are used. Our software has to accurately model the Earth, including orbit, shape, atmosphere, gravitation pull, etc. If any of the inputs are different for the two products, then those products will produce different results. We use STK in the STK Components regression testing, and we make sure that the latest versions of our products produce the same results. The STK Components help includes steps that we take to ensure that both products produce the same results. (https://help.agi.com/AGIComponents/html/OrbitPropagationForceModels.htm).
I worked with a customer who was using STK to validate STK Components, and was also working in a classified environment. Since he could not share his code and he refused to accept my explanation, I created an application to run the STK Object Model and STK Components in the same application, which should produce the same analysis. Initially, my access calculations were off by two seconds. I was able to sync the results when I forced STK Components to use the STK Earth orientation parameters file:
EarthCentralBody earth = CentralBodiesFacet.GetFromContext().Earth;
earth.OrientationParameters = EarthOrientationParametersFile.ReadData(@"C:\ProgramData\AGI\STK 11\DynamicEarthData\EOP-v1.1.txt");
The sample application is located at: https://agiweb.secure.force.com/code/articles/Code_Sample/Example-Application-Combine-Components-and-Engine-application
The sample application can be also used to compare syntax between the products and as a reference guide.