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

Last change on this file since 1783 was 1719, checked in by cmv, 24 years ago

Adapted to version 3.5 xephem cmv 22/10/2001

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