📄 tdb2tdt.pro
字号:
;+; NAME:; TDB2TDT;; AUTHOR:; Craig B. Markwardt, NASA/GSFC Code 662, Greenbelt, MD 20770; craigm@lheamail.gsfc.nasa.gov; UPDATED VERSIONs can be found on my WEB PAGE: ; http://cow.physics.wisc.edu/~craigm/idl/idl.html;; PURPOSE:; Relativistic clock corrections due to Earth motion in solar system ;; MAJOR TOPICS:; Planetary Orbits;; CALLING SEQUENCE:; corr = TDB2TDT(JD, TBASE=, DERIV=deriv);; DESCRIPTION:;; The function TDB2TDT computes relativistic corrections that must; be applied when performing high precision absolute timing in the; solar system.;; According to general relativity, moving clocks, and clocks at; different gravitational potentials, will run at different rates; with respect to each other. A clock placed on the earth will run; at a time-variable rate because of the non-constant influence of; the sun and other planets. Thus, for the most demanding; astrophysical timing applications -- high precision pulsar timing; -- times in the accelerating earth observer's frame must be; corrected to an inertial frame, such as the solar system; barycenter (SSB). This correction is also convenient because the; coordinate time at the SSB is the ephemeris time of the JPL; Planetary Ephemeris.;; In general, the difference in the rate of Ti, the time kept by an; arbitrary clock, and the rate of T, the ephemeris time, is given; by the expression (Standish 1998):;; dTi/dT = 1 - (Ui + vi^2/2) / c^2;; where Ui is the potential of clock i, and vi is the velocity of; clock i. However, when integrated, this expression depends on the; position of an individual clock. A more convenient approximate; expression is:;; T = Ti + (robs(Ti) . vearth(T))/c^2 + dtgeo(Ti) + TDB2TDT(Ti);; where robs is the vector from the geocenter to the observer;; vearth is the vector velocity of the earth; and dtgeo is a; correction to convert from the observer's clock to geocentric TT; time. TDB2TDT is the value computed by this function, the; correction to convert from the geocenter to the solar system; barycenter.;; As the above equation shows, while this function provides an; important component of the correction, the user must also be; responsible for (a) correcting their times to the geocenter (ie,; by maintaining atomic clock corrections); (b) estimating the; observatory position vector; and and (c) estimating earth's; velocity vector (using JPLEPHINTERP).;; Users may note a circularity to the above equation, since; vearth(T) is expressed in terms of the SSB coordinate time. This; appears to be a chicken and egg problem since in order to get the; earth's velocity, the ephemeris time is needed to begin with.; However, to the precision of the above equation, < 25 ns, it is; acceptable to replace vearth(T) with vearth(TT).;; The method of computation of TDB2TDT in this function is based on; the analytical formulation by Fairhead, Bretagnon & Lestrade, 1988; (so-called FBL model) and Fairhead & Bretagnon 1990, in terms of; sinusoids of various amplitudes. TDB2TDT has a dominant periodic; component of period 1 year and amplitude 1.7 ms. The set of 791; coefficients used here were drawn from the Princeton pulsar timing; program TEMPO version 11.005 (Taylor & Weisberg 1989).;; Because the TDB2TDT quantity is rather expensive to compute but; slowly varying, users may wish to also retrieve the time; derivative using the DERIV keyword, if they have many times to; convert over a short baseline.;; Verification;; This implementation has been compared against a set of FBL test; data found in the 1996 IERS Conventions, Chapter 11, provided by; T. Fukushima. It has been verified that this routine reproduces; the Fukushima numbers to the accuracy of the table, within; 10^{-14} seconds.;; Fukushima (1995) has found that the 791-term Fairhead & Bretagnon; analytical approximation use here has a maximum error of 23; nanoseconds in the time range 1980-2000, compared to a numerical; integration. In comparison the truncated 127-term approximation; has an error of ~130 nanoseconds.;;; PARAMETERS: ;; JD - Geocentric time TT, scalar or vector, expressed in Julian; days. The actual time used is (JD + TBASE). For maximum; precision, TBASE should be used to express a fixed epoch in; whole day numbers, and JD should express fractional offset; days from that epoch.;;; KEYWORD PARAMETERS:;; TBASE - scalar Julian day of a fixed epoch, which provides the; origin for times passed in JD.; Default: 0;; DERIV - upon return, contains the derivative of TDB2TDT in units; of seconds per day. As many derivatives are returned as; values passed in JD.;;; RETURNS:; The correction offset(s) in units of seconds, to be applied as; noted above.;;; EXAMPLE:;; Find the correction at ephemeris time 2451544.5 (JD):; IDL> print, tdb2tdt(2451544.5d); -0.00011376314; or 0.11 ms.;;; REFERENCES:;; Princeton TEMPO Program; http://pulsar.princeton.edu/tempo/;; FBL Test Data Set; ftp://maia.usno.navy.mil/conventions/chapter11/fbl.results;; Fairhead, L. & Bretagnon, P. 1990, A&A, 229, 240; (basis of this routine);; Fairhead, L. Bretagnon, P. & Lestrade, J.-F. 1988, in *The Earth's; Rotation and Reference Frames for Geodesy and Geodynamics*,; ed. A. K. Babcock and G. A. Wilkins, (Dordrecht: Kluwer), p. 419; (original "FBL" paper);; Fukushima, T. 1995, A&A, 294, 895 (error analysis);; Irwin, A. W. & Fukushima, T. 1999, A&A, 348, 642 (error analysis);; Standish, E. M. 1998, A&A, 336, 381 (description of time scales);; Taylor, J. H. & Weisberg, J. M. 1989, ApJ, 345, 434 (pulsar timing);;; SEE ALSO; JPLEPHREAD, JPLEPHINTERP, JPLEPHTEST; ; MODIFICATION HISTORY:; Original logic from Fairhead & Bretagnon, 1990; Drawn from TEMPO v. 11.005, copied 20 Jun 2001; Documented and vectorized, 30 Jun 2001; ;; $Id: tdb2tdt.pro,v 1.4 2001/07/01 07:37:40 craigm Exp $;;-; Copyright (C) 2001, Craig Markwardt; This software is provided as is without any warranty whatsoever.; Permission to use, copy and distribute unmodified copies for; non-commercial purposes, and to modify and use for personal or; internal use, is granted. All other rights are reserved.;-function tdb2tdt_calc, jd, deriv=deriv, tbase=tbase common tdb2tdt_common, const0, freq0, phase0, texp if n_elements(const0) EQ 0 then beginfbldata = [ $1656.674564d, 6283.075849991d, 6.240054195d, $ 22.417471d, 5753.384884897d, 4.296977442d, $ 13.839792d, 12566.151699983d, 6.196904410d, $ 4.770086d, 529.690965095d, 0.444401603d, $ 4.676740d, 6069.776754553d, 4.021195093d, $ 2.256707d, 213.299095438d, 5.543113262d, $ 1.694205d, -3.523118349d, 5.025132748d, $ 1.554905d, 77713.771467920d, 5.198467090d, $ 1.276839d, 7860.419392439d, 5.988822341d, $ 1.193379d, 5223.693919802d, 3.649823730d, $ 1.115322d, 3930.209696220d, 1.422745069d, $ 0.794185d, 11506.769769794d, 2.322313077d, $ 0.447061d, 26.298319800d, 3.615796498d, $ 0.435206d, -398.149003408d, 4.349338347d, $ 0.600309d, 1577.343542448d, 2.678271909d, $ 0.496817d, 6208.294251424d, 5.696701824d, $ 0.486306d, 5884.926846583d, 0.520007179d, $ 0.432392d, 74.781598567d, 2.435898309d, $ 0.468597d, 6244.942814354d, 5.866398759d, $ 0.375510d, 5507.553238667d, 4.103476804d, $ 0.243085d, -775.522611324d, 3.651837925d, $ 0.173435d, 18849.227549974d, 6.153743485d, $ 0.230685d, 5856.477659115d, 4.773852582d, $ 0.203747d, 12036.460734888d, 4.333987818d, $ 0.143935d, -796.298006816d, 5.957517795d ]fbldata = [ fbldata, $ 0.159080d, 10977.078804699d, 1.890075226d, $ 0.119979d, 38.133035638d, 4.551585768d, $ 0.118971d, 5486.777843175d, 1.914547226d, $ 0.116120d, 1059.381930189d, 0.873504123d, $ 0.137927d, 11790.629088659d, 1.135934669d, $ 0.098358d, 2544.314419883d, 0.092793886d, $ 0.101868d, -5573.142801634d, 5.984503847d, $ 0.080164d, 206.185548437d, 2.095377709d, $ 0.079645d, 4694.002954708d, 2.949233637d, $ 0.062617d, 20.775395492d, 2.654394814d, $ 0.075019d, 2942.463423292d, 4.980931759d, $ 0.064397d, 5746.271337896d, 1.280308748d, $ 0.063814d, 5760.498431898d, 4.167901731d, $ 0.048042d, 2146.165416475d, 1.495846011d, $ 0.048373d, 155.420399434d, 2.251573730d, $ 0.058844d, 426.598190876d, 4.839650148d, $ 0.046551d, -0.980321068d, 0.921573539d, $ 0.054139d, 17260.154654690d, 3.411091093d, $ 0.042411d, 6275.962302991d, 2.869567043d, $ 0.040184d, -7.113547001d, 3.565975565d, $ 0.036564d, 5088.628839767d, 3.324679049d, $ 0.040759d, 12352.852604545d, 3.981496998d, $ 0.036507d, 801.820931124d, 6.248866009d, $ 0.036955d, 3154.687084896d, 5.071801441d, $ 0.042732d, 632.783739313d, 5.720622217d ]fbldata = [ fbldata, $ 0.042560d, 161000.685737473d, 1.270837679d, $ 0.040480d, 15720.838784878d, 2.546610123d, $ 0.028244d, -6286.598968340d, 5.069663519d, $ 0.033477d, 6062.663207553d, 4.144987272d, $ 0.034867d, 522.577418094d, 5.210064075d, $ 0.032438d, 6076.890301554d, 0.749317412d, $ 0.030215d, 7084.896781115d, 3.389610345d, $ 0.029247d, -71430.695617928d, 4.183178762d, $ 0.033529d, 9437.762934887d, 2.404714239d, $ 0.032423d, 8827.390269875d, 5.541473556d, $ 0.027567d, 6279.552731642d, 5.040846034d, $ 0.029862d, 12139.553509107d, 1.770181024d, $ 0.022509d, 10447.387839604d, 1.460726241d, $ 0.020937d, 8429.241266467d, 0.652303414d, $ 0.020322d, 419.484643875d, 3.735430632d, $ 0.024816d, -1194.447010225d, 1.087136918d, $ 0.025196d, 1748.016413067d, 2.901883301d, $ 0.021691d, 14143.495242431d, 5.952658009d, $ 0.017673d, 6812.766815086d, 3.186129845d, $ 0.022567d, 6133.512652857d, 3.307984806d, $ 0.016155d, 10213.285546211d, 1.331103168d, $ 0.014751d, 1349.867409659d, 4.308933301d, $ 0.015949d, -220.412642439d, 4.005298270d, $ 0.015974d, -2352.866153772d, 6.145309371d, $ 0.014223d, 17789.845619785d, 2.104551349d ]fbldata = [ fbldata, $ 0.017806d, 73.297125859d, 3.475975097d, $ 0.013671d, -536.804512095d, 5.971672571d, $ 0.011942d, 8031.092263058d, 2.053414715d, $ 0.014318d, 16730.463689596d, 3.016058075d, $ 0.012462d, 103.092774219d, 1.737438797d, $ 0.010962d, 3.590428652d, 2.196567739d, $ 0.015078d, 19651.048481098d, 3.969480770d, $ 0.010396d, 951.718406251d, 5.717799605d, $
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -