]> git.lizzy.rs Git - plan9front.git/blob - sys/src/cmd/astro/jup.c
merge
[plan9front.git] / sys / src / cmd / astro / jup.c
1 #include "astro.h"
2
3 void
4 jup(void)
5 {
6         double pturbl, pturbb, pturbr;
7         double lograd;
8         double dele, enom, vnom, nd, sl;
9
10
11         ecc = .0483376 + 163.e-6*capt;
12         incl = 1.308660 - .0055*capt;
13         node = 99.43785 + 1.011*capt;
14         argp = 12.71165 + 1.611*capt;
15         mrad = 5.202803;
16         anom = 225.22165 + .0830912*eday - .0484*capt;
17         motion = 299.1284/3600.;
18
19
20         anom = anom;
21         incl *= radian;
22         node *= radian;
23         argp *= radian;
24         anom = fmod(anom,360.)*radian;
25
26         enom = anom + ecc*sin(anom);
27         do {
28                 dele = (anom - enom + ecc * sin(enom)) /
29                         (1. - ecc*cos(enom));
30                 enom += dele;
31         } while(fabs(dele) > converge);
32         vnom = 2.*atan2(sqrt((1.+ecc)/(1.-ecc))*sin(enom/2.),
33                 cos(enom/2.));
34         rad = mrad*(1. - ecc*cos(enom));
35
36         lambda = vnom + argp;
37
38         pturbl = 0.;
39
40         lambda += pturbl*radsec;
41
42         pturbb = 0.;
43
44         pturbr = 0.;
45
46 /*
47  *      reduce to the ecliptic
48  */
49
50         nd = lambda - node;
51         lambda = node + atan2(sin(nd)*cos(incl),cos(nd));
52
53         sl = sin(incl)*sin(nd) + pturbb*radsec;
54         beta = atan2(sl, pyth(sl));
55
56         lograd = pturbr*2.30258509;
57         rad *= 1. + lograd;
58
59
60         lambda += 555.*radsec;
61         beta -= 51.*radsec;
62         motion *= radian*mrad*mrad/(rad*rad);
63         semi = 98.47;
64
65         mag = -8.93;
66         helio();
67         geo();
68 }