1 #include "erfa.h"
2 #include "erfam.h"
3
eraUt1tt(double ut11,double ut12,double dt,double * tt1,double * tt2)4 int eraUt1tt(double ut11, double ut12, double dt,
5 double *tt1, double *tt2)
6 /*
7 ** - - - - - - - - -
8 ** e r a U t 1 t t
9 ** - - - - - - - - -
10 **
11 ** Time scale transformation: Universal Time, UT1, to Terrestrial
12 ** Time, TT.
13 **
14 ** Given:
15 ** ut11,ut12 double UT1 as a 2-part Julian Date
16 ** dt double TT-UT1 in seconds
17 **
18 ** Returned:
19 ** tt1,tt2 double TT as a 2-part Julian Date
20 **
21 ** Returned (function value):
22 ** int status: 0 = OK
23 **
24 ** Notes:
25 **
26 ** 1) ut11+ut12 is Julian Date, apportioned in any convenient way
27 ** between the two arguments, for example where ut11 is the Julian
28 ** Day Number and ut12 is the fraction of a day. The returned
29 ** tt1,tt2 follow suit.
30 **
31 ** 2) The argument dt is classical Delta T.
32 **
33 ** Reference:
34 **
35 ** Explanatory Supplement to the Astronomical Almanac,
36 ** P. Kenneth Seidelmann (ed), University Science Books (1992)
37 **
38 ** This revision: 2021 May 11
39 **
40 ** Copyright (C) 2013-2021, NumFOCUS Foundation.
41 ** Derived, with permission, from the SOFA library. See notes at end of file.
42 */
43 {
44 double dtd;
45
46
47 /* Result, safeguarding precision. */
48 dtd = dt / ERFA_DAYSEC;
49 if ( fabs(ut11) > fabs(ut12) ) {
50 *tt1 = ut11;
51 *tt2 = ut12 + dtd;
52 } else {
53 *tt1 = ut11 + dtd;
54 *tt2 = ut12;
55 }
56
57 /* Status (always OK). */
58 return 0;
59
60 /* Finished. */
61
62 }
63 /*----------------------------------------------------------------------
64 **
65 **
66 ** Copyright (C) 2013-2021, NumFOCUS Foundation.
67 ** All rights reserved.
68 **
69 ** This library is derived, with permission, from the International
70 ** Astronomical Union's "Standards of Fundamental Astronomy" library,
71 ** available from http://www.iausofa.org.
72 **
73 ** The ERFA version is intended to retain identical functionality to
74 ** the SOFA library, but made distinct through different function and
75 ** file names, as set out in the SOFA license conditions. The SOFA
76 ** original has a role as a reference standard for the IAU and IERS,
77 ** and consequently redistribution is permitted only in its unaltered
78 ** state. The ERFA version is not subject to this restriction and
79 ** therefore can be included in distributions which do not support the
80 ** concept of "read only" software.
81 **
82 ** Although the intent is to replicate the SOFA API (other than
83 ** replacement of prefix names) and results (with the exception of
84 ** bugs; any that are discovered will be fixed), SOFA is not
85 ** responsible for any errors found in this version of the library.
86 **
87 ** If you wish to acknowledge the SOFA heritage, please acknowledge
88 ** that you are using a library derived from SOFA, rather than SOFA
89 ** itself.
90 **
91 **
92 ** TERMS AND CONDITIONS
93 **
94 ** Redistribution and use in source and binary forms, with or without
95 ** modification, are permitted provided that the following conditions
96 ** are met:
97 **
98 ** 1 Redistributions of source code must retain the above copyright
99 ** notice, this list of conditions and the following disclaimer.
100 **
101 ** 2 Redistributions in binary form must reproduce the above copyright
102 ** notice, this list of conditions and the following disclaimer in
103 ** the documentation and/or other materials provided with the
104 ** distribution.
105 **
106 ** 3 Neither the name of the Standards Of Fundamental Astronomy Board,
107 ** the International Astronomical Union nor the names of its
108 ** contributors may be used to endorse or promote products derived
109 ** from this software without specific prior written permission.
110 **
111 ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
112 ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
113 ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
114 ** FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
115 ** COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
116 ** INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
117 ** BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
118 ** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
119 ** CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
120 ** LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
121 ** ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
122 ** POSSIBILITY OF SUCH DAMAGE.
123 **
124 */
125