diff options
author | wkj <devnull@localhost> | 2004-04-21 02:16:43 +0000 |
---|---|---|
committer | wkj <devnull@localhost> | 2004-04-21 02:16:43 +0000 |
commit | cd5bae7871bc0f0bc68b4d2a84703929a7a3c9d1 (patch) | |
tree | 336db54785d2b77113a6e570574be715c7eb7d1d /src/cmd/astro/jup.c | |
parent | 95f57b01e21feb457e79eaf52d593422c318024f (diff) | |
download | plan9port-cd5bae7871bc0f0bc68b4d2a84703929a7a3c9d1.tar.gz plan9port-cd5bae7871bc0f0bc68b4d2a84703929a7a3c9d1.tar.bz2 plan9port-cd5bae7871bc0f0bc68b4d2a84703929a7a3c9d1.zip |
Astro with some minor changes to placate Unix.
Diffstat (limited to 'src/cmd/astro/jup.c')
-rw-r--r-- | src/cmd/astro/jup.c | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/src/cmd/astro/jup.c b/src/cmd/astro/jup.c new file mode 100644 index 00000000..a3353382 --- /dev/null +++ b/src/cmd/astro/jup.c @@ -0,0 +1,68 @@ +#include "astro.h" + +void +jup(void) +{ + double pturbl, pturbb, pturbr; + double lograd; + double dele, enom, vnom, nd, sl; + + + ecc = .0483376 + 163.e-6*capt; + incl = 1.308660 - .0055*capt; + node = 99.43785 + 1.011*capt; + argp = 12.71165 + 1.611*capt; + mrad = 5.202803; + anom = 225.22165 + .0830912*eday - .0484*capt; + motion = 299.1284/3600.; + + + anom = anom; + incl *= radian; + node *= radian; + argp *= radian; + anom = fmod(anom,360.)*radian; + + enom = anom + ecc*sin(anom); + do { + dele = (anom - enom + ecc * sin(enom)) / + (1. - ecc*cos(enom)); + enom += dele; + } while(fabs(dele) > converge); + vnom = 2.*atan2(sqrt((1.+ecc)/(1.-ecc))*sin(enom/2.), + cos(enom/2.)); + rad = mrad*(1. - ecc*cos(enom)); + + lambda = vnom + argp; + + pturbl = 0.; + + lambda += pturbl*radsec; + + pturbb = 0.; + + pturbr = 0.; + +/* + * reduce to the ecliptic + */ + + nd = lambda - node; + lambda = node + atan2(sin(nd)*cos(incl),cos(nd)); + + sl = sin(incl)*sin(nd) + pturbb*radsec; + beta = atan2(sl, pyth(sl)); + + lograd = pturbr*2.30258509; + rad *= 1. + lograd; + + + lambda += 555.*radsec; + beta -= 51.*radsec; + motion *= radian*mrad*mrad/(rad*rad); + semi = 98.47; + + mag = -8.93; + helio(); + geo(); +} |