1 cd5bae78 2004-04-21 devnull #include "astro.h"
6 cd5bae78 2004-04-21 devnull double pturbl, pturbb, pturbr;
7 cd5bae78 2004-04-21 devnull double lograd;
8 cd5bae78 2004-04-21 devnull double dele, enom, vnom, nd, sl;
11 cd5bae78 2004-04-21 devnull ecc = .0483376 + 163.e-6*capt;
12 cd5bae78 2004-04-21 devnull incl = 1.308660 - .0055*capt;
13 cd5bae78 2004-04-21 devnull node = 99.43785 + 1.011*capt;
14 cd5bae78 2004-04-21 devnull argp = 12.71165 + 1.611*capt;
15 cd5bae78 2004-04-21 devnull mrad = 5.202803;
16 cd5bae78 2004-04-21 devnull anom = 225.22165 + .0830912*eday - .0484*capt;
17 cd5bae78 2004-04-21 devnull motion = 299.1284/3600.;
20 cd5bae78 2004-04-21 devnull anom = anom;
21 cd5bae78 2004-04-21 devnull incl *= radian;
22 cd5bae78 2004-04-21 devnull node *= radian;
23 cd5bae78 2004-04-21 devnull argp *= radian;
24 cd5bae78 2004-04-21 devnull anom = fmod(anom,360.)*radian;
26 cd5bae78 2004-04-21 devnull enom = anom + ecc*sin(anom);
28 cd5bae78 2004-04-21 devnull dele = (anom - enom + ecc * sin(enom)) /
29 cd5bae78 2004-04-21 devnull (1. - ecc*cos(enom));
30 cd5bae78 2004-04-21 devnull enom += dele;
31 cd5bae78 2004-04-21 devnull } while(fabs(dele) > converge);
32 cd5bae78 2004-04-21 devnull vnom = 2.*atan2(sqrt((1.+ecc)/(1.-ecc))*sin(enom/2.),
33 cd5bae78 2004-04-21 devnull cos(enom/2.));
34 cd5bae78 2004-04-21 devnull rad = mrad*(1. - ecc*cos(enom));
36 cd5bae78 2004-04-21 devnull lambda = vnom + argp;
38 cd5bae78 2004-04-21 devnull pturbl = 0.;
40 cd5bae78 2004-04-21 devnull lambda += pturbl*radsec;
42 cd5bae78 2004-04-21 devnull pturbb = 0.;
44 cd5bae78 2004-04-21 devnull pturbr = 0.;
47 cd5bae78 2004-04-21 devnull * reduce to the ecliptic
50 cd5bae78 2004-04-21 devnull nd = lambda - node;
51 cd5bae78 2004-04-21 devnull lambda = node + atan2(sin(nd)*cos(incl),cos(nd));
53 cd5bae78 2004-04-21 devnull sl = sin(incl)*sin(nd) + pturbb*radsec;
54 cd5bae78 2004-04-21 devnull beta = atan2(sl, pyth(sl));
56 cd5bae78 2004-04-21 devnull lograd = pturbr*2.30258509;
57 cd5bae78 2004-04-21 devnull rad *= 1. + lograd;
60 cd5bae78 2004-04-21 devnull lambda += 555.*radsec;
61 cd5bae78 2004-04-21 devnull beta -= 51.*radsec;
62 cd5bae78 2004-04-21 devnull motion *= radian*mrad*mrad/(rad*rad);
63 cd5bae78 2004-04-21 devnull semi = 98.47;
65 cd5bae78 2004-04-21 devnull mag = -8.93;