1 #include "erfa.h"
2 
eraTdbtt(double tdb1,double tdb2,double dtr,double * tt1,double * tt2)3 int eraTdbtt(double tdb1, double tdb2, double dtr,
4              double *tt1, double *tt2 )
5 /*
6 **  - - - - - - - - -
7 **   e r a T d b t t
8 **  - - - - - - - - -
9 **
10 **  Time scale transformation:  Barycentric Dynamical Time, TDB, to
11 **  Terrestrial Time, TT.
12 **
13 **  Given:
14 **     tdb1,tdb2  double    TDB as a 2-part Julian Date
15 **     dtr        double    TDB-TT in seconds
16 **
17 **  Returned:
18 **     tt1,tt2    double    TT as a 2-part Julian Date
19 **
20 **  Returned (function value):
21 **                int       status:  0 = OK
22 **
23 **  Notes:
24 **
25 **  1) tdb1+tdb2 is Julian Date, apportioned in any convenient way
26 **     between the two arguments, for example where tdb1 is the Julian
27 **     Day Number and tdb2 is the fraction of a day.  The returned
28 **     tt1,tt2 follow 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
39 **     JPL 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-2020, 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 ( fabs(tdb1) > fabs(tdb2) ) {
58       *tt1 = tdb1;
59       *tt2 = tdb2 - dtrd;
60    } else {
61       *tt1 = tdb1 - dtrd;
62       *tt2 = tdb2;
63    }
64 
65 /* Status (always OK). */
66    return 0;
67 
68 }
69 /*----------------------------------------------------------------------
70 **
71 **
72 **  Copyright (C) 2013-2020, 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 */
131