source: Sophya/trunk/SophyaExt/XephemAstroLib/libration.c@ 3111

Last change on this file since 3111 was 3111, checked in by cmv, 19 years ago

mise en conformite xephem 3.7.2 cmv 22/11/2006

File size: 43.3 KB
Line 
1/* This file contains code to calculate the libration in Lunar lat and long.
2 * It is based entirely on code supplied to me 2 Oct 1996 by Stephen L. Moshier,
3 * <moshier@world.std.com>, which implements a trigonometric expansion to
4 * approximate the librations according to JPL DE403. The following doc file
5 * was also supplied therewith:
6
7This program calculates a trigonometric series adjusted for a best fit
8to the lunar librations from the Jet Propulsion Laboratory's DE403
9ephemeris.
10
11lblon403.c and lblat403.c are series for the selenographic longitude
12and latitude of the earth. The longitude series matches DE403
13with a maximum discrepancy of 2.6" (0.4" rms). The latitude has a
14maximum discrepancy of 1.9" (0.2" rms). The two series are valid in
15the Julian year interval 1600 to 2200.
16
17In both Eckhardt and DE403 the moon's principal moment of inertia axes
18form the lunar body coordinate system. The estimated geographic
19locations of these axes vary as measurements and theories gradually
20become more refined. There is a significant difference between
21Eckhardt and DE403 in the constant term of the longitude. Almanac and
22cartography coordinates drop the constant term (which is -64" for
23DE403). That practice gives librations relative to the mean
24selenographic longitude of the earth, for which the discrepancy from
25one theory to the next is small.
26
27Steve Moshier
28October, 1996
29
30 * Any errors in adapting this code to xephem are strictly my own.
31 * Elwood Downey.
32*/
33
34#include <stdio.h>
35#include <math.h>
36
37#include "astro.h"
38
39#define CHAR short
40
41
42
43/* plantbl.h */
44
45struct plantbl {
46 /* char max_harmonic[9]; */
47 char max_harmonic[14];
48 char max_power_of_t;
49 CHAR *arg_tbl;
50 int *lon_tbl;
51 int *lat_tbl;
52 int *rad_tbl;
53 double distance;
54 double timescale;
55 double trunclvl;
56};
57
58
59
60/* libra403.c */
61
62static double JD2000 = 2451545.0;
63/* Conversion factors between degrees and radians */
64static double STR = 4.8481368110953599359e-6; /* radians per arc second */
65
66static double ss[14][24];
67static double cc[14][24];
68
69/* Reduce arc seconds modulo 360 degrees,
70 answer in arc seconds. */
71static double
72mods3600 (double x)
73{
74 double y;
75 y = x - 1.296e6 * floor (x / 1.296e6);
76 return y;
77}
78
79/* Prepare lookup table of sin and cos ( i * L_k )
80 for required multiple angles.
81 K is the array offset corresponding to the planet.
82 ARG is in radians.
83 n is the highest harmonic to compute. */
84static int
85sscc (int k, double arg, int n)
86{
87 double cu, su, cv, sv, s;
88 int i;
89
90 if (n <= 0)
91 return 0;
92
93 su = sin (arg);
94 cu = cos (arg);
95 ss[k][0] = su; /* sin(L) */
96 cc[k][0] = cu; /* cos(L) */
97 sv = 2.0 * su * cu;
98 cv = cu * cu - su * su;
99 ss[k][1] = sv; /* sin(2L) */
100 cc[k][1] = cv;
101 for (i = 2; i < n; i++)
102 {
103 s = su * cv + cu * sv;
104 cv = cu * cv - su * sv;
105 sv = s;
106 ss[k][i] = sv; /* sin( i+1 L ) */
107 cc[k][i] = cv;
108 }
109 return (0);
110}
111
112
113/* Mean elements.
114 Copied from cmoon.c, DE404 version. */
115
116static double Jlast = -1.0e38;
117static double T;
118
119static int
120dargs (double J, struct plantbl *plan)
121{
122 double T2, w;
123
124 if (J == Jlast)
125 return 0;
126
127 T = (J - JD2000) / 36525.0;
128 T2 = T * T;
129
130 /* Mean anomaly of sun = l' (J. Laskar) */
131 w = mods3600 (129596581.038354 * T + 1287104.76154);
132 w += ((((((((
133 1.62e-20 * T
134 - 1.0390e-17) * T
135 - 3.83508e-15) * T
136 + 4.237343e-13) * T
137 + 8.8555011e-11) * T
138 - 4.77258489e-8) * T
139 - 1.1297037031e-5) * T
140 + 1.4732069041e-4) * T
141 - 0.552891801772) * T2;
142 sscc (10, STR * w, plan->max_harmonic[10]);
143
144 /* Mean distance of moon from its ascending node = F */
145 w = mods3600 ((1739527263.0983 - 2.079419901760e-01) * T + 335779.55755);
146 w = w + ((-9.646018347184e-06 * T2 /* F, t^4 */
147 - 1.138215912580e-03) * T /* F, t^3 */
148 - 1.312045233711e+01) * T; /* F, t^2 */
149 sscc (11, STR * w, plan->max_harmonic[11]);
150
151 /* Mean anomaly of moon = l */
152 w = mods3600 ((1717915923.4728 - 2.035946368532e-01) * T + 485868.28096);
153 w = w + ((-3.421689790404e-04 * T2 /* l, t^4 */
154 + 4.768357585780e-02) * T /* l, t^3 */
155 + 3.146734198839e+01) * T; /* l, t^2 */
156 sscc (9, STR * w, plan->max_harmonic[9]);
157
158 /* Mean elongation of moon = D */
159 w = mods3600 ((1602961601.4603 + 3.962893294503e-01) * T + 1072260.73512);
160 w = w + ((-2.905334122698e-04 * T2 /* D, t^4 */
161 - 5.834100476561e-03) * T /* D, t^3 */
162 - 6.847070905410e+00) * T; /* D, t^2 */
163 sscc (12, STR * w, plan->max_harmonic[12]);
164
165 /* Mean longitude of moon, re mean ecliptic and equinox of date */
166 w = mods3600 ((1732564372.83264 - 6.784914260953e-01) * T + 785939.95571);
167 w = w + ((-8.466472828815e-05 * T2 /* L, t^4 */
168 + 5.722859298199e-03) * T /* L, t^3 */
169 - 5.663161722088e+00) * T; /* L, t^2 */
170 sscc (13, STR * w, plan->max_harmonic[13]);
171
172 /* Mean longitudes of planets (Laskar, Bretagnon) */
173
174 /* Venus. */
175 w = mods3600 (210664136.4335482 * T + 655127.283046);
176 w += ((((((((
177 -9.36e-023 * T
178 - 1.95e-20) * T
179 + 6.097e-18) * T
180 + 4.43201e-15) * T
181 + 2.509418e-13) * T
182 - 3.0622898e-10) * T
183 - 2.26602516e-9) * T
184 - 1.4244812531e-5) * T
185 + 0.005871373088) * T2;
186 sscc (1, STR * w, plan->max_harmonic[1]);
187
188 /* Earth. */
189 w = mods3600 (129597742.26669231 * T + 361679.214649);
190 w += ((((((((-1.16e-22 * T
191 + 2.976e-19) * T
192 + 2.8460e-17) * T
193 - 1.08402e-14) * T
194 - 1.226182e-12) * T
195 + 1.7228268e-10) * T
196 + 1.515912254e-7) * T
197 + 8.863982531e-6) * T
198 - 2.0199859001e-2) * T2;
199 sscc (2, STR * w, plan->max_harmonic[2]);
200
201 /* Mars. */
202 w = mods3600 (68905077.59284 * T + 1279559.78866);
203 w += (-1.043e-5 * T + 9.38012e-3) * T2;
204 sscc (3, STR * w, plan->max_harmonic[3]);
205
206 /* Jupiter. */
207 w = mods3600 (10925660.428608 * T + 123665.342120);
208 w += (1.543273e-5 * T - 3.06037836351e-1) * T2;
209 sscc (4, STR * w, plan->max_harmonic[4]);
210
211 /* Saturn. */
212 w = mods3600 (4399609.65932 * T + 180278.89694);
213 w += ((4.475946e-8 * T - 6.874806E-5) * T + 7.56161437443E-1) * T2;
214 sscc (5, STR * w, plan->max_harmonic[5]);
215 return 0;
216}
217
218
219
220/* Evaluate series PLAN at Julian date J.
221 Result in arcseconds, usually. */
222
223static double
224gplan (double J, struct plantbl *plan)
225{
226 double su, cu, sv, cv;
227 double t, sl;
228 int j, k, m, k1, ip, np, nt;
229 CHAR *p;
230 int *pl;
231
232 dargs (J, plan);
233 /* Point to start of table of arguments. */
234 p = plan->arg_tbl;
235 /* Point to tabulated cosine and sine amplitudes. */
236 pl = plan->lon_tbl;
237 sl = 0.0;
238
239 for (;;)
240 {
241 /* Find sine and cosine of argument for this term in the series.
242 The argument has the form J_1 L_1 + J_2 L_2 + ...
243 where J_i are integers and L_i are mean elements. */
244
245 /* Number of periodic arguments. */
246 np = *p++;
247 if (np < 0)
248 break;
249 if (np == 0)
250 {
251 /* If no periodic arguments, it is a polynomial term.
252 Evaluate A_n T^n + A_n-1 T^n-1 + ... + A_0. */
253 nt = *p++;
254 cu = *pl++;
255 for (ip = 0; ip < nt; ip++)
256 cu = cu * T + *pl++;
257 sl += cu;
258 continue;
259 }
260 k1 = 0;
261 cv = 0.0;
262 sv = 0.0;
263 for (ip = 0; ip < np; ip++)
264 {
265 /* What harmonic. */
266 j = *p++;
267 /* Which planet. */
268 m = *p++ - 1;
269 if (j)
270 {
271 k = j;
272 if (j < 0)
273 k = -k;
274 k -= 1;
275 /* sin(k*angle) for planet m. */
276 su = ss[m][k];
277 if (j < 0)
278 su = -su;
279 /* cos(k*angle) for planet m. */
280 cu = cc[m][k];
281 if (k1 == 0)
282 {
283 /* Set sine and cosine of first angle. */
284 sv = su;
285 cv = cu;
286 k1 = 1;
287 }
288 else
289 {
290 /* Combine angles by trigonometry. */
291 t = su * cv + cu * sv;
292 cv = cu * cv - su * sv;
293 sv = t;
294 }
295 }
296 }
297 /* Now cv = cos(arg), sv = sin(arg).
298 Evaluate
299 cu = (C_n T^n + C_n-1 T^n-1 + ... + C_0) cos(arg)
300 su = (S_n T^n + S_n-1 T^n-1 + ... + S_0) sin(arg). */
301
302 /* Highest power of T. */
303 nt = *p++;
304 /* Coefficients C_i, S_i. */
305 cu = *pl++;
306 su = *pl++;
307 for (ip = 0; ip < nt; ip++)
308 {
309 cu = cu * T + *pl++;
310 su = su * T + *pl++;
311 }
312 sl += cu * cv + su * sv;
313 }
314 return (plan->trunclvl * sl);
315}
316
317
318
319/* lblat403.c */
320
321static int lattabr[] = {-1};
322static int lattabb[] = {-1};
323static int lattabl[] = {
324 785710,
325
326 -1958, 780,
327
328 -178, 2850, 2243, 5927, 2714, -2911,
329
330 -174, 5888, -16705, 10828, -15113, -25049,
331
332 -172, 1976,
333
334 37, -13560,
335
336 -40, -911,
337
338 -300, 691,
339
340 3779, 722,
341
342 68, -1048,
343
344 -3092, -4, 3011, -31, 250, -14293664,
345
346 -149, -228,
347
348 -5, -842,
349
350 62, 57967,
351
352 -7, -11207,
353
354 15, -66055,
355
356 -79, -71560,
357
358 8, 2998,
359
360 -1062, -46,
361
362 -2, 711,
363
364 -5, -2,
365
366 367, -5, -353, 1, -117, 2324027,
367
368 0, -176,
369
370 19, -4,
371
372 -3, -1229,
373
374 7, 4327,
375
376 -2, 112,
377
378 -1, -540,
379
380 73, 102982,
381
382 0, -137,
383
384 2, 239,
385
386 0, -216,
387
388 2, 3707,
389
390 -1, -100,
391
392 -2, 124,
393
394 0, 408,
395
396 1, 561,
397
398 0, 594,
399
400 0, 11866,
401
402 -2, -229,
403
404 11, 6768,
405
406 2, 1,
407
408 -2, -788, -24, 314732,
409
410 -5, -3238,
411
412 -2, -1263,
413
414 -1, 94,
415
416 -2, 206,
417
418 -283, 6489836,
419
420 63, 2562,
421
422 -6, 1220,
423
424 0, 135,
425
426 795, -338,
427
428 -406, -101,
429
430 757, -383,
431
432 -73, -31018,
433
434 -5, -3010,
435
436 6, 5821,
437
438 167, 7,
439
440 2, 122623,
441
442 41, 138924,
443
444 2, 253,
445
446 0, -198,
447
448 135, 30,
449
450 2, 934,
451
452 62, -14,
453
454 -531, -297537,
455
456 -3, -205,
457
458 1, -393,
459
460 -4, -156,
461
462 -467, 90,
463
464 9, -346,
465
466 -55, 1368,
467
468 4414, 2094,
469
470 480, 510,
471
472 35, 728,
473
474 6832, 6429,
475
476 -2099, -3703,
477
478 -9, 579,
479
480 239, 1738,
481
482 22, 968, 60260, -8929,
483
484 26, -64,
485
486 0, 0,
487
488 -47, -351, 2248, -1175, 3976, 7150,
489
490 15191, 1, -15535, -143, -2308,-239959618,
491
492 -45, 355, 2252, 1189, 4009, -7131,
493
494 -158, 499,
495
496 776, -34,
497
498 -389, 4363,
499
500 30, 28,
501
502 0, -593,
503
504 1, -1,
505
506 58, -66,
507
508 4, 1552,
509
510 -1, 244,
511
512 288, 59,
513
514 -276, 62,
515
516 8, 3309,
517
518 2, 1249,
519
520 -156, -3,
521
522 0, -7903,
523
524 -47, 154458,
525
526 -710, 160,
527
528 0, 288,
529
530 328, 219514,
531
532 -1, 113,
533
534 -1, 1515,
535
536 -20, 28493,
537
538 13, 9011,
539
540 -1, 1110,
541
542 -1, -103,
543
544 0, 312,
545
546 1, 360,
547
548 6, 6139,
549
550 -1, 142,
551
552 -1, -709,
553
554 -1, -242,
555
556 67, 67200,
557
558 5, 4148,
559
560 1, 137,
561
562 -15, -17969,
563
564 -2, -3372,
565
566 -2, -1739,
567
568 154, 116200,
569
570 -1, -640,
571
572 -269, -336274,
573
574 0, -1557,
575
576 -1, -353,
577
578 993, 39,
579
580 -1, -294,
581
582 -646, -135,
583
584 750, -3, -661, 8, -163, 2591179,
585
586 -1, -258,
587
588 0, 381,
589
590 6, 8272,
591
592 -44, -92044,
593
594 -29, 70397,
595
596 -25, -17892,
597
598 1, 67,
599
600 -44, -17118,
601
602 2743, 349,
603
604 -4, 231,
605
606 1501, 3099,
607
608 -33, 21,
609
610 -1130, 97, 1263, 164, -226, -13139965,
611
612 839, -202,
613
614 -1, 660,
615
616 12, -10482,
617
618 1, 17,
619
620 -2, -1480,
621
622 -45, -26084,
623
624 2, 259,
625
626 0, 258,
627
628 -1, -1560,
629
630 32, 73046,
631
632 -1, -370,
633
634 -1, -77,
635
636 46, 20687,
637
638 1, 742,
639
640 1, 2399,
641
642 2, 741,
643
644 0, 52,
645
646 0, 112,
647
648 0, 297,
649
650 2, 825,
651
652 0, 161,
653
654 1, 4228,
655
656 0, 212,
657
658 -1, -105,
659
660 6, 2782,
661
662 9, 37199,
663
664 3, 5045,
665
666 105, -1,
667
668 -1, -179,
669
670 75, 31274,
671
672 -3, -1321,
673
674 -1, 363,
675
676 0, 1137,
677
678 58, 104090,
679
680 -2, -2695,
681
682 -1, -392,
683
684 -35, -21763,
685
686 -2, -205,
687
688 567, 38,
689
690 -7, 117,
691
692 -569, -9, 321, -1522061,
693
694 -4, 276,
695
696 -2, -590,
697
698 2, 632,
699
700 -14, -10601,
701
702 4, 8703,
703
704 -10, 16870,
705
706 -4, -995,
707
708 597, -6, -386, -805403,
709
710 1025, -474,
711
712 -2, 201,
713
714 -95, 16,
715
716 -127, 135570,
717
718 0, -173,
719
720 10, 8565,
721
722 -3, 1812,
723
724 -1, -108,
725
726 -107, -649,
727
728 0, 151,
729
730 1, 950,
731
732 1, 312,
733
734 1, 403,
735
736 0, -576,
737
738 7, 4418,
739
740 -3, -4769,
741
742 -1, -769,
743
744 63, 38890,
745
746 0, -101,
747
748 0, 169,
749
750 -3, -14837,
751
752 1, 372,
753
754 0, -674,
755
756 -3, -1488,
757
758 -36, -196300,
759
760 0, -176,
761
762 -10, -4811,
763
764 -2, -991,
765
766 1, 831,
767
768 1, 3138,
769
770 -103, -51819,
771
772 0, -133,
773
774 -4, 22171,
775
776 2, 820,
777
778 1, 149,
779
780 2227, 1277,
781
782 -502, -3049,
783
784 1, 122,
785
786 0, 370,
787
788 0, 166,
789
790 2, 772,
791
792 2, 2057,
793
794 -1, -486,
795
796 13, -15447,
797
798 -2, -1619,
799
800 0, 335,
801
802 0, -206,
803
804 0, -104,
805
806 -19, -19726,
807
808 0, 414,
809
810 -8, -3425,
811
812 -19, -1,
813
814 1, 546,
815
816 0, -392,
817
818 0, -2754,
819
820 0, -158,
821
822 -3, -1790,
823
824 -1, -230,
825
826 0, -190,
827
828 0, -366,
829
830 0, -154,
831
832};
833
834static CHAR latargs[] = {
835 0, 0,
836 3, 1, 2, 9, 3,-20, 4, 0,
837 4, 1, 13, -1, 10, 3, 2, -4, 3, 2,
838 4, 1, 13, -1, 10, -5, 2, 9, 3, 2,
839 3, 9, 10, -9, 14, 1, 3, 0,
840 3, 1, 11, -1, 12, 1, 13, 0,
841 4, 1, 10, -2, 11, 1, 12, -2, 13, 0,
842 4, 2, 11, -1, 14, 18, 2,-18, 3, 0,
843 3, 1, 13, -1, 10, 1, 3, 0,
844 2, 1, 10, -1, 14, 0,
845 2, 1, 10, -1, 12, 2,
846 4, 1, 14,-18, 2, 16, 3, 1, 5, 0,
847 3, 2, 10, -1, 12, -1, 13, 0,
848 3, 1, 10, 1, 11, -1, 12, 0,
849 4, 1, 10, -1, 11, 1, 12, -2, 13, 0,
850 2, 1, 12, -1, 13, 0,
851 3, 1, 10, -1, 11, -1, 12, 0,
852 3, 3, 10, -1, 12, -2, 13, 0,
853 2, 2, 10, -2, 13, 0,
854 3, 1, 10, 2, 11, -1, 12, 0,
855 3, 1, 10, -2, 13, 1, 3, 0,
856 3, 1, 10, 1, 12, -2, 13, 2,
857 3, 1, 11, 1, 12, -1, 13, 0,
858 2, 2, 12, -2, 13, 0,
859 3, 1, 10, -2, 11, -1, 12, 0,
860 3, 1, 10, -3, 12, 2, 13, 0,
861 4, 3, 10, 1, 11, -1, 12, -2, 13, 0,
862 3, 2, 10, 1, 12, -3, 13, 0,
863 4, 1, 10, 1, 11, 1, 12, -2, 13, 0,
864 2, 3, 12, -3, 13, 0,
865 4, 1, 10, -1, 11, -3, 12, 2, 13, 0,
866 3, 3, 10, 1, 12, -4, 13, 0,
867 4, 1, 10, 2, 11, 1, 12, -2, 13, 0,
868 3, 1, 10, 3, 12, -4, 13, 0,
869 4, 1, 10, 3, 11, 1, 12, -2, 13, 0,
870 3, 3, 11, 1, 12, -2, 13, 0,
871 4, 2, 10, 1, 11, 1, 12, -4, 13, 0,
872 2, 3, 12, -4, 13, 0,
873 3, 2, 11, 1, 12, -2, 13, 0,
874 4, 1, 10, 1, 11, 1, 12, -3, 13, 0,
875 3, 2, 10, 1, 12, -4, 13, 0,
876 4, 1, 14, -3, 2,-16, 3, -4, 4, 0,
877 3, 1, 11, 1, 12, -2, 13, 1,
878 3, 1, 10, 1, 12, -3, 13, 0,
879 4, 2, 10, 1, 11, -1, 12, -2, 13, 0,
880 3, 2, 10, -3, 12, 2, 13, 0,
881 4, 1, 10, -1, 11, -1, 12, 1, 13, 0,
882 2, 1, 12, -2, 13, 0,
883 2, 2, 13, -1, 14, 0,
884 2, 2, 11, -1, 12, 0,
885 4, 1, 10, -1, 11, 1, 12, -3, 13, 0,
886 3, 2, 10, -3, 14, 4, 4, 0,
887 2, 1, 10, -2, 13, 0,
888 3, 1, 13, -3, 3, 4, 4, 0,
889 3, 2, 10, -1, 12, -2, 13, 0,
890 3, 2, 10, -1, 11, -1, 12, 0,
891 3, 1, 10, -1, 12, 1, 13, 0,
892 2, 1, 10, -1, 11, 0,
893 3, 1, 11, -1, 12, 2, 13, 0,
894 2, 1, 11, -1, 12, 0,
895 3, 1, 10, -1, 12, -1, 13, 0,
896 4, 2, 13, -1, 12, 2, 2, -2, 3, 0,
897 3, 1, 13, 2, 2, -3, 3, 0,
898 4, 2, 10, -1, 11, -1, 12, -2, 13, 0,
899 3, 1, 13, -1, 2, 2, 3, 0,
900 2, 2, 10, -1, 12, 0,
901 4, 2, 13, -1, 12, 2, 3, -2, 5, 0,
902 4, 2, 13, -1, 12, 3, 2, -3, 3, 0,
903 4, 2, 10, -2, 11, 1, 12, -2, 13, 0,
904 3, 1, 13, 1, 3, -2, 5, 0,
905 4, 1, 10, 1, 11, -1, 12, 1, 13, 0,
906 3, 1, 13, -5, 2, 9, 3, 0,
907 3, 1, 14, 2, 3, -4, 4, 0,
908 3, 3, 10, 4, 12, -6, 14, 0,
909 3, 1, 13, 3, 2, -4, 3, 0,
910 1, 1, 10, 0,
911 3, 1, 13, -3, 12, 9, 2, 0,
912 4, 1, 10, -1, 11, 1, 12, -1, 13, 0,
913 3, 2, 11, -1, 12, 2, 13, 0,
914 1, 1, 14, 1,
915 4, 1, 12, 1, 10, -1, 14, 1, 5, 0,
916 4, 9, 13, -9, 10, 7, 2, 10, 3, 0,
917 3, 1, 12, -8, 2, 13, 3, 2,
918 1, 1, 12, 2,
919 3, 1, 12, 8, 2,-13, 3, 2,
920 2, 1, 13, 2, 4, 0,
921 4, 2, 13, -1, 12, 5, 2, -6, 3, 0,
922 3, 1, 13, -2, 12, 1, 3, 0,
923 3, 1, 13, -3, 2, 6, 3, 0,
924 4, 1, 10, -1, 11, -1, 12, -1, 13, 0,
925 2, 1, 14, 2, 5, 0,
926 2, 1, 10, -2, 12, 0,
927 2, 2, 10, -3, 12, 0,
928 4, 2, 13, -1, 12, 4, 2, -4, 3, 0,
929 3, 1, 14, 4, 2, -6, 3, 0,
930 2, 1, 13, 1, 2, 0,
931 3, 2, 10, 1, 11, -1, 12, 0,
932 4, 2, 10, -1, 11, 1, 12, -2, 13, 0,
933 2, 1, 10, 1, 11, 0,
934 3, 1, 10, 1, 12, -1, 13, 0,
935 2, 1, 11, 1, 12, 0,
936 3, 3, 12, -2, 13, -1, 3, 0,
937 3, 4, 10, -1, 12, -2, 13, 0,
938 3, 2, 10, 1, 12, -2, 13, 0,
939 4, 1, 10, 1, 11, 1, 12, -1, 13, 0,
940 2, 2, 11, 1, 12, 0,
941 2, 3, 12, -2, 13, 0,
942 4, 2, 10, 1, 11, 1, 12, -2, 13, 0,
943 3, 1, 11, 3, 12, -2, 13, 0,
944 3, 4, 10, 1, 12, -4, 13, 0,
945 4, 2, 10, 2, 11, 1, 12, -2, 13, 0,
946 4, 1, 10, 2, 11, 1, 12, -4, 13, 0,
947 4, 1, 10, 1, 11, 1, 12, -4, 13, 0,
948 4, 1, 10, 3, 11, -1, 12, -2, 13, 0,
949 4, 1, 10, -2, 11, -1, 12, 2, 13, 0,
950 3, 1, 11, 1, 12, -3, 13, 0,
951 3, 1, 10, 1, 12, -4, 13, 0,
952 4, 1, 10, 2, 11, -1, 12, -2, 13, 0,
953 3, 3, 10, -1, 12, -4, 13, 0,
954 4, 1, 10, -1, 11, -1, 12, 2, 13, 0,
955 2, 1, 12, -3, 13, 0,
956 4, 1, 10, -1, 11, 1, 12, -4, 13, 0,
957 4, 1, 10, 1, 11, -1, 12, -2, 13, 0,
958 3, 2, 10, -1, 12, -3, 13, 0,
959 3, 1, 10, -1, 12, 2, 13, 0,
960 3, 1, 10, -2, 11, 1, 12, 0,
961 3, 1, 11, -1, 12, 3, 13, 0,
962 1, 2, 13, 0,
963 3, 1, 11, -1, 12, -1, 13, 0,
964 3, 1, 10, -3, 13, -1, 3, 0,
965 3, 1, 10, -1, 12, -2, 13, 2,
966 3, 3, 10, -1, 11, -1, 12, 0,
967 3, 2, 10, -1, 12, 1, 13, 0,
968 4, 1, 10, 1, 11, -1, 12, 2, 13, 0,
969 3, 1, 10, -1, 11, 1, 12, 0,
970 2, 1, 12, 1, 13, 0,
971 4, 1, 10, -1, 11, -1, 12, -2, 13, 0,
972 3, 1, 10, 1, 11, -3, 12, 0,
973 2, 3, 10, -1, 12, 0,
974 1, 2, 10, 0,
975 4, 2, 10, -1, 11, 1, 12, -1, 13, 0,
976 3, 1, 13, 1, 10, 1, 11, 0,
977 3, 2, 13, 3, 3, -2, 11, 0,
978 2, 1, 10, 1, 12, 2,
979 3, 1, 10, -3, 14, 2, 5, 0,
980 3, 3, 10, -1, 14, 4, 5, 0,
981 3, 1, 11, 1, 12, 1, 13, 0,
982 1, 2, 12, 0,
983 4, 1, 10, -2, 11, -1, 12, -2, 13, 0,
984 2, 1, 10, -3, 12, 0,
985 3, 3, 10, 1, 11, -1, 12, 0,
986 4, 3, 10, -1, 11, 1, 12, -2, 13, 0,
987 3, 2, 10, 1, 12, -1, 13, 0,
988 3, 1, 10, 1, 11, 1, 12, 0,
989 2, 3, 12, -1, 13, 0,
990 3, 1, 10, -1, 11, -3, 12, 0,
991 3, 3, 10, 1, 12, -2, 13, 0,
992 3, 1, 10, 2, 11, 1, 12, 0,
993 3, 1, 10, 3, 12, -2, 13, 0,
994 4, 3, 10, 1, 11, 1, 12, -2, 13, 0,
995 4, 1, 10, 1, 11, 3, 12, -2, 13, 0,
996 4, 2, 10, 1, 11, 1, 12, -6, 13, 0,
997 3, 2, 11, 1, 12, -4, 13, 0,
998 3, 2, 10, 1, 12, -6, 13, 0,
999 4, 2, 10, 2, 11, -1, 12, -4, 13, 0,
1000 3, 1, 11, 1, 12, -4, 13, 0,
1001 3, 3, 11, -1, 12, -2, 13, 0,
1002 3, 1, 10, 1, 12, -5, 13, 0,
1003 4, 2, 10, 1, 11, -1, 12, -4, 13, 0,
1004 2, 1, 12, -4, 13, 0,
1005 3, 2, 11, -1, 12, -2, 13, 0,
1006 2, 1, 10, -4, 13, 0,
1007 4, 1, 10, 1, 11, -1, 12, -3, 13, 0,
1008 3, 2, 10, -1, 12, -4, 13, 0,
1009 4, 2, 10, -1, 11, -1, 12, 2, 13, 0,
1010 3, 1, 10, -1, 12, 3, 13, 0,
1011 3, 1, 11, -1, 12, 4, 13, 0,
1012 3, 1, 11, -1, 12, -2, 13, 0,
1013 3, 1, 10, -1, 12, -3, 13, 0,
1014 4, 2, 10, -1, 11, -1, 12, -4, 13, 0,
1015 3, 2, 10, -1, 12, 2, 13, 0,
1016 3, 2, 10, -2, 11, 1, 12, 0,
1017 2, 1, 10, 2, 13, 0,
1018 4, 1, 10, -1, 11, 1, 12, 1, 13, 0,
1019 2, 1, 12, 2, 13, 1,
1020 4, 1, 10, -1, 11, -1, 12, -3, 13, 0,
1021 3, 2, 10, -3, 12, -2, 13, 0,
1022 4, 2, 10, 1, 11, -1, 12, 2, 13, 0,
1023 3, 2, 10, -1, 11, 1, 12, 0,
1024 3, 1, 10, 1, 12, 1, 13, 0,
1025 3, 1, 11, 1, 12, 2, 13, 0,
1026 2, 4, 10, -1, 12, 0,
1027 2, 2, 10, 1, 12, 1,
1028 4, 1, 13, 1, 12, 10, 2, -2, 3, 0,
1029 3, 2, 11, 1, 12, 2, 13, 0,
1030 2, 2, 12, 1, 14, 0,
1031 1, 3, 12, 0,
1032 3, 3, 10, 1, 12, -1, 13, 0,
1033 3, 2, 10, 1, 11, 1, 12, 0,
1034 3, 4, 10, 1, 12, -2, 13, 0,
1035 3, 2, 10, 3, 12, -2, 13, 0,
1036 3, 4, 10, -9, 3, -1, 4, 0,
1037 4, 1, 10, 1, 11, 1, 12, -6, 13, 0,
1038 3, 1, 10, 1, 12, -6, 13, 0,
1039 4, 1, 10, 2, 11, -1, 12, -4, 13, 0,
1040 3, 3, 10, -1, 12, -6, 13, 0,
1041 4, 1, 10, -1, 11, -1, 12, 4, 13, 0,
1042 4, 1, 10, 1, 11, -1, 12, -4, 13, 0,
1043 3, 1, 10, -1, 12, 4, 13, 0,
1044 4, 1, 10, -2, 11, 1, 12, 2, 13, 0,
1045 3, 1, 10, -1, 12, -4, 13, 0,
1046 4, 3, 10, -1, 11, -1, 12, 2, 13, 0,
1047 4, 1, 10, 1, 11, -1, 12, 4, 13, 0,
1048 4, 1, 10, -1, 11, 1, 12, 2, 13, 0,
1049 2, 1, 12, 3, 13, 0,
1050 4, 1, 10, -1, 11, -1, 12, -4, 13, 0,
1051 3, 3, 10, -1, 12, 2, 13, 0,
1052 3, 1, 10, 1, 12, 2, 13, 0,
1053 3, 1, 11, 1, 12, 3, 13, 0,
1054 3, 1, 10, -3, 12, -2, 13, 0,
1055 3, 3, 10, -1, 11, 1, 12, 0,
1056 3, 2, 10, 1, 12, 1, 13, 0,
1057 4, 1, 10, 1, 11, 1, 12, 2, 13, 0,
1058 2, 3, 10, 1, 12, 0,
1059 4, 2, 10, 1, 11, 1, 12, 1, 13, 0,
1060 2, 1, 10, 3, 12, 0,
1061 3, 3, 10, 1, 11, 1, 12, 0,
1062 3, 5, 10, 1, 12, -2, 13, 0,
1063 3, 4, 14, -4, 2, 8, 3, 0,
1064 3, 5, 10, -9, 3, -1, 4, 0,
1065 4, 2, 10, 1, 11, -1, 12, -6, 13, 0,
1066 2, 1, 12, -6, 13, 0,
1067 3, 2, 11, -1, 12, -4, 13, 0,
1068 3, 2, 10, -1, 12, -6, 13, 0,
1069 3, 1, 11, -1, 12, -4, 13, 0,
1070 3, 2, 10, -1, 12, 4, 13, 0,
1071 2, 1, 12, 4, 13, 0,
1072 4, 2, 10, -1, 11, 1, 12, 2, 13, 0,
1073 3, 1, 11, 1, 12, 4, 13, 0,
1074 3, 1, 11, -3, 12, -2, 13, 0,
1075 3, 4, 10, -1, 12, 2, 13, 0,
1076 3, 2, 10, 1, 12, 2, 13, 0,
1077 4, 2, 10, 1, 11, 1, 12, 2, 13, 0,
1078 2, 4, 10, 1, 12, 0,
1079 3, 7, 12, -2, 10, -4, 5, 0,
1080 3, 1, 10, -1, 12, -6, 13, 0,
1081 4, 1, 10, -1, 11, 1, 12, 4, 13, 0,
1082 3, 1, 10, 1, 12, 4, 13, 0,
1083 4, 3, 10, -1, 11, 1, 12, 2, 13, 0,
1084 3, 3, 10, 1, 12, 2, 13, 0,
1085 2, 5, 10, 1, 12, 0,
1086 2, 1, 12, 6, 13, 0,
1087 3, 2, 10, 1, 12, 4, 13, 0,
1088 3, 4, 10, 1, 12, 2, 13, 0,
1089 -1
1090};
1091
1092/* Total terms = 254, small = 254 */
1093static struct plantbl liblat = {
1094 /* { 0, 18, 18, 20, 4, 0, 0, 0, 0, 9, 3, 7, 9, 9,}, */
1095 /* Use max of liblon, liblat. */
1096 { 0, 18, 18, 20, 4, 2, 0, 0, 0, 9, 16, 7, 9, 9,},
1097 2,
1098 latargs,
1099 lattabl,
1100 lattabb,
1101 lattabr,
1102 3.850000e+05,
1103 36525.0,
1104 1.0e-4,
1105};
1106
1107
1108/* lblon403.c */
1109static int lontabr[] = {-1};
1110static int lontabb[] = {-1};
1111static int lontabl[] = {
1112 -640001,
1113
1114 -19, 3,
1115
1116 -1, 0,
1117
1118 -3, 17,
1119
1120 2, -9,
1121
1122 2, 3,
1123
1124 141, 1816,
1125
1126 2, -76,
1127
1128 78, -81,
1129
1130 3, 1,
1131
1132 50, -13,
1133
1134 -12, 18,
1135
1136 -6, 74,
1137
1138 19, 10,
1139
1140 -19, 701,
1141
1142 -26, 37,
1143
1144 36, -122,
1145
1146 131, -71,
1147
1148 -40, 1,
1149
1150 61463, 12853,
1151
1152 5, -29,
1153
1154 354, 201,
1155
1156 94, -5,
1157
1158 31, 25,
1159
1160 -73, -22,
1161
1162 673, 1435,
1163
1164 3844, 44,
1165
1166 -44, -8,
1167
1168 195, -16,
1169
1170 -827, -171768,
1171
1172 7051, -4116,
1173
1174 1036, 616, -2034, 6300, -13786, -3808,
1175
1176 -118, -536, -1246, 771, 2555, 3214,
1177
1178 203, 26,
1179
1180 2975, -715,
1181
1182 -743, 1286,
1183
1184 -232, -50,
1185
1186 4, 234,
1187
1188 -139, 475,
1189
1190 0, -98,
1191
1192 -3, -11848,
1193
1194 0, 118,
1195
1196 -202, 146,
1197
1198 -33673, 7601,
1199
1200 -150, 88,
1201
1202 -1720, 1002,
1203
1204 -293, 481,
1205
1206 -2078, 1,
1207
1208 199, 220655,
1209
1210 137, 7459,
1211
1212 -127, 28,
1213
1214 -10, 2259,
1215
1216 4, 450,
1217
1218 -26, 30, -76, 19043, 215, -7577830,
1219
1220 -65, -45,
1221
1222 -5, -14189,
1223
1224 -6, -496,
1225
1226 9, 3265,
1227
1228 0, -131,
1229
1230 48, -90,
1231
1232 -9, -155,
1233
1234 -2, 21,
1235
1236 151, 19,
1237
1238 -101, -516,
1239
1240 -827, 3, 796, 2, 134, -2215850,
1241
1242 -11, -1908,
1243
1244 0, 451,
1245
1246 -2, 1399,
1247
1248 3, 7,
1249
1250 -163, 5,
1251
1252 -1582, 61,
1253
1254 -22, -77215,
1255
1256 167, -471084,
1257
1258 -85, -28,
1259
1260 1, -473,
1261
1262 -1, 444,
1263
1264 4, 89,
1265
1266 6, -88,
1267
1268 -157, -87813,
1269
1270 3, 274,
1271
1272 -3, -1036,
1273
1274 7, -17005,
1275
1276 -1, -332,
1277
1278 0, 50,
1279
1280 -1, -228,
1281
1282 -5, -2986,
1283
1284 -1, -334,
1285
1286 1, -452,
1287
1288 0, 4,
1289
1290 0, -247,
1291
1292 -3, -2493,
1293
1294 -4, -1000,
1295
1296 0, -160,
1297
1298 0, -3163,
1299
1300 -75, -74207,
1301
1302 13, 829,
1303
1304 32, 481,
1305
1306 -33, -11859,
1307
1308 -2, -3634,
1309
1310 7, -1611,
1311
1312 3, 520,
1313
1314 -1, 2534,
1315
1316 5, -446,
1317
1318 -471, 8, 399, 5160, 201, -2057189,
1319
1320 83, -2106,
1321
1322 11, 12240,
1323
1324 3, -270,
1325
1326 248, 1112,
1327
1328 -63, -61809,
1329
1330 -183, 594,
1331
1332 27, 25844,
1333
1334 -3, 5594,
1335
1336 8, 571,
1337
1338 -23, -1855,
1339
1340 477, -466,
1341
1342 0, -1257,
1343
1344 247, 1550,
1345
1346 -10178, -175, 9570, -423, 2610, -45917681,
1347
1348 -51, 937,
1349
1350 -1001, 168,
1351
1352 -168, 882,
1353
1354 1260, -2894, 4306, -1515,
1355
1356 7, 402,
1357
1358 0, 36,
1359
1360 -280, -373,
1361
1362 -19, 840,
1363
1364 -1227, -138,
1365
1366 3486, 1478247,
1367
1368 1649, -644,
1369
1370 840, 377,
1371
1372 47, -1464,
1373
1374 167, -1251123,
1375
1376 -194, -713, 133, 284429,
1377
1378 0, -191,
1379
1380 -3, 1534,
1381
1382 -700, 918,
1383
1384 -7, -633,
1385
1386 -221, -559,
1387
1388 1, 99,
1389
1390 -17, -3513,
1391
1392 -30, 14,
1393
1394 -602, -5006,
1395
1396 908, 4178,
1397
1398 542, -379,
1399
1400 1568, 782, 528, 2761,
1401
1402 -38994, -25804,
1403
1404 1696398, -324306,
1405
1406 47292, 71061, 457883, 52470, 159777, 224906030,
1407
1408 -13068, -18508,
1409
1410 -104, 3754,
1411
1412 541, 614, -290, 1412,
1413
1414 -48, 162,
1415
1416 42, -50,
1417
1418 -609, -4969,
1419
1420 44, -11435,
1421
1422 -473, -412,
1423
1424 22, -6389,
1425
1426 -87, 44,
1427
1428 -39, 180182,
1429
1430 -4186, -2227,
1431
1432 -503, -208,
1433
1434 976, -512, -1016, -4403,
1435
1436 16, 25357,
1437
1438 565, -891,
1439
1440 28, 38836,
1441
1442 -659, -855,
1443
1444 -200, 619,
1445
1446 1, -1780,
1447
1448 24, 17531,
1449
1450 1053, 335,
1451
1452 502, 2745, -309, -1094576,
1453
1454 -1, -263,
1455
1456 3, -394,
1457
1458 0, 4152,
1459
1460 -1, -467,
1461
1462 -339, -132142,
1463
1464 -14, -11676,
1465
1466 29, 63360,
1467
1468 0, 129,
1469
1470 -12, -4802,
1471
1472 -1, -180,
1473
1474 2, 3424,
1475
1476 0, 45,
1477
1478 -1, -155,
1479
1480 -1, -74,
1481
1482 0, -134,
1483
1484 -4, -1588,
1485
1486 -1, -3424,
1487
1488 2, 119,
1489
1490 -57, -27417,
1491
1492 0, 168,
1493
1494 0, 206,
1495
1496 -21, -80823,
1497
1498 8, 2324,
1499
1500 -4, 835,
1501
1502 396, -6, -244, -308040,
1503
1504 0, -294,
1505
1506 -56, -1332,
1507
1508 2, -110,
1509
1510 306, 4060, -58, -1644587,
1511
1512 -155, -210,
1513
1514 67, -1642,
1515
1516 27, 32070,
1517
1518 9, 3592,
1519
1520 -8, -17,
1521
1522 -1, 2,
1523
1524 -9, -4580,
1525
1526 5, 1940,
1527
1528 5, -1217,
1529
1530 62, -862,
1531
1532 -522, -1163,
1533
1534 0, 0,
1535
1536 -1646, 1, 1169, 109, 1395, 23634968,
1537
1538 2, 0,
1539
1540 -512, 1148,
1541
1542 -9, 32,
1543
1544 0, -2749,
1545
1546 969, -4,
1547
1548 2, 351,
1549
1550 1, 105,
1551
1552 152, 97075,
1553
1554 -55, -84524,
1555
1556 -49, 607, 29, -242117,
1557
1558 4, 6518,
1559
1560 5, -77,
1561
1562 1, -39,
1563
1564 9, 1,
1565
1566 5, -231,
1567
1568 2296, -10, -2453, 3, 138, 7689964,
1569
1570 0, -689,
1571
1572 1, 12635,
1573
1574 5444, 372,
1575
1576 9, -1843,
1577
1578 3485, -560,
1579
1580 909, 3, -742, -1, -66, -6945414,
1581
1582 8, -7,
1583
1584 -3, -181,
1585
1586 1, 1282,
1587
1588 -115, -76497,
1589
1590 3, -90,
1591
1592 1, -142,
1593
1594 -5, 10263,
1595
1596 -33, -9479,
1597
1598 0, -657,
1599
1600 19, 15040,
1601
1602 -2, 1084,
1603
1604 -1, -295,
1605
1606 -161, 403,
1607
1608 0, -175,
1609
1610 -1, -392,
1611
1612 -4, -3096,
1613
1614 -9, -2928,
1615
1616 1, 332,
1617
1618 -56, -43733,
1619
1620 1, 572,
1621
1622 2, -660,
1623
1624 4, 7540,
1625
1626 4, -659,
1627
1628 -505, -382941,
1629
1630 -3, 256,
1631
1632 2, 30,
1633
1634 76, 145296,
1635
1636 -4, 4115,
1637
1638 9, 6329,
1639
1640 11, 6962,
1641
1642 0, -338,
1643
1644 1, 153,
1645
1646 2, -147,
1647
1648 -270, 211,
1649
1650 -519, 97, 385, 1912268,
1651
1652 -1, 1495,
1653
1654 -3, 223,
1655
1656 254, 152832,
1657
1658 15, 6709,
1659
1660 -8, -5835,
1661
1662 -12, -29016,
1663
1664 0, -5641,
1665
1666 -2, 4217,
1667
1668 -2, -1176,
1669
1670 -496, 4, 331, 360972,
1671
1672 1, 918,
1673
1674 -2, -136,
1675
1676 -111, -762309,
1677
1678 2, -610,
1679
1680 1, 96,
1681
1682 -11, -5468,
1683
1684 0, 4856,
1685
1686 0, -2,
1687
1688 -16, -668,
1689
1690 20, 1963,
1691
1692 -1, -95,
1693
1694 0, -83,
1695
1696 0, -96,
1697
1698 -2, -902,
1699
1700 0, -1523,
1701
1702 -14, -5691,
1703
1704 -10, -18650,
1705
1706 0, 131,
1707
1708 0, 128,
1709
1710 0, 243,
1711
1712 1, 644,
1713
1714 -76, 138046,
1715
1716 -1, 316,
1717
1718 8, 2703,
1719
1720 15, 11758,
1721
1722 -1, 16,
1723
1724 2, -2867,
1725
1726 5, 6504,
1727
1728 180, 143085,
1729
1730 -1, 224,
1731
1732 86, -96384,
1733
1734 1, 471,
1735
1736 0, -407,
1737
1738 -3, -2886,
1739
1740 -1, -919,
1741
1742 0, 742,
1743
1744 -2, 1145,
1745
1746 59, 19306,
1747
1748 0, 67,
1749
1750 -61, -67569,
1751
1752 -14, 11725,
1753
1754 -1, -395,
1755
1756 1, 772,
1757
1758 -1, -49,
1759
1760 563, 871, 1951, -22,
1761
1762 -1, -711,
1763
1764 0, 240,
1765
1766 -6, -3912,
1767
1768 1, 2812,
1769
1770 0, 106,
1771
1772 0, 378,
1773
1774 4, 19609,
1775
1776 6, 3331,
1777
1778 2, 930,
1779
1780 0, -37,
1781
1782 0, -502,
1783
1784 0, -1257,
1785
1786 21, 10531,
1787
1788 2, -16662,
1789
1790 0, -267,
1791
1792 -1, 22,
1793
1794 6, 1104,
1795
1796 -14, -5544,
1797
1798 1, -250,
1799
1800 -1, 1248,
1801
1802 0, 325,
1803
1804 2, 2163,
1805
1806 2, -1421,
1807
1808 0, 73,
1809
1810 -1, -67,
1811
1812 2, 771,
1813
1814 -1, -2085,
1815
1816 0, 67,
1817
1818 1, 226,
1819
1820 1, 212,
1821
1822 0, 56,
1823
1824};
1825
1826static CHAR lonargs[] = {
1827 0, 0,
1828 4, 1, 10, 3, 11,-18, 2, 13, 3, 0,
1829 4, -2, 12, 2, 13, 5, 2, -6, 3, 0,
1830 4, 2, 10, -2, 13, -2, 3, 3, 5, 0,
1831 3, 1, 10, -1, 14, 1, 5, 0,
1832 4, -2, 10, 2, 13, -5, 3, -6, 4, 0,
1833 2, 1, 12, -1, 14, 0,
1834 4, -2, 10, 2, 13, 2, 3, -2, 5, 0,
1835 2, 1, 3, -2, 4, 0,
1836 4, -1, 12, 1, 13, -3, 2, 6, 3, 0,
1837 1, 1, 5, 0,
1838 4, -1, 10, 2, 13,-15, 2, 13, 3, 0,
1839 4, 2, 10, -2, 13, -3, 2, 3, 3, 0,
1840 2, 2, 12, -2, 14, 0,
1841 3, 1, 10, -1, 11, -1, 13, 0,
1842 2, 11, 2,-18, 3, 0,
1843 2, 3, 2, -5, 3, 0,
1844 2, 2, 3, -4, 4, 0,
1845 2, 5, 2, -8, 3, 0,
1846 2, 1, 10, -1, 12, 0,
1847 4, -1, 12, 1, 14, 3, 2, -5, 3, 0,
1848 3, 6, 12, -6, 13, -4, 2, 0,
1849 2, 3, 3, -6, 4, 0,
1850 2, 5, 3, -9, 4, 0,
1851 4, -1, 10, 2, 13,-18, 2, 18, 3, 0,
1852 3, 2, 10, -2, 3, -2, 13, 0,
1853 2, 2, 2, -3, 3, 0,
1854 4, 2, 10, -2, 13, -4, 2, 5, 3, 0,
1855 2, 4, 3, -7, 4, 0,
1856 2, 2, 10, -2, 12, 0,
1857 2, 3, 3, -5, 4, 0,
1858 3, 3, 2, -4, 3, -1, 4, 2,
1859 3, 1, 2, -5, 3, 7, 4, 2,
1860 4, -2, 10, 2, 13, 5, 2, -6, 3, 0,
1861 2, 1, 2, -2, 3, 0,
1862 2, 2, 3, -3, 4, 0,
1863 4, -1, 12, 1, 14, 4, 2, -6, 3, 0,
1864 2, 1, 3, -1, 4, 0,
1865 2, 4, 2, -6, 3, 0,
1866 4, 2, 10, -2, 13, -2, 2, 2, 3, 0,
1867 2, 1, 2, -1, 3, 0,
1868 3, 2, 10, 1, 11, -2, 12, 0,
1869 2, 1, 3, -3, 5, 0,
1870 3, 2, 10, -1, 3, -2, 13, 0,
1871 2, 4, 3, -6, 4, 0,
1872 2, 1, 3, -2, 5, 0,
1873 2, 3, 3, -4, 4, 0,
1874 2, 3, 2, -4, 3, 0,
1875 2, 1, 10, -1, 13, 0,
1876 2, 1, 3, -1, 5, 0,
1877 2, 1, 3, -2, 6, 0,
1878 2, 2, 3, -2, 4, 0,
1879 2, 1, 3, -1, 6, 0,
1880 1, 1, 11, 2,
1881 2, 1, 3, 1, 5, 0,
1882 3, 1, 11, -2, 12, 2, 13, 0,
1883 3, 1, 10, -2, 12, 1, 13, 0,
1884 2, 2, 2, -2, 3, 0,
1885 3, 2, 10, -1, 11, -2, 12, 0,
1886 2, 4, 3, -5, 4, 0,
1887 2, 3, 3, -3, 4, 0,
1888 3, 4, 10, -2, 12, -2, 13, 0,
1889 1, 1, 2, 0,
1890 2, 2, 3, -3, 5, 0,
1891 2, 2, 10, -2, 13, 2,
1892 2, 2, 3, -2, 5, 0,
1893 2, 3, 3, -3, 2, 0,
1894 3, 1, 10, 1, 11, -1, 13, 0,
1895 3, 3, 3, -1, 2, 1, 4, 0,
1896 2, 2, 3, -1, 5, 0,
1897 3, 1, 10, 1, 12, -2, 13, 0,
1898 1, 2, 11, 0,
1899 2, 2, 12, -2, 13, 0,
1900 2, 2, 2, -1, 3, 0,
1901 2, 4, 2, -4, 3, 0,
1902 2, 3, 10, -3, 13, 0,
1903 4, 2, 10, -2, 13, 1, 3, -1, 5, 0,
1904 2, 3, 3, -3, 5, 0,
1905 3, 2, 10, 1, 11, -2, 13, 0,
1906 3, 1, 10, 2, 12, -3, 13, 0,
1907 1, 3, 11, 0,
1908 3, 1, 11, 2, 12, -2, 13, 0,
1909 2, 5, 2, -5, 3, 0,
1910 2, 4, 10, -4, 13, 0,
1911 2, 6, 2, -6, 3, 0,
1912 3, 2, 10, 2, 11, -2, 13, 0,
1913 3, 2, 10, 2, 12, -4, 13, 0,
1914 3, 2, 11, 2, 12, -2, 13, 0,
1915 3, 4, 10, 1, 11, -4, 13, 0,
1916 4, 1, 10, 1, 11, 2, 12, -4, 13, 0,
1917 3, 1, 10, 3, 11, -2, 13, 0,
1918 3, 3, 10, 1, 11, -4, 13, 0,
1919 4, 1, 10, -2, 11, -2, 12, 2, 13, 0,
1920 3, 1, 10, 2, 12, -4, 13, 0,
1921 3, 1, 10, 2, 11, -2, 13, 0,
1922 3, 2, 10, 1, 11, -3, 13, 0,
1923 3, 1, 13, -2, 2, 1, 4, 0,
1924 2, 3, 10, -4, 13, 0,
1925 4, 1, 10, -1, 11, -2, 12, 2, 13, 0,
1926 4, -1, 10, 2, 13, -2, 2, 2, 3, 0,
1927 2, 1, 10, -3, 11, 0,
1928 2, 2, 12, -3, 13, 0,
1929 2, 2, 11, -1, 13, 0,
1930 3, 1, 10, 1, 11, -2, 13, 2,
1931 4, -1, 10, 2, 13, -1, 3, 1, 5, 0,
1932 2, 2, 10, -3, 13, 0,
1933 3, 3, 10, -1, 11, -4, 13, 0,
1934 3, 4, 11, 2, 13,-11, 2, 0,
1935 3, 1, 10, -2, 12, 2, 13, 0,
1936 3, 1, 12, -2, 13, 1, 5, 0,
1937 2, 1, 10, -2, 11, 0,
1938 2, 1, 11, -1, 13, 0,
1939 3, 1, 10, -2, 13, 1, 5, 0,
1940 3, 1, 10, -2, 3, 2, 5, 0,
1941 3, 18, 2,-18, 3, 2, 5, 0,
1942 3, 1, 10, -3, 2, 3, 3, 0,
1943 3, 2, 13, 16, 11,-18, 2, 0,
1944 2, 1, 10, -2, 13, 2,
1945 3, 1, 13, -2, 10, 5, 4, 0,
1946 3, 2, 12, -2, 14, 7, 2, 0,
1947 3, 1, 10, -2, 3, 3, 5, 0,
1948 3, 1, 12, -1, 3, -2, 5, 1,
1949 3, 2, 10, -1, 11, -3, 13, 0,
1950 3, 3, 10, -2, 12, -2, 13, 0,
1951 2, 8, 2, -1, 3, 0,
1952 4, 1, 10, 1, 11, -2, 12, 2, 13, 0,
1953 3, 1, 12, -2, 14, 2, 4, 0,
1954 2, 1, 10, -1, 11, 0,
1955 3, 8, 2, -5, 3, 8, 4, 0,
1956 2, 18, 2,-17, 3, 0,
1957 3, 1, 10, -1, 3, 1, 5, 0,
1958 1, 1, 13, 0,
1959 3, 1, 10, -1, 11, -2, 13, 1,
1960 3, 1, 10, 1, 11, -2, 12, 0,
1961 3, 1, 10, -1, 2, 1, 3, 0,
1962 3, 2, 13, -8, 2, 1, 3, 0,
1963 2, 3, 10, -2, 12, 0,
1964 3, 2, 10, -1, 12, -1, 5, 0,
1965 3, 3, 10, -2, 11, -2, 13, 0,
1966 3, 2, 10, -1, 11, -1, 13, 0,
1967 3, 2, 10, 1, 3, -2, 4, 0,
1968 3, 1, 12, -1, 10, -1, 14, 0,
1969 4, -1, 10, 2, 13, 2, 3, -3, 5, 0,
1970 3, 2, 13, -4, 2, -5, 3, 0,
1971 3, 2, 12, 2, 10, -3, 14, 1,
1972 2, 1, 12, -2, 5, 0,
1973 2, 10, 2, -3, 11, 0,
1974 1, 1, 10, 2,
1975 3, 1, 12, -2, 10, -2, 5, 0,
1976 2, 18, 2,-16, 3, 0,
1977 2, 2, 12, -3, 14, 1,
1978 3, 1, 13,-17, 2, 2, 11, 0,
1979 3, 1, 10, 1, 2, -3, 4, 0,
1980 3, 1, 12, 1, 10, -1, 14, 0,
1981 4, -1, 10, 2, 13, 2, 3, -2, 5, 0,
1982 3, 1, 10, -1, 3, 2, 4, 0,
1983 4, -1, 10, 2, 13, 3, 2, -3, 3, 0,
1984 4, 1, 10, -2, 11, 2, 12, -2, 13, 0,
1985 2, 1, 11, 1, 13, 0,
1986 3, 8, 2, 2, 3, -3, 4, 0,
1987 1, 1, 12, 0,
1988 3, 6, 2, 9, 3,-10, 4, 1,
1989 3, 1, 10, -2, 11, -2, 13, 0,
1990 2, 8, 2, 1, 4, 0,
1991 2, 1, 10, -2, 12, 0,
1992 2, 11, 2, -4, 3, 0,
1993 3, 3, 11, -2, 14, 6, 2, 0,
1994 3, 3, 10, -1, 11, -2, 13, 0,
1995 2, 2, 10, -1, 13, 0,
1996 3, 1, 12, -2, 2, 4, 3, 0,
1997 2, 1, 10, 1, 11, 1,
1998 4, 1, 10, -1, 11, 2, 12, -2, 13, 0,
1999 2, 2, 11, 1, 13, 0,
2000 2, 2, 12, -1, 13, 0,
2001 3, 1, 10, -1, 11, -2, 12, 0,
2002 2, 3, 10, -2, 13, 0,
2003 2, 1, 10, 2, 11, 0,
2004 3, 1, 10, 2, 12, -2, 13, 0,
2005 3, 1, 11, 2, 12, -1, 13, 0,
2006 3, 3, 10, 1, 11, -2, 13, 0,
2007 2, 1, 10, 3, 11, 0,
2008 4, 1, 10, 1, 11, 2, 12, -2, 13, 0,
2009 2, 5, 10, -4, 13, 0,
2010 3, 3, 10, 2, 11, -2, 13, 0,
2011 3, 3, 10, 2, 12, -4, 13, 0,
2012 2, 4, 11, -2, 13, 0,
2013 3, 2, 10, 2, 11, -4, 13, 0,
2014 2, 3, 11, -2, 13, 0,
2015 3, 1, 10, 2, 11, -3, 13, 0,
2016 3, 2, 10, 1, 11, -4, 13, 0,
2017 2, 3, 10, -5, 13, 0,
2018 2, 2, 12, -4, 13, 0,
2019 2, 2, 11, -2, 13, 0,
2020 3, 1, 10, 1, 11, -3, 13, 0,
2021 3, 2, 13, -2, 3, 2, 5, 0,
2022 2, 2, 10, -4, 13, 1,
2023 4, 2, 10, -1, 11, -2, 12, 2, 13, 0,
2024 2, 2, 14, -2, 2, 0,
2025 3, 1, 10, -2, 12, 3, 13, 0,
2026 2, 1, 11, -2, 13, 1,
2027 3, 2, 14, -2, 2, 3, 5, 0,
2028 3, 2, 13, -1, 3, 1, 5, 0,
2029 2, 1, 10, -3, 13, 0,
2030 3, 2, 10, -1, 11, -4, 13, 0,
2031 4, 2, 10, 1, 11, -2, 12, -2, 13, 0,
2032 3, 2, 13, 1, 14, -8, 2, 0,
2033 3, 2, 10, -2, 12, 2, 13, 0,
2034 2, 2, 10, -2, 11, 0,
2035 3, 1, 10, -1, 11, 1, 13, 0,
2036 3, 1, 12, -2, 13, -1, 14, 0,
2037 3, 2, 13, -8, 2, 13, 3, 0,
2038 3, 3, 10, -5, 13, 5, 4, 0,
2039 1, 2, 13, 2,
2040 3, 3, 10, -1, 13, 5, 4, 0,
2041 3, 2, 13, 8, 2,-13, 3, 0,
2042 2, 2, 11, -2, 12, 0,
2043 3, 1, 10, -1, 11, -3, 13, 0,
2044 3, 1, 10, -1, 12, -2, 13, 0,
2045 3, 2, 10, -2, 11, -4, 13, 0,
2046 3, 2, 10, -2, 12, -2, 13, 0,
2047 2, 2, 10, -1, 11, 0,
2048 2, 1, 10, 1, 13, 0,
2049 2, 1, 11, 2, 13, 1,
2050 2, 1, 11, -2, 12, 0,
2051 3, 1, 10, -2, 12, -1, 13, 0,
2052 2, 4, 10, -2, 12, 0,
2053 2, 3, 10, -1, 12, 0,
2054 3, 3, 10, -1, 11, -1, 13, 0,
2055 1, 2, 10, 2,
2056 2, 2, 14, -2, 5, 0,
2057 3, 1, 10, 1, 11, 1, 13, 0,
2058 2, 1, 10, 1, 12, 0,
2059 2, 2, 11, 2, 13, 0,
2060 2, 1, 12, 1, 14, 0,
2061 1, 2, 12, 2,
2062 2, 1, 10, -3, 12, 0,
2063 3, 4, 10, -1, 11, -2, 13, 0,
2064 2, 3, 10, -1, 13, 0,
2065 2, 2, 10, 1, 11, 0,
2066 3, 1, 10, 2, 11, 1, 13, 0,
2067 3, 1, 10, 2, 12, -1, 13, 0,
2068 2, 1, 11, 2, 12, 0,
2069 2, 4, 10, -2, 13, 0,
2070 2, 2, 10, 2, 11, 0,
2071 3, 2, 10, 2, 12, -2, 13, 0,
2072 2, 4, 12, -2, 13, 0,
2073 3, 4, 10, 1, 11, -2, 13, 0,
2074 3, 2, 13, 11, 2,-13, 3, 0,
2075 3, 1, 10, 3, 11, -4, 13, 0,
2076 3, 3, 10, 1, 11, -6, 13, 0,
2077 3, 1, 10, 2, 11, -4, 13, 0,
2078 2, 3, 10, -6, 13, 0,
2079 3, 1, 10, -3, 11, 2, 13, 0,
2080 3, 1, 10, 1, 11, -4, 13, 0,
2081 2, 2, 10, -5, 13, 0,
2082 3, 1, 10, -2, 12, 4, 13, 0,
2083 3, 1, 10, -2, 11, 2, 13, 0,
2084 2, 1, 11, -3, 13, 0,
2085 2, 1, 10, -4, 13, 0,
2086 4, 1, 10, 2, 11, -2, 12, -2, 13, 0,
2087 3, 3, 10, -2, 12, -4, 13, 0,
2088 3, 1, 10, -1, 11, 2, 13, 0,
2089 1, 3, 13, 0,
2090 3, 1, 10, -1, 11, -4, 13, 0,
2091 4, 1, 10, 1, 11, -2, 12, -2, 13, 0,
2092 3, 3, 10, -2, 12, 2, 13, 0,
2093 2, 3, 10, -2, 11, 0,
2094 3, 2, 10, -1, 11, 1, 13, 0,
2095 3, 1, 12, 2, 13, -2, 5, 0,
2096 2, 1, 10, 2, 13, 1,
2097 2, 1, 11, 3, 13, 0,
2098 3, 1, 10, -2, 11, -4, 13, 0,
2099 3, 1, 10, -2, 12, -2, 13, 0,
2100 2, 3, 10, -1, 11, 0,
2101 2, 2, 10, 1, 13, 0,
2102 3, 1, 10, 1, 11, 2, 13, 0,
2103 3, 1, 10, -1, 11, 2, 12, 0,
2104 2, 2, 12, 1, 13, 0,
2105 4, 1, 10, -1, 11, -2, 12, -2, 13, 0,
2106 1, 3, 10, 1,
2107 3, 2, 10, 1, 11, 1, 13, 0,
2108 3, 1, 10, 2, 11, 2, 13, 0,
2109 2, 1, 10, 2, 12, 0,
2110 3, 1, 11, 2, 12, 1, 13, 0,
2111 2, 4, 10, -1, 13, 0,
2112 2, 3, 10, 1, 11, 0,
2113 3, 1, 10, 1, 11, 2, 12, 0,
2114 4, 1, 10, -1, 11, 4, 12, -2, 13, 0,
2115 2, 5, 10, -2, 13, 0,
2116 3, 3, 10, 2, 12, -2, 13, 0,
2117 3, 1, 10, 4, 12, -2, 13, 0,
2118 3, 2, 10, 2, 11, -6, 13, 0,
2119 2, 3, 11, -4, 13, 0,
2120 3, 2, 10, 1, 11, -6, 13, 0,
2121 2, 2, 11, -4, 13, 0,
2122 2, 2, 10, -6, 13, 0,
2123 2, 1, 11, -4, 13, 0,
2124 2, 1, 10, -5, 13, 0,
2125 3, 2, 10, -1, 11, -6, 13, 0,
2126 4, 2, 10, 1, 11, -2, 12, -4, 13, 0,
2127 3, 2, 10, -2, 11, 2, 13, 0,
2128 1, 4, 13, 0,
2129 3, 2, 11, -2, 12, -2, 13, 0,
2130 3, 2, 10, -2, 12, -4, 13, 0,
2131 3, 2, 10, -1, 11, 2, 13, 0,
2132 2, 1, 10, 3, 13, 0,
2133 2, 1, 11, 4, 13, 0,
2134 3, 1, 11, -2, 12, -2, 13, 0,
2135 2, 2, 10, 2, 13, 0,
2136 3, 1, 10, 1, 11, 3, 13, 0,
2137 2, 2, 12, 2, 13, 0,
2138 2, 4, 10, -1, 11, 0,
2139 2, 3, 10, 1, 13, 0,
2140 3, 2, 10, 1, 11, 2, 13, 0,
2141 3, 2, 10, -1, 11, 2, 12, 0,
2142 3, 1, 10, 2, 12, 1, 13, 0,
2143 3, 1, 11, 2, 12, 2, 13, 0,
2144 1, 4, 10, 0,
2145 3, 3, 10, 1, 11, 1, 13, 0,
2146 2, 2, 10, 2, 12, 0,
2147 1, 4, 12, 0,
2148 2, 4, 10, 1, 11, 0,
2149 3, 2, 10, 1, 11, 2, 12, 0,
2150 2, 6, 10, -2, 13, 0,
2151 3, 5, 12, -1, 14, 2, 4, 1,
2152 3, 1, 10, 1, 11, -6, 13, 0,
2153 3, 1, 10, -2, 11, 4, 13, 0,
2154 2, 1, 10, -6, 13, 0,
2155 3, 1, 10, -1, 11, 4, 13, 0,
2156 3, 1, 10, -1, 11, -6, 13, 0,
2157 4, 1, 10, 1, 11, -2, 12, -4, 13, 0,
2158 2, 1, 10, 4, 13, 0,
2159 3, 1, 10, -2, 12, -4, 13, 0,
2160 3, 3, 10, -1, 11, 2, 13, 0,
2161 2, 2, 10, 3, 13, 0,
2162 3, 1, 10, 1, 11, 4, 13, 0,
2163 4, 1, 10, -1, 11, 2, 12, 2, 13, 0,
2164 2, 3, 10, 2, 13, 0,
2165 3, 1, 10, 2, 12, 2, 13, 0,
2166 3, 3, 10, 1, 11, 2, 13, 0,
2167 3, 1, 10, -1, 11, 4, 12, 0,
2168 1, 5, 10, 0,
2169 2, 3, 10, 2, 12, 0,
2170 2, 1, 11, -6, 13, 0,
2171 1, 6, 13, 0,
2172 3, 2, 10, -1, 11, 4, 13, 0,
2173 2, 2, 10, 4, 13, 0,
2174 2, 2, 12, 4, 13, 0,
2175 3, 4, 10, -1, 11, 2, 13, 0,
2176 3, 2, 10, 1, 11, 4, 13, 0,
2177 2, 4, 10, 2, 13, 0,
2178 3, 2, 10, 2, 12, 2, 13, 0,
2179 1, 6, 10, 0,
2180 2, 1, 10, 6, 13, 0,
2181 2, 3, 10, 4, 13, 0,
2182 2, 5, 10, 2, 13, 0,
2183 -1
2184};
2185
2186/* Total terms = 356, small = 356 */
2187static struct plantbl liblon = {
2188 /* { 0, 18, 18, 10, 3, 2, 0, 0, 0, 6, 16, 6, 6, 3,}, */
2189 /* Use max of liblon, liblat. */
2190 { 0, 18, 18, 20, 4, 2, 0, 0, 0, 9, 16, 7, 9, 9,},
2191 2,
2192 lonargs,
2193 lontabl,
2194 lontabb,
2195 lontabr,
2196 3.850000e+05,
2197 36525.0,
2198 1.0e-4,
2199};
2200
2201
2202
2203/* given a Julian date, return the lunar libration in lat and long, in rads.
2204 */
2205void
2206llibration (double JD, double *llatp, double *llonp)
2207{
2208 double lg, lt; /* arc seconds */
2209
2210 lg = gplan (JD, &liblon);
2211 lt = gplan (JD, &liblat);
2212
2213 *llonp = degrad (lg/3600.0);
2214 *llatp = degrad (lt/3600.0);
2215}
2216
2217/* For RCS Only -- Do Not Edit */
2218static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: libration.c,v $ $Date: 2006-11-22 13:53:29 $ $Revision: 1.6 $ $Name: not supported by cvs2svn $"};
Note: See TracBrowser for help on using the repository browser.