source: trunk/FACT++/erfa/src/tttdb.c

Last change on this file was 18921, checked in by tbretz, 7 years ago
Updated to ERFA 1.4.0
File size: 4.8 KB
Line 
1#include "erfa.h"
2
3int eraTttdb(double tt1, double tt2, double dtr,
4 double *tdb1, double *tdb2)
5/*
6** - - - - - - - - -
7** e r a T t t d b
8** - - - - - - - - -
9**
10** Time scale transformation: Terrestrial Time, TT, to Barycentric
11** Dynamical Time, TDB.
12**
13** Given:
14** tt1,tt2 double TT as a 2-part Julian Date
15** dtr double TDB-TT in seconds
16**
17** Returned:
18** tdb1,tdb2 double TDB as a 2-part Julian Date
19**
20** Returned (function value):
21** int status: 0 = OK
22**
23** Notes:
24**
25** 1) tt1+tt2 is Julian Date, apportioned in any convenient way between
26** the two arguments, for example where tt1 is the Julian Day Number
27** and tt2 is the fraction of a day. The returned tdb1,tdb2 follow
28** suit.
29**
30** 2) The argument dtr represents the quasi-periodic component of the
31** GR transformation between TT and TCB. It is dependent upon the
32** adopted solar-system ephemeris, and can be obtained by numerical
33** integration, by interrogating a precomputed time ephemeris or by
34** evaluating a model such as that implemented in the ERFA function
35** eraDtdb. The quantity is dominated by an annual term of 1.7 ms
36** amplitude.
37**
38** 3) TDB is essentially the same as Teph, the time argument for the JPL
39** solar system ephemerides.
40**
41** References:
42**
43** McCarthy, D. D., Petit, G. (eds.), IERS Conventions (2003),
44** IERS Technical Note No. 32, BKG (2004)
45**
46** IAU 2006 Resolution 3
47**
48** Copyright (C) 2013-2017, NumFOCUS Foundation.
49** Derived, with permission, from the SOFA library. See notes at end of file.
50*/
51{
52 double dtrd;
53
54
55/* Result, safeguarding precision. */
56 dtrd = dtr / ERFA_DAYSEC;
57 if ( tt1 > tt2 ) {
58 *tdb1 = tt1;
59 *tdb2 = tt2 + dtrd;
60 } else {
61 *tdb1 = tt1 + dtrd;
62 *tdb2 = tt2;
63 }
64
65/* Status (always OK). */
66 return 0;
67
68}
69/*----------------------------------------------------------------------
70**
71**
72** Copyright (C) 2013-2017, NumFOCUS Foundation.
73** All rights reserved.
74**
75** This library is derived, with permission, from the International
76** Astronomical Union's "Standards of Fundamental Astronomy" library,
77** available from http://www.iausofa.org.
78**
79** The ERFA version is intended to retain identical functionality to
80** the SOFA library, but made distinct through different function and
81** file names, as set out in the SOFA license conditions. The SOFA
82** original has a role as a reference standard for the IAU and IERS,
83** and consequently redistribution is permitted only in its unaltered
84** state. The ERFA version is not subject to this restriction and
85** therefore can be included in distributions which do not support the
86** concept of "read only" software.
87**
88** Although the intent is to replicate the SOFA API (other than
89** replacement of prefix names) and results (with the exception of
90** bugs; any that are discovered will be fixed), SOFA is not
91** responsible for any errors found in this version of the library.
92**
93** If you wish to acknowledge the SOFA heritage, please acknowledge
94** that you are using a library derived from SOFA, rather than SOFA
95** itself.
96**
97**
98** TERMS AND CONDITIONS
99**
100** Redistribution and use in source and binary forms, with or without
101** modification, are permitted provided that the following conditions
102** are met:
103**
104** 1 Redistributions of source code must retain the above copyright
105** notice, this list of conditions and the following disclaimer.
106**
107** 2 Redistributions in binary form must reproduce the above copyright
108** notice, this list of conditions and the following disclaimer in
109** the documentation and/or other materials provided with the
110** distribution.
111**
112** 3 Neither the name of the Standards Of Fundamental Astronomy Board,
113** the International Astronomical Union nor the names of its
114** contributors may be used to endorse or promote products derived
115** from this software without specific prior written permission.
116**
117** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
118** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
119** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
120** FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
121** COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
122** INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
123** BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
124** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
125** CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
126** LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
127** ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
128** POSSIBILITY OF SUCH DAMAGE.
129**
130*/
Note: See TracBrowser for help on using the repository browser.