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