-
Notifications
You must be signed in to change notification settings - Fork 174
/
aa.py
2496 lines (2278 loc) · 105 KB
/
aa.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
''' Implement astronomical algorithms for finding solar terms and moon phases.
Truncated VSOP87D for calculate Sun's apparent longitude;
Truncated LEA-406 for calculate Moon's apparent longitude;
Truncated IAU2000B from USNO NOVAS c source is used for nutation.
Reference:
VSOP87: ftp://ftp.imcce.fr/pub/ephem/planets/vsop87
LEA-406: S. M. Kudryavtsev (2007) "Long-term harmonic development of
lunar ephemeris", Astronomy and Astrophysics 471, 1069-1075
'''
__license__ = 'BSD'
__copyright__ = '2020, Chen Wei <[email protected]>'
__version__ = '0.0.3'
import math
from math import sin,cos,pi
import re
import numpy as np
import numexpr as ne
J2000 = 2451545.0
SYNODIC_MONTH = 29.53
MOON_SPEED = 2 * pi / SYNODIC_MONTH
TROPICAL_YEAR = 365.24
SUN_SPEED = 2 * pi / TROPICAL_YEAR
ASEC2RAD = 4.848136811095359935899141e-6
DEG2RAD = 0.017453292519943295
ASEC360 = 1296000.0
PI = pi
TWOPI = 2 * pi
# 77 terms IAU2000B Luni-Solar nutation table from USNO NOVAS c source
#
# Luni-Solar argument multipliers, coefficients, unit 1e-7 arcsec
# L L' F D Om longitude (sin, t*sin, cos), obliquity (cos, t*cos, sin)
IAU2000BNutationTbl = np.array([
[ 0, 0, 0, 0, 1, -172064161, -174666, 33386, 92052331, 9086, 15377 ],
[ 0, 0, 2, -2, 2, -13170906, -1675, -13696, 5730336, -3015, -4587 ],
[ 0, 0, 2, 0, 2, -2276413, -234, 2796, 978459, -485, 1374 ],
[ 0, 0, 0, 0, 2, 2074554, 207, -698, -897492, 470, -291 ],
[ 0, 1, 0, 0, 0, 1475877, -3633, 11817, 73871, -184, -1924 ],
[ 0, 1, 2, -2, 2, -516821, 1226, -524, 224386, -677, -174 ],
[ 1, 0, 0, 0, 0, 711159, 73, -872, -6750, 0, 358 ],
[ 0, 0, 2, 0, 1, -387298, -367, 380, 200728, 18, 318 ],
[ 1, 0, 2, 0, 2, -301461, -36, 816, 129025, -63, 367 ],
[ 0, -1, 2, -2, 2, 215829, -494, 111, -95929, 299, 132 ],
[ 0, 0, 2, -2, 1, 128227, 137, 181, -68982, -9, 39 ],
[ -1, 0, 2, 0, 2, 123457, 11, 19, -53311, 32, -4 ],
[ -1, 0, 0, 2, 0, 156994, 10, -168, -1235, 0, 82 ],
[ 1, 0, 0, 0, 1, 63110, 63, 27, -33228, 0, -9 ],
[ -1, 0, 0, 0, 1, -57976, -63, -189, 31429, 0, -75 ],
[ -1, 0, 2, 2, 2, -59641, -11, 149, 25543, -11, 66 ],
[ 1, 0, 2, 0, 1, -51613, -42, 129, 26366, 0, 78 ],
[ -2, 0, 2, 0, 1, 45893, 50, 31, -24236, -10, 20 ],
[ 0, 0, 0, 2, 0, 63384, 11, -150, -1220, 0, 29 ],
[ 0, 0, 2, 2, 2, -38571, -1, 158, 16452, -11, 68 ],
[ 0, -2, 2, -2, 2, 32481, 0, 0, -13870, 0, 0 ],
[ -2, 0, 0, 2, 0, -47722, 0, -18, 477, 0, -25 ],
[ 2, 0, 2, 0, 2, -31046, -1, 131, 13238, -11, 59 ],
[ 1, 0, 2, -2, 2, 28593, 0, -1, -12338, 10, -3 ],
[ -1, 0, 2, 0, 1, 20441, 21, 10, -10758, 0, -3 ],
[ 2, 0, 0, 0, 0, 29243, 0, -74, -609, 0, 13 ],
[ 0, 0, 2, 0, 0, 25887, 0, -66, -550, 0, 11 ],
[ 0, 1, 0, 0, 1, -14053, -25, 79, 8551, -2, -45 ],
[ -1, 0, 0, 2, 1, 15164, 10, 11, -8001, 0, -1 ],
[ 0, 2, 2, -2, 2, -15794, 72, -16, 6850, -42, -5 ],
[ 0, 0, -2, 2, 0, 21783, 0, 13, -167, 0, 13 ],
[ 1, 0, 0, -2, 1, -12873, -10, -37, 6953, 0, -14 ],
[ 0, -1, 0, 0, 1, -12654, 11, 63, 6415, 0, 26 ],
[ -1, 0, 2, 2, 1, -10204, 0, 25, 5222, 0, 15 ],
[ 0, 2, 0, 0, 0, 16707, -85, -10, 168, -1, 10 ],
[ 1, 0, 2, 2, 2, -7691, 0, 44, 3268, 0, 19 ],
[ -2, 0, 2, 0, 0, -11024, 0, -14, 104, 0, 2 ],
[ 0, 1, 2, 0, 2, 7566, -21, -11, -3250, 0, -5 ],
[ 0, 0, 2, 2, 1, -6637, -11, 25, 3353, 0, 14 ],
[ 0, -1, 2, 0, 2, -7141, 21, 8, 3070, 0, 4 ],
[ 0, 0, 0, 2, 1, -6302, -11, 2, 3272, 0, 4 ],
[ 1, 0, 2, -2, 1, 5800, 10, 2, -3045, 0, -1 ],
[ 2, 0, 2, -2, 2, 6443, 0, -7, -2768, 0, -4 ],
[ -2, 0, 0, 2, 1, -5774, -11, -15, 3041, 0, -5 ],
[ 2, 0, 2, 0, 1, -5350, 0, 21, 2695, 0, 12 ],
[ 0, -1, 2, -2, 1, -4752, -11, -3, 2719, 0, -3 ],
[ 0, 0, 0, -2, 1, -4940, -11, -21, 2720, 0, -9 ],
[ -1, -1, 0, 2, 0, 7350, 0, -8, -51, 0, 4 ],
[ 2, 0, 0, -2, 1, 4065, 0, 6, -2206, 0, 1 ],
[ 1, 0, 0, 2, 0, 6579, 0, -24, -199, 0, 2 ],
[ 0, 1, 2, -2, 1, 3579, 0, 5, -1900, 0, 1 ],
[ 1, -1, 0, 0, 0, 4725, 0, -6, -41, 0, 3 ],
[ -2, 0, 2, 0, 2, -3075, 0, -2, 1313, 0, -1 ],
[ 3, 0, 2, 0, 2, -2904, 0, 15, 1233, 0, 7 ],
[ 0, -1, 0, 2, 0, 4348, 0, -10, -81, 0, 2 ],
[ 1, -1, 2, 0, 2, -2878, 0, 8, 1232, 0, 4 ],
[ 0, 0, 0, 1, 0, -4230, 0, 5, -20, 0, -2 ],
[ -1, -1, 2, 2, 2, -2819, 0, 7, 1207, 0, 3 ],
[ -1, 0, 2, 0, 0, -4056, 0, 5, 40, 0, -2 ],
[ 0, -1, 2, 2, 2, -2647, 0, 11, 1129, 0, 5 ],
[ -2, 0, 0, 0, 1, -2294, 0, -10, 1266, 0, -4 ],
[ 1, 1, 2, 0, 2, 2481, 0, -7, -1062, 0, -3 ],
[ 2, 0, 0, 0, 1, 2179, 0, -2, -1129, 0, -2 ],
[ -1, 1, 0, 1, 0, 3276, 0, 1, -9, 0, 0 ],
[ 1, 1, 0, 0, 0, -3389, 0, 5, 35, 0, -2 ],
[ 1, 0, 2, 0, 0, 3339, 0, -13, -107, 0, 1 ],
[ -1, 0, 2, -2, 1, -1987, 0, -6, 1073, 0, -2 ],
[ 1, 0, 0, 0, 2, -1981, 0, 0, 854, 0, 0 ],
[ -1, 0, 0, 1, 0, 4026, 0, -353, -553, 0, -139 ],
[ 0, 0, 2, 1, 2, 1660, 0, -5, -710, 0, -2 ],
[ -1, 0, 2, 4, 2, -1521, 0, 9, 647, 0, 4 ],
[ -1, 1, 0, 1, 1, 1314, 0, 0, -700, 0, 0 ],
[ 0, -2, 2, -2, 1, -1283, 0, 0, 672, 0, 0 ],
[ 1, 0, 2, 2, 1, -1331, 0, 8, 663, 0, 4 ],
[ -2, 0, 2, 2, 2, 1383, 0, -2, -594, 0, -2 ],
[ -1, 0, 0, 0, 2, 1405, 0, 4, -610, 0, 2 ],
[ 1, 1, 2, -2, 2, 1290, 0, 0, -556, 0, 0 ]
])
# Truncated VSOP87D tables
earth_L0 = np.array([
[ 1.75347045673, 0, 0 ],
[ 0.03341656456, 4.66925680417, 6283.0758499914 ],
[ 0.00034894275, 4.62610241759, 12566.1516999828 ],
[ 0.00003417571, 2.82886579606, 3.523118349 ],
[ 0.00003497056, 2.74411800971, 5753.3848848968 ],
[ 0.00003135896, 3.62767041758, 77713.7714681205 ],
[ 0.00002676218, 4.41808351397, 7860.4193924392 ],
[ 0.00002342687, 6.13516237631, 3930.2096962196 ],
[ 0.00001273166, 2.03709655772, 529.6909650946 ],
[ 0.00001324292, 0.74246356352, 11506.7697697936 ],
[ 0.00000901855, 2.04505443513, 26.2983197998 ],
[ 0.00001199167, 1.10962944315, 1577.3435424478 ],
[ 0.00000857223, 3.50849156957, 398.1490034082 ],
[ 0.00000779786, 1.17882652114, 5223.6939198022 ],
[ 0.0000099025, 5.23268129594, 5884.9268465832 ],
[ 0.00000753141, 2.53339053818, 5507.5532386674 ],
[ 0.00000505264, 4.58292563052, 18849.2275499742 ],
[ 0.00000492379, 4.20506639861, 775.522611324 ],
[ 0.00000356655, 2.91954116867, 0.0673103028 ],
[ 0.00000284125, 1.89869034186, 796.2980068164 ],
[ 0.0000024281, 0.34481140906, 5486.777843175 ],
[ 0.00000317087, 5.84901952218, 11790.6290886588 ],
[ 0.00000271039, 0.31488607649, 10977.078804699 ],
[ 0.0000020616, 4.80646606059, 2544.3144198834 ],
[ 0.00000205385, 1.86947813692, 5573.1428014331 ],
[ 0.00000202261, 2.45767795458, 6069.7767545534 ],
[ 0.00000126184, 1.0830263021, 20.7753954924 ],
[ 0.00000155516, 0.83306073807, 213.299095438 ],
[ 0.00000115132, 0.64544911683, 0.9803210682 ],
[ 0.00000102851, 0.63599846727, 4694.0029547076 ],
[ 0.00000101724, 4.26679821365, 7.1135470008 ],
[ 0.00000099206, 6.20992940258, 2146.1654164752 ],
[ 0.00000132212, 3.41118275555, 2942.4634232916 ],
[ 0.00000097607, 0.6810127227, 155.4203994342 ],
[ 0.00000085128, 1.29870743025, 6275.9623029906 ],
[ 0.00000074651, 1.75508916159, 5088.6288397668 ],
[ 0.00000101895, 0.97569221824, 15720.8387848784 ],
[ 0.00000084711, 3.67080093025, 71430.69561812909 ],
[ 0.00000073547, 4.67926565481, 801.8209311238 ],
[ 0.00000073874, 3.50319443167, 3154.6870848956 ],
[ 0.00000078756, 3.03698313141, 12036.4607348882 ],
[ 0.00000079637, 1.807913307, 17260.1546546904 ],
[ 0.00000085803, 5.98322631256, 161000.6857376741 ],
[ 0.00000056963, 2.78430398043, 6286.5989683404 ],
[ 0.00000061148, 1.81839811024, 7084.8967811152 ],
[ 0.00000069627, 0.83297596966, 9437.762934887 ],
[ 0.00000056116, 4.38694880779, 14143.4952424306 ],
[ 0.00000062449, 3.97763880587, 8827.3902698748 ],
[ 0.00000051145, 0.28306864501, 5856.4776591154 ],
[ 0.00000055577, 3.47006009062, 6279.5527316424 ],
[ 0.00000041036, 5.36817351402, 8429.2412664666 ],
[ 0.00000051605, 1.33282746983, 1748.016413067 ],
[ 0.00000051992, 0.18914945834, 12139.5535091068 ],
[ 0.00000049, 0.48735065033, 1194.4470102246 ],
[ 0.000000392, 6.16832995016, 10447.3878396044 ],
[ 0.00000035566, 1.77597314691, 6812.766815086 ],
[ 0.0000003677, 6.04133859347, 10213.285546211 ],
[ 0.00000036596, 2.56955238628, 1059.3819301892 ],
[ 0.00000033291, 0.59309499459, 17789.845619785 ],
[ 0.00000035954, 1.70876111898, 2352.8661537718 ],
[ 0.00000040938, 2.39850881707, 19651.048481098 ],
[ 0.00000030047, 2.73975123935, 1349.8674096588 ],
[ 0.00000030412, 0.44294464135, 83996.84731811189 ],
[ 0.00000023663, 0.48473567763, 8031.0922630584 ],
[ 0.00000023574, 2.06527720049, 3340.6124266998 ],
[ 0.00000021089, 4.14825464101, 951.7184062506 ],
[ 0.00000024738, 0.21484762138, 3.5904286518 ],
[ 0.00000025352, 3.16470953405, 4690.4798363586 ],
[ 0.0000002282, 5.22197888032, 4705.7323075436 ],
[ 0.00000021419, 1.42563735525, 16730.4636895958 ],
[ 0.00000021891, 5.55594302562, 553.5694028424 ],
[ 0.00000017481, 4.56052900359, 135.0650800354 ],
[ 0.00000019925, 5.22208471269, 12168.0026965746 ],
[ 0.0000001986, 5.77470167653, 6309.3741697912 ],
[ 0.000000203, 0.37133792946, 283.8593188652 ],
[ 0.00000014421, 4.19315332546, 242.728603974 ],
[ 0.00000016225, 5.98837722564, 11769.8536931664 ],
[ 0.00000015077, 4.19567181073, 6256.7775301916 ],
[ 0.00000019124, 3.82219996949, 23581.2581773176 ],
[ 0.00000018888, 5.38626880969, 149854.40013480789 ],
[ 0.00000014346, 3.72355084422, 38.0276726358 ],
[ 0.00000017898, 2.21490735647, 13367.9726311066 ],
[ 0.00000012054, 2.62229588349, 955.5997416086 ],
[ 0.00000011287, 0.17739328092, 4164.311989613 ],
[ 0.00000013971, 4.40138139996, 6681.2248533996 ],
[ 0.00000013621, 1.88934471407, 7632.9432596502 ],
[ 0.00000012503, 1.13052412208, 5.5229243074 ],
[ 0.00000010498, 5.35909518669, 1592.5960136328 ],
[ 0.00000009803, 0.99947478995, 11371.7046897582 ],
[ 0.0000000922, 4.57138609781, 4292.3308329504 ],
[ 0.00000010327, 6.19982566125, 6438.4962494256 ],
[ 0.00000012003, 1.003514567, 632.7837393132 ],
[ 0.00000010827, 0.32734520222, 103.0927742186 ],
[ 0.00000008356, 4.53902685948, 25132.3033999656 ],
[ 0.00000010005, 6.0291496328, 5746.271337896 ],
[ 0.00000008409, 3.29946744189, 7234.794256242 ],
[ 0.00000008006, 5.82145271907, 28.4491874678 ],
[ 0.00000010523, 0.93871805506, 11926.2544136688 ],
[ 0.00000007686, 3.12142363172, 7238.6755916 ],
[ 0.00000009378, 2.62414241032, 5760.4984318976 ],
[ 0.00000008127, 6.11228001785, 4732.0306273434 ],
[ 0.00000009232, 0.48343968736, 522.5774180938 ],
[ 0.00000009802, 5.24413991147, 27511.4678735372 ],
[ 0.00000007871, 0.99590177926, 5643.1785636774 ],
[ 0.00000008123, 6.2705301365, 426.598190876 ],
[ 0.00000009048, 5.33686335897, 6386.16862421 ],
[ 0.0000000862, 4.16538210888, 7058.5984613154 ],
[ 0.00000006297, 4.71724819317, 6836.6452528338 ],
[ 0.00000007575, 3.97382858911, 11499.6562227928 ],
[ 0.00000007756, 2.95729056763, 23013.5395395872 ],
[ 0.00000007314, 0.60652505806, 11513.8833167944 ],
[ 0.00000005955, 2.87641047971, 6283.14316029419 ],
[ 0.00000006534, 5.79072926033, 18073.7049386502 ],
[ 0.00000007188, 3.99831508699, 74.7815985673 ],
[ 0.00000007346, 4.38582365437, 316.3918696566 ],
[ 0.00000005413, 5.39199024641, 419.4846438752 ],
[ 0.00000005127, 2.36062848786, 10973.55568635 ],
[ 0.00000007056, 0.32258441903, 263.0839233728 ],
[ 0.00000006625, 3.66475158672, 17298.1823273262 ],
[ 0.00000006762, 5.91132535899, 90955.5516944961 ],
[ 0.00000004938, 5.73672165674, 9917.6968745098 ],
[ 0.00000005547, 2.45152597661, 12352.8526045448 ],
[ 0.00000005958, 3.32051344676, 6283.0085396886 ],
[ 0.00000004471, 2.06385999536, 7079.3738568078 ],
[ 0.00000006153, 1.45823331144, 233141.31440436149 ],
[ 0.00000004348, 4.4234217548, 5216.5803728014 ],
[ 0.00000006123, 1.07494905258, 19804.8272915828 ],
[ 0.00000004488, 3.6528503715, 206.1855484372 ],
[ 0.0000000402, 0.83995823171, 20.3553193988 ],
[ 0.00000005188, 4.06503864016, 6208.2942514241 ],
[ 0.00000005307, 0.38217636096, 31441.6775697568 ],
[ 0.00000003785, 2.34369213733, 3.881335358 ],
[ 0.00000004497, 3.27230796845, 11015.1064773348 ],
[ 0.00000004132, 0.92128915753, 3738.761430108 ],
[ 0.00000003521, 5.97844807108, 3894.1818295422 ],
[ 0.00000004215, 1.90601120623, 245.8316462294 ],
[ 0.00000003701, 5.03069397926, 536.8045120954 ],
[ 0.00000003865, 1.82634360607, 11856.2186514245 ],
[ 0.00000003652, 1.01838584934, 16200.7727245012 ],
[ 0.0000000339, 0.97785123922, 8635.9420037632 ],
[ 0.00000003737, 2.95380107829, 3128.3887650958 ],
[ 0.00000003507, 3.71291946325, 6290.1893969922 ],
[ 0.00000003086, 3.64646921512, 10.6366653498 ],
[ 0.00000003397, 1.10590684017, 14712.317116458 ],
[ 0.00000003334, 0.83684924911, 6496.3749454294 ],
[ 0.00000002805, 2.58504514144, 14314.1681130498 ],
[ 0.0000000365, 1.08344142571, 88860.05707098669 ],
[ 0.00000003388, 3.20185096055, 5120.6011455836 ],
[ 0.00000003252, 3.47859752062, 6133.5126528568 ],
[ 0.00000002553, 3.94869034189, 1990.745017041 ],
[ 0.0000000352, 2.05559692878, 244287.60000722769 ],
[ 0.00000002565, 1.560717849, 23543.23050468179 ],
[ 0.00000002621, 3.85639359951, 266.6070417218 ],
[ 0.00000002955, 3.39692949667, 9225.539273283 ],
[ 0.00000002876, 6.02635617464, 154717.60988768269 ],
[ 0.00000002395, 1.16131956403, 10984.1923516998 ],
[ 0.00000003161, 1.32798718453, 10873.9860304804 ],
[ 0.00000003163, 5.08946464629, 21228.3920235458 ],
[ 0.00000002361, 4.27212906992, 6040.3472460174 ],
[ 0.0000000303, 1.80209931347, 35371.8872659764 ],
[ 0.00000002343, 3.576898605, 10969.9652576982 ],
[ 0.00000002618, 2.57870156528, 22483.84857449259 ],
[ 0.00000002113, 3.71393780256, 65147.6197681377 ],
[ 0.00000002019, 0.81393923319, 170.6728706192 ],
[ 0.00000002003, 0.38091017375, 6172.869528772 ],
[ 0.00000002506, 3.74379142438, 10575.4066829418 ],
[ 0.00000002381, 0.10581361289, 7.046236698 ],
[ 0.00000001949, 4.86892513469, 36.0278666774 ],
[ 0.00000002074, 4.2279477457, 5650.2921106782 ],
[ 0.00000001924, 5.5946054986, 6282.0955289232 ],
[ 0.00000001949, 1.07002512703, 5230.807466803 ],
[ 0.00000001988, 5.19736046771, 6262.300454499 ],
# 172 terms retained
])
earth_L1 = np.array([
[ 6283.31966747491, 0, 0 ],
[ 0.00206058863, 2.67823455584, 6283.0758499914 ],
[ 0.0000430343, 2.63512650414, 12566.1516999828 ],
[ 0.00000425264, 1.59046980729, 3.523118349 ],
[ 0.00000108977, 2.96618001993, 1577.3435424478 ],
[ 0.00000093478, 2.59212835365, 18849.2275499742 ],
[ 0.00000119261, 5.79557487799, 26.2983197998 ],
[ 0.00000072122, 1.13846158196, 529.6909650946 ],
[ 0.00000067768, 1.87472304791, 398.1490034082 ],
[ 0.00000067327, 4.40918235168, 5507.5532386674 ],
[ 0.00000059027, 2.8879703846, 5223.6939198022 ],
[ 0.00000055976, 2.17471680261, 155.4203994342 ],
[ 0.00000045407, 0.39803079805, 796.2980068164 ],
[ 0.00000036369, 0.46624739835, 775.522611324 ],
[ 0.00000028958, 2.64707383882, 7.1135470008 ],
[ 0.00000019097, 1.84628332577, 5486.777843175 ],
[ 0.00000020844, 5.34138275149, 0.9803210682 ],
[ 0.00000018508, 4.96855124577, 213.299095438 ],
[ 0.00000016233, 0.03216483047, 2544.3144198834 ],
[ 0.00000017293, 2.99116864949, 6275.9623029906 ],
[ 0.00000015832, 1.43049285325, 2146.1654164752 ],
[ 0.00000014615, 1.20532366323, 10977.078804699 ],
[ 0.00000011877, 3.25804815607, 5088.6288397668 ],
[ 0.00000011514, 2.07502418155, 4694.0029547076 ],
[ 0.00000009721, 4.23925472239, 1349.8674096588 ],
[ 0.00000009969, 1.30262991097, 6286.5989683404 ],
[ 0.00000009452, 2.69957062864, 242.728603974 ],
[ 0.00000012461, 2.83432285512, 1748.016413067 ],
[ 0.00000011808, 5.2737979048, 1194.4470102246 ],
[ 0.00000008577, 5.64475868067, 951.7184062506 ],
[ 0.00000010641, 0.76614199202, 553.5694028424 ],
[ 0.00000007576, 5.30062664886, 2352.8661537718 ],
[ 0.00000005834, 1.76649917904, 1059.3819301892 ],
[ 0.00000006385, 2.65033984967, 9437.762934887 ],
[ 0.00000005223, 5.66135767624, 71430.69561812909 ],
[ 0.00000005305, 0.90857521574, 3154.6870848956 ],
[ 0.00000006101, 4.66632584188, 4690.4798363586 ],
[ 0.0000000433, 0.24102555403, 6812.766815086 ],
[ 0.00000005041, 1.42490103709, 6438.4962494256 ],
[ 0.00000004259, 0.77355900599, 10447.3878396044 ],
[ 0.00000005198, 1.85353197345, 801.8209311238 ],
[ 0.00000003744, 2.00119516488, 8031.0922630584 ],
[ 0.00000003558, 2.42901552681, 14143.4952424306 ],
[ 0.00000003372, 3.86210700128, 1592.5960136328 ],
[ 0.00000003374, 0.88776219727, 12036.4607348882 ],
[ 0.00000003175, 3.18785710594, 4705.7323075436 ],
[ 0.00000003221, 0.61599835472, 8429.2412664666 ],
[ 0.00000004132, 5.23992859705, 7084.8967811152 ],
[ 0.0000000297, 6.07026318493, 4292.3308329504 ],
[ 0.000000029, 2.32464208411, 20.3553193988 ],
[ 0.00000003504, 4.79975694359, 6279.5527316424 ],
[ 0.0000000295, 1.43108874817, 5746.271337896 ],
[ 0.00000002697, 4.80368225199, 7234.794256242 ],
[ 0.00000002531, 6.22290682655, 6836.6452528338 ],
[ 0.00000002745, 0.93466065396, 5760.4984318976 ],
[ 0.0000000325, 3.39954640038, 7632.9432596502 ],
[ 0.00000002277, 5.00277837672, 17789.845619785 ],
[ 0.00000002075, 3.95534978634, 10213.285546211 ],
[ 0.00000002061, 2.22411683077, 5856.4776591154 ],
[ 0.00000002252, 5.67166499885, 11499.6562227928 ],
[ 0.00000002148, 5.20184578235, 11513.8833167944 ],
[ 0.00000001886, 0.53198320577, 3340.6124266998 ],
[ 0.00000001875, 4.73511970207, 83996.84731811189 ],
[ 0.0000000206, 2.54987293999, 25132.3033999656 ],
[ 0.00000001794, 1.47435409831, 4164.311989613 ],
[ 0.00000001778, 3.02473091781, 5.5229243074 ],
[ 0.00000002029, 0.90960209983, 6256.7775301916 ],
[ 0.00000002075, 2.26767270157, 522.5774180938 ],
[ 0.00000001772, 3.02622802353, 5753.3848848968 ],
[ 0.00000001569, 6.12410242782, 5216.5803728014 ],
[ 0.0000000159, 4.63713748247, 3.2863574178 ],
[ 0.00000001542, 4.20004448567, 13367.9726311066 ],
[ 0.00000001427, 1.19088061711, 3894.1818295422 ],
[ 0.00000001375, 3.09301252193, 135.0650800354 ],
[ 0.00000001359, 4.24532506641, 426.598190876 ],
[ 0.0000000134, 5.76511818622, 6040.3472460174 ],
[ 0.00000001284, 3.08524663344, 5643.1785636774 ],
[ 0.0000000125, 3.07748157144, 11926.2544136688 ],
[ 0.00000001551, 3.07665451458, 6681.2248533996 ],
[ 0.00000001268, 2.09196018331, 6290.1893969922 ],
[ 0.00000001144, 3.24444699514, 12168.0026965746 ],
[ 0.00000001248, 3.44504937285, 536.8045120954 ],
[ 0.00000001118, 2.31829670425, 16730.4636895958 ],
[ 0.00000001105, 5.31966001019, 23.8784377478 ],
[ 0.00000001051, 3.75015946014, 7860.4193924392 ],
[ 0.00000001025, 2.44688534235, 1990.745017041 ],
[ 0.00000000962, 0.81771017882, 3.881335358 ],
[ 0.0000000091, 0.41727865299, 7079.3738568078 ],
[ 0.00000000883, 5.16833917651, 11790.6290886588 ],
[ 0.00000000957, 4.07673573735, 6127.6554505572 ],
[ 0.0000000111, 3.90096793825, 11506.7697697936 ],
[ 0.00000000802, 3.88778875582, 10973.55568635 ],
[ 0.0000000078, 2.39934293755, 1589.0728952838 ],
[ 0.00000000758, 1.30034364248, 103.0927742186 ],
[ 0.00000000749, 4.962758033, 6496.3749454294 ],
[ 0.00000000765, 3.36312388424, 36.0278666774 ],
[ 0.00000000915, 5.41543742089, 206.1855484372 ],
[ 0.00000000776, 2.57589093871, 11371.7046897582 ],
[ 0.00000000772, 3.98369209464, 955.5997416086 ],
[ 0.00000000749, 5.17890001805, 10969.9652576982 ],
[ 0.00000000806, 0.34218864254, 9917.6968745098 ],
[ 0.00000000728, 5.20962563787, 38.0276726358 ],
[ 0.00000000685, 2.77592961854, 20.7753954924 ],
[ 0.00000000636, 4.28242193632, 28.4491874678 ],
[ 0.00000000608, 5.63278508906, 10984.1923516998 ],
[ 0.00000000704, 5.60738823665, 3738.761430108 ],
[ 0.00000000685, 0.38876148682, 15.252471185 ],
[ 0.00000000601, 0.73489602442, 419.4846438752 ],
[ 0.00000000716, 2.65279791438, 6309.3741697912 ],
[ 0.00000000584, 5.54502568227, 17298.1823273262 ],
[ 0.0000000065, 1.13379656406, 7058.5984613154 ],
[ 0.00000000688, 2.59683891779, 3496.032826134 ],
[ 0.00000000485, 0.44467180946, 12352.8526045448 ],
[ 0.00000000528, 2.74936967681, 3930.2096962196 ],
[ 0.00000000597, 5.27668281777, 10575.4066829418 ],
[ 0.00000000583, 3.1892906781, 4732.0306273434 ],
[ 0.00000000526, 5.01697321546, 5884.9268465832 ],
[ 0.0000000054, 1.29175137075, 640.8776073822 ],
[ 0.00000000473, 5.4995330697, 5230.807466803 ],
[ 0.00000000406, 5.21248452189, 220.4126424388 ],
[ 0.00000000395, 1.87474483222, 16200.7727245012 ],
[ 0.0000000037, 3.84921354713, 18073.7049386502 ],
[ 0.00000000367, 0.88533542778, 6283.14316029419 ],
[ 0.00000000379, 0.37983009325, 10177.2576795336 ],
[ 0.00000000356, 3.84145204913, 11712.9553182308 ],
[ 0.00000000374, 5.01577520608, 7.046236698 ],
[ 0.00000000381, 4.30250406634, 6062.6632075526 ],
[ 0.00000000471, 0.86381834647, 6069.7767545534 ],
[ 0.00000000367, 1.32943839763, 6283.0085396886 ],
[ 0.0000000046, 5.19667219575, 6284.0561710596 ],
[ 0.00000000333, 5.54256205741, 4686.8894077068 ],
[ 0.00000000341, 4.36522989934, 7238.6755916 ],
[ 0.00000000336, 4.00205876835, 3097.88382272579 ],
[ 0.00000000359, 6.22679790284, 245.8316462294 ],
[ 0.00000000307, 2.35299010924, 170.6728706192 ],
[ 0.00000000343, 3.77164927143, 6076.8903015542 ],
[ 0.00000000296, 5.44152227481, 17260.1546546904 ],
[ 0.00000000328, 0.13837875384, 11015.1064773348 ],
[ 0.00000000268, 1.1390455063, 12569.6748183318 ],
[ 0.00000000263, 0.00538633678, 4136.9104335162 ],
[ 0.00000000282, 5.0439983748, 7477.522860216 ],
[ 0.00000000288, 3.13401177517, 12559.038152982 ],
[ 0.00000000259, 0.93882269387, 5642.1982426092 ],
[ 0.00000000292, 1.98420020514, 12132.439962106 ],
[ 0.00000000247, 3.84244798532, 5429.8794682394 ],
[ 0.00000000245, 5.70467521726, 65147.6197681377 ],
[ 0.00000000241, 0.99480969552, 3634.6210245184 ],
[ 0.00000000246, 3.06168069935, 110.2063212194 ],
[ 0.00000000239, 6.11855909114, 11856.2186514245 ],
[ 0.00000000263, 0.66348415419, 21228.3920235458 ],
[ 0.00000000262, 1.51070507866, 12146.6670561076 ],
[ 0.0000000023, 1.75927314884, 9779.1086761254 ],
[ 0.00000000223, 2.00967043606, 6172.869528772 ],
[ 0.00000000246, 1.10411690865, 6282.0955289232 ],
[ 0.00000000221, 3.03945240854, 8635.9420037632 ],
[ 0.00000000214, 4.03840869663, 14314.1681130498 ],
[ 0.00000000236, 5.4691507058, 13916.0191096416 ],
[ 0.00000000224, 4.68408089456, 24072.9214697764 ],
[ 0.00000000212, 2.13695625494, 5849.3641121146 ],
[ 0.00000000207, 3.07724246401, 11.729352836 ],
[ 0.00000000207, 6.10306282747, 23543.23050468179 ],
[ 0.00000000266, 1.00709566823, 2388.8940204492 ],
[ 0.00000000217, 6.27837036335, 17267.26820169119 ],
[ 0.00000000204, 2.34615348695, 266.6070417218 ],
[ 0.00000000195, 5.55015549753, 6133.5126528568 ],
# 165 terms retained
])
earth_L2 = np.array([
[ 0.0005291887, 0, 0 ],
[ 0.00008719837, 1.07209665242, 6283.0758499914 ],
[ 0.00000309125, 0.86728818832, 12566.1516999828 ],
[ 0.00000027339, 0.05297871691, 3.523118349 ],
[ 0.00000016334, 5.18826691036, 26.2983197998 ],
[ 0.00000015752, 3.6845788943, 155.4203994342 ],
[ 0.00000009541, 0.75742297675, 18849.2275499742 ],
[ 0.00000008937, 2.05705419118, 77713.7714681205 ],
[ 0.00000006952, 0.8267330541, 775.522611324 ],
[ 0.00000005064, 4.66284525271, 1577.3435424478 ],
[ 0.00000004061, 1.03057162962, 7.1135470008 ],
[ 0.00000003463, 5.14074632811, 796.2980068164 ],
[ 0.00000003169, 6.05291851171, 5507.5532386674 ],
[ 0.0000000302, 1.19246506441, 242.728603974 ],
[ 0.00000002886, 6.11652627155, 529.6909650946 ],
[ 0.0000000381, 3.4405080349, 5573.1428014331 ],
[ 0.00000002714, 0.30637881025, 398.1490034082 ],
[ 0.00000002371, 4.38118838167, 5223.6939198022 ],
[ 0.00000002538, 2.27992810679, 553.5694028424 ],
[ 0.00000002079, 3.75435330484, 0.9803210682 ],
[ 0.00000001675, 0.90216407959, 951.7184062506 ],
[ 0.00000001534, 5.75900462759, 1349.8674096588 ],
[ 0.00000001224, 2.97328088405, 2146.1654164752 ],
[ 0.00000001449, 4.3641591397, 1748.016413067 ],
[ 0.00000001341, 3.72061130861, 1194.4470102246 ],
[ 0.00000001254, 2.94846826628, 6438.4962494256 ],
[ 0.00000000999, 5.98640014468, 6286.5989683404 ],
[ 0.00000000917, 4.79788687522, 5088.6288397668 ],
[ 0.00000000828, 3.31321076572, 213.299095438 ],
[ 0.00000001103, 1.27104454479, 161000.6857376741 ],
[ 0.00000000762, 3.41582762988, 5486.777843175 ],
[ 0.00000001044, 0.60409577691, 3154.6870848956 ],
[ 0.00000000887, 5.23465144638, 7084.8967811152 ],
[ 0.00000000645, 1.60096192515, 2544.3144198834 ],
[ 0.00000000681, 3.43155669169, 4694.0029547076 ],
[ 0.00000000605, 2.47806340546, 10977.078804699 ],
[ 0.00000000706, 6.19393222575, 4690.4798363586 ],
[ 0.00000000643, 1.98042503148, 801.8209311238 ],
[ 0.00000000502, 1.44394375363, 6836.6452528338 ],
[ 0.0000000049, 2.34129524194, 1592.5960136328 ],
[ 0.00000000458, 1.30876448575, 4292.3308329504 ],
[ 0.00000000431, 0.03526421494, 7234.794256242 ],
[ 0.00000000379, 3.17030522615, 6309.3741697912 ],
[ 0.00000000348, 0.99049550009, 6040.3472460174 ],
[ 0.00000000386, 1.57019797263, 71430.69561812909 ],
[ 0.00000000347, 0.67013291338, 1059.3819301892 ],
[ 0.00000000458, 3.81499443681, 149854.40013480789 ],
[ 0.00000000302, 1.91760044838, 10447.3878396044 ],
[ 0.00000000307, 3.55343347416, 8031.0922630584 ],
[ 0.00000000395, 4.93701776616, 7632.9432596502 ],
[ 0.00000000314, 3.18093696547, 2352.8661537718 ],
[ 0.00000000282, 4.41936437052, 9437.762934887 ],
[ 0.00000000276, 2.71314254553, 3894.1818295422 ],
[ 0.00000000298, 2.5203747421, 6127.6554505572 ],
[ 0.0000000023, 1.37790215549, 4705.7323075436 ],
[ 0.00000000252, 0.55330133471, 6279.5527316424 ],
[ 0.00000000255, 5.26570187369, 6812.766815086 ],
[ 0.00000000275, 0.67264264272, 25132.3033999656 ],
[ 0.00000000178, 0.92820785174, 1990.745017041 ],
[ 0.00000000221, 0.63897368842, 6256.7775301916 ],
[ 0.00000000155, 0.77319790838, 14143.4952424306 ],
[ 0.0000000015, 2.40470465561, 426.598190876 ],
[ 0.00000000196, 6.06877865012, 640.8776073822 ],
[ 0.00000000137, 2.21679460145, 8429.2412664666 ],
[ 0.00000000127, 3.26094223174, 17789.845619785 ],
[ 0.00000000128, 5.47237279946, 12036.4607348882 ],
[ 0.00000000122, 2.16291082757, 10213.285546211 ],
[ 0.00000000118, 0.45789822268, 7058.5984613154 ],
[ 0.00000000141, 2.34932647403, 11506.7697697936 ],
[ 0.000000001, 0.85621569847, 6290.1893969922 ],
[ 0.00000000092, 5.10587476002, 7079.3738568078 ],
[ 0.00000000126, 2.65428307012, 88860.05707098669 ],
[ 0.00000000106, 5.85646710022, 7860.4193924392 ],
[ 0.00000000084, 3.57457554262, 16730.4636895958 ],
[ 0.00000000089, 4.21433259618, 83996.84731811189 ],
[ 0.00000000097, 5.57938280855, 13367.9726311066 ],
[ 0.00000000102, 2.05853060226, 87.30820453981 ],
[ 0.0000000008, 4.73792651816, 11926.2544136688 ],
[ 0.0000000008, 5.41418965044, 10973.55568635 ],
[ 0.00000000106, 4.10978997399, 3496.032826134 ],
[ 0.00000000102, 3.62650006043, 244287.60000722769 ],
[ 0.00000000075, 4.89483161769, 5643.1785636774 ],
[ 0.00000000087, 0.42863750683, 11015.1064773348 ],
[ 0.00000000069, 1.8890876072, 10177.2576795336 ],
[ 0.00000000089, 1.35567273119, 6681.2248533996 ],
[ 0.00000000066, 0.99455837265, 6525.8044539654 ],
[ 0.00000000067, 5.5124099707, 3097.88382272579 ],
[ 0.00000000076, 2.72016814799, 4164.311989613 ],
[ 0.00000000063, 1.4434990254, 9917.6968745098 ],
[ 0.00000000078, 3.51469733747, 11856.2186514245 ],
[ 0.00000000085, 0.50956043858, 10575.4066829418 ],
[ 0.00000000067, 3.62043033405, 16496.3613962024 ],
[ 0.00000000055, 5.24637517308, 3340.6124266998 ],
# 93 terms retained
])
earth_L3 = np.array([
[ 0.00000289226, 5.84384198723, 6283.0758499914 ],
[ 0.00000034955, 0, 0 ],
[ 0.00000016819, 5.48766912348, 12566.1516999828 ],
[ 0.00000002962, 5.19577265202, 155.4203994342 ],
[ 0.00000001288, 4.72200252235, 3.523118349 ],
[ 0.00000000635, 5.96925937141, 242.728603974 ],
[ 0.00000000714, 5.30045809128, 18849.2275499742 ],
[ 0.00000000402, 3.78682982419, 553.5694028424 ],
# 8 terms retained
])
earth_L4 = np.array([
[ 0.00000114084, 3.14159265359, 0 ],
[ 0.00000007717, 4.13446589358, 6283.0758499914 ],
[ 0.00000000765, 3.83803776214, 12566.1516999828 ],
[ 0.0000000042, 0.41925861858, 155.4203994342 ],
# 4 terms retained
])
earth_L5 = np.array([
[ 0.00000000878, 3.14159265359, 0 ],
[ 0.00000000172, 2.7657906951, 6283.0758499914 ],
[ 0.0000000005, 2.01353298182, 155.4203994342 ],
[ 0.00000000028, 2.21496423926, 12566.1516999828 ],
# 4 terms retained
])
earth_B0 = np.array([
[ 0.0000027962, 3.19870156017, 84334.66158130829 ],
[ 0.00000101643, 5.42248619256, 5507.5532386674 ],
[ 0.00000080445, 3.88013204458, 5223.6939198022 ],
[ 0.00000043806, 3.70444689758, 2352.8661537718 ],
[ 0.00000031933, 4.00026369781, 1577.3435424478 ],
[ 0.00000022724, 3.9847383156, 1047.7473117547 ],
[ 0.00000016392, 3.56456119782, 5856.4776591154 ],
[ 0.00000018141, 4.98367470263, 6283.0758499914 ],
[ 0.00000014443, 3.70275614914, 9437.762934887 ],
[ 0.00000014304, 3.41117857525, 10213.285546211 ],
[ 0.00000011246, 4.8282069053, 14143.4952424306 ],
[ 0.000000109, 2.08574562327, 6812.766815086 ],
[ 0.00000009714, 3.47303947752, 4694.0029547076 ],
[ 0.00000010367, 4.05663927946, 71092.88135493269 ],
[ 0.00000008775, 4.44016515669, 5753.3848848968 ],
[ 0.00000008366, 4.9925151218, 7084.8967811152 ],
[ 0.00000006921, 4.32559054073, 6275.9623029906 ],
[ 0.00000009145, 1.14182646613, 6620.8901131878 ],
[ 0.00000007194, 3.60193205752, 529.6909650946 ],
[ 0.00000007698, 5.55425745881, 167621.57585086189 ],
# 20 terms retained
])
earth_B1 = np.array([
[ 0.0000000903, 3.8972906189, 5507.5532386674 ],
[ 0.00000006177, 1.73038850355, 5223.6939198022 ],
[ 0.000000038, 5.24404145734, 2352.8661537718 ],
[ 0.00000002834, 2.4734503745, 1577.3435424478 ],
[ 0.00000001817, 0.41874743765, 6283.0758499914 ],
[ 0.00000001499, 1.83320979291, 5856.4776591154 ],
[ 0.00000001466, 5.69401926017, 5753.3848848968 ],
[ 0.00000001301, 2.18890066314, 9437.762934887 ],
[ 0.00000001233, 4.95222451476, 10213.285546211 ],
[ 0.00000001021, 0.12866660208, 7860.4193924392 ],
[ 0.00000000982, 0.09005453285, 14143.4952424306 ],
[ 0.00000000865, 1.73949953555, 3930.2096962196 ],
# 12 terms retained
])
earth_B2 = np.array([
[ 0.00000001662, 1.62703209173, 84334.66158130829 ],
[ 0.00000000492, 2.41382223971, 1047.7473117547 ],
[ 0.00000000344, 2.24353004539, 5507.5532386674 ],
[ 0.00000000258, 6.00906896311, 5223.6939198022 ],
# 4 terms retained
])
earth_B3 = np.array([
[ 0, 0, 0 ],
# 0 terms retained
])
earth_B4 = np.array([
[ 0, 0, 0 ],
# 0 terms retained
])
earth_R0 = np.array([
[ 1.00013988799, 0, 0 ],
[ 0.01670699626, 3.09846350771, 6283.0758499914 ],
[ 0.00013956023, 3.0552460962, 12566.1516999828 ],
[ 0.0000308372, 5.19846674381, 77713.7714681205 ],
[ 0.00001628461, 1.17387749012, 5753.3848848968 ],
[ 0.00001575568, 2.84685245825, 7860.4193924392 ],
[ 0.00000924799, 5.45292234084, 11506.7697697936 ],
[ 0.00000542444, 4.56409149777, 3930.2096962196 ],
[ 0.0000047211, 3.66100022149, 5884.9268465832 ],
[ 0.0000032878, 5.89983646482, 5223.6939198022 ],
[ 0.00000345983, 0.96368617687, 5507.5532386674 ],
[ 0.00000306784, 0.29867139512, 5573.1428014331 ],
[ 0.00000174844, 3.01193636534, 18849.2275499742 ],
[ 0.00000243189, 4.27349536153, 11790.6290886588 ],
[ 0.00000211829, 5.84714540314, 1577.3435424478 ],
[ 0.00000185752, 5.02194447178, 10977.078804699 ],
[ 0.00000109835, 5.05510636285, 5486.777843175 ],
[ 0.00000098316, 0.88681311277, 6069.7767545534 ],
[ 0.00000086499, 5.68959778254, 15720.8387848784 ],
[ 0.00000085825, 1.27083733351, 161000.6857376741 ],
[ 0.00000062916, 0.92177108832, 529.6909650946 ],
[ 0.00000057056, 2.01374292014, 83996.84731811189 ],
[ 0.00000064903, 0.27250613787, 17260.1546546904 ],
[ 0.00000049384, 3.24501240359, 2544.3144198834 ],
[ 0.00000055736, 5.24159798933, 71430.69561812909 ],
[ 0.00000042515, 6.01110242003, 6275.9623029906 ],
[ 0.00000046963, 2.57805070386, 775.522611324 ],
[ 0.00000038968, 5.36071738169, 4694.0029547076 ],
[ 0.00000044661, 5.53715807302, 9437.762934887 ],
[ 0.0000003566, 1.67468058995, 12036.4607348882 ],
[ 0.00000031921, 0.18368229781, 5088.6288397668 ],
[ 0.00000031846, 1.77775642085, 398.1490034082 ],
[ 0.00000033193, 0.24370300098, 7084.8967811152 ],
[ 0.00000038245, 2.39255343974, 8827.3902698748 ],
[ 0.00000028464, 1.21344868176, 6286.5989683404 ],
[ 0.0000003749, 0.82952922332, 19651.048481098 ],
[ 0.00000036957, 4.90107591914, 12139.5535091068 ],
[ 0.00000034537, 1.84270693282, 2942.4634232916 ],
[ 0.00000026275, 4.58896850401, 10447.3878396044 ],
[ 0.00000024596, 3.78660875483, 8429.2412664666 ],
[ 0.00000023587, 0.26866117066, 796.2980068164 ],
[ 0.00000027793, 1.89934330904, 6279.5527316424 ],
[ 0.00000023927, 4.99598548138, 5856.4776591154 ],
[ 0.00000020349, 4.65267995431, 2146.1654164752 ],
[ 0.00000023287, 2.80783650928, 14143.4952424306 ],
[ 0.00000022103, 1.95004702988, 3154.6870848956 ],
[ 0.00000019506, 5.38227371393, 2352.8661537718 ],
[ 0.00000017958, 0.19871379385, 6812.766815086 ],
[ 0.00000017174, 4.43315560735, 10213.285546211 ],
[ 0.0000001619, 5.23160507859, 17789.845619785 ],
[ 0.00000017314, 6.15200787916, 16730.4636895958 ],
[ 0.00000013814, 5.18962074032, 8031.0922630584 ],
[ 0.00000018833, 0.67306674027, 149854.40013480789 ],
[ 0.00000018331, 2.25348733734, 23581.2581773176 ],
[ 0.00000013641, 3.68516118804, 4705.7323075436 ],
[ 0.00000013139, 0.65289581324, 13367.9726311066 ],
[ 0.00000010414, 4.33285688538, 11769.8536931664 ],
[ 0.00000009978, 4.20126336355, 6309.3741697912 ],
[ 0.00000010169, 1.59390681369, 4690.4798363586 ],
[ 0.00000007564, 2.6256059739, 6256.7775301916 ],
[ 0.00000009661, 3.6758679122, 27511.4678735372 ],
[ 0.00000006743, 0.56270332741, 3340.6124266998 ],
[ 0.00000008743, 6.06359123461, 1748.016413067 ],
[ 0.00000007786, 3.67371235637, 12168.0026965746 ],
[ 0.00000006633, 5.66149277792, 11371.7046897582 ],
[ 0.00000007712, 0.31242577789, 7632.9432596502 ],
[ 0.00000006592, 3.13576266188, 801.8209311238 ],
[ 0.0000000746, 5.64757188143, 11926.2544136688 ],
[ 0.00000006933, 2.923845864, 6681.2248533996 ],
[ 0.00000006802, 1.4232980642, 23013.5395395872 ],
[ 0.00000006115, 5.13393615454, 1194.4470102246 ],
[ 0.00000006477, 2.64986648492, 19804.8272915828 ],
# 72 terms retained
])
earth_R1 = np.array([
[ 0.00103018608, 1.10748969588, 6283.0758499914 ],
[ 0.00001721238, 1.06442301418, 12566.1516999828 ],
[ 0.00000702215, 3.14159265359, 0 ],
[ 0.00000032346, 1.02169059149, 18849.2275499742 ],
[ 0.00000030799, 2.84353804832, 5507.5532386674 ],
[ 0.00000024971, 1.31906709482, 5223.6939198022 ],
[ 0.00000018485, 1.42429748614, 1577.3435424478 ],
[ 0.00000010078, 5.91378194648, 10977.078804699 ],
[ 0.00000008634, 0.27146150602, 5486.777843175 ],
[ 0.00000008654, 1.42046854427, 6275.9623029906 ],
# 10 terms retained
])
earth_R2 = np.array([
[ 0.00004359385, 5.78455133738, 6283.0758499914 ],
[ 0.00000123633, 5.57934722157, 12566.1516999828 ],
[ 0.00000012341, 3.14159265359, 0 ],
[ 0.00000008792, 3.62777733395, 77713.7714681205 ],
[ 0.00000005689, 1.86958905084, 5573.1428014331 ],
[ 0.00000003301, 5.47027913302, 18849.2275499742 ],
# 6 terms retained
])
earth_R3 = np.array([
[ 0.00000144595, 4.27319435148, 6283.0758499914 ],
[ 0.00000006729, 3.91697608662, 12566.1516999828 ],
# 2 terms retained
])
earth_R4 = np.array([
[ 0.00000003858, 2.56384387339, 6283.0758499914 ],
# 1 terms retained
])
earth_R5 = np.array([
[ 0, 0, 0 ],
# 0 terms retained
])
# table for LEA-406 moon solution. Those terms are linear combination
# of integer multipliers of 14 variables (Arg_j_, j=1,14):
# Delaunay variables l, l', F, D;
# mean longitude of the ascending node of the Moon {Omega};
# mean longitudes of eight major planets {lambda}_pl_;
# and the general precession in longitude p_A_.
# terms of 3rd-degree and 4th-degree are ignored
# in arcsec
# average error Moon = 0.73", max 1.5"
M_ARG = np.array([
# 226 terms
[ 485868.249036, 1717915923.21779990, 31.87920 ],
[ 1658653.158348, 1488007279.20020032, -44.62040 ],
[ 2144521.407384, 3205923202.41800022, -12.74120 ],
[ 971736.498072, 3435831846.43559980, 63.75840 ],
[ 1287104.793048, 129596581.04809999, -0.55320 ],
[ 671559.052464, 3479054525.69560003, -25.50240 ],
[ 1172784.909312, -229908644.01759958, -76.49960 ],
[ 371548.365300, 1358410698.15210032, -44.06720 ],
[ 2630389.656420, 4923839125.63580036, 19.13800 ],
[ 857416.614336, 3076326621.36990023, -12.18800 ],
[ 801236.544012, -1588319342.16969991, -32.43240 ],
[ 1072260.703692, 1602961601.20900011, -6.37060 ],
[ 1772973.042084, 1847512504.26589990, 31.32600 ],
[ 1472962.354920, -273131323.27759981, 12.76120 ],
[ 0.000000, 0.00000000, 0.00000 ],
[ 1157427.301500, 5196970448.91339970, 6.37680 ],
[ -185690.803428, -1761138602.47780013, 57.38160 ],
[ 3803174.565732, 4693930481.61820030, -57.36160 ],
[ 1457604.747108, 5153747769.65339947, 95.63760 ],
[ 3317306.316696, 2976014558.40040064, -89.24080 ],
[ 2945757.951396, 1617603860.24830031, -45.17360 ],
[ 3431626.200432, 3335519783.46610022, -13.29440 ],
[ 586392.454656, -114954322.00879979, -38.24980 ],
[ 2359365.496740, 1732558182.25710011, -6.92380 ],
[ 1343284.863372, 4794242544.58769989, 19.69120 ],
[ 3116257.905456, 6641755048.85359955, 51.01720 ],
[ 2746972.885608, 477658.07790603, -67.34420 ],
[ 4289042.814768, 6411846404.83600044, -25.48240 ],
[ 686916.660276, -1947824567.23539925, -108.37880 ],
[ 315368.294976, -3306235265.38749981, -64.31160 ],
[ 2330212.210812, 4967061804.89580059, -70.12280 ],
[ -114319.883736, -359505225.06569958, -75.94640 ],
[ 1558128.952728, 3320877524.42679977, 25.50860 ],
[ -429688.178712, 2946730040.32180023, -11.63480 ],
[ 2258841.291120, 3565428427.48369980, 63.20520 ],
[ 2574209.586096, 259193162.09619999, -1.10640 ],
[ -915556.427748, 1228814117.10400033, -43.51400 ],
[ 450160.398036, -6962890.54310000, 7.47222 ],
[ 1958830.603956, 1444784599.94020033, 44.64040 ],
[ 2816080.459848, 6684977728.11359978, -38.24360 ],
[ 2516069.772684, 4564333900.57010078, -56.80840 ],
[ 1643295.550536, 6914886372.13119984, 38.25600 ],
[ 2730913.862040, 3090968880.40920067, -50.99100 ],
[ 3917494.449468, 5053435706.68389988, 18.58480 ],
[ 2030201.523648, 2846417977.35230112, -88.68760 ],
[ 2088341.337060, -1458722761.12159991, -32.98560 ],
[ 4232862.744444, 1747200441.29640031, -45.72680 ],
[ 2459889.702360, -100312062.96949959, -77.05280 ],
[ 185857.561872, -402727904.32569981, 13.31440 ],
[ 4774911.063804, 8129762328.05380058, 6.39680 ],
[ 1943472.996144, 6871663692.87119961, 127.51680 ],
[ 3001938.021720, 6282249823.78790092, -24.92920 ],
[ 100524.205620, -1832870245.22659969, -70.12900 ],
[ 2760067.147968, -143534742.22949982, 12.20800 ],
[ 300177.445608, -43222679.26000023, 89.26080 ],
[ 2845233.745776, 3450474105.47490025, 24.95540 ],
[ 2245045.613004, 1373052957.19140100, -82.87020 ],
[ 2831438.067660, 1258098635.18260098, -121.12000 ],
[ 1829153.112408, 6512158467.80550003, 51.57040 ],
[ 3060077.835132, 1977109085.31399989, 30.77280 ],
[ 2134680.712596, 1725351443.01107621, -44.04921 ],
[ 1873497.247704, 14642259.03930020, -38.80300 ],
[ 3602126.154492, 8359670972.07139969, 82.89640 ],
[ 3301948.708884, 8402893651.33139992, -6.36440 ],
[ 201048.411240, -3665740490.45319939, -140.25800 ],
[ 293448.038472, 81066394.15011901, 0.02638 ],
[ 1643162.503716, 1717438685.61177826, -210.42628 ],
[ 56180.070324, 4664645963.53960037, 20.24440 ],
[ 3232841.134644, 1718393581.29570580, -35.46500 ],
[ -170499.954060, -5024151188.60529900, -96.19080 ],
[ 2538997.273764, 1731206461.65055728, -44.54126 ],
[ 238013.777124, 118672081.90543799, 0.28560 ],
[ 5090279.358780, 4823527062.66629982, -57.91480 ],
[ 2043997.201764, 5038793447.64459991, 57.38780 ],
[ 400701.651228, -1876092924.48659992, 19.13180 ],
[ 5461827.724080, 6181937760.81840134, -101.98200 ],
[ 501225.856848, -3708963169.71319962, -50.99720 ],
[ -214844.089356, 1473365020.16090012, -5.81740 ],
[ 2744709.540156, 5283344350.70149994, 95.08440 ],
[ 1844343.961776, 3249145881.67800045, -102.00200 ],
[ 936028.647072, 1710953032.67469978, 39.35142 ],
[ -35707.851000, -1724878813.76090002, -24.40698 ],
[ -600188.132772, -2077421148.28349924, -107.82560 ],
[ 2444698.852992, 3162700523.15799952, 76.51960 ],
[ 3963148.815276, 1714428507.27902675, -198.01200 ],
[ 1043107.417764, 4837465223.84770012, -69.56960 ],
[ 1343118.104928, 6958109051.39120007, -51.00480 ],
[ 1958663.845512, 3608651106.74370003, -26.05560 ],
[ 3216782.111076, 4808884803.62700081, -19.11180 ],
[ 5947695.973116, 7899853684.03620148, -70.10280 ],
[ 1528975.666800, 6555381147.06550026, -37.69040 ],
[ 1121719.450500, 3472091635.15250015, -18.03018 ],
[ 671725.810908, 1315188018.89209986, 45.19360 ],
[ 4604411.109744, 3105611139.44850016, -89.79400 ],
[ -9960733.695600, 135571.46521378, 63.51699 ],
[ 1387628.998668, -1703273664.17849970, -70.68220 ],
[ 26423.255340, -32537000.00799108, 44.93644 ],
[ -1716792.971760, 2817133459.27370024, -11.08160 ],
[ 2129163.799572, 8632802295.34899902, 70.13520 ],
[ 1578859.855344, 8210672.20779327, -214.97146 ],
[ 1228964.979636, 4434737319.52200031, -56.25520 ],
[ 2287389.559392, 162132438.11736214, -200.33773 ],
[ 129677.491548, -5067373867.86530018, -6.93000 ],
[ 3131615.513268, 1214875955.92260027, -31.85920 ],
[ -1401424.676784, -489101806.11379957, -75.39320 ],
[ 4975959.475044, 4464021837.60060215, -133.86120 ],
[ 4403362.698504, 6771351629.90170002, 50.46400 ],
[ 5576147.607816, 6541442985.88409996, -26.03560 ],
[ 3487806.270756, 8000165747.00570107, 6.95000 ],
[ 4018018.655088, 3220565461.45730019, -51.54420 ],
[ 3477280.566240, -3487415.93877248, -229.89120 ],
[ 2444532.094548, 5326567029.96150017, 5.82360 ],
[ 1743819.756156, 5082016126.90460014, -31.87300 ],
[ 2545223.058612, 1329830277.93140078, 6.39060 ],
[ 3746994.495408, 29284518.07860041, -77.60600 ],
[ 1648812.463560, 7435519.79327631, -75.92841 ],
[ -2202661.220796, 1099217536.05590034, -42.96080 ],
[ 6176636.963928, 606718.56467720, 146.34632 ],
[ 1443809.068992, 2961372299.36110115, -50.43780 ],
[ 5260779.312840, 9847678251.27160072, 38.27600 ],
[ 1420639.381224, 1369335197.29476237, -44.90600 ],
[ 4474733.618196, 8172985007.31380081, -82.86400 ],
[ 5299552.000908, 121384894.43375297, 62.45638 ],
[ 1602473.088024, -3176638684.33939981, -64.86480 ],
[ 476027.554248, 237344163.81087598, 0.57119 ],
[ 4718730.993480, 3465116364.51420021, -13.84760 ],
[ 9840.694788, 1480571759.40692401, 31.30801 ],
[ 987094.105884, -1991047246.49539971, -19.11800 ],
[ 1974021.453324, -1818227986.18729925, -108.93200 ],
[ -2128477.768848, 113602752.48178008, 40.50488 ],
[ 3988865.369160, 6455069084.09600067, -114.74320 ],
[ 1906507.630260, 3087251120.51256227, -13.02680 ],
[ -4107087.132120, 107747819.74584675, 210.09281 ],
[ 863813.842884, 1487527316.94823694, -132.65705 ],
[ 628736.401044, -1325874841.08283782, -155.71733 ],
[ 602451.478224, -3205445544.34009504, -54.60300 ],
[ 2939360.722848, 3206403164.66996431, 75.29545 ],
[ 743096.730600, 2716821396.30420065, -88.13440 ],
[ -2587922.762544, -1636850170.74401093, 53.56212 ],
[ 1714833.228672, 6152653242.73980045, -24.37600 ],
[ 2453492.473812, 1488487241.45216417, 43.41625 ],
[ 4503886.904124, 4938481384.67510033, -19.66500 ],
[ 247854.471912, 1599243841.31236196, 31.59360 ],
[ -700712.338392, -244550903.05689979, -37.69660 ],
[ -41775.577452, -1650139296.84567857, -64.69155 ],
[ 142868.152008, -3043790764.30063820, -187.59653 ],
[ 824406.231780, 3722788.71663815, -36.85218 ],
[ 3760707.671856, 1406941526.72641158, -130.06172 ],
[ -385344.043416, -3550786168.44439936, -102.00820 ],
[ -1616186.264472, 1798981675.69158912, 117.32052 ],
[ 6433564.222152, 9617769607.25400162, -38.22360 ],
[ -394475.866380, 1474716740.76744270, 31.80006 ],
[ 3787816.957920, 10120809574.54920006, 25.51480 ],
[ 271024.159680, 3191280943.37870026, 26.06180 ],
[ -3915532.327356, -1718055041.34457111, -247.79376 ],
[ -2943795.829284, 1717776805.09102821, -184.03536 ],
[ 4588422.072480, 1333648.70949970, 213.90556 ],
[ -327467.049516, -1015133.54049925, 95.02473 ],
[ 2429341.245180, 8589579616.08899975, 159.39600 ],
[ 723882.026160, 1836588005.12323785, 32.16480 ],
[ 3861314.379144, 388789743.14429998, -1.65960 ],
[ 1544333.274612, 1128502054.13450146, -120.56680 ],
[ 4246575.920892, 3124857449.94421101, -98.18252 ],
[ 4168107.377892, 3198959150.64730024, -5.80178 ],
[ 1818627.407892, -1491494695.13897252, -185.27080 ],
[ 2315021.361444, 8230074391.02330017, 83.44960 ],
[ 3331101.994812, 5168390028.69269943, 56.83460 ],
[ 15357.607812, -5426879092.93099976, -82.87640 ],
[ 10479231.070128, -16418126.94190380, 74.77548 ],
[ 1828986.353964, 8676024974.60899925, -19.12560 ],
[ 4174722.931032, 6052341179.77030182, -101.42880 ],
[ 2577500.752860, -1199777.09773506, -217.20541 ],
[ 1182625.604100, 1250663115.38932443, -45.19159 ],
[ 123665.467464, 10925660.37799100, -0.30604 ],
[ 4960601.867232, 9890900930.53160095, -50.98480 ],
[ 3245935.397004, 1574381180.98829985, 44.08720 ],
[ 1668493.853136, 2968579038.60712433, -13.31239 ],
[ 957940.819956, 1243456376.14330149, -82.31700 ],
[ 6461919.320184, 15996023.02879967, 179.55064 ],
[ 1101413.989620, -1631542021.42970014, 56.82840 ],
[ -377031.566700, -1812274039.13709879, -19.73467 ],
[ 1472795.596476, 1890735183.52590013, -57.93480 ],
[ -857249.855892, -5240193128.17339993, 82.88400 ],
[ 4087994.403528, 10077586895.28919983, 114.77560 ],
[ 11070.933228, -1715208268.04166102, 26.29335 ],
[ 801403.302456, -3752185848.97319984, 38.26360 ],
[ 615545.740584, -3349457944.64750004, 24.94920 ],
[ 2014843.915836, 8273297070.28330040, -5.81120 ],
[ -2546147.185092, 13289126.10166723, 118.25367 ],
[ 4660591.180068, 7770257102.98810196, -69.54960 ],
[ 2620548.961632, 3443267366.22887611, -12.17001 ],
[ -284819.837796, -5383656413.67099953, -172.13720 ],
[ 3008350.635300, -1716566657.86483884, -189.51513 ],
[ 3617317.003860, 5096658385.94390011, -70.67600 ],
[ 4103352.011340, 4650707802.35820007, 31.89920 ],
[ 120935.436876, 3212887254.18870020, -19.68062 ],
[ 4103185.252896, 6814574309.16170025, -38.79680 ],
[ 3545946.084168, 3695025008.53179979, 62.65200 ],
[ 1929677.318028, 4679288222.57890129, -18.55860 ],
[ 542048.319360, 6382561886.75740051, 52.12360 ],
[ 3682239.128856, 1481043227.42950010, -37.68098 ],
[ 1092991.606308, -1709705251.01000595, -246.85066 ],
[ 2064728.104380, 1726126595.42559338, -183.09226 ],
[ -1101247.231176, -532324485.37379980, 13.86760 ],
[ 1310274.480816, 1721633683.11443806, -6.08500 ],
[ 1685076.413688, 1455470279.19220901, 0.31604 ],
[ -300010.687164, -2120643827.54349971, -18.56480 ],
[ -3664055.126520, 2720871.13874409, -227.53801 ],
[ 512291.504376, 1685378923.20980859, 76.81564 ],
[ 3640898.842560, -1366622384.76644802, 107.07678 ],
[ 417145.879260, -1477083922.99626732, -111.06649 ],
[ 14236864.720236, -3208579.51268373, -163.76979 ],
[ 4389567.020388, 4578976159.60939980, -95.61140 ],
[ 786045.694644, 1674693243.95779943, 121.14000 ],
[ 150612.259788, 1555781180.92637992, 76.83608 ],
[ 459444.993696, 1750452923.22579098, -13.05724 ],
[ 176897.182608, 3435351884.18363619, -24.27825 ],
[ -3529183.602852, -2591705.71692875, -226.73272 ],
[ 169814.944332, -1498930214.93224931, -109.34239 ],
[ -356190.757488, -6785289791.08309937, -38.80920 ],