celes 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +17 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +32 -0
- data/README.md +179 -0
- data/Rakefile +1 -0
- data/celes.gemspec +22 -0
- data/ext/celes/a2af.c +120 -0
- data/ext/celes/a2tf.c +116 -0
- data/ext/celes/af2a.c +107 -0
- data/ext/celes/anp.c +82 -0
- data/ext/celes/anpm.c +82 -0
- data/ext/celes/bi00.c +116 -0
- data/ext/celes/bp00.c +173 -0
- data/ext/celes/bp06.c +136 -0
- data/ext/celes/bpn2xy.c +100 -0
- data/ext/celes/c2i00a.c +139 -0
- data/ext/celes/c2i00b.c +139 -0
- data/ext/celes/c2i06a.c +136 -0
- data/ext/celes/c2ibpn.c +142 -0
- data/ext/celes/c2ixy.c +131 -0
- data/ext/celes/c2ixys.c +123 -0
- data/ext/celes/c2s.c +96 -0
- data/ext/celes/c2t00a.c +154 -0
- data/ext/celes/c2t00b.c +150 -0
- data/ext/celes/c2t06a.c +152 -0
- data/ext/celes/c2tcio.c +122 -0
- data/ext/celes/c2teqx.c +122 -0
- data/ext/celes/c2tpe.c +167 -0
- data/ext/celes/c2txy.c +159 -0
- data/ext/celes/cal2jd.c +139 -0
- data/ext/celes/celes_core.c +2522 -0
- data/ext/celes/cp.c +80 -0
- data/ext/celes/cpv.c +82 -0
- data/ext/celes/cr.c +83 -0
- data/ext/celes/d2dtf.c +206 -0
- data/ext/celes/d2tf.c +160 -0
- data/ext/celes/dat.c +289 -0
- data/ext/celes/depend +25 -0
- data/ext/celes/dtdb.c +1213 -0
- data/ext/celes/dtf2d.c +196 -0
- data/ext/celes/ee00.c +128 -0
- data/ext/celes/ee00a.c +135 -0
- data/ext/celes/ee00b.c +141 -0
- data/ext/celes/ee06a.c +122 -0
- data/ext/celes/eect00.c +282 -0
- data/ext/celes/eform.c +147 -0
- data/ext/celes/eo06a.c +131 -0
- data/ext/celes/eors.c +108 -0
- data/ext/celes/epb.c +96 -0
- data/ext/celes/epb2jd.c +91 -0
- data/ext/celes/epj.c +93 -0
- data/ext/celes/epj2jd.c +91 -0
- data/ext/celes/epv00.c +2589 -0
- data/ext/celes/eqeq94.c +131 -0
- data/ext/celes/era00.c +136 -0
- data/ext/celes/extconf.rb +4 -0
- data/ext/celes/fad03.c +103 -0
- data/ext/celes/fae03.c +102 -0
- data/ext/celes/faf03.c +106 -0
- data/ext/celes/faju03.c +102 -0
- data/ext/celes/fal03.c +103 -0
- data/ext/celes/falp03.c +103 -0
- data/ext/celes/fama03.c +102 -0
- data/ext/celes/fame03.c +102 -0
- data/ext/celes/fane03.c +99 -0
- data/ext/celes/faom03.c +104 -0
- data/ext/celes/fapa03.c +103 -0
- data/ext/celes/fasa03.c +102 -0
- data/ext/celes/faur03.c +99 -0
- data/ext/celes/fave03.c +102 -0
- data/ext/celes/fk52h.c +143 -0
- data/ext/celes/fk5hip.c +126 -0
- data/ext/celes/fk5hz.c +160 -0
- data/ext/celes/fw2m.c +134 -0
- data/ext/celes/fw2xy.c +120 -0
- data/ext/celes/gc2gd.c +134 -0
- data/ext/celes/gc2gde.c +200 -0
- data/ext/celes/gd2gc.c +134 -0
- data/ext/celes/gd2gce.c +138 -0
- data/ext/celes/gmst00.c +145 -0
- data/ext/celes/gmst06.c +136 -0
- data/ext/celes/gmst82.c +151 -0
- data/ext/celes/gst00a.c +138 -0
- data/ext/celes/gst00b.c +146 -0
- data/ext/celes/gst06.c +140 -0
- data/ext/celes/gst06a.c +131 -0
- data/ext/celes/gst94.c +131 -0
- data/ext/celes/h2fk5.c +148 -0
- data/ext/celes/hfk5z.c +175 -0
- data/ext/celes/ir.c +83 -0
- data/ext/celes/jd2cal.c +155 -0
- data/ext/celes/jdcalf.c +161 -0
- data/ext/celes/num00a.c +121 -0
- data/ext/celes/num00b.c +121 -0
- data/ext/celes/num06a.c +125 -0
- data/ext/celes/numat.c +109 -0
- data/ext/celes/nut00a.c +2047 -0
- data/ext/celes/nut00b.c +372 -0
- data/ext/celes/nut06a.c +153 -0
- data/ext/celes/nut80.c +325 -0
- data/ext/celes/nutm80.c +117 -0
- data/ext/celes/obl06.c +118 -0
- data/ext/celes/obl80.c +118 -0
- data/ext/celes/p06e.c +321 -0
- data/ext/celes/p2pv.c +83 -0
- data/ext/celes/p2s.c +91 -0
- data/ext/celes/pap.c +139 -0
- data/ext/celes/pas.c +96 -0
- data/ext/celes/pb06.c +144 -0
- data/ext/celes/pdp.c +84 -0
- data/ext/celes/pfw06.c +165 -0
- data/ext/celes/plan94.c +514 -0
- data/ext/celes/pm.c +83 -0
- data/ext/celes/pmat00.c +118 -0
- data/ext/celes/pmat06.c +122 -0
- data/ext/celes/pmat76.c +141 -0
- data/ext/celes/pmp.c +85 -0
- data/ext/celes/pn.c +109 -0
- data/ext/celes/pn00.c +177 -0
- data/ext/celes/pn00a.c +162 -0
- data/ext/celes/pn00b.c +162 -0
- data/ext/celes/pn06.c +187 -0
- data/ext/celes/pn06a.c +152 -0
- data/ext/celes/pnm00a.c +121 -0
- data/ext/celes/pnm00b.c +121 -0
- data/ext/celes/pnm06a.c +124 -0
- data/ext/celes/pnm80.c +126 -0
- data/ext/celes/pom00.c +115 -0
- data/ext/celes/ppp.c +85 -0
- data/ext/celes/ppsp.c +94 -0
- data/ext/celes/pr00.c +142 -0
- data/ext/celes/prec76.c +148 -0
- data/ext/celes/pv2p.c +81 -0
- data/ext/celes/pv2s.c +144 -0
- data/ext/celes/pvdpv.c +102 -0
- data/ext/celes/pvm.c +86 -0
- data/ext/celes/pvmpv.c +87 -0
- data/ext/celes/pvppv.c +87 -0
- data/ext/celes/pvstar.c +207 -0
- data/ext/celes/pvu.c +93 -0
- data/ext/celes/pvup.c +88 -0
- data/ext/celes/pvxpv.c +107 -0
- data/ext/celes/pxp.c +94 -0
- data/ext/celes/rm2v.c +111 -0
- data/ext/celes/rv2m.c +118 -0
- data/ext/celes/rx.c +110 -0
- data/ext/celes/rxp.c +99 -0
- data/ext/celes/rxpv.c +86 -0
- data/ext/celes/rxr.c +99 -0
- data/ext/celes/ry.c +110 -0
- data/ext/celes/rz.c +110 -0
- data/ext/celes/s00.c +371 -0
- data/ext/celes/s00a.c +143 -0
- data/ext/celes/s00b.c +143 -0
- data/ext/celes/s06.c +368 -0
- data/ext/celes/s06a.c +145 -0
- data/ext/celes/s2c.c +85 -0
- data/ext/celes/s2p.c +88 -0
- data/ext/celes/s2pv.c +103 -0
- data/ext/celes/s2xpv.c +87 -0
- data/ext/celes/sepp.c +105 -0
- data/ext/celes/seps.c +93 -0
- data/ext/celes/sofa.h +379 -0
- data/ext/celes/sofam.h +155 -0
- data/ext/celes/sp00.c +118 -0
- data/ext/celes/starpm.c +205 -0
- data/ext/celes/starpv.c +264 -0
- data/ext/celes/sxp.c +84 -0
- data/ext/celes/sxpv.c +85 -0
- data/ext/celes/taitt.c +110 -0
- data/ext/celes/taiut1.c +112 -0
- data/ext/celes/taiutc.c +182 -0
- data/ext/celes/tcbtdb.c +132 -0
- data/ext/celes/tcgtt.c +109 -0
- data/ext/celes/tdbtcb.c +137 -0
- data/ext/celes/tdbtt.c +122 -0
- data/ext/celes/tf2a.c +107 -0
- data/ext/celes/tf2d.c +107 -0
- data/ext/celes/tr.c +93 -0
- data/ext/celes/trxp.c +93 -0
- data/ext/celes/trxpv.c +93 -0
- data/ext/celes/tttai.c +110 -0
- data/ext/celes/tttcg.c +112 -0
- data/ext/celes/tttdb.c +121 -0
- data/ext/celes/ttut1.c +110 -0
- data/ext/celes/ut1tai.c +111 -0
- data/ext/celes/ut1tt.c +110 -0
- data/ext/celes/ut1utc.c +193 -0
- data/ext/celes/utctai.c +163 -0
- data/ext/celes/utcut1.c +151 -0
- data/ext/celes/xy06.c +2758 -0
- data/ext/celes/xys00a.c +133 -0
- data/ext/celes/xys00b.c +133 -0
- data/ext/celes/xys06a.c +133 -0
- data/ext/celes/zp.c +77 -0
- data/ext/celes/zpv.c +79 -0
- data/ext/celes/zr.c +83 -0
- data/lib/celes.rb +6 -0
- data/lib/celes/version.rb +3 -0
- data/sofa_20120301.diff +31384 -0
- data/test/t_sofa.rb +8228 -0
- metadata +251 -0
data/ext/celes/tttdb.c
ADDED
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
#include "sofam.h"
|
|
2
|
+
|
|
3
|
+
int iauTttdb(double tt1, double tt2, double dtr,
|
|
4
|
+
double *tdb1, double *tdb2)
|
|
5
|
+
/*
|
|
6
|
+
** - - - - - - - - -
|
|
7
|
+
** i a u T t t d b
|
|
8
|
+
** - - - - - - - - -
|
|
9
|
+
**
|
|
10
|
+
** Time scale transformation: Terrestrial Time, TT, to Barycentric
|
|
11
|
+
** Dynamical Time, TDB.
|
|
12
|
+
**
|
|
13
|
+
** Status: canonical.
|
|
14
|
+
**
|
|
15
|
+
** Given:
|
|
16
|
+
** tt1,tt2 double TT as a 2-part Julian Date
|
|
17
|
+
** dtr double TDB-TT in seconds
|
|
18
|
+
**
|
|
19
|
+
** Returned:
|
|
20
|
+
** tdb1,tdb2 double TDB as a 2-part Julian Date
|
|
21
|
+
**
|
|
22
|
+
** Returned (function value):
|
|
23
|
+
** int status: 0 = OK
|
|
24
|
+
**
|
|
25
|
+
** Notes:
|
|
26
|
+
**
|
|
27
|
+
** 1) tt1+tt2 is Julian Date, apportioned in any convenient way between
|
|
28
|
+
** the two arguments, for example where tt1 is the Julian Day Number
|
|
29
|
+
** and tt2 is the fraction of a day. The returned tdb1,tdb2 follow
|
|
30
|
+
** suit.
|
|
31
|
+
**
|
|
32
|
+
** 2) The argument dtr represents the quasi-periodic component of the
|
|
33
|
+
** GR transformation between TT and TCB. It is dependent upon the
|
|
34
|
+
** adopted solar-system ephemeris, and can be obtained by numerical
|
|
35
|
+
** integration, by interrogating a precomputed time ephemeris or by
|
|
36
|
+
** evaluating a model such as that implemented in the SOFA function
|
|
37
|
+
** iauDtdb. The quantity is dominated by an annual term of 1.7 ms
|
|
38
|
+
** amplitude.
|
|
39
|
+
**
|
|
40
|
+
** 3) TDB is essentially the same as Teph, the time argument for the JPL
|
|
41
|
+
** solar system ephemerides.
|
|
42
|
+
**
|
|
43
|
+
** References:
|
|
44
|
+
**
|
|
45
|
+
** McCarthy, D. D., Petit, G. (eds.), IERS Conventions (2003),
|
|
46
|
+
** IERS Technical Note No. 32, BKG (2004)
|
|
47
|
+
**
|
|
48
|
+
** IAU 2006 Resolution 3
|
|
49
|
+
**
|
|
50
|
+
** This revision: 2011 May 14
|
|
51
|
+
**
|
|
52
|
+
** Original version 2012-03-01
|
|
53
|
+
**
|
|
54
|
+
** Copyright (C) 2013 Naoki Arita. See notes at end.
|
|
55
|
+
*/
|
|
56
|
+
{
|
|
57
|
+
double dtrd;
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
/* Result, safeguarding precision. */
|
|
61
|
+
dtrd = dtr / DAYSEC;
|
|
62
|
+
if ( tt1 > tt2 ) {
|
|
63
|
+
*tdb1 = tt1;
|
|
64
|
+
*tdb2 = tt2 + dtrd;
|
|
65
|
+
} else {
|
|
66
|
+
*tdb1 = tt1 + dtrd;
|
|
67
|
+
*tdb2 = tt2;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/* Status (always OK). */
|
|
71
|
+
return 0;
|
|
72
|
+
|
|
73
|
+
/*----------------------------------------------------------------------
|
|
74
|
+
**
|
|
75
|
+
** Celes is a wrapper of the SOFA Library for Ruby.
|
|
76
|
+
**
|
|
77
|
+
** This file is redistributed and relicensed in accordance with
|
|
78
|
+
** the SOFA Software License (http://www.iausofa.org/tandc.html).
|
|
79
|
+
**
|
|
80
|
+
** The original library is available from IAU Standards of
|
|
81
|
+
** Fundamental Astronomy (http://www.iausofa.org/).
|
|
82
|
+
**
|
|
83
|
+
**
|
|
84
|
+
**
|
|
85
|
+
**
|
|
86
|
+
**
|
|
87
|
+
** Copyright (C) 2013, Naoki Arita
|
|
88
|
+
** All rights reserved.
|
|
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
|
+
**--------------------------------------------------------------------*/
|
|
121
|
+
}
|
data/ext/celes/ttut1.c
ADDED
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
#include "sofam.h"
|
|
2
|
+
|
|
3
|
+
int iauTtut1(double tt1, double tt2, double dt,
|
|
4
|
+
double *ut11, double *ut12)
|
|
5
|
+
/*
|
|
6
|
+
** - - - - - - - - -
|
|
7
|
+
** i a u T t u t 1
|
|
8
|
+
** - - - - - - - - -
|
|
9
|
+
**
|
|
10
|
+
** Time scale transformation: Terrestrial Time, TT, to Universal Time,
|
|
11
|
+
** UT1.
|
|
12
|
+
**
|
|
13
|
+
** Status: canonical.
|
|
14
|
+
**
|
|
15
|
+
** Given:
|
|
16
|
+
** tt1,tt2 double TT as a 2-part Julian Date
|
|
17
|
+
** dt double TT-UT1 in seconds
|
|
18
|
+
**
|
|
19
|
+
** Returned:
|
|
20
|
+
** ut11,ut12 double UT1 as a 2-part Julian Date
|
|
21
|
+
**
|
|
22
|
+
** Returned (function value):
|
|
23
|
+
** int status: 0 = OK
|
|
24
|
+
**
|
|
25
|
+
** Notes:
|
|
26
|
+
**
|
|
27
|
+
** 1) tt1+tt2 is Julian Date, apportioned in any convenient way between
|
|
28
|
+
** the two arguments, for example where tt1 is the Julian Day Number
|
|
29
|
+
** and tt2 is the fraction of a day. The returned ut11,ut12 follow
|
|
30
|
+
** suit.
|
|
31
|
+
**
|
|
32
|
+
** 2) The argument dt is classical Delta T.
|
|
33
|
+
**
|
|
34
|
+
** Reference:
|
|
35
|
+
**
|
|
36
|
+
** Explanatory Supplement to the Astronomical Almanac,
|
|
37
|
+
** P. Kenneth Seidelmann (ed), University Science Books (1992)
|
|
38
|
+
**
|
|
39
|
+
** This revision: 2011 May 14
|
|
40
|
+
**
|
|
41
|
+
** Original version 2012-03-01
|
|
42
|
+
**
|
|
43
|
+
** Copyright (C) 2013 Naoki Arita. See notes at end.
|
|
44
|
+
*/
|
|
45
|
+
{
|
|
46
|
+
double dtd;
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
/* Result, safeguarding precision. */
|
|
50
|
+
dtd = dt / DAYSEC;
|
|
51
|
+
if ( tt1 > tt2 ) {
|
|
52
|
+
*ut11 = tt1;
|
|
53
|
+
*ut12 = tt2 - dtd;
|
|
54
|
+
} else {
|
|
55
|
+
*ut11 = tt1 - dtd;
|
|
56
|
+
*ut12 = tt2;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/* Status (always OK). */
|
|
60
|
+
return 0;
|
|
61
|
+
|
|
62
|
+
/*----------------------------------------------------------------------
|
|
63
|
+
**
|
|
64
|
+
** Celes is a wrapper of the SOFA Library for Ruby.
|
|
65
|
+
**
|
|
66
|
+
** This file is redistributed and relicensed in accordance with
|
|
67
|
+
** the SOFA Software License (http://www.iausofa.org/tandc.html).
|
|
68
|
+
**
|
|
69
|
+
** The original library is available from IAU Standards of
|
|
70
|
+
** Fundamental Astronomy (http://www.iausofa.org/).
|
|
71
|
+
**
|
|
72
|
+
**
|
|
73
|
+
**
|
|
74
|
+
**
|
|
75
|
+
**
|
|
76
|
+
** Copyright (C) 2013, Naoki Arita
|
|
77
|
+
** All rights reserved.
|
|
78
|
+
**
|
|
79
|
+
** Redistribution and use in source and binary forms, with or without
|
|
80
|
+
** modification, are permitted provided that the following conditions
|
|
81
|
+
** are met:
|
|
82
|
+
**
|
|
83
|
+
** 1 Redistributions of source code must retain the above copyright
|
|
84
|
+
** notice, this list of conditions and the following disclaimer.
|
|
85
|
+
**
|
|
86
|
+
** 2 Redistributions in binary form must reproduce the above copyright
|
|
87
|
+
** notice, this list of conditions and the following disclaimer in
|
|
88
|
+
** the documentation and/or other materials provided with the
|
|
89
|
+
** distribution.
|
|
90
|
+
**
|
|
91
|
+
** 3 Neither the name of the Standards Of Fundamental Astronomy Board,
|
|
92
|
+
** the International Astronomical Union nor the names of its
|
|
93
|
+
** contributors may be used to endorse or promote products derived
|
|
94
|
+
** from this software without specific prior written permission.
|
|
95
|
+
**
|
|
96
|
+
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
97
|
+
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
98
|
+
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
|
99
|
+
** FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
|
100
|
+
** COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
101
|
+
** INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
|
102
|
+
** BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
103
|
+
** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
104
|
+
** CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
105
|
+
** LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
|
106
|
+
** ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
107
|
+
** POSSIBILITY OF SUCH DAMAGE.
|
|
108
|
+
**
|
|
109
|
+
**--------------------------------------------------------------------*/
|
|
110
|
+
}
|
data/ext/celes/ut1tai.c
ADDED
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
#include "sofam.h"
|
|
2
|
+
|
|
3
|
+
int iauUt1tai(double ut11, double ut12, double dta,
|
|
4
|
+
double *tai1, double *tai2)
|
|
5
|
+
/*
|
|
6
|
+
** - - - - - - - - - -
|
|
7
|
+
** i a u U t 1 t a i
|
|
8
|
+
** - - - - - - - - - -
|
|
9
|
+
**
|
|
10
|
+
** Time scale transformation: Universal Time, UT1, to International
|
|
11
|
+
** Atomic Time, TAI.
|
|
12
|
+
**
|
|
13
|
+
** Status: canonical.
|
|
14
|
+
**
|
|
15
|
+
** Given:
|
|
16
|
+
** ut11,ut12 double UT1 as a 2-part Julian Date
|
|
17
|
+
** dta double UT1-TAI in seconds
|
|
18
|
+
**
|
|
19
|
+
** Returned:
|
|
20
|
+
** tai1,tai2 double TAI as a 2-part Julian Date
|
|
21
|
+
**
|
|
22
|
+
** Returned (function value):
|
|
23
|
+
** int status: 0 = OK
|
|
24
|
+
**
|
|
25
|
+
** Notes:
|
|
26
|
+
**
|
|
27
|
+
** 1) ut11+ut12 is Julian Date, apportioned in any convenient way
|
|
28
|
+
** between the two arguments, for example where ut11 is the Julian
|
|
29
|
+
** Day Number and ut12 is the fraction of a day. The returned
|
|
30
|
+
** tai1,tai2 follow suit.
|
|
31
|
+
**
|
|
32
|
+
** 2) The argument dta, i.e. UT1-TAI, is an observed quantity, and is
|
|
33
|
+
** available from IERS tabulations.
|
|
34
|
+
**
|
|
35
|
+
** Reference:
|
|
36
|
+
**
|
|
37
|
+
** Explanatory Supplement to the Astronomical Almanac,
|
|
38
|
+
** P. Kenneth Seidelmann (ed), University Science Books (1992)
|
|
39
|
+
**
|
|
40
|
+
** This revision: 2011 May 14
|
|
41
|
+
**
|
|
42
|
+
** Original version 2012-03-01
|
|
43
|
+
**
|
|
44
|
+
** Copyright (C) 2013 Naoki Arita. See notes at end.
|
|
45
|
+
*/
|
|
46
|
+
{
|
|
47
|
+
double dtad;
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
/* Result, safeguarding precision. */
|
|
51
|
+
dtad = dta / DAYSEC;
|
|
52
|
+
if ( ut11 > ut12 ) {
|
|
53
|
+
*tai1 = ut11;
|
|
54
|
+
*tai2 = ut12 - dtad;
|
|
55
|
+
} else {
|
|
56
|
+
*tai1 = ut11 - dtad;
|
|
57
|
+
*tai2 = ut12;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/* Status (always OK). */
|
|
61
|
+
return 0;
|
|
62
|
+
|
|
63
|
+
/*----------------------------------------------------------------------
|
|
64
|
+
**
|
|
65
|
+
** Celes is a wrapper of the SOFA Library for Ruby.
|
|
66
|
+
**
|
|
67
|
+
** This file is redistributed and relicensed in accordance with
|
|
68
|
+
** the SOFA Software License (http://www.iausofa.org/tandc.html).
|
|
69
|
+
**
|
|
70
|
+
** The original library is available from IAU Standards of
|
|
71
|
+
** Fundamental Astronomy (http://www.iausofa.org/).
|
|
72
|
+
**
|
|
73
|
+
**
|
|
74
|
+
**
|
|
75
|
+
**
|
|
76
|
+
**
|
|
77
|
+
** Copyright (C) 2013, Naoki Arita
|
|
78
|
+
** All rights reserved.
|
|
79
|
+
**
|
|
80
|
+
** Redistribution and use in source and binary forms, with or without
|
|
81
|
+
** modification, are permitted provided that the following conditions
|
|
82
|
+
** are met:
|
|
83
|
+
**
|
|
84
|
+
** 1 Redistributions of source code must retain the above copyright
|
|
85
|
+
** notice, this list of conditions and the following disclaimer.
|
|
86
|
+
**
|
|
87
|
+
** 2 Redistributions in binary form must reproduce the above copyright
|
|
88
|
+
** notice, this list of conditions and the following disclaimer in
|
|
89
|
+
** the documentation and/or other materials provided with the
|
|
90
|
+
** distribution.
|
|
91
|
+
**
|
|
92
|
+
** 3 Neither the name of the Standards Of Fundamental Astronomy Board,
|
|
93
|
+
** the International Astronomical Union nor the names of its
|
|
94
|
+
** contributors may be used to endorse or promote products derived
|
|
95
|
+
** from this software without specific prior written permission.
|
|
96
|
+
**
|
|
97
|
+
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
98
|
+
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
99
|
+
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
|
100
|
+
** FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
|
101
|
+
** COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
102
|
+
** INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
|
103
|
+
** BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
104
|
+
** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
105
|
+
** CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
106
|
+
** LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
|
107
|
+
** ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
108
|
+
** POSSIBILITY OF SUCH DAMAGE.
|
|
109
|
+
**
|
|
110
|
+
**--------------------------------------------------------------------*/
|
|
111
|
+
}
|
data/ext/celes/ut1tt.c
ADDED
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
#include "sofam.h"
|
|
2
|
+
|
|
3
|
+
int iauUt1tt(double ut11, double ut12, double dt,
|
|
4
|
+
double *tt1, double *tt2)
|
|
5
|
+
/*
|
|
6
|
+
** - - - - - - - - -
|
|
7
|
+
** i a u U t 1 t t
|
|
8
|
+
** - - - - - - - - -
|
|
9
|
+
**
|
|
10
|
+
** Time scale transformation: Universal Time, UT1, to Terrestrial
|
|
11
|
+
** Time, TT.
|
|
12
|
+
**
|
|
13
|
+
** Status: canonical.
|
|
14
|
+
**
|
|
15
|
+
** Given:
|
|
16
|
+
** ut11,ut12 double UT1 as a 2-part Julian Date
|
|
17
|
+
** dt double TT-UT1 in seconds
|
|
18
|
+
**
|
|
19
|
+
** Returned:
|
|
20
|
+
** tt1,tt2 double TT as a 2-part Julian Date
|
|
21
|
+
**
|
|
22
|
+
** Returned (function value):
|
|
23
|
+
** int status: 0 = OK
|
|
24
|
+
**
|
|
25
|
+
** Notes:
|
|
26
|
+
**
|
|
27
|
+
** 1) ut11+ut12 is Julian Date, apportioned in any convenient way
|
|
28
|
+
** between the two arguments, for example where ut11 is the Julian
|
|
29
|
+
** Day Number and ut12 is the fraction of a day. The returned
|
|
30
|
+
** tt1,tt2 follow suit.
|
|
31
|
+
**
|
|
32
|
+
** 2) The argument dt is classical Delta T.
|
|
33
|
+
**
|
|
34
|
+
** Reference:
|
|
35
|
+
**
|
|
36
|
+
** Explanatory Supplement to the Astronomical Almanac,
|
|
37
|
+
** P. Kenneth Seidelmann (ed), University Science Books (1992)
|
|
38
|
+
**
|
|
39
|
+
** This revision: 2011 May 14
|
|
40
|
+
**
|
|
41
|
+
** Original version 2012-03-01
|
|
42
|
+
**
|
|
43
|
+
** Copyright (C) 2013 Naoki Arita. See notes at end.
|
|
44
|
+
*/
|
|
45
|
+
{
|
|
46
|
+
double dtd;
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
/* Result, safeguarding precision. */
|
|
50
|
+
dtd = dt / DAYSEC;
|
|
51
|
+
if ( ut11 > ut12 ) {
|
|
52
|
+
*tt1 = ut11;
|
|
53
|
+
*tt2 = ut12 + dtd;
|
|
54
|
+
} else {
|
|
55
|
+
*tt1 = ut11 + dtd;
|
|
56
|
+
*tt2 = ut12;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/* Status (always OK). */
|
|
60
|
+
return 0;
|
|
61
|
+
|
|
62
|
+
/*----------------------------------------------------------------------
|
|
63
|
+
**
|
|
64
|
+
** Celes is a wrapper of the SOFA Library for Ruby.
|
|
65
|
+
**
|
|
66
|
+
** This file is redistributed and relicensed in accordance with
|
|
67
|
+
** the SOFA Software License (http://www.iausofa.org/tandc.html).
|
|
68
|
+
**
|
|
69
|
+
** The original library is available from IAU Standards of
|
|
70
|
+
** Fundamental Astronomy (http://www.iausofa.org/).
|
|
71
|
+
**
|
|
72
|
+
**
|
|
73
|
+
**
|
|
74
|
+
**
|
|
75
|
+
**
|
|
76
|
+
** Copyright (C) 2013, Naoki Arita
|
|
77
|
+
** All rights reserved.
|
|
78
|
+
**
|
|
79
|
+
** Redistribution and use in source and binary forms, with or without
|
|
80
|
+
** modification, are permitted provided that the following conditions
|
|
81
|
+
** are met:
|
|
82
|
+
**
|
|
83
|
+
** 1 Redistributions of source code must retain the above copyright
|
|
84
|
+
** notice, this list of conditions and the following disclaimer.
|
|
85
|
+
**
|
|
86
|
+
** 2 Redistributions in binary form must reproduce the above copyright
|
|
87
|
+
** notice, this list of conditions and the following disclaimer in
|
|
88
|
+
** the documentation and/or other materials provided with the
|
|
89
|
+
** distribution.
|
|
90
|
+
**
|
|
91
|
+
** 3 Neither the name of the Standards Of Fundamental Astronomy Board,
|
|
92
|
+
** the International Astronomical Union nor the names of its
|
|
93
|
+
** contributors may be used to endorse or promote products derived
|
|
94
|
+
** from this software without specific prior written permission.
|
|
95
|
+
**
|
|
96
|
+
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
97
|
+
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
98
|
+
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
|
99
|
+
** FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
|
100
|
+
** COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
101
|
+
** INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
|
102
|
+
** BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
103
|
+
** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
104
|
+
** CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
105
|
+
** LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
|
106
|
+
** ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
107
|
+
** POSSIBILITY OF SUCH DAMAGE.
|
|
108
|
+
**
|
|
109
|
+
**--------------------------------------------------------------------*/
|
|
110
|
+
}
|