equationoftime 4.0.0 → 4.1.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.
Files changed (265) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +8 -3
  3. data/Gemfile.lock +48 -0
  4. data/README.md +22 -19
  5. data/Rakefile +14 -7
  6. data/equationoftime.gemspec +9 -6
  7. data/ext/ceot/ceot.c +52 -0
  8. data/ext/ceot/eot.c +79 -0
  9. data/ext/ceot/eot.h +8 -0
  10. data/ext/ceot/extconf.rb +5 -0
  11. data/lib/eot.rb +2 -1
  12. data/lib/eot/angles.rb +44 -43
  13. data/lib/eot/init.rb +13 -6
  14. data/lib/eot/version.rb +1 -1
  15. data/wiki.md +6 -7
  16. metadata +26 -255
  17. data/.settings/org.eclipse.ltk.core.refactoring.prefs +0 -2
  18. data/Makefile +0 -238
  19. data/analemma_data.yml +0 -2925
  20. data/examples/Equation_of_Time.jpg +0 -0
  21. data/examples/analemma_data_generator.rb +0 -53
  22. data/examples/celes_parts/.RUBYARCHDIR.time +0 -0
  23. data/examples/celes_parts/.cproject +0 -56
  24. data/examples/celes_parts/.project +0 -78
  25. data/examples/celes_parts/a2af.c +0 -120
  26. data/examples/celes_parts/a2tf.c +0 -116
  27. data/examples/celes_parts/af2a.c +0 -107
  28. data/examples/celes_parts/anp.c +0 -82
  29. data/examples/celes_parts/anpm.c +0 -82
  30. data/examples/celes_parts/bi00.c +0 -116
  31. data/examples/celes_parts/bp00.c +0 -173
  32. data/examples/celes_parts/bp06.c +0 -136
  33. data/examples/celes_parts/bpn2xy.c +0 -100
  34. data/examples/celes_parts/c2i00a.c +0 -139
  35. data/examples/celes_parts/c2i00b.c +0 -139
  36. data/examples/celes_parts/c2i06a.c +0 -136
  37. data/examples/celes_parts/c2ibpn.c +0 -142
  38. data/examples/celes_parts/c2ixy.c +0 -131
  39. data/examples/celes_parts/c2ixys.c +0 -123
  40. data/examples/celes_parts/c2s.c +0 -96
  41. data/examples/celes_parts/c2t00a.c +0 -154
  42. data/examples/celes_parts/c2t00b.c +0 -150
  43. data/examples/celes_parts/c2t06a.c +0 -152
  44. data/examples/celes_parts/c2tcio.c +0 -122
  45. data/examples/celes_parts/c2teqx.c +0 -122
  46. data/examples/celes_parts/c2tpe.c +0 -167
  47. data/examples/celes_parts/c2txy.c +0 -159
  48. data/examples/celes_parts/cal2jd.c +0 -139
  49. data/examples/celes_parts/celes_core.c +0 -2522
  50. data/examples/celes_parts/cp.c +0 -80
  51. data/examples/celes_parts/cpv.c +0 -82
  52. data/examples/celes_parts/cr.c +0 -83
  53. data/examples/celes_parts/d2dtf.c +0 -206
  54. data/examples/celes_parts/d2tf.c +0 -160
  55. data/examples/celes_parts/dat.c +0 -289
  56. data/examples/celes_parts/depend +0 -25
  57. data/examples/celes_parts/dtdb.c +0 -1213
  58. data/examples/celes_parts/dtf2d.c +0 -196
  59. data/examples/celes_parts/ee00.c +0 -128
  60. data/examples/celes_parts/ee00a.c +0 -135
  61. data/examples/celes_parts/ee00b.c +0 -141
  62. data/examples/celes_parts/ee06a.c +0 -122
  63. data/examples/celes_parts/eect00.c +0 -282
  64. data/examples/celes_parts/eform.c +0 -147
  65. data/examples/celes_parts/eo06a.c +0 -131
  66. data/examples/celes_parts/eors.c +0 -108
  67. data/examples/celes_parts/epb.c +0 -96
  68. data/examples/celes_parts/epb2jd.c +0 -91
  69. data/examples/celes_parts/epj.c +0 -93
  70. data/examples/celes_parts/epj2jd.c +0 -91
  71. data/examples/celes_parts/epv00.c +0 -2589
  72. data/examples/celes_parts/eqeq94.c +0 -131
  73. data/examples/celes_parts/era00.c +0 -136
  74. data/examples/celes_parts/extconf.rb +0 -4
  75. data/examples/celes_parts/fad03.c +0 -103
  76. data/examples/celes_parts/fae03.c +0 -102
  77. data/examples/celes_parts/faf03.c +0 -106
  78. data/examples/celes_parts/faju03.c +0 -102
  79. data/examples/celes_parts/fal03.c +0 -103
  80. data/examples/celes_parts/falp03.c +0 -103
  81. data/examples/celes_parts/fama03.c +0 -102
  82. data/examples/celes_parts/fame03.c +0 -102
  83. data/examples/celes_parts/fane03.c +0 -99
  84. data/examples/celes_parts/faom03.c +0 -104
  85. data/examples/celes_parts/fapa03.c +0 -103
  86. data/examples/celes_parts/fasa03.c +0 -102
  87. data/examples/celes_parts/faur03.c +0 -99
  88. data/examples/celes_parts/fave03.c +0 -102
  89. data/examples/celes_parts/fk52h.c +0 -143
  90. data/examples/celes_parts/fk5hip.c +0 -126
  91. data/examples/celes_parts/fk5hz.c +0 -160
  92. data/examples/celes_parts/fw2m.c +0 -134
  93. data/examples/celes_parts/fw2xy.c +0 -120
  94. data/examples/celes_parts/gc2gd.c +0 -134
  95. data/examples/celes_parts/gc2gde.c +0 -200
  96. data/examples/celes_parts/gd2gc.c +0 -134
  97. data/examples/celes_parts/gd2gce.c +0 -138
  98. data/examples/celes_parts/gmst00.c +0 -145
  99. data/examples/celes_parts/gmst06.c +0 -136
  100. data/examples/celes_parts/gmst82.c +0 -151
  101. data/examples/celes_parts/gst00a.c +0 -138
  102. data/examples/celes_parts/gst00b.c +0 -146
  103. data/examples/celes_parts/gst06.c +0 -140
  104. data/examples/celes_parts/gst06a.c +0 -131
  105. data/examples/celes_parts/gst94.c +0 -131
  106. data/examples/celes_parts/h2fk5.c +0 -148
  107. data/examples/celes_parts/hfk5z.c +0 -175
  108. data/examples/celes_parts/ir.c +0 -83
  109. data/examples/celes_parts/jd2cal.c +0 -155
  110. data/examples/celes_parts/jdcalf.c +0 -161
  111. data/examples/celes_parts/num00a.c +0 -121
  112. data/examples/celes_parts/num00b.c +0 -121
  113. data/examples/celes_parts/num06a.c +0 -125
  114. data/examples/celes_parts/numat.c +0 -109
  115. data/examples/celes_parts/nut00a.c +0 -2047
  116. data/examples/celes_parts/nut00b.c +0 -372
  117. data/examples/celes_parts/nut06a.c +0 -153
  118. data/examples/celes_parts/nut80.c +0 -325
  119. data/examples/celes_parts/nutm80.c +0 -117
  120. data/examples/celes_parts/obl06.c +0 -118
  121. data/examples/celes_parts/obl80.c +0 -118
  122. data/examples/celes_parts/p06e.c +0 -321
  123. data/examples/celes_parts/p2pv.c +0 -83
  124. data/examples/celes_parts/p2s.c +0 -91
  125. data/examples/celes_parts/pap.c +0 -139
  126. data/examples/celes_parts/pas.c +0 -96
  127. data/examples/celes_parts/pb06.c +0 -144
  128. data/examples/celes_parts/pdp.c +0 -84
  129. data/examples/celes_parts/pfw06.c +0 -165
  130. data/examples/celes_parts/plan94.c +0 -514
  131. data/examples/celes_parts/pm.c +0 -83
  132. data/examples/celes_parts/pmat00.c +0 -118
  133. data/examples/celes_parts/pmat06.c +0 -122
  134. data/examples/celes_parts/pmat76.c +0 -141
  135. data/examples/celes_parts/pmp.c +0 -85
  136. data/examples/celes_parts/pn.c +0 -109
  137. data/examples/celes_parts/pn00.c +0 -177
  138. data/examples/celes_parts/pn00a.c +0 -162
  139. data/examples/celes_parts/pn00b.c +0 -162
  140. data/examples/celes_parts/pn06.c +0 -187
  141. data/examples/celes_parts/pn06a.c +0 -152
  142. data/examples/celes_parts/pnm00a.c +0 -121
  143. data/examples/celes_parts/pnm00b.c +0 -121
  144. data/examples/celes_parts/pnm06a.c +0 -124
  145. data/examples/celes_parts/pnm80.c +0 -126
  146. data/examples/celes_parts/pom00.c +0 -115
  147. data/examples/celes_parts/ppp.c +0 -85
  148. data/examples/celes_parts/ppsp.c +0 -94
  149. data/examples/celes_parts/pr00.c +0 -142
  150. data/examples/celes_parts/prec76.c +0 -148
  151. data/examples/celes_parts/pv2p.c +0 -81
  152. data/examples/celes_parts/pv2s.c +0 -144
  153. data/examples/celes_parts/pvdpv.c +0 -102
  154. data/examples/celes_parts/pvm.c +0 -86
  155. data/examples/celes_parts/pvmpv.c +0 -87
  156. data/examples/celes_parts/pvppv.c +0 -87
  157. data/examples/celes_parts/pvstar.c +0 -207
  158. data/examples/celes_parts/pvu.c +0 -93
  159. data/examples/celes_parts/pvup.c +0 -88
  160. data/examples/celes_parts/pvxpv.c +0 -107
  161. data/examples/celes_parts/pxp.c +0 -94
  162. data/examples/celes_parts/rm2v.c +0 -111
  163. data/examples/celes_parts/rv2m.c +0 -118
  164. data/examples/celes_parts/rx.c +0 -110
  165. data/examples/celes_parts/rxp.c +0 -99
  166. data/examples/celes_parts/rxpv.c +0 -86
  167. data/examples/celes_parts/rxr.c +0 -99
  168. data/examples/celes_parts/ry.c +0 -110
  169. data/examples/celes_parts/rz.c +0 -110
  170. data/examples/celes_parts/s00.c +0 -371
  171. data/examples/celes_parts/s00a.c +0 -143
  172. data/examples/celes_parts/s00b.c +0 -143
  173. data/examples/celes_parts/s06.c +0 -368
  174. data/examples/celes_parts/s06a.c +0 -145
  175. data/examples/celes_parts/s2c.c +0 -85
  176. data/examples/celes_parts/s2p.c +0 -88
  177. data/examples/celes_parts/s2pv.c +0 -103
  178. data/examples/celes_parts/s2xpv.c +0 -87
  179. data/examples/celes_parts/sepp.c +0 -105
  180. data/examples/celes_parts/seps.c +0 -93
  181. data/examples/celes_parts/sofa.h +0 -379
  182. data/examples/celes_parts/sofam.h +0 -155
  183. data/examples/celes_parts/sp00.c +0 -118
  184. data/examples/celes_parts/starpm.c +0 -205
  185. data/examples/celes_parts/starpv.c +0 -264
  186. data/examples/celes_parts/sxp.c +0 -84
  187. data/examples/celes_parts/sxpv.c +0 -85
  188. data/examples/celes_parts/taitt.c +0 -110
  189. data/examples/celes_parts/taiut1.c +0 -112
  190. data/examples/celes_parts/taiutc.c +0 -182
  191. data/examples/celes_parts/tcbtdb.c +0 -132
  192. data/examples/celes_parts/tcgtt.c +0 -109
  193. data/examples/celes_parts/tdbtcb.c +0 -137
  194. data/examples/celes_parts/tdbtt.c +0 -122
  195. data/examples/celes_parts/test_celes.rb +0 -48
  196. data/examples/celes_parts/tf2a.c +0 -107
  197. data/examples/celes_parts/tf2d.c +0 -107
  198. data/examples/celes_parts/tr.c +0 -93
  199. data/examples/celes_parts/trxp.c +0 -93
  200. data/examples/celes_parts/trxpv.c +0 -93
  201. data/examples/celes_parts/tttai.c +0 -110
  202. data/examples/celes_parts/tttcg.c +0 -112
  203. data/examples/celes_parts/tttdb.c +0 -121
  204. data/examples/celes_parts/ttut1.c +0 -110
  205. data/examples/celes_parts/ut1tai.c +0 -111
  206. data/examples/celes_parts/ut1tt.c +0 -110
  207. data/examples/celes_parts/ut1utc.c +0 -193
  208. data/examples/celes_parts/utctai.c +0 -163
  209. data/examples/celes_parts/utcut1.c +0 -151
  210. data/examples/celes_parts/xy06.c +0 -2758
  211. data/examples/celes_parts/xys00a.c +0 -133
  212. data/examples/celes_parts/xys00b.c +0 -133
  213. data/examples/celes_parts/xys06a.c +0 -133
  214. data/examples/celes_parts/zp.c +0 -77
  215. data/examples/celes_parts/zpv.c +0 -79
  216. data/examples/celes_parts/zr.c +0 -83
  217. data/examples/check_date_type.rb +0 -55
  218. data/examples/compare_geoc_long_ra.rb +0 -39
  219. data/examples/data_table_for_astro_dog.rb +0 -40
  220. data/examples/earth_rotation.rb +0 -38
  221. data/examples/eot.c +0 -15
  222. data/examples/eot.h +0 -2
  223. data/examples/eot_methods_list.rb +0 -43
  224. data/examples/eot_plot.r +0 -57
  225. data/examples/eot_suntimes.rb +0 -144
  226. data/examples/equation_of_time.py +0 -186
  227. data/examples/extconf.rb +0 -2
  228. data/examples/figure_1.jpg +0 -0
  229. data/examples/file_converter.rb +0 -31
  230. data/examples/from_readme.rb +0 -10
  231. data/examples/geo_locator.rb +0 -12
  232. data/examples/getjd.rb +0 -45
  233. data/examples/gmst_gast_non_sofa.rb +0 -404
  234. data/examples/input_suntimes.rb +0 -21
  235. data/examples/julian_day_formula.rb +0 -29
  236. data/examples/julian_day_formula.txt +0 -12
  237. data/examples/my_time_conversion.rb +0 -21
  238. data/examples/nutation_series.txt +0 -678
  239. data/examples/nutation_series.yaml +0 -14239
  240. data/examples/nutation_table5_3a.txt +0 -682
  241. data/examples/nutation_table5_3a.yaml +0 -9532
  242. data/examples/ptime.rb +0 -162
  243. data/examples/rbeot.c +0 -24
  244. data/examples/suntimes.rb +0 -28
  245. data/examples/suntimes_test.rb +0 -47
  246. data/examples/test_eot.rb +0 -17
  247. data/examples/test_poly_eval.rb +0 -27
  248. data/examples/time_scales.rb +0 -26
  249. data/examples/times_year.rb +0 -50
  250. data/examples/usage_example.rb +0 -23
  251. data/examples/use_angles.rb +0 -219
  252. data/rise_set_data.yml +0 -1461
  253. data/tests/minitest/aliased_angles_spec.rb +0 -241
  254. data/tests/minitest/aliased_displays_spec.rb +0 -108
  255. data/tests/minitest/aliased_utilities_spec.rb +0 -38
  256. data/tests/minitest/angles_spec.rb +0 -266
  257. data/tests/minitest/constants_spec.rb +0 -21
  258. data/tests/minitest/delta_epsilon_spec.rb +0 -32
  259. data/tests/minitest/displays_spec.rb +0 -113
  260. data/tests/minitest/geo_spec.rb +0 -40
  261. data/tests/minitest/init_spec.rb +0 -46
  262. data/tests/minitest/nutation_spec.rb +0 -39
  263. data/tests/minitest/times_spec.rb +0 -139
  264. data/tests/minitest/utilities_spec.rb +0 -37
  265. data/tests/spec_config.rb +0 -3
@@ -1,145 +0,0 @@
1
- #include "sofam.h"
2
-
3
- double iauGmst00(double uta, double utb, double tta, double ttb)
4
- /*
5
- ** - - - - - - - - - -
6
- ** i a u G m s t 0 0
7
- ** - - - - - - - - - -
8
- **
9
- ** Greenwich mean sidereal time (model consistent with IAU 2000
10
- ** resolutions).
11
- **
12
- ** Status: canonical model.
13
- **
14
- ** Given:
15
- ** uta,utb double UT1 as a 2-part Julian Date (Notes 1,2)
16
- ** tta,ttb double TT as a 2-part Julian Date (Notes 1,2)
17
- **
18
- ** Returned (function value):
19
- ** double Greenwich mean sidereal time (radians)
20
- **
21
- ** Notes:
22
- **
23
- ** 1) The UT1 and TT dates uta+utb and tta+ttb respectively, are both
24
- ** Julian Dates, apportioned in any convenient way between the
25
- ** argument pairs. For example, JD=2450123.7 could be expressed in
26
- ** any of these ways, among others:
27
- **
28
- ** Part A Part B
29
- **
30
- ** 2450123.7 0.0 (JD method)
31
- ** 2451545.0 -1421.3 (J2000 method)
32
- ** 2400000.5 50123.2 (MJD method)
33
- ** 2450123.5 0.2 (date & time method)
34
- **
35
- ** The JD method is the most natural and convenient to use in
36
- ** cases where the loss of several decimal digits of resolution
37
- ** is acceptable (in the case of UT; the TT is not at all critical
38
- ** in this respect). The J2000 and MJD methods are good compromises
39
- ** between resolution and convenience. For UT, the date & time
40
- ** method is best matched to the algorithm that is used by the Earth
41
- ** Rotation Angle function, called internally: maximum precision is
42
- ** delivered when the uta argument is for 0hrs UT1 on the day in
43
- ** question and the utb argument lies in the range 0 to 1, or vice
44
- ** versa.
45
- **
46
- ** 2) Both UT1 and TT are required, UT1 to predict the Earth rotation
47
- ** and TT to predict the effects of precession. If UT1 is used for
48
- ** both purposes, errors of order 100 microarcseconds result.
49
- **
50
- ** 3) This GMST is compatible with the IAU 2000 resolutions and must be
51
- ** used only in conjunction with other IAU 2000 compatible
52
- ** components such as precession-nutation and equation of the
53
- ** equinoxes.
54
- **
55
- ** 4) The result is returned in the range 0 to 2pi.
56
- **
57
- ** 5) The algorithm is from Capitaine et al. (2003) and IERS
58
- ** Conventions 2003.
59
- **
60
- ** Called:
61
- ** iauEra00 Earth rotation angle, IAU 2000
62
- ** iauAnp normalize angle into range 0 to 2pi
63
- **
64
- ** References:
65
- **
66
- ** Capitaine, N., Wallace, P.T. and McCarthy, D.D., "Expressions to
67
- ** implement the IAU 2000 definition of UT1", Astronomy &
68
- ** Astrophysics, 406, 1135-1149 (2003)
69
- **
70
- ** McCarthy, D. D., Petit, G. (eds.), IERS Conventions (2003),
71
- ** IERS Technical Note No. 32, BKG (2004)
72
- **
73
- ** This revision: 2009 March 16
74
- **
75
- ** Original version 2012-03-01
76
- **
77
- ** Copyright (C) 2013 Naoki Arita. See notes at end.
78
- */
79
- {
80
- double t, gmst;
81
-
82
-
83
- /* TT Julian centuries since J2000.0. */
84
- t = ((tta - DJ00) + ttb) / DJC;
85
-
86
- /* Greenwich Mean Sidereal Time, IAU 2000. */
87
- gmst = iauAnp(iauEra00(uta, utb) +
88
- ( 0.014506 +
89
- ( 4612.15739966 +
90
- ( 1.39667721 +
91
- ( -0.00009344 +
92
- ( 0.00001882 )
93
- * t) * t) * t) * t) * DAS2R);
94
-
95
- return gmst;
96
-
97
- /*----------------------------------------------------------------------
98
- **
99
- ** Celes is a wrapper of the SOFA Library for Ruby.
100
- **
101
- ** This file is redistributed and relicensed in accordance with
102
- ** the SOFA Software License (http://www.iausofa.org/tandc.html).
103
- **
104
- ** The original library is available from IAU Standards of
105
- ** Fundamental Astronomy (http://www.iausofa.org/).
106
- **
107
- **
108
- **
109
- **
110
- **
111
- ** Copyright (C) 2013, Naoki Arita
112
- ** All rights reserved.
113
- **
114
- ** Redistribution and use in source and binary forms, with or without
115
- ** modification, are permitted provided that the following conditions
116
- ** are met:
117
- **
118
- ** 1 Redistributions of source code must retain the above copyright
119
- ** notice, this list of conditions and the following disclaimer.
120
- **
121
- ** 2 Redistributions in binary form must reproduce the above copyright
122
- ** notice, this list of conditions and the following disclaimer in
123
- ** the documentation and/or other materials provided with the
124
- ** distribution.
125
- **
126
- ** 3 Neither the name of the Standards Of Fundamental Astronomy Board,
127
- ** the International Astronomical Union nor the names of its
128
- ** contributors may be used to endorse or promote products derived
129
- ** from this software without specific prior written permission.
130
- **
131
- ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
132
- ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
133
- ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
134
- ** FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
135
- ** COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
136
- ** INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
137
- ** BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
138
- ** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
139
- ** CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
140
- ** LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
141
- ** ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
142
- ** POSSIBILITY OF SUCH DAMAGE.
143
- **
144
- **--------------------------------------------------------------------*/
145
- }
@@ -1,136 +0,0 @@
1
- #include "sofam.h"
2
-
3
- double iauGmst06(double uta, double utb, double tta, double ttb)
4
- /*
5
- ** - - - - - - - - - -
6
- ** i a u G m s t 0 6
7
- ** - - - - - - - - - -
8
- **
9
- ** Greenwich mean sidereal time (consistent with IAU 2006 precession).
10
- **
11
- ** Status: canonical model.
12
- **
13
- ** Given:
14
- ** uta,utb double UT1 as a 2-part Julian Date (Notes 1,2)
15
- ** tta,ttb double TT as a 2-part Julian Date (Notes 1,2)
16
- **
17
- ** Returned (function value):
18
- ** double Greenwich mean sidereal time (radians)
19
- **
20
- ** Notes:
21
- **
22
- ** 1) The UT1 and TT dates uta+utb and tta+ttb respectively, are both
23
- ** Julian Dates, apportioned in any convenient way between the
24
- ** argument pairs. For example, JD=2450123.7 could be expressed in
25
- ** any of these ways, among others:
26
- **
27
- ** Part A Part B
28
- **
29
- ** 2450123.7 0.0 (JD method)
30
- ** 2451545.0 -1421.3 (J2000 method)
31
- ** 2400000.5 50123.2 (MJD method)
32
- ** 2450123.5 0.2 (date & time method)
33
- **
34
- ** The JD method is the most natural and convenient to use in
35
- ** cases where the loss of several decimal digits of resolution
36
- ** is acceptable (in the case of UT; the TT is not at all critical
37
- ** in this respect). The J2000 and MJD methods are good compromises
38
- ** between resolution and convenience. For UT, the date & time
39
- ** method is best matched to the algorithm that is used by the Earth
40
- ** rotation angle function, called internally: maximum precision is
41
- ** delivered when the uta argument is for 0hrs UT1 on the day in
42
- ** question and the utb argument lies in the range 0 to 1, or vice
43
- ** versa.
44
- **
45
- ** 2) Both UT1 and TT are required, UT1 to predict the Earth rotation
46
- ** and TT to predict the effects of precession. If UT1 is used for
47
- ** both purposes, errors of order 100 microarcseconds result.
48
- **
49
- ** 3) This GMST is compatible with the IAU 2006 precession and must not
50
- ** be used with other precession models.
51
- **
52
- ** 4) The result is returned in the range 0 to 2pi.
53
- **
54
- ** Called:
55
- ** iauEra00 Earth rotation angle, IAU 2000
56
- ** iauAnp normalize angle into range 0 to 2pi
57
- **
58
- ** Reference:
59
- **
60
- ** Capitaine, N., Wallace, P.T. & Chapront, J., 2005,
61
- ** Astron.Astrophys. 432, 355
62
- **
63
- ** This revision: 2008 May 24
64
- **
65
- ** Original version 2012-03-01
66
- **
67
- ** Copyright (C) 2013 Naoki Arita. See notes at end.
68
- */
69
- {
70
- double t, gmst;
71
-
72
-
73
- /* TT Julian centuries since J2000.0. */
74
- t = ((tta - DJ00) + ttb) / DJC;
75
-
76
- /* Greenwich mean sidereal time, IAU 2006. */
77
- gmst = iauAnp(iauEra00(uta, utb) +
78
- ( 0.014506 +
79
- ( 4612.156534 +
80
- ( 1.3915817 +
81
- ( -0.00000044 +
82
- ( -0.000029956 +
83
- ( -0.0000000368 )
84
- * t) * t) * t) * t) * t) * DAS2R);
85
-
86
- return gmst;
87
-
88
- /*----------------------------------------------------------------------
89
- **
90
- ** Celes is a wrapper of the SOFA Library for Ruby.
91
- **
92
- ** This file is redistributed and relicensed in accordance with
93
- ** the SOFA Software License (http://www.iausofa.org/tandc.html).
94
- **
95
- ** The original library is available from IAU Standards of
96
- ** Fundamental Astronomy (http://www.iausofa.org/).
97
- **
98
- **
99
- **
100
- **
101
- **
102
- ** Copyright (C) 2013, Naoki Arita
103
- ** All rights reserved.
104
- **
105
- ** Redistribution and use in source and binary forms, with or without
106
- ** modification, are permitted provided that the following conditions
107
- ** are met:
108
- **
109
- ** 1 Redistributions of source code must retain the above copyright
110
- ** notice, this list of conditions and the following disclaimer.
111
- **
112
- ** 2 Redistributions in binary form must reproduce the above copyright
113
- ** notice, this list of conditions and the following disclaimer in
114
- ** the documentation and/or other materials provided with the
115
- ** distribution.
116
- **
117
- ** 3 Neither the name of the Standards Of Fundamental Astronomy Board,
118
- ** the International Astronomical Union nor the names of its
119
- ** contributors may be used to endorse or promote products derived
120
- ** from this software without specific prior written permission.
121
- **
122
- ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
123
- ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
124
- ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
125
- ** FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
126
- ** COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
127
- ** INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
128
- ** BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
129
- ** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
130
- ** CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
131
- ** LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
132
- ** ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
133
- ** POSSIBILITY OF SUCH DAMAGE.
134
- **
135
- **--------------------------------------------------------------------*/
136
- }
@@ -1,151 +0,0 @@
1
- #include "sofam.h"
2
-
3
- double iauGmst82(double dj1, double dj2)
4
- /*
5
- ** - - - - - - - - - -
6
- ** i a u G m s t 8 2
7
- ** - - - - - - - - - -
8
- **
9
- ** Universal Time to Greenwich mean sidereal time (IAU 1982 model).
10
- **
11
- ** Status: canonical model.
12
- **
13
- ** Given:
14
- ** dj1,dj2 double UT1 Julian Date (see note)
15
- **
16
- ** Returned (function value):
17
- ** double Greenwich mean sidereal time (radians)
18
- **
19
- ** Notes:
20
- **
21
- ** 1) The UT1 date dj1+dj2 is a Julian Date, apportioned in any
22
- ** convenient way between the arguments dj1 and dj2. For example,
23
- ** JD(UT1)=2450123.7 could be expressed in any of these ways,
24
- ** among others:
25
- **
26
- ** dj1 dj2
27
- **
28
- ** 2450123.7D0 0D0 (JD method)
29
- ** 2451545D0 -1421.3D0 (J2000 method)
30
- ** 2400000.5D0 50123.2D0 (MJD method)
31
- ** 2450123.5D0 0.2D0 (date & time method)
32
- **
33
- ** The JD method is the most natural and convenient to use in
34
- ** cases where the loss of several decimal digits of resolution
35
- ** is acceptable. The J2000 and MJD methods are good compromises
36
- ** between resolution and convenience. The date & time method is
37
- ** best matched to the algorithm used: maximum accuracy (or, at
38
- ** least, minimum noise) is delivered when the dj1 argument is for
39
- ** 0hrs UT1 on the day in question and the dj2 argument lies in the
40
- ** range 0 to 1, or vice versa.
41
- **
42
- ** 2) The algorithm is based on the IAU 1982 expression. This is
43
- ** always described as giving the GMST at 0 hours UT1. In fact, it
44
- ** gives the difference between the GMST and the UT, the steady
45
- ** 4-minutes-per-day drawing-ahead of ST with respect to UT. When
46
- ** whole days are ignored, the expression happens to equal the GMST
47
- ** at 0 hours UT1 each day.
48
- **
49
- ** 3) In this function, the entire UT1 (the sum of the two arguments
50
- ** dj1 and dj2) is used directly as the argument for the standard
51
- ** formula, the constant term of which is adjusted by 12 hours to
52
- ** take account of the noon phasing of Julian Date. The UT1 is then
53
- ** added, but omitting whole days to conserve accuracy.
54
- **
55
- ** Called:
56
- ** iauAnp normalize angle into range 0 to 2pi
57
- **
58
- ** References:
59
- **
60
- ** Transactions of the International Astronomical Union,
61
- ** XVIII B, 67 (1983).
62
- **
63
- ** Aoki et al., Astron. Astrophys. 105, 359-361 (1982).
64
- **
65
- ** This revision: 2008 May 24
66
- **
67
- ** Original version 2012-03-01
68
- **
69
- ** Copyright (C) 2013 Naoki Arita. See notes at end.
70
- */
71
- {
72
- /* Coefficients of IAU 1982 GMST-UT1 model */
73
- double A = 24110.54841 - DAYSEC / 2.0;
74
- double B = 8640184.812866;
75
- double C = 0.093104;
76
- double D = -6.2e-6;
77
-
78
- /* Note: the first constant, A, has to be adjusted by 12 hours */
79
- /* because the UT1 is supplied as a Julian date, which begins */
80
- /* at noon. */
81
-
82
- double d1, d2, t, f, gmst;
83
-
84
-
85
- /* Julian centuries since fundamental epoch. */
86
- if (dj1 < dj2) {
87
- d1 = dj1;
88
- d2 = dj2;
89
- } else {
90
- d1 = dj2;
91
- d2 = dj1;
92
- }
93
- t = (d1 + (d2 - DJ00)) / DJC;
94
-
95
- /* Fractional part of JD(UT1), in seconds. */
96
- f = DAYSEC * (fmod(d1, 1.0) + fmod(d2, 1.0));
97
-
98
- /* GMST at this UT1. */
99
- gmst = iauAnp(DS2R * ((A + (B + (C + D * t) * t) * t) + f));
100
-
101
- return gmst;
102
-
103
- /*----------------------------------------------------------------------
104
- **
105
- ** Celes is a wrapper of the SOFA Library for Ruby.
106
- **
107
- ** This file is redistributed and relicensed in accordance with
108
- ** the SOFA Software License (http://www.iausofa.org/tandc.html).
109
- **
110
- ** The original library is available from IAU Standards of
111
- ** Fundamental Astronomy (http://www.iausofa.org/).
112
- **
113
- **
114
- **
115
- **
116
- **
117
- ** Copyright (C) 2013, Naoki Arita
118
- ** All rights reserved.
119
- **
120
- ** Redistribution and use in source and binary forms, with or without
121
- ** modification, are permitted provided that the following conditions
122
- ** are met:
123
- **
124
- ** 1 Redistributions of source code must retain the above copyright
125
- ** notice, this list of conditions and the following disclaimer.
126
- **
127
- ** 2 Redistributions in binary form must reproduce the above copyright
128
- ** notice, this list of conditions and the following disclaimer in
129
- ** the documentation and/or other materials provided with the
130
- ** distribution.
131
- **
132
- ** 3 Neither the name of the Standards Of Fundamental Astronomy Board,
133
- ** the International Astronomical Union nor the names of its
134
- ** contributors may be used to endorse or promote products derived
135
- ** from this software without specific prior written permission.
136
- **
137
- ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
138
- ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
139
- ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
140
- ** FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
141
- ** COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
142
- ** INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
143
- ** BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
144
- ** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
145
- ** CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
146
- ** LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
147
- ** ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
148
- ** POSSIBILITY OF SUCH DAMAGE.
149
- **
150
- **--------------------------------------------------------------------*/
151
- }
@@ -1,138 +0,0 @@
1
- #include "sofam.h"
2
-
3
- double iauGst00a(double uta, double utb, double tta, double ttb)
4
- /*
5
- ** - - - - - - - - - -
6
- ** i a u G s t 0 0 a
7
- ** - - - - - - - - - -
8
- **
9
- ** Greenwich apparent sidereal time (consistent with IAU 2000
10
- ** resolutions).
11
- **
12
- ** Status: canonical model.
13
- **
14
- ** Given:
15
- ** uta,utb double UT1 as a 2-part Julian Date (Notes 1,2)
16
- ** tta,ttb double TT as a 2-part Julian Date (Notes 1,2)
17
- **
18
- ** Returned (function value):
19
- ** double Greenwich apparent sidereal time (radians)
20
- **
21
- ** Notes:
22
- **
23
- ** 1) The UT1 and TT dates uta+utb and tta+ttb respectively, are both
24
- ** Julian Dates, apportioned in any convenient way between the
25
- ** argument pairs. For example, JD=2450123.7 could be expressed in
26
- ** any of these ways, among others:
27
- **
28
- ** Part A Part B
29
- **
30
- ** 2450123.7 0.0 (JD method)
31
- ** 2451545.0 -1421.3 (J2000 method)
32
- ** 2400000.5 50123.2 (MJD method)
33
- ** 2450123.5 0.2 (date & time method)
34
- **
35
- ** The JD method is the most natural and convenient to use in
36
- ** cases where the loss of several decimal digits of resolution
37
- ** is acceptable (in the case of UT; the TT is not at all critical
38
- ** in this respect). The J2000 and MJD methods are good compromises
39
- ** between resolution and convenience. For UT, the date & time
40
- ** method is best matched to the algorithm that is used by the Earth
41
- ** Rotation Angle function, called internally: maximum precision is
42
- ** delivered when the uta argument is for 0hrs UT1 on the day in
43
- ** question and the utb argument lies in the range 0 to 1, or vice
44
- ** versa.
45
- **
46
- ** 2) Both UT1 and TT are required, UT1 to predict the Earth rotation
47
- ** and TT to predict the effects of precession-nutation. If UT1 is
48
- ** used for both purposes, errors of order 100 microarcseconds
49
- ** result.
50
- **
51
- ** 3) This GAST is compatible with the IAU 2000 resolutions and must be
52
- ** used only in conjunction with other IAU 2000 compatible
53
- ** components such as precession-nutation.
54
- **
55
- ** 4) The result is returned in the range 0 to 2pi.
56
- **
57
- ** 5) The algorithm is from Capitaine et al. (2003) and IERS
58
- ** Conventions 2003.
59
- **
60
- ** Called:
61
- ** iauGmst00 Greenwich mean sidereal time, IAU 2000
62
- ** iauEe00a equation of the equinoxes, IAU 2000A
63
- ** iauAnp normalize angle into range 0 to 2pi
64
- **
65
- ** References:
66
- **
67
- ** Capitaine, N., Wallace, P.T. and McCarthy, D.D., "Expressions to
68
- ** implement the IAU 2000 definition of UT1", Astronomy &
69
- ** Astrophysics, 406, 1135-1149 (2003)
70
- **
71
- ** McCarthy, D. D., Petit, G. (eds.), IERS Conventions (2003),
72
- ** IERS Technical Note No. 32, BKG (2004)
73
- **
74
- ** This revision: 2008 May 16
75
- **
76
- ** Original version 2012-03-01
77
- **
78
- ** Copyright (C) 2013 Naoki Arita. See notes at end.
79
- */
80
- {
81
- double gmst00, ee00a, gst;
82
-
83
-
84
- gmst00 = iauGmst00(uta, utb, tta, ttb);
85
- ee00a = iauEe00a(tta, ttb);
86
- gst = iauAnp(gmst00 + ee00a);
87
-
88
- return gst;
89
-
90
- /*----------------------------------------------------------------------
91
- **
92
- ** Celes is a wrapper of the SOFA Library for Ruby.
93
- **
94
- ** This file is redistributed and relicensed in accordance with
95
- ** the SOFA Software License (http://www.iausofa.org/tandc.html).
96
- **
97
- ** The original library is available from IAU Standards of
98
- ** Fundamental Astronomy (http://www.iausofa.org/).
99
- **
100
- **
101
- **
102
- **
103
- **
104
- ** Copyright (C) 2013, Naoki Arita
105
- ** All rights reserved.
106
- **
107
- ** Redistribution and use in source and binary forms, with or without
108
- ** modification, are permitted provided that the following conditions
109
- ** are met:
110
- **
111
- ** 1 Redistributions of source code must retain the above copyright
112
- ** notice, this list of conditions and the following disclaimer.
113
- **
114
- ** 2 Redistributions in binary form must reproduce the above copyright
115
- ** notice, this list of conditions and the following disclaimer in
116
- ** the documentation and/or other materials provided with the
117
- ** distribution.
118
- **
119
- ** 3 Neither the name of the Standards Of Fundamental Astronomy Board,
120
- ** the International Astronomical Union nor the names of its
121
- ** contributors may be used to endorse or promote products derived
122
- ** from this software without specific prior written permission.
123
- **
124
- ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
125
- ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
126
- ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
127
- ** FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
128
- ** COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
129
- ** INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
130
- ** BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
131
- ** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
132
- ** CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
133
- ** LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
134
- ** ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
135
- ** POSSIBILITY OF SUCH DAMAGE.
136
- **
137
- **--------------------------------------------------------------------*/
138
- }