| 1 | /* Position of outer planets; straightforward from: | 
|---|
| 2 | ftp://adc.gsfc.nasa.gov/pub/adc/archives/journal_tables/A+AS/109/181: | 
|---|
| 3 |  | 
|---|
| 4 | J/A+AS/109/181                            Planetary ephemerides (Chapront, 1995) | 
|---|
| 5 | =============================================================================== | 
|---|
| 6 | Representation of planetary ephemerides by frequency analysis. Application to | 
|---|
| 7 | the five outer planets. | 
|---|
| 8 | CHAPRONT J. | 
|---|
| 9 | <Astron. Astrophys. Suppl. Ser. 109, 181 (1995)> | 
|---|
| 10 | =1995A&AS..109..181C      (SIMBAD/NED Reference) | 
|---|
| 11 | =============================================================================== | 
|---|
| 12 |  | 
|---|
| 13 | Keywords: ephemerides - planets and satellites: general - methods: numerical | 
|---|
| 14 |  | 
|---|
| 15 | Contents: | 
|---|
| 16 | Heliocentric equatorial rectangular coordinates of the five outer planets | 
|---|
| 17 | (X, Y and Z). The source is based on DE200 (tables 4 to 7) or a reconstruction | 
|---|
| 18 | of DE200 by numerical integration (tables 9 to 13). The reference frame is | 
|---|
| 19 | the mean equator and equinox J2000 of DE200. | 
|---|
| 20 |  | 
|---|
| 21 | The general formulation of the series X is: | 
|---|
| 22 | X = SUM[i=1,Records] T**n_i*(CX_i*cos(Nu_k*t)+SX_i*sin(Nu_k*t)) | 
|---|
| 23 | The formulation is identical for Y and Z. | 
|---|
| 24 | T is the time (TDB) in Julian centuries from J2000: | 
|---|
| 25 | T = (JulianDate - 2451545.0)/36525 | 
|---|
| 26 | t is the time (TDB) in Julian years from J2000: | 
|---|
| 27 | t = (JulianDate - 2451545.0)/365.25 | 
|---|
| 28 | Nu is the frequency. Frequencies are identical for all terms of rank k: | 
|---|
| 29 | Nu_k = Nu_i when n_i = 0 | 
|---|
| 30 | For purely secular terms k = 0 and Nu_0 = 0 | 
|---|
| 31 |  | 
|---|
| 32 | =============================================================================== | 
|---|
| 33 | (End)                                          Patricia Bauer [CDS] 03-Oct-1994 | 
|---|
| 34 | */ | 
|---|
| 35 |  | 
|---|
| 36 | #define CHAP_SCALE      1e10 | 
|---|
| 37 |  | 
|---|
| 38 | /* JDs of validity period */ | 
|---|
| 39 | #define CHAP_BEGIN      (2338032.5 - MJD0)      /* 1689/3/19 */ | 
|---|
| 40 | #define CHAP_END        (2542032.5 - MJD0)      /* 2247/10/1 */ | 
|---|
| 41 |  | 
|---|
| 42 | /* coding flags */ | 
|---|
| 43 | /* calculating rates increases time by about 10% | 
|---|
| 44 | * | 
|---|
| 45 | * On an HP715/75, for pluto the times per step are 0.00049 s and 0.00057 s | 
|---|
| 46 | * This method is quite fast. | 
|---|
| 47 | */ | 
|---|
| 48 | #define CHAP_GETRATE    1 | 
|---|
| 49 |  | 
|---|
| 50 | typedef struct { | 
|---|
| 51 | short n;        /* order of time; "-1" marks end of list */ | 
|---|
| 52 | double amp[6];  /* amplitudes of cosine and sine terms for x,y,z */ | 
|---|
| 53 | /* in original order [CX,SX,CY,SY,CZ,SZ] */ | 
|---|
| 54 | double Nu;      /* Frequency Nu_k; given only at n=0 */ | 
|---|
| 55 | } chap95_rec; | 
|---|
| 56 |  | 
|---|
| 57 | extern chap95_rec chap95_jupiter[]; | 
|---|
| 58 | extern chap95_rec chap95_saturn[]; | 
|---|
| 59 | extern chap95_rec chap95_uranus[]; | 
|---|
| 60 | extern chap95_rec chap95_neptune[]; | 
|---|
| 61 | extern chap95_rec chap95_pluto[]; | 
|---|
| 62 |  | 
|---|
| 63 | extern int chap95 (double m, int obj, double prec, double *ret); | 
|---|
| 64 |  | 
|---|
| 65 |  | 
|---|
| 66 | /* For RCS Only -- Do Not Edit | 
|---|
| 67 | * @(#) $RCSfile: chap95.h,v $ $Date: 2008-03-25 17:45:11 $ $Revision: 1.7 $ $Name: not supported by cvs2svn $ | 
|---|
| 68 | */ | 
|---|