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,122 +0,0 @@
1
- #include "sofam.h"
2
-
3
- void iauC2tcio(double rc2i[3][3], double era, double rpom[3][3],
4
- double rc2t[3][3])
5
- /*
6
- ** - - - - - - - - - -
7
- ** i a u C 2 t c i o
8
- ** - - - - - - - - - -
9
- **
10
- ** Assemble the celestial to terrestrial matrix from CIO-based
11
- ** components (the celestial-to-intermediate matrix, the Earth Rotation
12
- ** Angle and the polar motion matrix).
13
- **
14
- ** Status: support function.
15
- **
16
- ** Given:
17
- ** rc2i double[3][3] celestial-to-intermediate matrix
18
- ** era double Earth rotation angle
19
- ** rpom double[3][3] polar-motion matrix
20
- **
21
- ** Returned:
22
- ** rc2t double[3][3] celestial-to-terrestrial matrix
23
- **
24
- ** Notes:
25
- **
26
- ** 1) This function constructs the rotation matrix that transforms
27
- ** vectors in the celestial system into vectors in the terrestrial
28
- ** system. It does so starting from precomputed components, namely
29
- ** the matrix which rotates from celestial coordinates to the
30
- ** intermediate frame, the Earth rotation angle and the polar motion
31
- ** matrix. One use of the present function is when generating a
32
- ** series of celestial-to-terrestrial matrices where only the Earth
33
- ** Rotation Angle changes, avoiding the considerable overhead of
34
- ** recomputing the precession-nutation more often than necessary to
35
- ** achieve given accuracy objectives.
36
- **
37
- ** 2) The relationship between the arguments is as follows:
38
- **
39
- ** [TRS] = RPOM * R_3(ERA) * rc2i * [CRS]
40
- **
41
- ** = rc2t * [CRS]
42
- **
43
- ** where [CRS] is a vector in the Geocentric Celestial Reference
44
- ** System and [TRS] is a vector in the International Terrestrial
45
- ** Reference System (see IERS Conventions 2003).
46
- **
47
- ** Called:
48
- ** iauCr copy r-matrix
49
- ** iauRz rotate around Z-axis
50
- ** iauRxr product of two r-matrices
51
- **
52
- ** Reference:
53
- **
54
- ** McCarthy, D. D., Petit, G. (eds.), 2004, IERS Conventions (2003),
55
- ** IERS Technical Note No. 32, BKG
56
- **
57
- ** This revision: 2008 May 11
58
- **
59
- ** Original version 2012-03-01
60
- **
61
- ** Copyright (C) 2013 Naoki Arita. See notes at end.
62
- */
63
- {
64
- double r[3][3];
65
-
66
-
67
- /* Construct the matrix. */
68
- iauCr(rc2i, r);
69
- iauRz(era, r);
70
- iauRxr(rpom, r, rc2t);
71
-
72
- return;
73
-
74
- /*----------------------------------------------------------------------
75
- **
76
- ** Celes is a wrapper of the SOFA Library for Ruby.
77
- **
78
- ** This file is redistributed and relicensed in accordance with
79
- ** the SOFA Software License (http://www.iausofa.org/tandc.html).
80
- **
81
- ** The original library is available from IAU Standards of
82
- ** Fundamental Astronomy (http://www.iausofa.org/).
83
- **
84
- **
85
- **
86
- **
87
- **
88
- ** Copyright (C) 2013, Naoki Arita
89
- ** All rights reserved.
90
- **
91
- ** Redistribution and use in source and binary forms, with or without
92
- ** modification, are permitted provided that the following conditions
93
- ** are met:
94
- **
95
- ** 1 Redistributions of source code must retain the above copyright
96
- ** notice, this list of conditions and the following disclaimer.
97
- **
98
- ** 2 Redistributions in binary form must reproduce the above copyright
99
- ** notice, this list of conditions and the following disclaimer in
100
- ** the documentation and/or other materials provided with the
101
- ** distribution.
102
- **
103
- ** 3 Neither the name of the Standards Of Fundamental Astronomy Board,
104
- ** the International Astronomical Union nor the names of its
105
- ** contributors may be used to endorse or promote products derived
106
- ** from this software without specific prior written permission.
107
- **
108
- ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
109
- ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
110
- ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
111
- ** FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
112
- ** COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
113
- ** INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
114
- ** BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
115
- ** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
116
- ** CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
117
- ** LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
118
- ** ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
119
- ** POSSIBILITY OF SUCH DAMAGE.
120
- **
121
- **--------------------------------------------------------------------*/
122
- }
@@ -1,122 +0,0 @@
1
- #include "sofam.h"
2
-
3
- void iauC2teqx(double rbpn[3][3], double gst, double rpom[3][3],
4
- double rc2t[3][3])
5
- /*
6
- ** - - - - - - - - - -
7
- ** i a u C 2 t e q x
8
- ** - - - - - - - - - -
9
- **
10
- ** Assemble the celestial to terrestrial matrix from equinox-based
11
- ** components (the celestial-to-true matrix, the Greenwich Apparent
12
- ** Sidereal Time and the polar motion matrix).
13
- **
14
- ** Status: support function.
15
- **
16
- ** Given:
17
- ** rbpn double[3][3] celestial-to-true matrix
18
- ** gst double Greenwich (apparent) Sidereal Time
19
- ** rpom double[3][3] polar-motion matrix
20
- **
21
- ** Returned:
22
- ** rc2t double[3][3] celestial-to-terrestrial matrix (Note 2)
23
- **
24
- ** Notes:
25
- **
26
- ** 1) This function constructs the rotation matrix that transforms
27
- ** vectors in the celestial system into vectors in the terrestrial
28
- ** system. It does so starting from precomputed components, namely
29
- ** the matrix which rotates from celestial coordinates to the
30
- ** true equator and equinox of date, the Greenwich Apparent Sidereal
31
- ** Time and the polar motion matrix. One use of the present function
32
- ** is when generating a series of celestial-to-terrestrial matrices
33
- ** where only the Sidereal Time changes, avoiding the considerable
34
- ** overhead of recomputing the precession-nutation more often than
35
- ** necessary to achieve given accuracy objectives.
36
- **
37
- ** 2) The relationship between the arguments is as follows:
38
- **
39
- ** [TRS] = rpom * R_3(gst) * rbpn * [CRS]
40
- **
41
- ** = rc2t * [CRS]
42
- **
43
- ** where [CRS] is a vector in the Geocentric Celestial Reference
44
- ** System and [TRS] is a vector in the International Terrestrial
45
- ** Reference System (see IERS Conventions 2003).
46
- **
47
- ** Called:
48
- ** iauCr copy r-matrix
49
- ** iauRz rotate around Z-axis
50
- ** iauRxr product of two r-matrices
51
- **
52
- ** Reference:
53
- **
54
- ** McCarthy, D. D., Petit, G. (eds.), IERS Conventions (2003),
55
- ** IERS Technical Note No. 32, BKG (2004)
56
- **
57
- ** This revision: 2008 May 11
58
- **
59
- ** Original version 2012-03-01
60
- **
61
- ** Copyright (C) 2013 Naoki Arita. See notes at end.
62
- */
63
- {
64
- double r[3][3];
65
-
66
-
67
- /* Construct the matrix. */
68
- iauCr(rbpn, r);
69
- iauRz(gst, r);
70
- iauRxr(rpom, r, rc2t);
71
-
72
- return;
73
-
74
- /*----------------------------------------------------------------------
75
- **
76
- ** Celes is a wrapper of the SOFA Library for Ruby.
77
- **
78
- ** This file is redistributed and relicensed in accordance with
79
- ** the SOFA Software License (http://www.iausofa.org/tandc.html).
80
- **
81
- ** The original library is available from IAU Standards of
82
- ** Fundamental Astronomy (http://www.iausofa.org/).
83
- **
84
- **
85
- **
86
- **
87
- **
88
- ** Copyright (C) 2013, Naoki Arita
89
- ** All rights reserved.
90
- **
91
- ** Redistribution and use in source and binary forms, with or without
92
- ** modification, are permitted provided that the following conditions
93
- ** are met:
94
- **
95
- ** 1 Redistributions of source code must retain the above copyright
96
- ** notice, this list of conditions and the following disclaimer.
97
- **
98
- ** 2 Redistributions in binary form must reproduce the above copyright
99
- ** notice, this list of conditions and the following disclaimer in
100
- ** the documentation and/or other materials provided with the
101
- ** distribution.
102
- **
103
- ** 3 Neither the name of the Standards Of Fundamental Astronomy Board,
104
- ** the International Astronomical Union nor the names of its
105
- ** contributors may be used to endorse or promote products derived
106
- ** from this software without specific prior written permission.
107
- **
108
- ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
109
- ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
110
- ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
111
- ** FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
112
- ** COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
113
- ** INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
114
- ** BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
115
- ** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
116
- ** CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
117
- ** LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
118
- ** ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
119
- ** POSSIBILITY OF SUCH DAMAGE.
120
- **
121
- **--------------------------------------------------------------------*/
122
- }
@@ -1,167 +0,0 @@
1
- #include "sofam.h"
2
-
3
- void iauC2tpe(double tta, double ttb, double uta, double utb,
4
- double dpsi, double deps, double xp, double yp,
5
- double rc2t[3][3])
6
- /*
7
- ** - - - - - - - - -
8
- ** i a u C 2 t p e
9
- ** - - - - - - - - -
10
- **
11
- ** Form the celestial to terrestrial matrix given the date, the UT1,
12
- ** the nutation and the polar motion. IAU 2000.
13
- **
14
- ** Status: support function.
15
- **
16
- ** Given:
17
- ** tta,ttb double TT as a 2-part Julian Date (Note 1)
18
- ** uta,utb double UT1 as a 2-part Julian Date (Note 1)
19
- ** dpsi,deps double nutation (Note 2)
20
- ** xp,yp double coordinates of the pole (radians, Note 3)
21
- **
22
- ** Returned:
23
- ** rc2t double[3][3] celestial-to-terrestrial matrix (Note 4)
24
- **
25
- ** Notes:
26
- **
27
- ** 1) The TT and UT1 dates tta+ttb and uta+utb are Julian Dates,
28
- ** apportioned in any convenient way between the arguments uta and
29
- ** utb. For example, JD(UT1)=2450123.7 could be expressed in any of
30
- ** these ways, among others:
31
- **
32
- ** uta utb
33
- **
34
- ** 2450123.7 0.0 (JD method)
35
- ** 2451545.0 -1421.3 (J2000 method)
36
- ** 2400000.5 50123.2 (MJD method)
37
- ** 2450123.5 0.2 (date & time method)
38
- **
39
- ** The JD method is the most natural and convenient to use in
40
- ** cases where the loss of several decimal digits of resolution is
41
- ** acceptable. The J2000 and MJD methods are good compromises
42
- ** between resolution and convenience. In the case of uta,utb, the
43
- ** date & time method is best matched to the Earth rotation angle
44
- ** algorithm used: maximum precision is delivered when the uta
45
- ** argument is for 0hrs UT1 on the day in question and the utb
46
- ** argument lies in the range 0 to 1, or vice versa.
47
- **
48
- ** 2) The caller is responsible for providing the nutation components;
49
- ** they are in longitude and obliquity, in radians and are with
50
- ** respect to the equinox and ecliptic of date. For high-accuracy
51
- ** applications, free core nutation should be included as well as
52
- ** any other relevant corrections to the position of the CIP.
53
- **
54
- ** 3) The arguments xp and yp are the coordinates (in radians) of the
55
- ** Celestial Intermediate Pole with respect to the International
56
- ** Terrestrial Reference System (see IERS Conventions 2003),
57
- ** measured along the meridians to 0 and 90 deg west respectively.
58
- **
59
- ** 4) The matrix rc2t transforms from celestial to terrestrial
60
- ** coordinates:
61
- **
62
- ** [TRS] = RPOM * R_3(GST) * RBPN * [CRS]
63
- **
64
- ** = rc2t * [CRS]
65
- **
66
- ** where [CRS] is a vector in the Geocentric Celestial Reference
67
- ** System and [TRS] is a vector in the International Terrestrial
68
- ** Reference System (see IERS Conventions 2003), RBPN is the
69
- ** bias-precession-nutation matrix, GST is the Greenwich (apparent)
70
- ** Sidereal Time and RPOM is the polar motion matrix.
71
- **
72
- ** 5) Although its name does not include "00", This function is in fact
73
- ** specific to the IAU 2000 models.
74
- **
75
- ** Called:
76
- ** iauPn00 bias/precession/nutation results, IAU 2000
77
- ** iauGmst00 Greenwich mean sidereal time, IAU 2000
78
- ** iauSp00 the TIO locator s', IERS 2000
79
- ** iauEe00 equation of the equinoxes, IAU 2000
80
- ** iauPom00 polar motion matrix
81
- ** iauC2teqx form equinox-based celestial-to-terrestrial matrix
82
- **
83
- ** Reference:
84
- **
85
- ** McCarthy, D. D., Petit, G. (eds.), IERS Conventions (2003),
86
- ** IERS Technical Note No. 32, BKG (2004)
87
- **
88
- ** This revision: 2009 April 1
89
- **
90
- ** Original version 2012-03-01
91
- **
92
- ** Copyright (C) 2013 Naoki Arita. See notes at end.
93
- */
94
- {
95
- double epsa, rb[3][3], rp[3][3], rbp[3][3], rn[3][3],
96
- rbpn[3][3], gmst, ee, sp, rpom[3][3];
97
-
98
-
99
- /* Form the celestial-to-true matrix for this TT. */
100
- iauPn00(tta, ttb, dpsi, deps, &epsa, rb, rp, rbp, rn, rbpn);
101
-
102
- /* Predict the Greenwich Mean Sidereal Time for this UT1 and TT. */
103
- gmst = iauGmst00(uta, utb, tta, ttb);
104
-
105
- /* Predict the equation of the equinoxes given TT and nutation. */
106
- ee = iauEe00(tta, ttb, epsa, dpsi);
107
-
108
- /* Estimate s'. */
109
- sp = iauSp00(tta, ttb);
110
-
111
- /* Form the polar motion matrix. */
112
- iauPom00(xp, yp, sp, rpom);
113
-
114
- /* Combine to form the celestial-to-terrestrial matrix. */
115
- iauC2teqx(rbpn, gmst + ee, rpom, rc2t);
116
-
117
- return;
118
-
119
- /*----------------------------------------------------------------------
120
- **
121
- ** Celes is a wrapper of the SOFA Library for Ruby.
122
- **
123
- ** This file is redistributed and relicensed in accordance with
124
- ** the SOFA Software License (http://www.iausofa.org/tandc.html).
125
- **
126
- ** The original library is available from IAU Standards of
127
- ** Fundamental Astronomy (http://www.iausofa.org/).
128
- **
129
- **
130
- **
131
- **
132
- **
133
- ** Copyright (C) 2013, Naoki Arita
134
- ** All rights reserved.
135
- **
136
- ** Redistribution and use in source and binary forms, with or without
137
- ** modification, are permitted provided that the following conditions
138
- ** are met:
139
- **
140
- ** 1 Redistributions of source code must retain the above copyright
141
- ** notice, this list of conditions and the following disclaimer.
142
- **
143
- ** 2 Redistributions in binary form must reproduce the above copyright
144
- ** notice, this list of conditions and the following disclaimer in
145
- ** the documentation and/or other materials provided with the
146
- ** distribution.
147
- **
148
- ** 3 Neither the name of the Standards Of Fundamental Astronomy Board,
149
- ** the International Astronomical Union nor the names of its
150
- ** contributors may be used to endorse or promote products derived
151
- ** from this software without specific prior written permission.
152
- **
153
- ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
154
- ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
155
- ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
156
- ** FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
157
- ** COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
158
- ** INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
159
- ** BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
160
- ** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
161
- ** CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
162
- ** LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
163
- ** ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
164
- ** POSSIBILITY OF SUCH DAMAGE.
165
- **
166
- **--------------------------------------------------------------------*/
167
- }
@@ -1,159 +0,0 @@
1
- #include "sofam.h"
2
-
3
- void iauC2txy(double tta, double ttb, double uta, double utb,
4
- double x, double y, double xp, double yp,
5
- double rc2t[3][3])
6
- /*
7
- ** - - - - - - - - -
8
- ** i a u C 2 t x y
9
- ** - - - - - - - - -
10
- **
11
- ** Form the celestial to terrestrial matrix given the date, the UT1,
12
- ** the CIP coordinates and the polar motion. IAU 2000.
13
- **
14
- ** Status: support function.
15
- **
16
- ** Given:
17
- ** tta,ttb double TT as a 2-part Julian Date (Note 1)
18
- ** uta,utb double UT1 as a 2-part Julian Date (Note 1)
19
- ** x,y double Celestial Intermediate Pole (Note 2)
20
- ** xp,yp double coordinates of the pole (radians, Note 3)
21
- **
22
- ** Returned:
23
- ** rc2t double[3][3] celestial-to-terrestrial matrix (Note 4)
24
- **
25
- ** Notes:
26
- **
27
- ** 1) The TT and UT1 dates tta+ttb and uta+utb are Julian Dates,
28
- ** apportioned in any convenient way between the arguments uta and
29
- ** utb. For example, JD(UT1)=2450123.7 could be expressed in any o
30
- ** these ways, among others:
31
- **
32
- ** uta utb
33
- **
34
- ** 2450123.7 0.0 (JD method)
35
- ** 2451545.0 -1421.3 (J2000 method)
36
- ** 2400000.5 50123.2 (MJD method)
37
- ** 2450123.5 0.2 (date & time method)
38
- **
39
- ** The JD method is the most natural and convenient to use in
40
- ** cases where the loss of several decimal digits of resolution is
41
- ** acceptable. The J2000 and MJD methods are good compromises
42
- ** between resolution and convenience. In the case of uta,utb, the
43
- ** date & time method is best matched to the Earth rotation angle
44
- ** algorithm used: maximum precision is delivered when the uta
45
- ** argument is for 0hrs UT1 on the day in question and the utb
46
- ** argument lies in the range 0 to 1, or vice versa.
47
- **
48
- ** 2) The Celestial Intermediate Pole coordinates are the x,y
49
- ** components of the unit vector in the Geocentric Celestial
50
- ** Reference System.
51
- **
52
- ** 3) The arguments xp and yp are the coordinates (in radians) of the
53
- ** Celestial Intermediate Pole with respect to the International
54
- ** Terrestrial Reference System (see IERS Conventions 2003),
55
- ** measured along the meridians to 0 and 90 deg west respectively.
56
- **
57
- ** 4) The matrix rc2t transforms from celestial to terrestrial
58
- ** coordinates:
59
- **
60
- ** [TRS] = RPOM * R_3(ERA) * RC2I * [CRS]
61
- **
62
- ** = rc2t * [CRS]
63
- **
64
- ** where [CRS] is a vector in the Geocentric Celestial Reference
65
- ** System and [TRS] is a vector in the International Terrestrial
66
- ** Reference System (see IERS Conventions 2003), ERA is the Earth
67
- ** Rotation Angle and RPOM is the polar motion matrix.
68
- **
69
- ** 5) Although its name does not include "00", This function is in fact
70
- ** specific to the IAU 2000 models.
71
- **
72
- ** Called:
73
- ** iauC2ixy celestial-to-intermediate matrix, given X,Y
74
- ** iauEra00 Earth rotation angle, IAU 2000
75
- ** iauSp00 the TIO locator s', IERS 2000
76
- ** iauPom00 polar motion matrix
77
- ** iauC2tcio form CIO-based celestial-to-terrestrial matrix
78
- **
79
- ** Reference:
80
- **
81
- ** McCarthy, D. D., Petit, G. (eds.), IERS Conventions (2003),
82
- ** IERS Technical Note No. 32, BKG (2004)
83
- **
84
- ** This revision: 2009 April 1
85
- **
86
- ** Original version 2012-03-01
87
- **
88
- ** Copyright (C) 2013 Naoki Arita. See notes at end.
89
- */
90
- {
91
- double rc2i[3][3], era, sp, rpom[3][3];
92
-
93
-
94
- /* Form the celestial-to-intermediate matrix for this TT. */
95
- iauC2ixy(tta, ttb, x, y, rc2i);
96
-
97
- /* Predict the Earth rotation angle for this UT1. */
98
- era = iauEra00(uta, utb);
99
-
100
- /* Estimate s'. */
101
- sp = iauSp00(tta, ttb);
102
-
103
- /* Form the polar motion matrix. */
104
- iauPom00(xp, yp, sp, rpom);
105
-
106
- /* Combine to form the celestial-to-terrestrial matrix. */
107
- iauC2tcio(rc2i, era, rpom, rc2t);
108
-
109
- return;
110
-
111
- /*----------------------------------------------------------------------
112
- **
113
- ** Celes is a wrapper of the SOFA Library for Ruby.
114
- **
115
- ** This file is redistributed and relicensed in accordance with
116
- ** the SOFA Software License (http://www.iausofa.org/tandc.html).
117
- **
118
- ** The original library is available from IAU Standards of
119
- ** Fundamental Astronomy (http://www.iausofa.org/).
120
- **
121
- **
122
- **
123
- **
124
- **
125
- ** Copyright (C) 2013, Naoki Arita
126
- ** All rights reserved.
127
- **
128
- ** Redistribution and use in source and binary forms, with or without
129
- ** modification, are permitted provided that the following conditions
130
- ** are met:
131
- **
132
- ** 1 Redistributions of source code must retain the above copyright
133
- ** notice, this list of conditions and the following disclaimer.
134
- **
135
- ** 2 Redistributions in binary form must reproduce the above copyright
136
- ** notice, this list of conditions and the following disclaimer in
137
- ** the documentation and/or other materials provided with the
138
- ** distribution.
139
- **
140
- ** 3 Neither the name of the Standards Of Fundamental Astronomy Board,
141
- ** the International Astronomical Union nor the names of its
142
- ** contributors may be used to endorse or promote products derived
143
- ** from this software without specific prior written permission.
144
- **
145
- ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
146
- ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
147
- ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
148
- ** FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
149
- ** COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
150
- ** INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
151
- ** BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
152
- ** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
153
- ** CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
154
- ** LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
155
- ** ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
156
- ** POSSIBILITY OF SUCH DAMAGE.
157
- **
158
- **--------------------------------------------------------------------*/
159
- }