equationoftime 4.1.2 → 4.1.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (90) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/.ruby-version +1 -1
  4. data/Gemfile +6 -4
  5. data/Gemfile.lock +21 -14
  6. data/Guardfile +4 -21
  7. data/Manifest.txt +18 -52
  8. data/README.rdoc +6 -6
  9. data/Rakefile +53 -92
  10. data/equationoftime.gemspec +48 -49
  11. data/examples/my_lst.rb +9 -0
  12. data/examples/use_addr.rb +20 -0
  13. data/examples/use_ajd.rb +40 -0
  14. data/ext/eot/ceot.c +18 -14
  15. data/ext/eot/extconf.rb +4 -5
  16. data/lib/eot/angle_displays.rb +95 -0
  17. data/lib/eot/angles.rb +160 -291
  18. data/lib/eot/constants.rb +78 -81
  19. data/lib/eot/deltas.rb +40 -0
  20. data/lib/eot/geo_lat_lng_smt.rb +30 -57
  21. data/lib/eot/init.rb +86 -124
  22. data/lib/eot/time_displays.rb +105 -0
  23. data/lib/eot/times.rb +118 -121
  24. data/lib/eot/trigometric.rb +51 -0
  25. data/lib/eot/utilities.rb +49 -50
  26. data/lib/eot/version.rb +3 -2
  27. data/lib/eot.rb +11 -5
  28. data/test/eot/aliased_angles_spec.rb +291 -0
  29. data/test/eot/aliased_displays_spec.rb +126 -0
  30. data/test/{aliased_utilities_spec.rb → eot/aliased_utilities_spec.rb} +32 -36
  31. data/test/eot/angles_spec.rb +261 -0
  32. data/test/eot/constants_spec.rb +17 -0
  33. data/test/eot/displays_spec.rb +111 -0
  34. data/test/eot/geo_spec.rb +40 -0
  35. data/test/eot/init_spec.rb +45 -0
  36. data/test/eot/times_spec.rb +137 -0
  37. data/wiki.md +55 -0
  38. data/wiki2.md +4 -0
  39. data.tar.gz.sig +0 -0
  40. metadata +55 -69
  41. metadata.gz.sig +0 -0
  42. data/.settings/org.eclipse.ltk.core.refactoring.prefs +0 -2
  43. data/examples/analemma_data_generator.rb +0 -58
  44. data/examples/check_date_type.rb +0 -60
  45. data/examples/compare_geoc_long_ra.rb +0 -44
  46. data/examples/data_table_for_astro_dog.rb +0 -45
  47. data/examples/earth_rotation.rb +0 -42
  48. data/examples/eot_methods_list.rb +0 -48
  49. data/examples/eot_plot.r +0 -57
  50. data/examples/eot_suntimes.rb +0 -149
  51. data/examples/equation_of_time.py +0 -186
  52. data/examples/figure_1.jpg +0 -0
  53. data/examples/file_converter.rb +0 -31
  54. data/examples/from_readme.rb +0 -14
  55. data/examples/from_wiki.rb +0 -46
  56. data/examples/geo_locator.rb +0 -16
  57. data/examples/getjd.rb +0 -45
  58. data/examples/gmst_gast_non_sofa.rb +0 -406
  59. data/examples/input_suntimes.rb +0 -24
  60. data/examples/julian_day_formula.rb +0 -29
  61. data/examples/julian_day_formula.txt +0 -12
  62. data/examples/my_time_conversion.rb +0 -21
  63. data/examples/nutation_series.txt +0 -678
  64. data/examples/nutation_table5_3a.txt +0 -682
  65. data/examples/ptime.rb +0 -162
  66. data/examples/suntimes.rb +0 -30
  67. data/examples/suntimes_test.rb +0 -50
  68. data/examples/t_sofa.rb +0 -8228
  69. data/examples/test_celes.rb +0 -51
  70. data/examples/test_ceot.rb +0 -55
  71. data/examples/test_poly_eval.rb +0 -32
  72. data/examples/time_scales.rb +0 -29
  73. data/examples/times_year.rb +0 -53
  74. data/examples/usage_example.rb +0 -26
  75. data/examples/use_angles.rb +0 -222
  76. data/lib/eot/displays.rb +0 -216
  77. data/lib/eot/eot.so +0 -0
  78. data/lib/eot/nutation.rb +0 -78
  79. data/run_tests_eclipse.rb +0 -1
  80. data/test/aliased_angles_spec.rb +0 -239
  81. data/test/aliased_displays_spec.rb +0 -105
  82. data/test/angles_spec.rb +0 -264
  83. data/test/constants_spec.rb +0 -20
  84. data/test/displays_spec.rb +0 -110
  85. data/test/geo_spec.rb +0 -38
  86. data/test/init_spec.rb +0 -44
  87. data/test/nutation_spec.rb +0 -37
  88. data/test/spec_config.rb +0 -8
  89. data/test/times_spec.rb +0 -133
  90. data/test/utilities_spec.rb +0 -35
@@ -0,0 +1,261 @@
1
+ # angles_spec.rb
2
+
3
+ lib = File.expand_path('../../../lib', __FILE__)
4
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
+ require 'eot'
6
+
7
+ Eot_angles = Eot.new
8
+
9
+ describe 'Tests ajd of 2456885.0' do
10
+
11
+ before(:each) do
12
+ Eot_angles.ajd = 2_456_885.0
13
+ ajd = Eot_angles.ajd
14
+ # check date for this ajd when needed.
15
+ Eot_angles.date = Eot_angles.ajd_to_datetime(ajd)
16
+ end
17
+
18
+ it 'should be 2456885.0 for Eot_angles.ajd'do
19
+ assert_equal(2_456_885.0, Eot_angles.ajd)
20
+ end
21
+
22
+ it 'should be "2014-08-15T12:00:00+00:00" for Eot_angles.date'.to_s do
23
+ assert_equal('2014-08-15T12:00:00+00:00', Eot_angles.date.to_s)
24
+ end
25
+
26
+ it 'should be 3.8508003966038915 for Eot_angles.ma'do
27
+ assert_equal(3.8508003966038915, Eot_angles.ma)
28
+ end
29
+
30
+ it 'should be 2.4887103398436143 from Eot_angles.al_sun()? ' do
31
+ assert_equal(2.4887103398436143, Eot_angles.al_sun)
32
+ end
33
+
34
+ it 'should be -0.021413249720702462 from Eot_angles.centre()? ' do
35
+ assert_equal(-0.021413249720702462, Eot_angles.center)
36
+ end
37
+
38
+ it 'should be -0.7943361570447028 from Eot_angles.cosine_al_sun()? ' do
39
+ assert_equal(-0.7943361570447028, Eot_angles.cosine_al_sun)
40
+ end
41
+
42
+ it 'should be -0.7943772759574919 from Eot_angles.cosine_tl_sun()? ' do
43
+ assert_equal(-0.7943772759574919, Eot_angles.cosine_tl_sun)
44
+ end
45
+
46
+ it 'should be 0.9175115346811911 from Eot_angles.cosine_to_earth()? ' do
47
+ assert_equal(0.9175115346811911, Eot_angles.cosine_to_earth)
48
+ end
49
+
50
+ it 'should be 0.24401410218543554 from Eot_angles.dec_sun()? ' do
51
+ assert_equal(0.24401410218543554, Eot_angles.dec_sun)
52
+ end
53
+
54
+ it 'should be -4.069792718159396e-05 from Eot_angles.delta_epsilon()? ' do
55
+ assert_equal(-4.069792718159396e-05, Eot_angles.delta_epsilon)
56
+ end
57
+
58
+ it 'should be -0.04103082558803539 from Eot_angles.delta_oblique()? ' do
59
+ assert_equal(-0.04103082558803539, Eot_angles.delta_oblique)
60
+ end
61
+
62
+ it 'should be 0.021413249720702462 from Eot_angles.delta_orbit()? ' do
63
+ assert_equal(0.021413249720702462, Eot_angles.delta_orbit)
64
+ end
65
+
66
+ it 'should be 3.75123821843003e-05 from Eot_angles.delta_psi()? ' do
67
+ assert_equal(3.75123821843003e-05, Eot_angles.delta_psi)
68
+ end
69
+
70
+ it 'should be 0.016702468499021204 from \
71
+ Eot_angles.eccentricity_earth()? ' do
72
+ assert_equal(0.016702468499021204, Eot_angles.eccentricity_earth)
73
+ end
74
+
75
+ it 'should be 3.441804334746474e-05 from Eot_angles.eq_of_equinox()? ' do
76
+ assert_equal(3.441804334746474e-05, Eot_angles.eq_of_equinox)
77
+ end
78
+
79
+ it 'should be -0.01961757586733293 from Eot_angles.eot()? ' do
80
+ assert_equal(-0.01961757586733293, Eot_angles.eot)
81
+ end
82
+
83
+ it 'should be 2.5101912804141424 from Eot_angles.gml_sun()? ' do
84
+ assert_equal(2.5101912804141424, Eot_angles.gml_sun)
85
+ end
86
+
87
+ it 'should be 1.9143229567859146 from Eot_angles.ha_sun()? ' do
88
+ assert_equal(1.9143229567859146, Eot_angles.ha_sun)
89
+ end
90
+
91
+ it 'should be 3.8508003966038915 from Eot_angles.ma_sun()? ' do
92
+ assert_equal(3.8508003966038915, Eot_angles.ma_sun)
93
+ end
94
+
95
+ it 'should be 2.510089864980358 from Eot_angles.ml_aries()? ' do
96
+ assert_equal(2.510089864980358, Eot_angles.ml_aries)
97
+ end
98
+
99
+ it 'should be 0.40905940254265843 from Eot_angles.mo_earth()? ' do
100
+ assert_equal(0.40905940254265843, Eot_angles.mo_earth)
101
+ end
102
+
103
+ it 'should be -2.7528817371494685 from Eot_angles.omega()? ' do
104
+ assert_equal(-2.7528817371494685, Eot_angles.omega)
105
+ end
106
+
107
+ it 'should be 2.5297411654316497 from Eot_angles.ra_sun()? ' do
108
+ assert_equal(2.5297411654316497, Eot_angles.ra_sun)
109
+ end
110
+
111
+ it 'should be 0.6074784519729512 from Eot_angles.sine_al_sun()? ' do
112
+ assert_equal(0.6074784519729512, Eot_angles.sine_al_sun)
113
+ end
114
+
115
+ it 'should be 0.6074246812917259 from Eot_angles.sine_tl_sun()? ' do
116
+ assert_equal(0.6074246812917259, Eot_angles.sine_tl_sun)
117
+ end
118
+
119
+ it 'should be 3.8293871468831893 from Eot_angles.ta_sun()? ' do
120
+ assert_equal(3.8293871468831893, Eot_angles.ta_sun)
121
+ end
122
+
123
+ it 'should be 2.5101242776531474 from Eot_angles.tl_aries()? ' do
124
+ assert_equal(2.5101242776531474, Eot_angles.tl_aries)
125
+ end
126
+
127
+ it 'should be 2.48877803069344 from Eot_angles.tl_sun()? ' do
128
+ assert_equal(2.48877803069344, Eot_angles.tl_sun)
129
+ end
130
+
131
+ it 'should be 0.40901870461547685 from Eot_angles.to_earth()? ' do
132
+ assert_equal(0.40901870461547685, Eot_angles.to_earth)
133
+ end
134
+ end
135
+
136
+ describe 'Tests ajd of 2455055.5 ' do
137
+
138
+ before(:each) do
139
+ Eot_angles.ajd = 2_455_055.0
140
+ ajd = Eot_angles.ajd
141
+ # check date for this ajd when needed.
142
+ Eot_angles.date = Eot_angles.ajd_to_datetime(ajd)
143
+ end
144
+
145
+ it 'should be 2455055.0, from Eot_angles.' do
146
+ assert_equal(2_455_055.0, Eot_angles.ajd)
147
+ end
148
+
149
+ it 'should be "2009-08-11T12:00:00+00:00", from Eot_angles.date.to_s' do
150
+ assert_equal('2009-08-11T12:00:00+00:00', Eot_angles.date.to_s)
151
+ end
152
+
153
+ it 'should be 3.7871218188949207, from Eot_angles.' do
154
+ assert_equal(3.7871218188949207, Eot_angles.ma)
155
+ end
156
+
157
+ it 'should be 2.4252140645725033 from Eot_angles.al_sun()? ' do
158
+ assert_equal(2.4252140645725033, Eot_angles.al_sun)
159
+ end
160
+
161
+ it 'should be -0.019768413456709915 from Eot_angles.center()? ' do
162
+ assert_equal(-0.019768413456709915, Eot_angles.center)
163
+ end
164
+
165
+ it 'should be -0.7541886969975007 from Eot_angles.cosine_al_sun()? ' do
166
+ assert_equal(-0.7541886969975007, Eot_angles.cosine_al_sun)
167
+ end
168
+
169
+ it 'should be -0.7542060769936684 from Eot_angles.cosine_tl_sun()? ' do
170
+ assert_equal(-0.7542060769936684, Eot_angles.cosine_tl_sun)
171
+ end
172
+
173
+ it 'should be 0.9174818088112336 from Eot_angles.cosine_to_earth()? ' do
174
+ assert_equal(0.9174818088112336, Eot_angles.cosine_to_earth)
175
+ end
176
+
177
+ it 'should be 0.26426912722944046 from Eot_angles.dec_sun()? ' do
178
+ assert_equal(0.26426912722944046, Eot_angles.dec_sun)
179
+ end
180
+
181
+ it 'should be 2.2661506700250296e-05 from Eot_angles.delta_epsilon()? ' do
182
+ assert_equal(2.2661506700250296e-05, Eot_angles.delta_epsilon)
183
+ end
184
+
185
+ it 'should be -0.04234904897476355 from Eot_angles.delta_oblique()? ' do
186
+ assert_equal(-0.04234904897476355, Eot_angles.delta_oblique)
187
+ end
188
+
189
+ it 'should be 0.019768413456709915 from Eot_angles.delta_orbit()? ' do
190
+ assert_equal(0.019768413456709915, Eot_angles.delta_orbit)
191
+ end
192
+
193
+ it 'should be 7.639341522992976e-05 from Eot_angles.delta_psi()? ' do
194
+ assert_equal(7.639341522992976e-05, Eot_angles.delta_psi)
195
+ end
196
+
197
+ it 'should be 0.016704576164208475 from \
198
+ Eot_angles.eccentricity_earth()? ' do
199
+ assert_equal(0.016704576164208475, Eot_angles.eccentricity_earth)
200
+ end
201
+
202
+ it 'should be 7.00895687864236e-05 from Eot_angles.eq_of_equinox()? ' do
203
+ assert_equal(7.00895687864236e-05, Eot_angles.eq_of_equinox)
204
+ end
205
+
206
+ it 'should be -0.022580635518053633 from Eot_angles.eot()? ' do
207
+ assert_equal(-0.022580635518053633, Eot_angles.eot)
208
+ end
209
+
210
+ it 'should be 2.445008945789877 from Eot_angles.gml_sun()? ' do
211
+ assert_equal(2.445008945789877, Eot_angles.gml_sun)
212
+ end
213
+
214
+ it 'should be 1.9434600427973594 from Eot_angles.ha_sun()? ' do
215
+ assert_equal(1.9434600427973594, Eot_angles.ha_sun)
216
+ end
217
+
218
+ it 'should be 3.7871218188949207 from Eot_angles.ma_sun()? ' do
219
+ assert_equal(3.7871218188949207, Eot_angles.ma_sun)
220
+ end
221
+
222
+ it 'should be 2.444907382260759 from Eot_angles.ml_aries()? ' do
223
+ assert_equal(2.444907382260759, Eot_angles.ml_aries)
224
+ end
225
+
226
+ it 'should be 0.4090707793981491 from Eot_angles.mo_earth()? ' do
227
+ assert_equal(0.4090707793981491, Eot_angles.mo_earth)
228
+ end
229
+
230
+ it 'should be -1.0615640635268548 from Eot_angles.omega()? ' do
231
+ assert_equal(-1.0615640635268548, Eot_angles.omega)
232
+ end
233
+
234
+ it 'should be 2.467563113547267 from Eot_angles.ra_sun()? ' do
235
+ assert_equal(2.467563113547267, Eot_angles.ra_sun)
236
+ end
237
+
238
+ it 'should be 0.6566577566139093 from Eot_angles.sine_al_sun()? ' do
239
+ assert_equal(0.6566577566139093, Eot_angles.sine_al_sun)
240
+ end
241
+
242
+ it 'should be 0.6566377946979757 from Eot_angles.sine_tl_sun()? ' do
243
+ assert_equal(0.6566377946979757, Eot_angles.sine_tl_sun)
244
+ end
245
+
246
+ it 'should be 3.767353405438211 from Eot_angles.ta_sun()? ' do
247
+ assert_equal(3.767353405438211, Eot_angles.ta_sun)
248
+ end
249
+
250
+ it 'should be 2.4449774607872907 from Eot_angles.tl_aries()? ' do
251
+ assert_equal(2.4449774607872907, Eot_angles.tl_aries)
252
+ end
253
+
254
+ it 'should be 2.4252405323331674 from Eot_angles.tl_sun()? ' do
255
+ assert_equal(2.4252405323331674, Eot_angles.tl_sun)
256
+ end
257
+
258
+ it 'should be 0.4090934409048494 from Eot_angles.to_earth()? ' do
259
+ assert_equal(0.4090934409048494, Eot_angles.to_earth)
260
+ end
261
+ end
@@ -0,0 +1,17 @@
1
+ # constants_spec.rb
2
+
3
+ lib = File.expand_path('../../../lib', __FILE__)
4
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
+ require 'eot'
6
+
7
+ describe 'Equation of Time constants.' do
8
+
9
+ it "01 require 'eot' should find all constants." do
10
+ assert_equal 24.0, Eot::DAY_HOURS
11
+ assert_equal 1440.0, Eot::DAY_MINUTES
12
+ assert_equal 86_400.0, Eot::DAY_SECONDS
13
+ assert_equal 86_400.0 * 1.0e+6, Eot::DAY_USECS
14
+ assert_equal 57.29577951308232, Eot::R2D
15
+ assert_equal 0.017453292519943295, Eot::D2R
16
+ end
17
+ end
@@ -0,0 +1,111 @@
1
+ # displays_spec.rb
2
+
3
+ lib = File.expand_path('../../../lib', __FILE__)
4
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
+ require 'eot'
6
+
7
+ Eot_displays = Eot.new
8
+
9
+ describe 'Eot displays using ajd of 2456885.0' do
10
+
11
+ before(:each) do
12
+ Eot_displays.ajd = 2_456_885.0
13
+ ajd = Eot_displays.ajd
14
+ # check date for this ajd when needed.
15
+ Eot_displays.date = Eot_displays.ajd_to_datetime(ajd)
16
+ end
17
+
18
+ it 'expected 2456885.0 for Eot_displays.ajd'do
19
+ assert_equal 2_456_885.0, Eot_displays.ajd
20
+ end
21
+
22
+ it 'expected "2014-08-15T12:00:00+00:00", from Eot_displays.date.to_s' do
23
+ assert_equal '2014-08-15T12:00:00+00:00', Eot_displays.date.to_s
24
+ end
25
+
26
+ it 'expected 3.8508003966038915, from Eot_displays.' do
27
+ assert_equal 3.8508003966038915, Eot_displays.ma
28
+ end
29
+
30
+ it 'expected "+000:00:00.000" from Eot_displays.degrees_to_s() ' do
31
+ assert_equal '+000:00:00.000', Eot_displays.degrees_to_s
32
+ assert_equal '+000:00:00.000', Eot_displays.degrees_to_s(nil)
33
+ assert_equal '+000:00:00.000', Eot_displays.degrees_to_s(0)
34
+ end
35
+
36
+ it 'expected "+142:35:33.356" from Eot_displays.string_al_sun() ' do
37
+ assert_equal '+142:35:33.356', Eot_displays.string_al_sun
38
+ end
39
+
40
+ it 'expected "12:00:00" from Eot_displays.string_day_fraction_to_time() ' do
41
+ assert_equal '12:00:00', Eot_displays.string_day_fraction_to_time
42
+ assert_equal '12:00:00', Eot_displays.string_day_fraction_to_time(nil)
43
+ assert_equal '12:00:00', Eot_displays.string_day_fraction_to_time(0)
44
+ end
45
+
46
+ it 'expected "+013:58:51.521" from Eot_displays.string_dec_sun() ' do
47
+ assert_equal '+013:58:51.521', Eot_displays.string_dec_sun
48
+ end
49
+
50
+ it 'expected "-04m, 29.2s" from Eot_displays.string_eot() ' do
51
+ assert_equal '-04m, 29.2s', Eot_displays.string_eot
52
+ end
53
+
54
+ it 'expected "2000-01-01" from Eot_displays.string_jd_to_date() ' do
55
+ assert_equal '2000-01-01', Eot_displays.string_jd_to_date
56
+ assert_equal '2000-01-01', Eot_displays.string_jd_to_date(nil)
57
+ assert_equal '2000-01-01', Eot_displays.string_jd_to_date(0)
58
+ end
59
+
60
+ it 'expected "2014-08-15" from \
61
+ Eot_displays.jd_to_date_string(Eot_displays.ajd)? ' do
62
+ assert_equal '2014-08-15', Eot_displays.jd_to_date_string(Eot_displays.ajd)
63
+ end
64
+
65
+ it 'expected "+220:38:04.597" from Eot_displays.string_ma_sun() ' do
66
+ assert_equal '+220:38:04.597', Eot_displays.string_ma_sun
67
+ end
68
+
69
+ it 'expected "+144:56:36.571" from Eot_displays.string_ra_sun() ' do
70
+ assert_equal '+144:56:36.571', Eot_displays.string_ra_sun
71
+ end
72
+
73
+ it 'expected "+219:24:27.797" from Eot_displays.string_ta_sun() ' do
74
+ assert_equal '+219:24:27.797', Eot_displays.string_ta_sun
75
+ end
76
+
77
+ it 'expected "12:00:00.000" from Eot_displays.string_time() ' do
78
+ assert_equal '12:00:00.000', Eot_displays.string_time
79
+ assert_equal '12:00:00.000', Eot_displays.string_time(nil)
80
+ assert_equal '12:00:00.000', Eot_displays.string_time(0)
81
+ end
82
+
83
+ it 'expected "12:00:00.000" from \
84
+ Eot_displays.display_time_string(Eot_adisplays.date)? ' do
85
+ assert_equal '12:00:00.000', \
86
+ Eot_displays.display_time_string(Eot_displays.date)
87
+ end
88
+
89
+ it 'expected "+142:35:47.318" from \
90
+ Eot_displays.string_tl_sun() ' do
91
+ assert_equal '+142:35:47.318', Eot_displays.string_tl_sun
92
+ end
93
+
94
+ it 'expected "+023:26:06.163" from Eot_displays.string_to_earth() ' do
95
+ assert_equal '+023:26:06.163', Eot_displays.string_to_earth
96
+ end
97
+
98
+ end
99
+
100
+ describe 'Eot displays explicit values' do
101
+
102
+ it 'expected "16:40:40.800" from Eot_displays.string_time(16.6780) ' do
103
+ assert_equal '16:40:40.800', Eot_displays.string_time(16.6780)
104
+ end
105
+
106
+ it 'expected "17:59:16.800" from Eot_displays.string_time(17988) ' do
107
+ Eot_displays.date = Date.today.to_s
108
+ assert_equal '17:59:16.800', Eot_displays.string_time(17.988)
109
+ end
110
+
111
+ end
@@ -0,0 +1,40 @@
1
+ # geo_spec.rb/
2
+ gem 'minitest'
3
+ require 'minitest/autorun'
4
+
5
+ lib = File.expand_path('../../../lib', __FILE__)
6
+ $LOAD_PATH.unshift(lib) unless$LOAD_PATH.include?(lib)
7
+ require 'eot'
8
+
9
+ geo = GeoLatLng.new
10
+
11
+ describe 'Geo defaults' do
12
+
13
+ # DEFAULT_INT = geo.default_int
14
+ it "expected #{DEFAULT_INT}" do
15
+ assert_equal DEFAULT_INT, geo.addr
16
+ end
17
+
18
+ BASE = 'http://maps.googleapis.com/maps/api/geocode/json?sensor=false&address='
19
+ it "expected #{BASE}" do
20
+ assert_equal BASE, geo.base_json
21
+ end
22
+
23
+ it 'expected #{DEFAULT_INT 'do
24
+ assert_equal DEFAULT_INT, geo.default_int
25
+ end
26
+
27
+ DEFAULT_US = '3333 Coyote Hill Road, Palo Alto, CA, 94304, USA'
28
+ it 'expected DEFAULT_US 'do
29
+ assert_equal DEFAULT_US, geo.default_us
30
+ end
31
+
32
+ it 'expected 0.0'do
33
+ assert_equal 0.0, geo.lat
34
+ end
35
+
36
+ it 'expected 0.0'do
37
+ assert_equal 0.0, geo.lng
38
+ end
39
+
40
+ end
@@ -0,0 +1,45 @@
1
+ # init_spec.rb
2
+ gem 'minitest'
3
+ require 'minitest/autorun'
4
+
5
+ lib = File.expand_path('../../../lib', __FILE__)
6
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
7
+ require 'eot'
8
+
9
+ describe 'Eot_initialize has set attributes' do
10
+
11
+ JD_TODAY = DateTime.now.to_time.utc.to_datetime.jd.to_f
12
+ it "expected #{JD_TODAY} from Eot.new.ajd" do
13
+ assert_equal(JD_TODAY, Eot.new.ajd)
14
+ end
15
+
16
+ UK_LAT = 51.4769388
17
+ it "expected #{UK_LAT} from Eot.new.latitude" do
18
+ assert_equal(UK_LAT, Eot.new.latitude)
19
+ end
20
+
21
+ UK_LNG = -4.2e-05
22
+ it "expected #{UK_LNG} from Eot.new.longitude" do
23
+ assert_equal(UK_LNG, Eot.new.longitude)
24
+ end
25
+
26
+ MA_SUN = Eot.new.ma_sun
27
+ it "expected #{MA_SUN} from @ma" do
28
+ eot = Eot.new
29
+ eot.ajd = JD_TODAY
30
+ assert_equal(MA_SUN, eot.ma)
31
+ end
32
+
33
+ FRAC_CENT = (Eot.new.ajd - Eot::DJ00) / Eot::DJC
34
+ it "expected #{FRAC_CENT} from @ta" do
35
+ eot = Eot.new
36
+ eot.ajd = JD_TODAY
37
+ assert_equal(FRAC_CENT, eot.ta)
38
+ end
39
+
40
+ DEFAULT_INT = GeoLatLng.new.addr
41
+ it "expected #{DEFAULT_INT} from Eot.new.addr" do
42
+ assert_equal(DEFAULT_INT, Eot.new.addr)
43
+ end
44
+
45
+ end
@@ -0,0 +1,137 @@
1
+ # times_spec.rb
2
+
3
+ lib = File.expand_path('../../../lib', __FILE__)
4
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
+ require 'eot'
6
+
7
+ Eot_times = Eot.new
8
+
9
+ describe 'tests ajd of 2456885.0' do
10
+
11
+ before(:each) do
12
+ Eot_times.ajd = 2_456_885.0
13
+ ajd = Eot_times.ajd
14
+ # check date for this ajd when needed.
15
+ Eot_times.date = Eot_times.ajd_to_datetime(ajd)
16
+ end
17
+
18
+ it 'expected 2456885.0 for Eot_times.ajd'do
19
+ assert_equal(2_456_885.0, Eot_times.ajd)
20
+ end
21
+
22
+ it 'expected "2014-08-15T12:00:00+00:00" for Eot_times.date'.to_s do
23
+ assert_equal '2014-08-15T12:00:00+00:00', Eot_times.date.to_s
24
+ end
25
+
26
+ it 'expected 3.8508003966038915 for Eot_times.ma'do
27
+ assert_equal(3.8508003966038915, Eot_times.ma)
28
+ end
29
+
30
+ it 'expected "2014-08-15T12:00:00+00:00" from \
31
+ Eot_times.ajd_to_datetime(Eot_times.ajd).to_s ' do
32
+ assert_equal '2014-08-15T12:00:00+00:00',\
33
+ Eot_times.ajd_to_datetime(Eot_times.ajd).to_s
34
+ end
35
+
36
+ it 'expected -0.003113709117457967 from Eot_times.eot_jd() ' do
37
+ assert_equal(-0.003113709117457967, Eot_times.eot_jd)
38
+ end
39
+
40
+ it 'expected "2014-08-15T12:04:29+00:00" \
41
+ from Eot_times.local_noon_dt().to_s ' do
42
+ assert_equal '2014-08-15T12:04:29+00:00', Eot_times.local_noon_dt.to_s
43
+ end
44
+
45
+ it 'expected "2014-08-15T12:00:00+00:00" from \
46
+ Eot_times.mean_local_noon_dt().to_s ' do
47
+ assert_equal '2014-08-15T12:00:00+00:00', Eot_times.mean_local_noon_dt.to_s
48
+ end
49
+
50
+ it 'expected "2014-08-15T04:45:45+00:00" from Eot_times.sunrise_dt() ' do
51
+ assert_equal '2014-08-15T04:45:45+00:00', Eot_times.sunrise_dt.to_s
52
+ end
53
+
54
+ it 'expected "2014-08-15T19:23:12+00:00" from Eot_times.sunset_dt() ' do
55
+ assert_equal '2014-08-15T19:23:12+00:00', Eot_times.sunset_dt.to_s
56
+ end
57
+
58
+ it 'expected 2456884.6984398644 from Eot_times.sunrise_jd() ' do
59
+ assert_equal(2_456_884.6984398644, Eot_times.sunrise_jd)
60
+ end
61
+
62
+ it 'expected 2456885.307787787 from Eot_times.sunset_jd() ' do
63
+ assert_equal(2_456_885.307787787, Eot_times.sunset_jd)
64
+ end
65
+
66
+ it 'expected -9.362425472253944 from Eot_times.time_delta_oblique() ' do
67
+ assert_equal(-9.362425472253944, Eot_times.time_delta_oblique)
68
+ end
69
+
70
+ it 'expected 4.894155584285248 from Eot_times.time_delta_orbit() ' do
71
+ assert_equal(4.894155584285248, Eot_times.time_delta_orbit)
72
+ end
73
+
74
+ it 'expected -4.483741129139473 from Eot_times.time_eot() ' do
75
+ assert_equal(-4.483741129139473, Eot_times.time_eot)
76
+ end
77
+
78
+ end
79
+
80
+ describe 'tests ajd of 2455055.0' do
81
+
82
+ before(:each) do
83
+ Eot_times.ajd = 2_455_055.0
84
+ ajd = Eot_times.ajd
85
+ # check date for this ajd when needed.
86
+ Eot_times.date = Eot_times.ajd_to_datetime(ajd)
87
+ end
88
+
89
+ it 'expected 2455055.0, from Eot_times.' do
90
+ assert_equal(2_455_055.0, Eot_times.ajd)
91
+ end
92
+
93
+ it 'expected "2009-08-11T12:00:00+00:00" from Eot_times.date.to_s' do
94
+ assert_equal '2009-08-11T12:00:00+00:00', Eot_times.date.to_s
95
+ end
96
+
97
+ it 'expected 3.7871218188949207 from Eot_times.' do
98
+ assert_equal(3.7871218188949207, Eot_times.ma)
99
+ end
100
+
101
+ it 'expected "2009-08-11T12:00:00+00:00" from \
102
+ Eot_times.ajd_to_datetime(Eot_times.ajd).to_s' do
103
+ assert_equal '2009-08-11T12:00:00+00:00', \
104
+ Eot_times.ajd_to_datetime(Eot_times.ajd).to_s
105
+ end
106
+
107
+ it 'expected -0.003584007074372416 from Eot_times.eot_jd()' do
108
+ assert_equal(-0.003584007074372416, Eot_times.eot_jd)
109
+ end
110
+
111
+ it 'expected "2009-08-11T12:00:00+00:00" from \
112
+ Eot_times.mean_local_noon_dt().to_s' do
113
+ assert_equal '2009-08-11T12:00:00+00:00', Eot_times.mean_local_noon_dt.to_s
114
+ end
115
+
116
+ it 'expected "2009-08-11T04:39:45+00:00" \
117
+ from Eot_times.sunrise_dt().to_s' do
118
+ assert_equal '2009-08-11T04:39:45+00:00', Eot_times.sunrise_dt.to_s
119
+ end
120
+
121
+ it 'expected 2455054.6942728516 from Eot_times.sunrise_jd()' do
122
+ assert_equal(2_455_054.6942728516, Eot_times.sunrise_jd)
123
+ end
124
+
125
+ it 'expected "2009-08-11T19:30:34+00:00" from Eot_times.sunset_dt()' do
126
+ assert_equal '2009-08-11T19:30:34+00:00', Eot_times.sunset_dt.to_s
127
+ end
128
+
129
+ it 'expected 2455055.3128953967 from Eot_times.sunset_jd() ' do
130
+ assert_equal(2_455_055.3128953967, Eot_times.sunset_jd)
131
+ end
132
+
133
+ it 'expected -5.160970187096279 is from Eot_times.time_eot() ' do
134
+ assert_equal(-5.160970187096279, Eot_times.time_eot)
135
+ end
136
+
137
+ end
data/wiki.md ADDED
@@ -0,0 +1,55 @@
1
+ Wiki 2:
2
+
3
+ $ irb --simple-prompt
4
+
5
+ require 'eot'
6
+ eot = Eot.new()
7
+ loop do
8
+ puts "#{Time.now} #{eot.show_minutes(eot.now)}"
9
+ sleep 11
10
+ end
11
+
12
+ Wiki 3:
13
+
14
+ latitude, longitude, date = 41.9474, -88.74467, "2013-12-25"
15
+ require 'eot';eot = Eot.new()
16
+ # set the coordinates manually
17
+ eot.latitude = latitude; eot.longitude = longitude; eot.ajd = Date.parse(date).jd
18
+ eot.sunrise_dt().to_time
19
+ eot.sunset_dt().to_time
20
+
21
+ Wiki 4:
22
+
23
+ require 'eot';eot = Eot.new()
24
+ puts "Show the Local Apparent Sidereal time at the Royal Greenwich Observatory"
25
+ loop do
26
+ eot.ajd = DateTime.now.to_time.utc.to_datetime.ajd
27
+ puts "LST = #{ eot.string_time(((eot.tl_Aries() * Eot::R2D) / 15.0)) }"
28
+ sleep ( 1 - 0.00273790935/1.0027390935) / 1.00273790935
29
+ end
30
+
31
+ Wiki 5:
32
+
33
+ require 'eot';eot = Eot.new()
34
+ "There are #{Eot::SM * 6} hours in a sidereal day."
35
+ "That is why on the next day the stars are about 4 minutes earlier."
36
+ obtime0 = Time.now
37
+ obtime1 = obtime0 + Eot::SM * 6 * 3600
38
+ "Now you know when to look next time."
39
+
40
+ Wiki 6:
41
+
42
+ require 'eot'; eot = Eot.new(); eot.ajd = Date.today.jd.to_f
43
+ DateTime.jd(eot.sunrise_jd + 0.5)
44
+ DateTime.jd(eot.sunset_jd + 0.5)
45
+
46
+ wiki 7:
47
+
48
+ require 'eot'; eot = Eot.new(); eot.ajd = Date.today.jd.to_f
49
+ geo = GeoLatLng.new
50
+ geo.addr = "8000 South Michigan Ave., Chicago, IL"
51
+ geo.get_coordinates_from_address
52
+ eot.longitude = geo.lng;eot.latitude = geo.lat
53
+ eot.ajd_to_datetime(eot.sunrise_jd)
54
+ eot.ajd_to_datetime(eot.sunset_jd)
55
+
data/wiki2.md ADDED
@@ -0,0 +1,4 @@
1
+
2
+
3
+ ##[*GMST*](http://douglasallen.github.com/planets/)
4
+ ##[*Sidereal Time*](http://docs.kde.org/stable/en/kdeedu/kstars/ai-sidereal.html)
data.tar.gz.sig ADDED
Binary file