GraceOrbit2TransplantTimeOffset

This program computes the time shift between two co-orbiting satellites based on dynamic orbit data. When applied to data of the first satellite, the computed time shift virtually shifts data of first satellite into the location of the second satellite. Note that inputfileOrbit1 and inputfileOrbit2 need velocity and acceleration data, which can be computed with OrbitAddVelocityAndAcceleration. The program tries to find a minimum of the objective function \[ f(\Delta t) = \| r_1(t) - r_2(t + \Delta t) \|^2, \]by applying Newton's method to the first derivative, thus iteratively computing \[ \Delta t_{k+1} = \Delta t_k + \frac{f'(\Delta t_k)}{f''(\Delta t_k)}. \]This iteration is stopped when the difference between to consecutive time shift values falls below threshold or maximumIterations is reached. An initialGuess of the time shift can speed up convergence.

See also OrbitAddVelocityAndAcceleration and InstrumentApplyTimeOffset.

NameTypeAnnotation
outputfileTimeOffset
filenameestimated time offset in seconds (MISCVALUE)
inputfileOrbit1
filenameorbit data of satellite 1
inputfileOrbit2
filenameorbit data of satellite 2
interpolationDegree
uintpolynomial degree for the interpolation of position, velocity and acceleration
initialGuess
doubleinitial guess for the time shift [seconds]
maximumIterations
uintmaximum number of iterations
threshold
doublewhen the maximum difference between two iterations is below this value, stop [seconds]
This program is parallelized.