solunar 0.0.8 → 0.0.9
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.
- checksums.yaml +4 -4
- data/data/Data_Files/USA.bin +0 -0
- data/ext/solunar/Data_Files/USA.bin +0 -0
- data/ext/solunar/solunar.c +454 -84
- data/lib/solunar.rb +4 -4
- metadata +3 -7
- data/data/DST_Files/Test.txt +0 -11
- data/data/Data_Files/Test.bin +0 -0
- data/ext/solunar/DST_Files/Test.txt +0 -11
- data/ext/solunar/Data_Files/Test.bin +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f7ac775eac7d04b0bf2ea67b4aba8f71d16b4550
|
4
|
+
data.tar.gz: 850463008978210f2d6d523351849c37451f4815
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d4a0e8c1172fc436b7be1c31943f8f6ecdae07ab13c20105ddbae97a14d3d2656e3d0a9f713c5cc9ab22f6ad6c1810d3bffac507c4ce7f6f736b511b2e406dc0
|
7
|
+
data.tar.gz: 515778b64d590b5b2471f7b00583e4335c63eb0d950eacfeaf8821ad246a46bd1c12012a0e724cafcd8c756e162881f64872b8a55ee431dd2cf19e8165a3ddc3
|
data/data/Data_Files/USA.bin
CHANGED
Binary file
|
Binary file
|
data/ext/solunar/solunar.c
CHANGED
@@ -44,23 +44,12 @@
|
|
44
44
|
#define MOON_FAIL 4
|
45
45
|
#define DTS_FAIL 5
|
46
46
|
#define PHASE_FAIL 6
|
47
|
-
|
48
|
-
#define ILLUM_17_FAIL 8
|
49
|
-
#define ILLUM_18_FAIL 9
|
50
|
-
#define ILLUM_19_FAIL 10
|
51
|
-
#define ILLUM_20_FAIL 11
|
52
|
-
#define ILLUM_21_FAIL 12
|
53
|
-
#define ILLUM_22_FAIL 13
|
54
|
-
#define ILLUM_23_FAIL 14
|
55
|
-
#define ILLUM_24_FAIL 15
|
56
|
-
#define ILLUM_25_FAIL 16
|
57
|
-
#define ILLUM_26_FAIL 17
|
58
|
-
#define ARG_ERROR 99
|
47
|
+
|
59
48
|
//file information
|
60
|
-
#define DATA_FILE_SIZE
|
49
|
+
#define DATA_FILE_SIZE 25933
|
61
50
|
#define JPL_DATE_SIZE 12
|
62
|
-
#define PHASE_FILE_SIZE
|
63
|
-
#define DST_FILE_SIZE
|
51
|
+
#define PHASE_FILE_SIZE 3513
|
52
|
+
#define DST_FILE_SIZE 71
|
64
53
|
#define RST_MAX_TRIES 50
|
65
54
|
#define JDATE_BASE 2457388.5 // January 1, 2016
|
66
55
|
#define YES 1
|
@@ -128,18 +117,78 @@ typedef struct {
|
|
128
117
|
|
129
118
|
/*********************** constant arrays ****************************************************/
|
130
119
|
|
131
|
-
const int year_days[
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
120
|
+
const int year_days[71] = {
|
121
|
+
0, // 1956
|
122
|
+
366, // 1957
|
123
|
+
731, // 1958
|
124
|
+
1096, // 1959
|
125
|
+
1461, // 1960
|
126
|
+
1827, // 1961
|
127
|
+
2192, // 1962
|
128
|
+
2557, // 1963
|
129
|
+
2922, // 1964
|
130
|
+
3288, // 1965
|
131
|
+
3653, // 1966
|
132
|
+
4018, // 1967
|
133
|
+
4383, // 1968
|
134
|
+
4749, // 1969
|
135
|
+
5114, // 1970
|
136
|
+
5479, // 1971
|
137
|
+
5844, // 1972
|
138
|
+
6210, // 1973
|
139
|
+
6575, // 1974
|
140
|
+
6940, // 1975
|
141
|
+
7305, // 1976
|
142
|
+
7671, // 1977
|
143
|
+
8036, // 1978
|
144
|
+
8401, // 1979
|
145
|
+
8766, // 1980
|
146
|
+
9132, // 1981
|
147
|
+
9497, // 1982
|
148
|
+
9862, // 1983
|
149
|
+
10227, // 1984
|
150
|
+
10593, // 1985
|
151
|
+
10958, // 1986
|
152
|
+
11323, // 1987
|
153
|
+
11688, // 1988
|
154
|
+
12054, // 1989
|
155
|
+
12419, // 1990
|
156
|
+
12784, // 1991
|
157
|
+
13149, // 1992
|
158
|
+
13515, // 1993
|
159
|
+
13880, // 1994
|
160
|
+
14245, // 1995
|
161
|
+
14610, // 1996
|
162
|
+
14976, // 1997
|
163
|
+
15341, // 1998
|
164
|
+
15706, // 1999
|
165
|
+
16071, // 2000
|
166
|
+
16437, // 2001
|
167
|
+
16802, // 2002
|
168
|
+
17167, // 2003
|
169
|
+
17532, // 2004
|
170
|
+
17898, // 2005
|
171
|
+
18263, // 2006
|
172
|
+
18628, // 2007
|
173
|
+
18993, // 2008
|
174
|
+
19359, // 2009
|
175
|
+
19724, // 2010
|
176
|
+
20089, // 2011
|
177
|
+
20454, // 2012
|
178
|
+
20820, // 2013
|
179
|
+
21185, // 2014
|
180
|
+
21550, // 2015
|
181
|
+
21915, // 2016
|
182
|
+
22281, // 2017
|
183
|
+
22646, // 2018
|
184
|
+
23011, // 2019
|
185
|
+
23376, // 2020
|
186
|
+
23742, // 2021
|
187
|
+
24107, // 2022
|
188
|
+
24472, // 2023
|
189
|
+
24837, // 2024
|
190
|
+
25203, // 2025
|
191
|
+
25568, // 2026
|
143
192
|
};
|
144
193
|
const int month_days[12] = {
|
145
194
|
0, // JAN
|
@@ -176,20 +225,266 @@ char error_msg[][36] = {
|
|
176
225
|
"Cannot open Sun file",
|
177
226
|
"Cannot open Moon file",
|
178
227
|
"Cannot open DST file",
|
179
|
-
"Cannot open Phase file"
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
228
|
+
"Cannot open Phase file"
|
229
|
+
};
|
230
|
+
const int illum_wax_cres[4][13][8] = {
|
231
|
+
{ // five days
|
232
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 44% first quarter
|
233
|
+
{ 3, 8, 16, 25, 35, 0, 0, 0, }, // 45% first quarter
|
234
|
+
{ 3, 8, 16, 25, 35, 0, 0, 0, }, // 46% first quarter
|
235
|
+
{ 3, 8, 16, 25, 36, 0, 0, 0, }, // 47% first quarter
|
236
|
+
{ 3, 8, 16, 25, 36, 0, 0, 0, }, // 48% first quarter
|
237
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 49% first quarter
|
238
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 50% first quarter
|
239
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 51% first quarter
|
240
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 52% first quarter
|
241
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 53% first quarter
|
242
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 54% first quarter
|
243
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 55% first quarter
|
244
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 56% first quarter
|
245
|
+
},
|
246
|
+
{ // six days
|
247
|
+
{ 1, 3, 8, 15, 24, 34, 0, 0, }, // 44% first quarter
|
248
|
+
{ 1, 3, 8, 15, 24, 34, 0, 0, }, // 45% first quarter
|
249
|
+
{ 1, 4, 10, 17, 25, 36, 0, 0, }, // 46% first quarter
|
250
|
+
{ 1, 5, 11, 18, 27, 36, 0, 0, }, // 47% first quarter
|
251
|
+
{ 1, 5, 11, 18, 27, 36, 0, 0, }, // 48% first quarter
|
252
|
+
{ 2, 6, 12, 19, 28, 39, 0, 0, }, // 49% first quarter
|
253
|
+
{ 1, 6, 12, 20, 29, 40, 0, 0, }, // 50% first quarter
|
254
|
+
{ 1, 6, 12, 20, 29, 40, 0, 0, }, // 51% first quarter
|
255
|
+
{ 1, 6, 13, 21, 31, 42, 0, 0, }, // 52% first quarter
|
256
|
+
{ 2, 6, 13, 21, 31, 42, 0, 0, }, // 53% first quarter
|
257
|
+
{ 2, 6, 13, 21, 32, 43, 0, 0, }, // 54% first quarter
|
258
|
+
{ 2, 6, 15, 23, 34, 44, 0, 0, }, // 55% first quarter
|
259
|
+
{ 3, 6, 16, 25, 36, 46, 0, 0, }, // 56% first quarter
|
260
|
+
},
|
261
|
+
{ // seven days
|
262
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 44% first quarter
|
263
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 45% first quarter
|
264
|
+
{ 1, 3, 7, 13, 20, 28, 37, 0, }, // 46% first quarter
|
265
|
+
{ 1, 3, 8, 14, 21, 29, 38, 0, }, // 47% first quarter
|
266
|
+
{ 1, 4, 8, 14, 21, 29, 39, 0, }, // 48% first quarter
|
267
|
+
{ 1, 4, 8, 14, 21, 30, 39, 0, }, // 49% first quarter
|
268
|
+
{ 1, 4, 9, 15, 22, 31, 40, 0, }, // 50% first quarter
|
269
|
+
{ 2, 5, 10, 16, 24, 32, 42, 0, }, // 51% first quarter
|
270
|
+
{ 2, 5, 10, 17, 25, 33, 43, 0, }, // 52% first quarter
|
271
|
+
{ 2, 5, 10, 17, 25, 34, 43, 0, }, // 53% first quarter
|
272
|
+
{ 2, 5, 11, 17, 25, 34, 44, 0, }, // 54% first quarter
|
273
|
+
{ 2, 6, 12, 18, 26, 35, 45, 0, }, // 55% first quarter
|
274
|
+
{ 2, 6, 12, 18, 26, 35, 45, 0, }, // 56% first quarter
|
275
|
+
},
|
276
|
+
{ // eight days
|
277
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 44% first quarter
|
278
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 45% first quarter
|
279
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 46% first quarter
|
280
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 47% first quarter
|
281
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 48% first quarter
|
282
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 49% first quarter
|
283
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 50% first quarter
|
284
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 51% first quarter
|
285
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 52% first quarter
|
286
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 53% first quarter
|
287
|
+
{ 0, 3, 6, 12, 18, 26, 35, 45, }, // 54% first quarter
|
288
|
+
{ 0, 3, 6, 12, 18, 26, 35, 45, }, // 55% first quarter
|
289
|
+
{ 0, 3, 7, 12, 19, 27, 36, 46, }, // 56% first quarter
|
290
|
+
},
|
291
|
+
};
|
292
|
+
const int illum_wax_gibb[4][13][8] = {
|
293
|
+
{ // five days
|
294
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 44% first quarter
|
295
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 45% first quarter
|
296
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 46% first quarter
|
297
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 47% first quarter
|
298
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 48% first quarter
|
299
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 49% first quarter
|
300
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 50% first quarter
|
301
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 51% first quarter
|
302
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 52% first quarter
|
303
|
+
{ 64, 75, 84, 92, 97, 0, 0, 0, }, // 53% first quarter
|
304
|
+
{ 65, 75, 85, 92, 97, 0, 0, 0, }, // 54% first quarter
|
305
|
+
{ 66, 76, 86, 93, 98, 0, 0, 0, }, // 55% first quarter
|
306
|
+
{ 67, 77, 86, 93, 98, 0, 0, 0, }, // 56% first quarter
|
307
|
+
},
|
308
|
+
{ // six days
|
309
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 44% first quarter
|
310
|
+
{ 57, 68, 78, 87, 94, 98, 0, 0, }, // 45% first quarter
|
311
|
+
{ 57, 68, 78, 87, 94, 98, 0, 0, }, // 46% first quarter
|
312
|
+
{ 58, 69, 79, 88, 94, 98, 0, 0, }, // 47% first quarter
|
313
|
+
{ 59, 70, 80, 89, 95, 99, 0, 0, }, // 48% first quarter
|
314
|
+
{ 60, 70, 79, 87, 94, 99, 0, 0, }, // 49% first quarter
|
315
|
+
{ 61, 72, 82, 90, 96, 99, 0, 0, }, // 50% first quarter
|
316
|
+
{ 62, 72, 81, 89, 95, 99, 0, 0, }, // 51% first quarter
|
317
|
+
{ 63, 73, 82, 89, 94, 98, 0, 0, }, // 52% first quarter
|
318
|
+
{ 62, 72, 82, 89, 95, 99, 0, 0, }, // 53% first quarter
|
319
|
+
{ 64, 74, 82, 90, 96, 99, 0, 0, }, // 54% first quarter
|
320
|
+
{ 65, 75, 83, 90, 96, 99, 0, 0, }, // 55% first quarter
|
321
|
+
{ 66, 76, 85, 92, 95, 100, 0, 0, }, // 56% first quarter
|
322
|
+
},
|
323
|
+
{ // seven days
|
324
|
+
{ 0 , 0, 0, 0, 0, 0, 0, 0, }, // 44% first quarter
|
325
|
+
{ 56, 66, 75, 83, 89, 94, 98, 0, }, // 45% first quarter
|
326
|
+
{ 57, 67, 76, 84, 90, 95, 99, 0, }, // 46% first quarter
|
327
|
+
{ 57, 67, 76, 84, 90, 95, 99, 0, }, // 47% first quarter
|
328
|
+
{ 58, 68, 76, 85, 91, 96, 99, 0, }, // 48% first quarter
|
329
|
+
{ 60, 69, 78, 86, 92, 96, 99, 0, }, // 49% first quarter
|
330
|
+
{ 60, 70, 78, 86, 92, 96, 99, 0, }, // 50% first quarter
|
331
|
+
{ 61, 71, 79, 86, 92, 96, 99, 0, }, // 51% first quarter
|
332
|
+
{ 63, 72, 80, 87, 93, 97, 99, 0, }, // 52% first quarter
|
333
|
+
{ 63, 73, 81, 88, 93, 97, 99, 0, }, // 53% first quarter
|
334
|
+
{ 64, 73, 81, 88, 93, 97, 100, 0, }, // 54% first quarter
|
335
|
+
{ 64, 74, 82, 89, 94, 98, 100, 0, }, // 55% first quarter
|
336
|
+
{ 66, 75, 83, 89, 94, 98, 100, 0, }, // 56% first quarter
|
337
|
+
},
|
338
|
+
{ // eight days
|
339
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 44% first quarter
|
340
|
+
{ 56, 66, 75, 83, 89, 95, 98, 100, }, // 45% first quarter
|
341
|
+
{ 56, 66, 75, 83, 89, 95, 98, 100, }, // 46% first quarter
|
342
|
+
{ 57, 67, 75, 83, 90, 95, 98, 100, }, // 47% first quarter
|
343
|
+
{ 57, 67, 75, 83, 90, 95, 98, 100, }, // 48% first quarter
|
344
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 49% first quarter
|
345
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 50% first quarter
|
346
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 51% first quarter
|
347
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 52% first quarter
|
348
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 53% first quarter
|
349
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 54% first quarter
|
350
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 55% first quarter
|
351
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 56% first quarter
|
352
|
+
},
|
353
|
+
};
|
354
|
+
const int illum_wan_gibb[4][13][8] = {
|
355
|
+
{ // five days
|
356
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 44% last quarter
|
357
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 45% last quarter
|
358
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 46% last quarter
|
359
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 47% last quarter
|
360
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 48% last quarter
|
361
|
+
{ 95, 89, 81, 71, 61, 0, 0, 0, }, // 49% last quarter
|
362
|
+
{ 96, 90, 82, 72, 62, 0, 0, 0, }, // 50% last quarter
|
363
|
+
{ 96, 91, 83, 73, 62, 0, 0, 0, }, // 51% last quarter
|
364
|
+
{ 96, 90, 82, 72, 62, 0, 0, 0, }, // 52% last quarter
|
365
|
+
{ 97, 92, 84, 75, 64, 0, 0, 0, }, // 53% last quarter
|
366
|
+
{ 97, 92, 85, 75, 65, 0, 0, 0, }, // 54% last quarter
|
367
|
+
{ 98, 93, 86, 77, 66, 0, 0, 0, }, // 55% last quarter
|
368
|
+
{ 98, 93, 87, 78, 77, 0, 0, 0, }, // 56% last quarter
|
369
|
+
},
|
370
|
+
{ // six days
|
371
|
+
{ 97, 93, 86, 77, 67, 56, 0, 0, }, // 44% last quarter
|
372
|
+
{ 97, 93, 86, 77, 67, 56, 0, 0, }, // 45% last quarter
|
373
|
+
{ 99, 95, 88, 79, 69, 58, 0, 0, }, // 46% last quarter
|
374
|
+
{ 99, 95, 88, 80, 70, 59, 0, 0, }, // 47% last quarter
|
375
|
+
{ 99, 95, 89, 80, 70, 59, 0, 0, }, // 48% last quarter
|
376
|
+
{ 98, 94, 89, 80, 69, 59, 0, 0, }, // 49% last quarter
|
377
|
+
{ 98, 94, 89, 81, 72, 61, 0, 0, }, // 50% last quarter
|
378
|
+
{ 99, 95, 89, 81, 71, 61, 0, 0, }, // 51% last quarter
|
379
|
+
{ 98, 93, 87, 79, 71, 61, 0, 0, }, // 52% last quarter
|
380
|
+
{ 99, 96, 91, 84, 74, 63, 0, 0, }, // 53% last quarter
|
381
|
+
{ 99, 96, 91, 84, 75, 65, 0, 0, }, // 54% last quarter
|
382
|
+
{ 99, 96, 91, 85, 75, 65, 0, 0, }, // 55% last quarter
|
383
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 56% last quarter
|
384
|
+
},
|
385
|
+
{ // seven days
|
386
|
+
{ 98, 94, 89, 81, 72, 60, 53, 0, }, // 44% last quarter
|
387
|
+
{ 98, 94, 89, 82, 73, 61, 54, 0, }, // 45% last quarter
|
388
|
+
{ 98, 94, 89, 83, 73, 65, 55, 0, }, // 46% last quarter
|
389
|
+
{ 99, 97, 92, 86, 78, 68, 58, 0, }, // 47% last quarter
|
390
|
+
{ 99, 97, 92, 86, 78, 69, 59, 0, }, // 48% last quarter
|
391
|
+
{ 99, 95, 91, 85, 77, 69, 59, 0, }, // 49% last quarter
|
392
|
+
{ 99, 96, 91, 85, 78, 69, 60, 0, }, // 50% last quarter
|
393
|
+
{ 99, 97, 92, 85, 78, 69, 60, 0, }, // 51% last quarter
|
394
|
+
{ 99, 96, 92, 86, 79, 71, 62, 0, }, // 52% last quarter
|
395
|
+
{ 99, 97, 93, 87, 80, 72, 63, 0, }, // 53% last quarter
|
396
|
+
{ 99, 97, 93, 87, 80, 72, 63, 0, }, // 54% last quarter
|
397
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 55% last quarter
|
398
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 56% last quarter
|
399
|
+
},
|
400
|
+
{ // eight days
|
401
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 44% last quarter
|
402
|
+
{100, 98, 94, 89, 82, 74, 66, 56, }, // 45% last quarter
|
403
|
+
{100, 98, 94, 89, 82, 74, 66, 56, }, // 46% last quarter
|
404
|
+
{100, 98, 94, 89, 82, 74, 66, 56, }, // 47% last quarter
|
405
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 48% last quarter
|
406
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 49% last quarter
|
407
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 50% last quarter
|
408
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 51% last quarter
|
409
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 52% last quarter
|
410
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 53% last quarter
|
411
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 54% last quarter
|
412
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 55% last quarter
|
413
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 56% last quarter
|
414
|
+
},
|
415
|
+
};
|
416
|
+
const int illum_wan_cres[4][13][8] = {
|
417
|
+
{ // five days
|
418
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 44% last quarter
|
419
|
+
{ 34, 24, 15, 8, 3, 0, 0, 0, }, // 45% last quarter
|
420
|
+
{ 35, 25, 16, 8, 3, 0, 0, 0, }, // 46% last quarter
|
421
|
+
{ 36, 26, 16, 8, 3, 0, 0, 0, }, // 47% last quarter
|
422
|
+
{ 37, 26, 16, 8, 3, 0, 0, 0, }, // 48% last quarter
|
423
|
+
{ 38, 27, 17, 8, 3, 0, 0, 0, }, // 49% last quarter
|
424
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 50% last quarter
|
425
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 51% last quarter
|
426
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 52% last quarter
|
427
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 53% last quarter
|
428
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 54% last quarter
|
429
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 55% last quarter
|
430
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 56% last quarter
|
431
|
+
},
|
432
|
+
{ // six days
|
433
|
+
{ 33, 23, 14, 7, 3, 0, 0, 0, }, // 44% last quarter
|
434
|
+
{ 36, 25, 17, 10, 6, 2, 0, 0, }, // 45% last quarter
|
435
|
+
{ 36, 26, 17, 10, 5, 2, 0, 0, }, // 46% last quarter
|
436
|
+
{ 37, 27, 18, 10, 5, 1, 0, 0, }, // 47% last quarter
|
437
|
+
{ 37, 27, 18, 10, 5, 1, 0, 0, }, // 48% last quarter
|
438
|
+
{ 39, 28, 19, 11, 4, 1, 0, 0, }, // 49% last quarter
|
439
|
+
{ 39, 28, 19, 11, 4, 1, 0, 0, }, // 50% last quarter
|
440
|
+
{ 40, 29, 19, 12, 4, 1, 0, 0, }, // 51% last quarter
|
441
|
+
{ 42, 30, 21, 13, 8, 3, 0, 0, }, // 52% last quarter
|
442
|
+
{ 43, 31, 22, 14, 6, 2, 0, 0, }, // 53% last quarter
|
443
|
+
{ 44, 33, 23, 14, 6, 2, 0, 0, }, // 54% last quarter
|
444
|
+
{ 45, 33, 24, 15, 6, 2, 0, 0, }, // 55% last quarter
|
445
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 56% last quarter
|
446
|
+
},
|
447
|
+
{ // seven days
|
448
|
+
{ 35, 26, 19, 12, 7, 3, 1, 0, }, // 44% last quarter
|
449
|
+
{ 35, 26, 19, 12, 7, 3, 1, 0, }, // 45% last quarter
|
450
|
+
{ 36, 27, 19, 12, 7, 3, 1, 0, }, // 46% last quarter
|
451
|
+
{ 38, 29, 21, 14, 8, 3, 1, 0, }, // 47% last quarter
|
452
|
+
{ 39, 30, 22, 14, 8, 4, 1, 0, }, // 48% last quarter
|
453
|
+
{ 40, 31, 22, 15, 9, 4, 1, 0, }, // 49% last quarter
|
454
|
+
{ 40, 31, 22, 15, 8, 3, 1, 0, }, // 50% last quarter
|
455
|
+
{ 40, 30, 21, 14, 8, 4, 1, 0, }, // 51% last quarter
|
456
|
+
{ 42, 33, 25, 17, 10, 5, 2, 0, }, // 52% last quarter
|
457
|
+
{ 44, 34, 25, 17, 10, 4, 1, 0, }, // 53% last quarter
|
458
|
+
{ 44, 35, 26, 17, 10, 5, 1, 0, }, // 54% last quarter
|
459
|
+
{ 43, 32, 22, 14, 7, 3, 0, 0, }, // 55% last quarter
|
460
|
+
{ 44, 35, 25, 16, 10, 5, 0, 0, }, // 56% last quarter
|
461
|
+
},
|
462
|
+
{ // eight days
|
463
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 44% last quarter
|
464
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 45% last quarter
|
465
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 46% last quarter
|
466
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 47% last quarter
|
467
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 48% last quarter
|
468
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 49% last quarter
|
469
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 50% last quarter
|
470
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 51% last quarter
|
471
|
+
{ 44, 34, 26, 19, 11, 6, 2, 0, }, // 52% last quarter
|
472
|
+
{ 44, 34, 26, 19, 11, 6, 2, 0, }, // 53% last quarter
|
473
|
+
{ 44, 34, 26, 19, 11, 6, 2, 0, }, // 54% last quarter
|
474
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 55% last quarter
|
475
|
+
{ 0, 0, 0, 0, 0, 0, 0, 0, }, // 56% last quarter
|
476
|
+
},
|
477
|
+
};
|
478
|
+
const int illum_estimates[4][24] = { // (hours since phase time)
|
479
|
+
{ 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // new moon
|
480
|
+
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, },
|
481
|
+
{ 56, 56, 55, 55, 54, 54, 53, 53, 52, 52, 51, 51, // first quarter
|
482
|
+
51, 50, 50, 48, 48, 48, 48, 47, 47, 47, 48, 46, },
|
483
|
+
{ 99, 99, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, // full moon
|
484
|
+
100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, },
|
485
|
+
{ 45, 45, 46, 46, 46, 47, 47, 48, 48, 49, 49, 49, // last quarter
|
486
|
+
50, 50, 50, 51, 51, 52, 52, 53, 53, 54, 54, 55, },
|
191
487
|
};
|
192
|
-
|
193
488
|
/*********************** function prototypes ************************************************/
|
194
489
|
|
195
490
|
int TestBuildDataFile(void);
|
@@ -230,49 +525,8 @@ Uuncomment one of these to control whether the executable will enter the Console
|
|
230
525
|
a one cay summary, the Club Mode, to porepare the Club File, or the build Mode, to build a new
|
231
526
|
data file from a revised DST file. */
|
232
527
|
|
233
|
-
//define CONSOLE_MODE
|
234
528
|
#define CLUB_MODE
|
235
|
-
//#define BUILD_MODE
|
236
|
-
|
237
|
-
/*********************** Main
|
238
|
-
|
239
|
-
This is the entry point for the program.
|
240
529
|
|
241
|
-
RETURN VALUE: EXIT_SUCCESS or Error Code
|
242
|
-
|
243
|
-
PARAMETERS: Varies depending on mode
|
244
|
-
*/
|
245
|
-
/*#ifdef CONSOLE_MODE
|
246
|
-
int main()
|
247
|
-
{
|
248
|
-
enum { BUILD = 'B', CLUB = 'C', DISPLAY = 'D' };
|
249
|
-
int task;
|
250
|
-
char line[100];
|
251
|
-
|
252
|
-
printf("Enter: Club File, Display Summary, Build Data File: ");
|
253
|
-
fgets(line, sizeof line, stdin);
|
254
|
-
if (line[0] == '\n') strcpy(line, "Club");
|
255
|
-
task = line[0];
|
256
|
-
switch (task)
|
257
|
-
{
|
258
|
-
case BUILD:
|
259
|
-
case BUILD + 32:
|
260
|
-
printf("\nBUILD DATA FILE\n\n");
|
261
|
-
TestBuildDataFile();
|
262
|
-
break;
|
263
|
-
case DISPLAY:
|
264
|
-
case DISPLAY + 32:
|
265
|
-
printf("\nDISPLAY SUMMARY\n\n");
|
266
|
-
TestSummary();
|
267
|
-
break;
|
268
|
-
default:
|
269
|
-
printf("\nCLUB FILE\n\n");
|
270
|
-
TestClubFile();
|
271
|
-
break;
|
272
|
-
}
|
273
|
-
return 0;
|
274
|
-
}
|
275
|
-
#endif*/
|
276
530
|
|
277
531
|
static VALUE generate(VALUE self, VALUE r_date_str, VALUE r_count, VALUE r_lat,
|
278
532
|
VALUE r_lon, VALUE r_gmt_offset, VALUE r_dst_offset, VALUE r_military_time, VALUE r_path)
|
@@ -308,9 +562,12 @@ static VALUE generate(VALUE self, VALUE r_date_str, VALUE r_count, VALUE r_lat,
|
|
308
562
|
int outputLength;
|
309
563
|
outputLength = count*251;
|
310
564
|
char output[outputLength];
|
565
|
+
rb_eval_string("puts 'Step 1'");
|
311
566
|
result = ClubFile( club_name, date_str, count, lat, lon,
|
312
567
|
gmt_offset, dst_time, am_pm, data_name, output, path);
|
568
|
+
rb_eval_string("puts 'Step 1.5'");
|
313
569
|
ret_v = rb_str_new2(result);
|
570
|
+
rb_eval_string("puts 'Step Final'");
|
314
571
|
|
315
572
|
return ret_v;
|
316
573
|
}
|
@@ -649,6 +906,7 @@ PARAMETERS: name of Club File
|
|
649
906
|
char* ClubFile(char *club_name, char *start_date, int count, double lat, double lon,
|
650
907
|
int gmt_offset, int dst_time, int am_pm, char *data_name, char *output, char *path)
|
651
908
|
{
|
909
|
+
rb_eval_string("puts \"Step 2\"");
|
652
910
|
FILE *file;
|
653
911
|
int i;
|
654
912
|
int n;
|
@@ -686,9 +944,12 @@ char* ClubFile(char *club_name, char *start_date, int count, double lat, double
|
|
686
944
|
jdate = ConvertDate(start_date);
|
687
945
|
for (i = 0; i < count; i++)
|
688
946
|
{
|
947
|
+
rb_eval_string("puts \"Step 3\"");
|
689
948
|
success = Solunar(&solunar, jdate + i, lat, lon, gmt_offset, dst_time, data_filename);
|
949
|
+
rb_eval_string("puts \"Step 4\"");
|
690
950
|
if (success == EXIT_SUCCESS)
|
691
951
|
{
|
952
|
+
rb_eval_string("puts \"Step 5\"");
|
692
953
|
FmtTimeStr(s_ris, solunar.sun.ris, am_pm);
|
693
954
|
FmtTimeStr(s_trn, solunar.sun.trn, am_pm);
|
694
955
|
FmtTimeStr(s_set, solunar.sun.set, am_pm);
|
@@ -750,14 +1011,14 @@ double ConvertDate(char* string)
|
|
750
1011
|
year = atoi(string);
|
751
1012
|
month = atoi(string + 5);
|
752
1013
|
day = atoi(string + 8);
|
753
|
-
if ((year <
|
1014
|
+
if ((year < 1956) || (year > 2026)) error = YES;
|
754
1015
|
if ((month < 1) || (month > 12)) error = YES;
|
755
1016
|
if ((day < 1) || ((year % 4 == 0) && (day > l[month - 1]))) error = YES;
|
756
1017
|
if ((day < 1) || ((year % 4 != 0) && (day > m[month - 1]))) error = YES;
|
757
1018
|
if (error == NO)
|
758
1019
|
{
|
759
1020
|
result = JDATE_BASE;
|
760
|
-
result += year_days[year -
|
1021
|
+
result += year_days[year - 1956];
|
761
1022
|
result += year % 4 == 0? leap_days[month - 1]: month_days[month - 1];
|
762
1023
|
result += day - 1;
|
763
1024
|
}
|
@@ -1040,10 +1301,119 @@ PARAMETERS: none
|
|
1040
1301
|
*/
|
1041
1302
|
int GetIllumData(void)
|
1042
1303
|
{
|
1304
|
+
///past
|
1305
|
+
enum {NEW_MOON_EST = 0, FIRST_QTR_EST = 1, FULL_MOON_EST = 2, LAST_QTR_EST = 3};
|
1306
|
+
///
|
1043
1307
|
int index;
|
1044
1308
|
int success;
|
1045
|
-
|
1309
|
+
///past
|
1310
|
+
int n;
|
1311
|
+
int phase_time;
|
1312
|
+
int time_offset;
|
1313
|
+
int day_offset;
|
1314
|
+
int new_moon_illum;
|
1315
|
+
int first_qtr_illum;
|
1316
|
+
int full_moon_illum;
|
1317
|
+
int last_qtr_illum;
|
1318
|
+
int new_moon_index;
|
1319
|
+
int first_qtr_index;
|
1320
|
+
int full_moon_index;
|
1321
|
+
int last_qtr_index;
|
1322
|
+
int days;
|
1323
|
+
int index_2016;
|
1324
|
+
|
1325
|
+
index_2016 = year_days[2016 - 1956];
|
1326
|
+
|
1327
|
+
// initial new moon illumination and index
|
1046
1328
|
index = 0;
|
1329
|
+
while (jpl_temp[index].phase != NEW_MOON) index++;
|
1330
|
+
phase_time = jpl_temp[index].phase_time;
|
1331
|
+
time_offset = jpl_temp[index].dst == YES ? 300 : 360;
|
1332
|
+
day_offset = phase_time < time_offset ? 1 : 0;
|
1333
|
+
if (day_offset == 1) phase_time += MINUTES_PER_DAY;
|
1334
|
+
phase_time -= time_offset;
|
1335
|
+
new_moon_index = index - day_offset;
|
1336
|
+
phase_time = (int)((phase_time + 30) / 60);
|
1337
|
+
new_moon_illum = illum_estimates[NEW_MOON_EST][phase_time];
|
1338
|
+
jpl_temp[new_moon_index].illum = new_moon_illum;
|
1339
|
+
|
1340
|
+
while (index < index_2016)
|
1341
|
+
{
|
1342
|
+
// first quarter illumination and index
|
1343
|
+
while (jpl_temp[index].phase != FIRST_QTR) index++;
|
1344
|
+
phase_time = jpl_temp[index].phase_time;
|
1345
|
+
time_offset = jpl_temp[index].dst == YES ? 300 : 360;
|
1346
|
+
day_offset = phase_time < time_offset ? 1 : 0;
|
1347
|
+
if (day_offset == 1) phase_time += MINUTES_PER_DAY;
|
1348
|
+
phase_time -= time_offset;
|
1349
|
+
first_qtr_index = index - day_offset;
|
1350
|
+
phase_time = (int)((phase_time + 30) / 60);
|
1351
|
+
first_qtr_illum = illum_estimates[FIRST_QTR_EST][phase_time];
|
1352
|
+
jpl_temp[first_qtr_index].illum = first_qtr_illum;
|
1353
|
+
|
1354
|
+
// full moon illumination and index
|
1355
|
+
while (jpl_temp[index].phase != FULL_MOON) index++;
|
1356
|
+
phase_time = jpl_temp[index].phase_time;
|
1357
|
+
time_offset = jpl_temp[index].dst == YES ? 300 : 360;
|
1358
|
+
day_offset = phase_time < time_offset ? 1 : 0;
|
1359
|
+
if (day_offset == 1) phase_time += MINUTES_PER_DAY;
|
1360
|
+
phase_time -= time_offset;
|
1361
|
+
full_moon_index = index - day_offset;
|
1362
|
+
phase_time = (int)((phase_time + 30) / 60);
|
1363
|
+
full_moon_illum = illum_estimates[FULL_MOON_EST][phase_time];
|
1364
|
+
jpl_temp[full_moon_index].illum = full_moon_illum;
|
1365
|
+
|
1366
|
+
// waxing crescent illuminations
|
1367
|
+
days = first_qtr_index - new_moon_index - 1;
|
1368
|
+
for (n = 0; n < days; n++)
|
1369
|
+
{
|
1370
|
+
jpl_temp[new_moon_index + 1 + n].illum = illum_wax_cres[days - 5][first_qtr_illum - 44][n];
|
1371
|
+
}
|
1372
|
+
days = full_moon_index - first_qtr_index - 1;
|
1373
|
+
for (n = 0; n < days; n++)
|
1374
|
+
{
|
1375
|
+
jpl_temp[first_qtr_index + 1 + n].illum = illum_wax_gibb[days - 5][first_qtr_illum - 44][n];
|
1376
|
+
}
|
1377
|
+
|
1378
|
+
// last quarter illumination and index
|
1379
|
+
while (jpl_temp[index].phase != LAST_QTR) index++;
|
1380
|
+
phase_time = jpl_temp[index].phase_time;
|
1381
|
+
time_offset = jpl_temp[index].dst == YES ? 300 : 360;
|
1382
|
+
day_offset = phase_time < time_offset ? 1 : 0;
|
1383
|
+
if (day_offset == 1) phase_time += MINUTES_PER_DAY;
|
1384
|
+
phase_time -= time_offset;
|
1385
|
+
last_qtr_index = index - day_offset;
|
1386
|
+
phase_time = (int)((phase_time + 30) / 60);
|
1387
|
+
last_qtr_illum = illum_estimates[LAST_QTR_EST][phase_time];
|
1388
|
+
jpl_temp[last_qtr_index].illum = last_qtr_illum;
|
1389
|
+
|
1390
|
+
// new moon illumination and index
|
1391
|
+
while (jpl_temp[index].phase != NEW_MOON) index++;
|
1392
|
+
phase_time = jpl_temp[index].phase_time;
|
1393
|
+
time_offset = jpl_temp[index].dst == YES ? 300 : 360;
|
1394
|
+
day_offset = phase_time < time_offset ? 1 : 0;
|
1395
|
+
if (day_offset == 1) phase_time += MINUTES_PER_DAY;
|
1396
|
+
phase_time -= time_offset;
|
1397
|
+
new_moon_index = index - day_offset;
|
1398
|
+
phase_time = (int)((phase_time + 30) / 60);
|
1399
|
+
new_moon_illum = illum_estimates[NEW_MOON_EST][phase_time];
|
1400
|
+
jpl_temp[new_moon_index].illum = new_moon_illum;
|
1401
|
+
|
1402
|
+
// waning crescent illuminations
|
1403
|
+
days = last_qtr_index - full_moon_index - 1;
|
1404
|
+
for (n = 0; n < days; n++)
|
1405
|
+
{
|
1406
|
+
jpl_temp[full_moon_index + 1 + n].illum = illum_wan_gibb[days - 5][last_qtr_illum - 44][n];
|
1407
|
+
}
|
1408
|
+
days = new_moon_index - last_qtr_index - 1;
|
1409
|
+
for (n = 0; n < days; n++)
|
1410
|
+
{
|
1411
|
+
jpl_temp[last_qtr_index + 1 + n].illum = illum_wan_cres[days - 5][last_qtr_illum - 44][n];
|
1412
|
+
}
|
1413
|
+
}
|
1414
|
+
// index = 0;
|
1415
|
+
index = index_2016;
|
1416
|
+
///
|
1047
1417
|
success = EXIT_SUCCESS;
|
1048
1418
|
if (success == EXIT_SUCCESS) success = GetIllumYear(ILLUM_16_FILE, &index);
|
1049
1419
|
if (success == EXIT_SUCCESS) success = GetIllumYear(ILLUM_17_FILE, &index);
|
data/lib/solunar.rb
CHANGED
@@ -1,25 +1,25 @@
|
|
1
1
|
class Solunar
|
2
2
|
|
3
3
|
NAME = "solunar"
|
4
|
-
VERSION = '0.0.
|
4
|
+
VERSION = '0.0.9'
|
5
5
|
def version
|
6
|
-
"0.0.
|
6
|
+
"0.0.9"
|
7
7
|
end
|
8
8
|
|
9
9
|
def test
|
10
|
-
get_data("2017-05-01",
|
10
|
+
get_data("2017-05-01",100,29.2108,-81.0228,-5,1,0)
|
11
11
|
end
|
12
12
|
|
13
13
|
def get_data(date,count,lat,lon,tz_offset_hours,dst_offset_hours,military_time)
|
14
14
|
forecast = Array.new
|
15
15
|
dir = "#{Gem.dir}/gems/#{Solunar::NAME}-#{Solunar::VERSION}/data/"
|
16
16
|
res = generate(date,count,lat,lon,(tz_offset_hours*-60.0).to_i,(dst_offset_hours*60.0).to_i,military_time,dir)
|
17
|
+
puts "Got a result"
|
17
18
|
#Most data comes from the "generate" function, which lives in solunar.c
|
18
19
|
#Major feed times are currently defined as two hours starting at the moon underfoot and moon transit
|
19
20
|
#Minor feed times are one hour after moon rise and moon set
|
20
21
|
res.split(";").each do |line|
|
21
22
|
next unless line.split(",").length > 7
|
22
|
-
puts line
|
23
23
|
segments = line.split(",")
|
24
24
|
day = Hash.new
|
25
25
|
sun = Hash.new
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: solunar
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- "\"Sullivan"
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2016-
|
13
|
+
date: 2016-11-29 00:00:00.000000000 Z
|
14
14
|
dependencies: []
|
15
15
|
description: A gem that wraps the C code from Rick Dawson that computes the sun and
|
16
16
|
moon times based on date and coordinates. Takes a series of arguments, and returns
|
@@ -22,9 +22,7 @@ extensions:
|
|
22
22
|
- ext/solunar/extconf.rb
|
23
23
|
extra_rdoc_files: []
|
24
24
|
files:
|
25
|
-
- data/DST_Files/Test.txt
|
26
25
|
- data/DST_Files/USA.txt
|
27
|
-
- data/Data_Files/Test.bin
|
28
26
|
- data/Data_Files/USA.bin
|
29
27
|
- data/Source_Files/Moon.txt
|
30
28
|
- data/Source_Files/Phase.TXT
|
@@ -40,9 +38,7 @@ files:
|
|
40
38
|
- data/Source_Files/ilum_2024.txt
|
41
39
|
- data/Source_Files/ilum_2025.txt
|
42
40
|
- data/Source_Files/ilum_2026.txt
|
43
|
-
- ext/solunar/DST_Files/Test.txt
|
44
41
|
- ext/solunar/DST_Files/USA.txt
|
45
|
-
- ext/solunar/Data_Files/Test.bin
|
46
42
|
- ext/solunar/Data_Files/USA.bin
|
47
43
|
- ext/solunar/Source_Files/Moon.txt
|
48
44
|
- ext/solunar/Source_Files/Phase.TXT
|
@@ -82,7 +78,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
82
78
|
version: '0'
|
83
79
|
requirements: []
|
84
80
|
rubyforge_project:
|
85
|
-
rubygems_version: 2.
|
81
|
+
rubygems_version: 2.6.8
|
86
82
|
signing_key:
|
87
83
|
specification_version: 4
|
88
84
|
summary: Solunar Forecasting Gem
|
data/data/DST_Files/Test.txt
DELETED
@@ -1,11 +0,0 @@
|
|
1
|
-
2016/03/13, 2016/11/06
|
2
|
-
2017/03/12, 2017/11/05
|
3
|
-
2018/03/11, 2018/11/04
|
4
|
-
2019/03/10, 2019/11/03
|
5
|
-
2020/03/08, 2020/11/01
|
6
|
-
2021/03/14, 2021/11/07
|
7
|
-
2022/03/13, 2022/11/06
|
8
|
-
2023/03/12, 2023/11/05
|
9
|
-
2024/03/10, 2024/11/03
|
10
|
-
2025/03/09, 2025/11/02
|
11
|
-
2026/03/08, 2026/11/01
|
data/data/Data_Files/Test.bin
DELETED
Binary file
|
@@ -1,11 +0,0 @@
|
|
1
|
-
2016/03/13, 2016/11/06
|
2
|
-
2017/03/12, 2017/11/05
|
3
|
-
2018/03/11, 2018/11/04
|
4
|
-
2019/03/10, 2019/11/03
|
5
|
-
2020/03/08, 2020/11/01
|
6
|
-
2021/03/14, 2021/11/07
|
7
|
-
2022/03/13, 2022/11/06
|
8
|
-
2023/03/12, 2023/11/05
|
9
|
-
2024/03/10, 2024/11/03
|
10
|
-
2025/03/09, 2025/11/02
|
11
|
-
2026/03/08, 2026/11/01
|
Binary file
|