An existing product called PG Orbit (a mobile PostgreSQL client) creates a naming conflict. pg_orrery — a database orrery built from Keplerian parameters and SQL instead of brass gears. Build system: control file, Makefile, Dockerfile, docker init script. C source: GUC prefix, PG_FUNCTION_INFO_V1 symbol, header guards, ereport prefixes, comments across ~30 files including vendored SGP4. SQL: all 5 install/migration scripts, function name pg_orrery_ephemeris_info. Tests: 9 SQL suites, 8 expected outputs, standalone DE reader test. Documentation: CLAUDE.md, README.md, DESIGN.md, Starlight site infra, 36 MDX pages, OG renderer, logo SVG, docker-compose, agent threads. All 13 regression suites pass. Docs site builds (37 pages).
919 lines
52 KiB
C
919 lines
52 KiB
C
/************************************************************************
|
|
|
|
L1.2 Galilean satellite theory -- Lainey, Duriez & Vienne
|
|
|
|
Clean-room implementation for pg_orrery.
|
|
Positions and velocities of Io, Europa, Ganymede, and Callisto
|
|
relative to Jupiter's center, in VSOP87 ecliptic J2000 coordinates.
|
|
|
|
Reference:
|
|
Lainey V., Duriez L., Vienne A.
|
|
"New accurate ephemerides for the Galilean satellites of Jupiter"
|
|
Astronomy & Astrophysics, 2004
|
|
ftp://ftp.imcce.fr/pub/ephem/satel/galilean/L1/L1.2/
|
|
|
|
The theory expresses each moon's orbit using modified Delaunay
|
|
variables {a, L, K, H, Q, P}, where:
|
|
a = semi-major axis (AU)
|
|
L = mean longitude (radians)
|
|
K = e * cos(varpi) (eccentricity vector, real part)
|
|
H = e * sin(varpi) (eccentricity vector, imaginary part)
|
|
Q = sin(i/2) * cos(Omega) (inclination vector, real part)
|
|
P = sin(i/2) * sin(Omega) (inclination vector, imaginary part)
|
|
|
|
Each variable is computed as a Fourier series in time since the
|
|
theory epoch (JD 2433282.5 = 1950 Jan 1.0 TT).
|
|
|
|
Copyright (c) 2026 Ryan Malloy <ryan@supported.systems>
|
|
|
|
Permission is hereby granted, free of charge, to any person obtaining a
|
|
copy of this software and associated documentation files (the "Software"),
|
|
to deal in the Software without restriction, including without limitation
|
|
the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
|
and/or sell copies of the Software, and to permit persons to whom the
|
|
Software is furnished to do so, subject to the following conditions:
|
|
|
|
The above copyright notice and this permission notice shall be included
|
|
in all copies or substantial portions of the Software.
|
|
|
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
SOFTWARE.
|
|
|
|
Thread-safe: all functions are reentrant with no static mutable state.
|
|
|
|
****************************************************************/
|
|
|
|
#include "l12.h"
|
|
#include <math.h>
|
|
|
|
#ifndef M_PI
|
|
#define M_PI 3.14159265358979323846264338327950288
|
|
#endif
|
|
|
|
#define TWO_PI (2.0 * M_PI)
|
|
|
|
/* L1.2 theory epoch: JD 2433282.5 (1950 Jan 1.0 TT) */
|
|
#define L12_EPOCH_JD 2433282.5
|
|
|
|
/* Kepler equation convergence threshold */
|
|
#define KEPLER_TOL 1.0e-12
|
|
|
|
/* Maximum series lengths across all four moons */
|
|
#define MAX_TERMS_A 38
|
|
#define MAX_TERMS_L 36
|
|
#define MAX_TERMS_Z 50
|
|
#define MAX_TERMS_ZETA 25
|
|
|
|
/*
|
|
* A single Fourier term: amplitude * trig(phase + frequency * t)
|
|
*
|
|
* For semi-major axis 'a': amplitude * cos(phase + freq * t)
|
|
* For mean longitude 'L': amplitude * sin(phase + freq * t)
|
|
* For complex eccentricity 'z': amplitude * cos/sin(phase + freq * t)
|
|
* For complex inclination 'zeta': amplitude * cos/sin(phase + freq * t)
|
|
*/
|
|
typedef struct {
|
|
double amp;
|
|
double phi;
|
|
double nu;
|
|
} l12_fourier_term;
|
|
|
|
/*
|
|
* All theory data for one Galilean moon.
|
|
*/
|
|
typedef struct {
|
|
double grav_param; /* mu: GM_Jupiter in AU^3/day^2 */
|
|
double lon0; /* mean longitude at epoch (rad) */
|
|
double lon_rate; /* mean longitude rate (rad/day) */
|
|
|
|
int n_a; /* number of semi-major axis terms */
|
|
int n_l; /* number of mean longitude terms */
|
|
int n_z; /* number of eccentricity terms */
|
|
int n_zeta; /* number of inclination terms */
|
|
|
|
l12_fourier_term fa[MAX_TERMS_A];
|
|
l12_fourier_term fl[MAX_TERMS_L];
|
|
l12_fourier_term fz[MAX_TERMS_Z];
|
|
l12_fourier_term fzeta[MAX_TERMS_ZETA];
|
|
} l12_moon_data;
|
|
|
|
|
|
/*
|
|
* Rotation matrix: L1.2 reference frame -> VSOP87 ecliptic J2000
|
|
*
|
|
* This is the product of the equatorial-to-ecliptic rotation
|
|
* evaluated at J2000, representing the physical orientation of
|
|
* Jupiter's Laplacian plane relative to the ecliptic. These nine
|
|
* values are an astronomical coordinate transform (physical constant).
|
|
*
|
|
* Stored row-major: row i, col j = rot_l12_to_vsop87[3*i + j]
|
|
*/
|
|
static const double rot_l12_to_vsop87[9] = {
|
|
9.994327815023905713e-01,
|
|
3.039550993390781261e-02,
|
|
-1.449924943755843383e-02,
|
|
-3.089770442223671880e-02,
|
|
9.988822846893227815e-01,
|
|
-3.577028369016394015e-02,
|
|
1.339578739122566807e-02,
|
|
3.619798764705610479e-02,
|
|
9.992548516622136737e-01
|
|
};
|
|
|
|
|
|
/*
|
|
* Convert modified Delaunay elements to position and velocity.
|
|
*
|
|
* Elements: {a, L, K, H, Q, P} where
|
|
* a = semi-major axis
|
|
* L = mean longitude
|
|
* K = e*cos(varpi), H = e*sin(varpi)
|
|
* Q = sin(i/2)*cos(Omega), P = sin(i/2)*sin(Omega)
|
|
*
|
|
* The mean anomaly in modified Delaunay variables is simply L
|
|
* (since the perturbation series already accounts for the
|
|
* longitude of periapse through K and H).
|
|
*
|
|
* Kepler's equation in K,H form:
|
|
* E = L + K*sin(E) - H*cos(E)
|
|
* where E is the eccentric longitude (not anomaly).
|
|
*/
|
|
static void
|
|
delaunay_to_cartesian(double grav_param, const double elems[6],
|
|
double pos[3], double vel[3])
|
|
{
|
|
double sma, mean_lon, kk, hh, qq, pp;
|
|
double mean_mot, ecc_lon, cos_e, sin_e;
|
|
double delta, dle, rsm1, inv_r_over_a;
|
|
double phi_ecc, psi_fac;
|
|
double xp, yp, vxp, vyp;
|
|
double f2, one_m_2pp, one_m_2qq, two_pq;
|
|
int iter;
|
|
|
|
sma = elems[0];
|
|
mean_lon = elems[1];
|
|
kk = elems[2];
|
|
hh = elems[3];
|
|
qq = elems[4];
|
|
pp = elems[5];
|
|
|
|
/* mean motion from Kepler's third law */
|
|
mean_mot = sqrt(grav_param / (sma * sma * sma));
|
|
|
|
/* solve generalized Kepler equation:
|
|
* E = L + K*sin(E) - H*cos(E)
|
|
* using Newton-Raphson iteration */
|
|
ecc_lon = mean_lon + kk * sin(mean_lon) - hh * cos(mean_lon);
|
|
for (iter = 0; iter < 20; iter++) {
|
|
cos_e = cos(ecc_lon);
|
|
sin_e = sin(ecc_lon);
|
|
delta = (mean_lon - ecc_lon + kk * sin_e - hh * cos_e)
|
|
/ (1.0 - kk * cos_e - hh * sin_e);
|
|
ecc_lon += delta;
|
|
if (fabs(delta) <= KEPLER_TOL)
|
|
break;
|
|
}
|
|
|
|
cos_e = cos(ecc_lon);
|
|
sin_e = sin(ecc_lon);
|
|
|
|
/* auxiliary quantities */
|
|
dle = hh * cos_e - kk * sin_e;
|
|
rsm1 = -kk * cos_e - hh * sin_e; /* (r/a - 1) */
|
|
inv_r_over_a = 1.0 / (1.0 + rsm1); /* a/r */
|
|
|
|
/* eccentricity-related factor */
|
|
phi_ecc = sqrt(1.0 - kk * kk - hh * hh);
|
|
psi_fac = 1.0 / (1.0 + phi_ecc);
|
|
|
|
/* position in orbital plane */
|
|
xp = sma * (cos_e - kk - psi_fac * hh * dle);
|
|
yp = sma * (sin_e - hh + psi_fac * kk * dle);
|
|
|
|
/* velocity in orbital plane */
|
|
vxp = mean_mot * inv_r_over_a * sma * (-sin_e - psi_fac * hh * rsm1);
|
|
vyp = mean_mot * inv_r_over_a * sma * ( cos_e + psi_fac * kk * rsm1);
|
|
|
|
/* rotate from orbital plane to 3D using Q, P (inclination vector) */
|
|
f2 = 2.0 * sqrt(1.0 - qq * qq - pp * pp);
|
|
one_m_2pp = 1.0 - 2.0 * pp * pp;
|
|
one_m_2qq = 1.0 - 2.0 * qq * qq;
|
|
two_pq = 2.0 * pp * qq;
|
|
|
|
pos[0] = xp * one_m_2pp + yp * two_pq;
|
|
pos[1] = xp * two_pq + yp * one_m_2qq;
|
|
pos[2] = (qq * yp - xp * pp) * f2;
|
|
|
|
vel[0] = vxp * one_m_2pp + vyp * two_pq;
|
|
vel[1] = vxp * two_pq + vyp * one_m_2qq;
|
|
vel[2] = (qq * vyp - vxp * pp) * f2;
|
|
}
|
|
|
|
|
|
/*
|
|
* Apply 3x3 rotation matrix to a 3-vector.
|
|
*/
|
|
static void
|
|
rotate_vec(const double mat[9], const double in[3], double out[3])
|
|
{
|
|
out[0] = mat[0] * in[0] + mat[1] * in[1] + mat[2] * in[2];
|
|
out[1] = mat[3] * in[0] + mat[4] * in[1] + mat[5] * in[2];
|
|
out[2] = mat[6] * in[0] + mat[7] * in[1] + mat[8] * in[2];
|
|
}
|
|
|
|
|
|
/* forward declaration -- data defined below */
|
|
static const l12_moon_data galilean_moons[4];
|
|
|
|
|
|
/*
|
|
* Evaluate the L1.2 Fourier series and compute Cartesian
|
|
* position/velocity for one Galilean moon.
|
|
*/
|
|
void
|
|
GetL12Coor(double jd, int body, double *xyz, double *xyzdot)
|
|
{
|
|
const l12_moon_data *md;
|
|
double dt, angle, accum, re, im;
|
|
double elems[6];
|
|
double body_pos[3], body_vel[3];
|
|
int j;
|
|
|
|
/* select moon data (bounds check) */
|
|
if (body < 0 || body > 3)
|
|
return;
|
|
md = &galilean_moons[body];
|
|
|
|
/* time since L1.2 epoch in days */
|
|
dt = jd - L12_EPOCH_JD;
|
|
|
|
/*
|
|
* 1. Semi-major axis: sum of cosine terms
|
|
* a = sum_j amp_j * cos(phi_j + nu_j * dt)
|
|
*/
|
|
accum = 0.0;
|
|
for (j = 0; j < md->n_a; j++) {
|
|
angle = md->fa[j].phi + md->fa[j].nu * dt;
|
|
accum += md->fa[j].amp * cos(angle);
|
|
}
|
|
elems[0] = accum;
|
|
|
|
/*
|
|
* 2. Mean longitude: linear trend + sine series
|
|
* L = lon0 + lon_rate * dt + sum_j amp_j * sin(phi_j + nu_j * dt)
|
|
*/
|
|
accum = md->lon0 + md->lon_rate * dt;
|
|
for (j = 0; j < md->n_l; j++) {
|
|
angle = md->fl[j].phi + md->fl[j].nu * dt;
|
|
accum += md->fl[j].amp * sin(angle);
|
|
}
|
|
accum = fmod(accum, TWO_PI);
|
|
if (accum < 0.0)
|
|
accum += TWO_PI;
|
|
elems[1] = accum;
|
|
|
|
/*
|
|
* 3. Complex eccentricity z = K + iH = sum_j amp_j * exp(i*(phi_j + nu_j*dt))
|
|
* K = sum amp * cos(angle), H = sum amp * sin(angle)
|
|
*/
|
|
re = 0.0;
|
|
im = 0.0;
|
|
for (j = 0; j < md->n_z; j++) {
|
|
angle = md->fz[j].phi + md->fz[j].nu * dt;
|
|
re += md->fz[j].amp * cos(angle);
|
|
im += md->fz[j].amp * sin(angle);
|
|
}
|
|
elems[2] = re;
|
|
elems[3] = im;
|
|
|
|
/*
|
|
* 4. Complex inclination zeta = Q + iP = sum_j amp_j * exp(i*(phi_j + nu_j*dt))
|
|
* Q = sum amp * cos(angle), P = sum amp * sin(angle)
|
|
*/
|
|
re = 0.0;
|
|
im = 0.0;
|
|
for (j = 0; j < md->n_zeta; j++) {
|
|
angle = md->fzeta[j].phi + md->fzeta[j].nu * dt;
|
|
re += md->fzeta[j].amp * cos(angle);
|
|
im += md->fzeta[j].amp * sin(angle);
|
|
}
|
|
elems[4] = re;
|
|
elems[5] = im;
|
|
|
|
/* convert elements to position/velocity in L1.2 frame */
|
|
delaunay_to_cartesian(md->grav_param, elems, body_pos, body_vel);
|
|
|
|
/* rotate from L1.2 frame to VSOP87 ecliptic J2000 */
|
|
rotate_vec(rot_l12_to_vsop87, body_pos, xyz);
|
|
|
|
if (xyzdot)
|
|
rotate_vec(rot_l12_to_vsop87, body_vel, xyzdot);
|
|
}
|
|
|
|
|
|
/* ================================================================
|
|
* Theory coefficients for the four Galilean moons.
|
|
*
|
|
* These are astronomical constants derived from fitting
|
|
* observations of the Galilean satellite system. They represent
|
|
* physical measurements of orbital parameters and are scientific
|
|
* data, not copyrightable expression.
|
|
*
|
|
* Source: L1.2 theory data files
|
|
* ftp://ftp.imcce.fr/pub/ephem/satel/galilean/L1/L1.2/
|
|
* ================================================================
|
|
*/
|
|
static const l12_moon_data galilean_moons[4] = {
|
|
|
|
/* ---- Io (J-I) ---- */
|
|
{
|
|
/* grav_param */ 0.2824894284338140e-06,
|
|
/* lon0 */ 0.1446213296021224e+01,
|
|
/* lon_rate */ 0.3551552286182400e+01,
|
|
/* n_a */ 38, /* n_l */ 32, /* n_z */ 23, /* n_zeta */ 15,
|
|
|
|
/* semi-major axis cosine series (38 terms) */
|
|
{
|
|
{ 0.0028210960212903, 0.00000000000000e+00, 0.00000000000000e+00},
|
|
{ 0.0000000762024588, 0.36392902322306e+01, 0.35644591656241e+01},
|
|
{ 0.0000000180900324, 0.99554707056522e+00, 0.71289183312483e+01},
|
|
{ 0.0000000172337652, 0.18196487820921e+01, 0.17822295777568e+01},
|
|
{ 0.0000000101726080, 0.28150559763861e+01, 0.89111478635073e+01},
|
|
{ 0.0000000094794086, 0.34760224933239e+01, 0.80200331112799e+01},
|
|
{ 0.0000000092196266, 0.46347004953370e+01, 0.10693377436209e+02},
|
|
{ 0.0000000058581604, 0.11586746335276e+01, 0.26733443704266e+01},
|
|
{-0.0000000036218148, 0.23173675289588e+01, 0.53466887181044e+01},
|
|
{ 0.0000000034892754, 0.17122470613669e+00, 0.12475607079684e+02},
|
|
{ 0.0000000030842852, 0.36170311370435e+01, 0.63501320826717e+01},
|
|
{ 0.0000000020794650, 0.19906655633153e+01, 0.14257836656755e+02},
|
|
{ 0.0000000013655244, 0.49369712857369e+01, 0.13584836518140e-01},
|
|
{ 0.0000000011682572, 0.57934065580556e+01, 0.13366721796637e+02},
|
|
{-0.0000000008031976, 0.66879731833041e+00, 0.16040066232595e+02},
|
|
{ 0.0000000007309510, 0.56300556878949e+01, 0.17822295806244e+02},
|
|
{ 0.0000000007014118, 0.43297377080515e+01, 0.71002044886497e+01},
|
|
{ 0.0000000006561624, 0.43188797534991e+01, 0.13034138433510e-01},
|
|
{ 0.0000000005753088, 0.54252179509841e+01, 0.95251981240076e+01},
|
|
{ 0.0000000004359548, 0.11670110887440e+01, 0.19604525331797e+02},
|
|
{ 0.0000000003711992, 0.14936154077537e+01, 0.12938928912340e-01},
|
|
{-0.0000000003412576, 0.26346374300664e+01, 0.15571117257960e-01},
|
|
{ 0.0000000003432980, 0.17994723387341e+01, 0.31750663461810e+01},
|
|
{ 0.0000000003228344, 0.29861854159944e+01, 0.21386754933987e+02},
|
|
{ 0.0000000003014418, 0.19871924348983e+00, 0.24675315510310e-01},
|
|
{ 0.0000000001707670, 0.50718778620273e+01, 0.35514255456604e+01},
|
|
{ 0.0000000001655832, 0.29783205832994e+01, 0.44555739317536e+01},
|
|
{ 0.0000000001612910, 0.48058392680935e+01, 0.23168984521460e+02},
|
|
{ 0.0000000001527992, 0.18275651107267e+01, 0.18713410599600e+02},
|
|
{ 0.0000000001523312, 0.46323297275220e+01, 0.44686092108182e+01},
|
|
{ 0.0000000001449720, 0.19079860214667e+01, 0.30506511533200e-02},
|
|
{ 0.0000000001188688, 0.53321680658912e+01, 0.70987549449082e+01},
|
|
{ 0.0000000001129258, 0.95031497804420e+00, 0.12700264165343e+02},
|
|
{ 0.0000000000986086, 0.34190944178580e+00, 0.24951214111224e+02},
|
|
{-0.0000000000877720, 0.36228267942948e+01, 0.17958145576535e+01},
|
|
{ 0.0000000000857194, 0.33682834215727e+01, 0.59736711266730e+01},
|
|
{-0.0000000000545492, 0.19473964103154e+01, 0.22929425718040e-01},
|
|
{ 0.0000000000326102, 0.24880420823571e+01, 0.25119610718870e-01}
|
|
},
|
|
|
|
/* mean longitude sine series (32 terms) */
|
|
{
|
|
{-0.0001925258348666, 0.49369589722645e+01, 0.13584836583050e-01},
|
|
{-0.0000970803596076, 0.43188796477322e+01, 0.13034138432430e-01},
|
|
{-0.0000898817416500, 0.19080016428617e+01, 0.30506486715800e-02},
|
|
{-0.0000553101050262, 0.14936156681569e+01, 0.12938928911550e-01},
|
|
{-0.0000503584426150, 0.36410196089987e+01, 0.35644591049605e+01},
|
|
{-0.0000444412770116, 0.18196478828985e+01, 0.17822295777568e+01},
|
|
{ 0.0000418078870490, 0.26346334480977e+01, 0.15571117221300e-01},
|
|
{ 0.0000372356597388, 0.21402440902650e+01, 0.14500977488900e-02},
|
|
{-0.0000234440533016, 0.19871945729267e+00, 0.24675315507400e-01},
|
|
{-0.0000160313164240, 0.28203470990931e+01, 0.95196190000000e-04},
|
|
{-0.0000119049755698, 0.99521552502799e+00, 0.71289183312483e+01},
|
|
{-0.0000109014269320, 0.11586742711973e+01, 0.26733443704266e+01},
|
|
{ 0.0000087217118104, 0.22995085327344e+01, 0.44456805185000e-03},
|
|
{ 0.0000082229455492, 0.84723690387904e+00, 0.54980078903000e-03},
|
|
{ 0.0000075365481720, 0.30644603245150e+01, 0.64826749624000e-03},
|
|
{-0.0000061452803962, 0.28150499448772e+01, 0.89111478635073e+01},
|
|
{-0.0000057575824778, 0.34760236756099e+01, 0.80200331112799e+01},
|
|
{-0.0000053196302672, 0.14952058549171e+01, 0.29001290992300e-02},
|
|
{-0.0000051181206936, 0.46347077042449e+01, 0.10693377436209e+02},
|
|
{-0.0000047817413326, 0.49236512419835e+01, 0.30554833877800e-02},
|
|
{ 0.0000045554015322, 0.19585097634352e+01, 0.22928625941210e-01},
|
|
{ 0.0000043204134698, 0.15842888614383e+01, 0.15677112478190e-01},
|
|
{ 0.0000037684098282, 0.23173652780077e+01, 0.53466887181044e+01},
|
|
{-0.0000031403738248, 0.22184076281042e+01, 0.25155489165510e-01},
|
|
{ 0.0000024336535428, 0.85320650238886e+00, 0.25426968834400e-02},
|
|
{-0.0000020289901692, 0.36168998565188e+01, 0.63501320826717e+01},
|
|
{ 0.0000018665438704, 0.48458061649481e+01, 0.13589674898130e-01},
|
|
{-0.0000018552431038, 0.17086811529922e+00, 0.12475607079684e+02},
|
|
{-0.0000016229875536, 0.62803206871082e+01, 0.60414171604000e-03},
|
|
{-0.0000013160987604, 0.14718125754925e+01, 0.14358460012320e-01},
|
|
{ 0.0000008070729808, 0.38735416148641e+00, 0.37658680379100e-02},
|
|
{ 0.0000002602397658, 0.14337589305551e+01, 0.45692429208000e-02}
|
|
},
|
|
|
|
/* complex eccentricity cos/sin series (23 terms) */
|
|
{
|
|
{ 0.0041510849668155, 0.40899396355450e+01, -0.12906864146660e-01},
|
|
{ 0.0006260521444113, 0.14461888986270e+01, 0.35515522949802e+01},
|
|
{ 0.0000352747346169, 0.21256287034578e+01, 0.12727416567000e-03},
|
|
{ 0.0000198194483636, 0.55835619926762e+01, 0.32065751140000e-04},
|
|
{ 0.0000146399842989, 0.44137212696837e+00, 0.26642533547700e-02},
|
|
{ 0.0000098749504021, 0.45076118781320e+00, -0.35773660260022e+01},
|
|
{-0.0000096819265753, 0.59097266550442e+01, 0.17693227079462e+01},
|
|
{-0.0000083063168209, 0.28751474873012e+00, 0.87820791951527e+00},
|
|
{ 0.0000059689735869, 0.50740752477871e+01, 0.71160118048918e+01},
|
|
{-0.0000052220588690, 0.27460731023666e+01, 0.67796100936000e-03},
|
|
{ 0.0000046538995236, 0.49143203339385e+01, -0.53595956184347e+01},
|
|
{ 0.0000045951340101, 0.42533513770304e+01, -0.44684808200578e+01},
|
|
{-0.0000037711061757, 0.54120093562773e+01, -0.17951364445825e+01},
|
|
{ 0.0000037405126681, 0.30946737347297e+01, -0.71418251640916e+01},
|
|
{ 0.0000022044764663, 0.54360702580001e+01, -0.26491700241240e-01},
|
|
{ 0.0000018698303790, 0.41124042914226e+01, -0.27985797954589e+01},
|
|
{-0.0000015410375360, 0.27141931505529e+01, 0.27731236679900e-02},
|
|
{ 0.0000013214613496, 0.12750177723530e+01, -0.89240547799787e+01},
|
|
{-0.0000012707585609, 0.51141075152507e+01, 0.37654227378982e+00},
|
|
{ 0.0000012193607962, 0.59977053365953e+01, -0.98566169956900e-02},
|
|
{-0.0000011886104747, 0.32658350285168e+01, 0.53337818460633e+01},
|
|
{ 0.0000008742035177, 0.23903528311144e+01, 0.25194921818800e-02},
|
|
{-0.0000007689215742, 0.38308837306225e+01, -0.27293225500100e-02}
|
|
},
|
|
|
|
/* complex inclination cos/sin series (15 terms) */
|
|
{
|
|
{ 0.0003142172466014, 0.27964219722923e+01, -0.23150960980000e-02},
|
|
{ 0.0000904169207946, 0.10477061879627e+01, -0.56920638196000e-03},
|
|
{ 0.0000175695395780, 0.24150809680215e+01, 0.00000000000000e+00},
|
|
{ 0.0000164452324013, 0.33368861773902e+01, -0.12491307197000e-03},
|
|
{ 0.0000055424829091, 0.59720202381027e+01, -0.30561164720000e-04},
|
|
{ 0.0000035856270353, 0.84898736841329e+00, -0.25244521900630e-01},
|
|
{ 0.0000024180760140, 0.55603770950923e+01, 0.29003681445800e-02},
|
|
{-0.0000008673084930, 0.28496686106299e+00, -0.14500593353200e-02},
|
|
{-0.0000003176227277, 0.53834633036029e+01, -0.23498632298700e-01},
|
|
{ 0.0000003152816608, 0.45569499027478e+01, 0.43504654304000e-02},
|
|
{ 0.0000002338676726, 0.17633292120047e+01, 0.14501339138600e-02},
|
|
{ 0.0000001754553689, 0.48429319984493e+01, -0.25688816532440e-01},
|
|
{ 0.0000001286319583, 0.57543347143871e+01, -0.25813660979740e-01},
|
|
{ 0.0000000967213304, 0.11503592426900e+01, -0.29001471397800e-02},
|
|
{ 0.0000000000692310, 0.40745966852008e+01, -0.32506757319070e-01}
|
|
}
|
|
},
|
|
|
|
/* ---- Europa (J-II) ---- */
|
|
{
|
|
/* grav_param */ 0.2824832743928930e-06,
|
|
/* lon0 */ -0.3735263437471362e+00,
|
|
/* lon_rate */ 0.1769322711123470e+01,
|
|
/* n_a */ 38, /* n_l */ 36, /* n_z */ 41, /* n_zeta */ 25,
|
|
|
|
/* semi-major axis cosine series (38 terms) */
|
|
{
|
|
{ 0.0044871037804314, 0.00000000000000e+00, 0.00000000000000e+00},
|
|
{ 0.0000004324367498, 0.18196456062910e+01, 0.17822295777568e+01},
|
|
{ 0.0000001603614750, 0.43002726529577e+01, 0.26733443704266e+01},
|
|
{-0.0000001019146786, 0.54589480865442e+01, 0.53466887181044e+01},
|
|
{ 0.0000000924734786, 0.56222139048906e+01, 0.89111478887838e+00},
|
|
{-0.0000000523665800, 0.36392846323417e+01, 0.35644591656241e+01},
|
|
{ 0.0000000511509000, 0.29783307371014e+01, 0.44555739317536e+01},
|
|
{-0.0000000311907780, 0.99466557754027e+00, 0.71289183312483e+01},
|
|
{-0.0000000272859938, 0.28144480309092e+01, 0.89111478635073e+01},
|
|
{ 0.0000000232225828, 0.62608434364366e+01, 0.27856729211550e+01},
|
|
{-0.0000000181310770, 0.43188692380649e+01, 0.13034138308860e-01},
|
|
{ 0.0000000174960544, 0.16563941638726e+01, 0.62378035398422e+01},
|
|
{-0.0000000122874072, 0.46421290370833e+01, 0.10693377254218e+02},
|
|
{-0.0000000095367130, 0.14936536615312e+01, 0.12938928820690e-01},
|
|
{-0.0000000084863836, 0.17146854643555e+00, 0.12475607079684e+02},
|
|
{ 0.0000000071939342, 0.49376739095661e+01, 0.13584833017030e-01},
|
|
{ 0.0000000069122354, 0.62488746138492e+01, 0.41785094280464e+01},
|
|
{ 0.0000000061377568, 0.33434976298081e+00, 0.80200331112799e+01},
|
|
{-0.0000000045343054, 0.19892156959655e+01, 0.14257836656755e+02},
|
|
{ 0.0000000044574684, 0.34597804303324e+00, 0.35357692227539e+01},
|
|
{ 0.0000000042350072, 0.62719655202169e+01, 0.13928364636651e+01},
|
|
{-0.0000000028783772, 0.38108811302610e+01, 0.16040066232595e+02},
|
|
{ 0.0000000024354662, 0.99587190880214e+00, 0.90414989297380e+00},
|
|
{ 0.0000000022532940, 0.52958965893939e+01, 0.98022627054664e+01},
|
|
{ 0.0000000021573570, 0.62379050559630e+01, 0.55713458670107e+01},
|
|
{-0.0000000016530062, 0.56456686036734e+01, 0.17822294694543e+02},
|
|
{ 0.0000000016464798, 0.26346435392424e+01, 0.15571117126760e-01},
|
|
{ 0.0000000011589838, 0.32732388195745e+01, 0.17691951440716e+01},
|
|
{-0.0000000010251826, 0.19079858535660e+01, 0.30506497838200e-02},
|
|
{-0.0000000010203510, 0.11692020351116e+01, 0.19604525194172e+02},
|
|
{ 0.0000000007614982, 0.16862812414995e+01, 0.35342961443230e+01},
|
|
{ 0.0000000007104494, 0.59112717191092e+01, 0.24092214574831e+01},
|
|
{-0.0000000006957184, 0.24879412197796e+01, 0.25119609730670e-01},
|
|
{-0.0000000005817914, 0.19872303312324e+00, 0.24675315511270e-01},
|
|
{-0.0000000003792178, 0.15765189821595e+01, 0.25244441830200e-01},
|
|
{ 0.0000000003397378, 0.58126953372535e+01, 0.25973067138760e-01},
|
|
{ 0.0000000003159492, 0.23545476741301e+01, 0.26068277099550e-01},
|
|
{ 0.0000000002538154, 0.19471441186087e+01, 0.22929424919760e-01}
|
|
},
|
|
|
|
/* mean longitude sine series (36 terms) */
|
|
{
|
|
{ 0.0008576433172936, 0.43188693178264e+01, 0.13034138308050e-01},
|
|
{ 0.0004549582875086, 0.14936531751079e+01, 0.12938928819620e-01},
|
|
{ 0.0003248939825174, 0.18196494533458e+01, 0.17822295777568e+01},
|
|
{-0.0003074250079334, 0.49377037005911e+01, 0.13584832867240e-01},
|
|
{ 0.0001982386144784, 0.19079869054760e+01, 0.30510121286900e-02},
|
|
{ 0.0001834063551804, 0.21402853388529e+01, 0.14500978933800e-02},
|
|
{-0.0001434383188452, 0.56222140366630e+01, 0.89111478887838e+00},
|
|
{-0.0000771939140944, 0.43002724372350e+01, 0.26733443704266e+01},
|
|
{-0.0000632289777196, 0.26346392822098e+01, 0.15571117084700e-01},
|
|
{ 0.0000446766477388, 0.54589448561143e+01, 0.53466887181044e+01},
|
|
{ 0.0000436574731410, 0.36392908617709e+01, 0.35644591656241e+01},
|
|
{ 0.0000349172750296, 0.28289867162553e+01, 0.29885749150000e-04},
|
|
{-0.0000325709094646, 0.53721409780230e+01, 0.12495233774000e-03},
|
|
{ 0.0000205826473860, 0.15258464215508e+01, 0.29001315522200e-02},
|
|
{-0.0000192706087556, 0.29783311531879e+01, 0.44555739317536e+01},
|
|
{ 0.0000168028316254, 0.24879414119403e+01, 0.25119609725650e-01},
|
|
{-0.0000141628733606, 0.29183576504413e+01, 0.64930403718000e-03},
|
|
{ 0.0000140713155600, 0.19872319369353e+00, 0.24675315510310e-01},
|
|
{ 0.0000131946915760, 0.99584744364935e+00, 0.71289183312483e+01},
|
|
{ 0.0000106598617620, 0.53356907396678e+01, 0.30233219231900e-02},
|
|
{-0.0000104011727738, 0.62608296198866e+01, 0.27856729211550e+01},
|
|
{ 0.0000100746080234, 0.44288900030073e+01, 0.55297871931000e-03},
|
|
{ 0.0000097414019416, 0.27312462188296e+01, 0.89111510230745e+01},
|
|
{-0.0000094651366640, 0.25010358163865e+01, 0.93478322470000e-04},
|
|
{ 0.0000091108073324, 0.15765182522628e+01, 0.25244441682120e-01},
|
|
{-0.0000087720567668, 0.15376962386886e+01, 0.15676393315070e-01},
|
|
{-0.0000078429703340, 0.58128473756772e+01, 0.25973069246350e-01},
|
|
{-0.0000075566039418, 0.30586251688920e+01, 0.43252872559000e-03},
|
|
{-0.0000066580990752, 0.19591270593390e+01, 0.22928567412490e-01},
|
|
{-0.0000065854142774, 0.18617673337640e+01, 0.26093058384670e-01},
|
|
{-0.0000058131135230, 0.16563893807978e+01, 0.62378035398422e+01},
|
|
{ 0.0000055720865276, 0.39565695752204e+01, 0.25481216339900e-02},
|
|
{-0.0000048198508906, 0.62720230965345e+01, 0.13928364605775e+01},
|
|
{ 0.0000042728431266, 0.46220912946918e+01, 0.10693377982182e+02},
|
|
{ 0.0000042175545304, 0.13509343368359e+01, 0.30164435787800e-02},
|
|
{ 0.0000037707624520, 0.51034507119889e+01, 0.25219658202250e-01}
|
|
},
|
|
|
|
/* complex eccentricity cos/sin series (41 terms) */
|
|
{
|
|
{-0.0093589104136341, 0.40899396509039e+01, -0.12906864146660e-01},
|
|
{ 0.0002988994545555, 0.59097265185595e+01, 0.17693227079462e+01},
|
|
{ 0.0002139036390350, 0.21256289300016e+01, 0.12727418407000e-03},
|
|
{ 0.0001980963564781, 0.27435168292650e+01, 0.67797343009000e-03},
|
|
{ 0.0001210388158965, 0.55839943711203e+01, 0.32056614900000e-04},
|
|
{ 0.0000837042048393, 0.16094538368039e+01, -0.90402165808846e+00},
|
|
{ 0.0000823525166369, 0.14461887708689e+01, 0.35515522949802e+01},
|
|
{-0.0000315906532820, 0.28751224400811e+00, 0.87820791951527e+00},
|
|
{-0.0000294503681314, 0.45078002968967e+00, -0.35773660260022e+01},
|
|
{-0.0000278946698536, 0.22704374310903e+01, -0.17951364497113e+01},
|
|
{ 0.0000144958688621, 0.29313956641719e+01, -0.26862512422390e+01},
|
|
{ 0.0000139052321679, 0.60542576187622e+01, -0.25941002404500e-01},
|
|
{ 0.0000108374431350, 0.59320761116863e+01, -0.10163502160128e+01},
|
|
{-0.0000082175838585, 0.49144730088838e+01, -0.53595956184347e+01},
|
|
{ 0.0000073925894084, 0.25962855881215e+01, -0.25845792927870e-01},
|
|
{ 0.0000062618381566, 0.62252936384007e+01, -0.71418248393794e+01},
|
|
{-0.0000051968296512, 0.54353355159239e+01, -0.26491696725040e-01},
|
|
{-0.0000043507065743, 0.51150292346242e+01, 0.37654221060604e+00},
|
|
{ 0.0000042081682285, 0.31202613836361e+01, 0.44427230757158e+01},
|
|
{ 0.0000041298266970, 0.42533371370636e+01, -0.44684808200578e+01},
|
|
{-0.0000036991221930, 0.52487564172390e+01, 0.26604375002057e+01},
|
|
{-0.0000027357551003, 0.12734806685602e+01, -0.89240546532297e+01},
|
|
{-0.0000026854901206, 0.75596663258784e+00, 0.15806953180460e-01},
|
|
{ 0.0000023074479953, 0.19438998534712e+01, 0.71160114825227e+01},
|
|
{ 0.0000020163445050, 0.58484195254467e+01, -0.24091843401454e+01},
|
|
{-0.0000018506530067, 0.26838225102582e+01, 0.68236609075000e-03},
|
|
{ 0.0000018159137522, 0.26048690461733e+01, 0.62248966818788e+01},
|
|
{-0.0000017894118824, 0.57385537790777e+01, -0.10706284328884e+02},
|
|
{ 0.0000016518864520, 0.32658492478888e+01, 0.53337818460633e+01},
|
|
{-0.0000015660692561, 0.61789350505156e+01, -0.11453588847960e-01},
|
|
{ 0.0000014426949422, 0.60014075911383e+01, -0.17664769149811e+01},
|
|
{ 0.0000013196935928, 0.55753025652974e+01, -0.62507103665413e+01},
|
|
{-0.0000011726743714, 0.50242932747650e+01, -0.14351210704140e-01},
|
|
{-0.0000009550285338, 0.28409403047363e+01, 0.14257595044900e-02},
|
|
{-0.0000007569857746, 0.38098760906143e+01, -0.27271627793800e-02},
|
|
{-0.0000007495662748, 0.29896372346394e+01, 0.20097553243900e-02},
|
|
{ 0.0000007091149133, 0.27139331814919e+01, -0.19924932783300e-02},
|
|
{ 0.0000005646670312, 0.21683602575236e+01, -0.12871803232940e-01},
|
|
{-0.0000002004455524, 0.12893849410519e+01, -0.32724923477800e-02},
|
|
{-0.0000001623489363, 0.24189454629613e+00, 0.44609337678800e-02},
|
|
{ 0.0000001058862562, 0.45356953407129e+01, 0.39269908172100e-02}
|
|
},
|
|
|
|
/* complex inclination cos/sin series (25 terms) */
|
|
{
|
|
{ 0.0040404917832303, 0.10477063169425e+01, -0.56920640540000e-03},
|
|
{ 0.0002200421034564, 0.33368857864364e+01, -0.12491307307000e-03},
|
|
{ 0.0001662544744719, 0.24134862374711e+01, 0.00000000000000e+00},
|
|
{ 0.0000590282470983, 0.59719930968366e+01, -0.30561602250000e-04},
|
|
{-0.0000105030331400, 0.27964978379152e+01, -0.23150966123800e-02},
|
|
{-0.0000102943248250, 0.84898796322150e+00, -0.25244521901650e-01},
|
|
{ 0.0000072600013020, 0.55603730312676e+01, 0.29003676713100e-02},
|
|
{ 0.0000018391258758, 0.28480515491153e+00, -0.14500579196900e-02},
|
|
{ 0.0000014880605763, 0.48429974929766e+01, -0.25688815138710e-01},
|
|
{-0.0000008828196274, 0.65011185407635e+00, 0.34696170683100e-02},
|
|
{ 0.0000008714042768, 0.17639430319108e+01, 0.14501352157600e-02},
|
|
{ 0.0000008536188044, 0.45568506666427e+01, 0.43504641410100e-02},
|
|
{ 0.0000006846214331, 0.57542117253981e+01, -0.25813768702630e-01},
|
|
{ 0.0000004471826348, 0.53834694321520e+01, -0.23498632366370e-01},
|
|
{ 0.0000003034392168, 0.22078201315180e+01, -0.25783170906020e-01},
|
|
{ 0.0000001799083735, 0.31858868501531e+01, 0.88086056517000e-03},
|
|
{-0.0000001792048645, 0.51949494917342e+01, -0.20193236931900e-02},
|
|
{-0.0000001098546626, 0.59286821904995e+01, 0.49197316579700e-02},
|
|
{-0.0000001083128732, 0.45808061408794e+01, -0.59959459406000e-03},
|
|
{ 0.0000001062153531, 0.38387102863271e+01, -0.53795085847000e-03},
|
|
{ 0.0000000768496749, 0.35553768729770e+01, 0.58005587812700e-02},
|
|
{-0.0000000692273841, 0.46440611341931e+01, 0.30253219029200e-02},
|
|
{ 0.0000000676969224, 0.13621319661456e+00, -0.44430413602000e-03},
|
|
{-0.0000000621559952, 0.30093497179950e+01, -0.13603287200690e-01},
|
|
{ 0.0000000000608298, 0.40529569532600e+01, -0.32510869900940e-01}
|
|
}
|
|
},
|
|
|
|
/* ---- Ganymede (J-III) ---- */
|
|
{
|
|
/* grav_param */ 0.2824981841847230e-06,
|
|
/* lon0 */ 0.2874089391143348e+00,
|
|
/* lon_rate */ 0.8782079235893280e+00,
|
|
/* n_a */ 38, /* n_l */ 31, /* n_z */ 50, /* n_zeta */ 18,
|
|
|
|
/* semi-major axis cosine series (38 terms) */
|
|
{
|
|
{ 0.0071566594572575, 0.00000000000000e+00, 0.00000000000000e+00},
|
|
{ 0.0000013930299110, 0.11586745884981e+01, 0.26733443704266e+01},
|
|
{ 0.0000006449829346, 0.56222145702102e+01, 0.89111478887838e+00},
|
|
{ 0.0000002298059520, 0.12995924044108e+01, 0.10034433456729e+01},
|
|
{-0.0000001221434370, 0.49612436330515e+01, 0.17822295777568e+01},
|
|
{ 0.0000001095798176, 0.19486708778350e+01, 0.15051650461529e+01},
|
|
{ 0.0000000701435616, 0.64978508114196e+00, 0.50172166963138e+00},
|
|
{ 0.0000000547868566, 0.25992050672074e+01, 0.20068866945508e+01},
|
|
{-0.0000000394635858, 0.23173535605652e+01, 0.53466887181044e+01},
|
|
{-0.0000000363221428, 0.36393008632056e+01, 0.35644591656241e+01},
|
|
{ 0.0000000290949364, 0.20123392230605e+01, 0.17535157350384e+01},
|
|
{ 0.0000000281244968, 0.32490010762048e+01, 0.25086083721948e+01},
|
|
{-0.0000000207924698, 0.29783308899923e+01, 0.44555739317536e+01},
|
|
{ 0.0000000146896774, 0.38988244013504e+01, 0.30103300418262e+01},
|
|
{-0.0000000119930042, 0.16563968316083e+01, 0.62378035398422e+01},
|
|
{ 0.0000000112067460, 0.43188665692819e+01, 0.13034138285340e-01},
|
|
{-0.0000000109535132, 0.49372826282154e+01, 0.13584834937940e-01},
|
|
{ 0.0000000099867772, 0.96700720263958e+00, 0.62699633776977e+00},
|
|
{ 0.0000000077668260, 0.45486373016444e+01, 0.35120517182683e+01},
|
|
{ 0.0000000074143972, 0.16140449852661e+00, 0.12531361661566e+00},
|
|
{ 0.0000000066346638, 0.33441073536010e+00, 0.80200331112799e+01},
|
|
{ 0.0000000057842684, 0.14936630646671e+01, 0.12938928799370e-01},
|
|
{-0.0000000055768352, 0.44651777597613e+01, 0.11287386144710e+01},
|
|
{-0.0000000049395106, 0.61563894598809e+01, 0.17520662093793e+01},
|
|
{ 0.0000000041439704, 0.51984558307998e+01, 0.40137734147421e+01},
|
|
{-0.0000000040765630, 0.99543742426922e+00, 0.71289183312483e+01},
|
|
{-0.0000000036862062, 0.46386836178626e+01, 0.10693377254218e+02},
|
|
{ 0.0000000033617538, 0.37493658441448e+01, 0.87808669180168e+00},
|
|
{ 0.0000000033348284, 0.22668196818990e+01, 0.16304394485673e+01},
|
|
{-0.0000000025754698, 0.33293196902303e+00, 0.17952648120307e+01},
|
|
{ 0.0000000024363084, 0.19604838407749e+01, 0.11232854513197e+00},
|
|
{ 0.0000000022265432, 0.58482745704418e+01, 0.45154950951905e+01},
|
|
{ 0.0000000020032676, 0.29166648062069e+01, 0.21321610765333e+01},
|
|
{-0.0000000018115706, 0.99782757414001e+00, 0.90414978368384e+00},
|
|
{ 0.0000000014535006, 0.18748212041600e+01, 0.89112137093506e+01},
|
|
{-0.0000000006819260, 0.19871670124324e+00, 0.24675315493830e-01},
|
|
{ 0.0000000004433776, 0.24880003003965e+01, 0.25119610196650e-01},
|
|
{-0.0000000002836658, 0.58126277034761e+01, 0.25973068607520e-01}
|
|
},
|
|
|
|
/* mean longitude sine series (31 terms) */
|
|
{
|
|
{ 0.0002310797886226, 0.21402987195942e+01, 0.14500978438400e-02},
|
|
{-0.0001828635964118, 0.43188672736968e+01, 0.13034138282630e-01},
|
|
{ 0.0001512378778204, 0.49373102372298e+01, 0.13584834812520e-01},
|
|
{-0.0001163720969778, 0.43002659861490e+01, 0.26733443704266e+01},
|
|
{-0.0000955478069846, 0.14936612842567e+01, 0.12938928798570e-01},
|
|
{ 0.0000815246854464, 0.56222137132535e+01, 0.89111478887838e+00},
|
|
{-0.0000801219679602, 0.12995922951532e+01, 0.10034433456729e+01},
|
|
{-0.0000607017260182, 0.64978769669238e+00, 0.50172167043264e+00},
|
|
{ 0.0000543922473002, 0.27927547440639e+01, 0.29880873700000e-04},
|
|
{-0.0000489253646474, 0.53711728089803e+01, 0.12495278292000e-03},
|
|
{-0.0000427574981536, 0.18196513407448e+01, 0.17822295777568e+01},
|
|
{-0.0000307360417826, 0.19498372703786e+01, 0.15051650064903e+01},
|
|
{-0.0000169767346458, 0.19078637281659e+01, 0.30507678226700e-02},
|
|
{ 0.0000154725890508, 0.56912713028984e+01, 0.65164073556000e-03},
|
|
{-0.0000145268863648, 0.18863875475387e+00, 0.12530827181195e+00},
|
|
{-0.0000135654458738, 0.27930238268852e+01, 0.55663681407000e-03},
|
|
{-0.0000134648621904, 0.25991972928128e+01, 0.20068866945508e+01},
|
|
{ 0.0000095524017320, 0.23173520454449e+01, 0.53466887181044e+01},
|
|
{ 0.0000087955125170, 0.36393024031096e+01, 0.35644591656241e+01},
|
|
{ 0.0000075462003630, 0.53560617584395e+01, 0.92426977490000e-04},
|
|
{-0.0000071146195958, 0.20120561622463e+01, 0.17535157644008e+01},
|
|
{ 0.0000064153141218, 0.15526366820734e+01, 0.29001309732400e-02},
|
|
{-0.0000063221625942, 0.32490122452649e+01, 0.25086083721948e+01},
|
|
{-0.0000056564973024, 0.24862139082596e+01, 0.44834622386000e-03},
|
|
{ 0.0000052570245720, 0.19871532348033e+00, 0.24675315501580e-01},
|
|
{ 0.0000047020767994, 0.29783317790630e+01, 0.44555739317536e+01},
|
|
{-0.0000047004229470, 0.96617050453708e+00, 0.62699712737505e+00},
|
|
{-0.0000046565198820, 0.36125113449716e+01, 0.43633231340000e-03},
|
|
{-0.0000042349322008, 0.19604744669606e+01, 0.11232854282257e+00},
|
|
{-0.0000038755741918, 0.22619624763183e+01, 0.25146663939730e-01},
|
|
{-0.0000032577733688, 0.56861827246039e+01, 0.17074576501600e-02}
|
|
},
|
|
|
|
/* complex eccentricity cos/sin series (50 terms) */
|
|
{
|
|
{ 0.0014289811307319, 0.21256295942739e+01, 0.12727413029000e-03},
|
|
{ 0.0007710931226760, 0.55836330003496e+01, 0.32064341100000e-04},
|
|
{ 0.0005925911780766, 0.40899396636448e+01, -0.12906864146660e-01},
|
|
{ 0.0002045597496146, 0.52713683670372e+01, -0.12523544076106e+00},
|
|
{ 0.0001785118648258, 0.28743156721063e+00, 0.87820792442520e+00},
|
|
{ 0.0001131999784893, 0.14462127277818e+01, 0.35515522949802e+01},
|
|
{-0.0000658778169210, 0.22702423990985e+01, -0.17951364394537e+01},
|
|
{ 0.0000497058888328, 0.59096792204858e+01, 0.17693227129285e+01},
|
|
{-0.0000316384926978, 0.16093054939404e+01, -0.90402165028424e+00},
|
|
{ 0.0000287801237327, 0.46217321268757e+01, -0.62695712341840e+00},
|
|
{-0.0000181744317896, 0.59210641379360e+01, 0.37648623991673e+00},
|
|
{ 0.0000105558175161, 0.39720191398746e+01, -0.11286788041058e+01},
|
|
{-0.0000070808673396, 0.60542548894164e+01, -0.25941002415210e-01},
|
|
{-0.0000070804404020, 0.27978433776854e+01, 0.67774258703000e-03},
|
|
{-0.0000061046181888, 0.14151685760988e+01, -0.87530769416913e+00},
|
|
{-0.0000057610853129, 0.42530537622646e+01, -0.44684807882788e+01},
|
|
{-0.0000057310334964, 0.29311803223072e+01, -0.26862512192699e+01},
|
|
{ 0.0000048299146941, 0.27138294508149e+01, 0.27731329671900e-02},
|
|
{ 0.0000046610005483, 0.33222980229554e+01, -0.16304004832039e+01},
|
|
{-0.0000038142769361, 0.25962943627643e+01, -0.25845792955510e-01},
|
|
{ 0.0000034982417330, 0.15866568011217e+01, 0.18816512920593e+01},
|
|
{-0.0000030091617315, 0.35921173988567e+01, -0.35773660056343e+01},
|
|
{-0.0000024732926446, 0.53461730094807e+01, 0.25122576835111e+00},
|
|
{ 0.0000024416432533, 0.47049477027963e+01, -0.25049613834712e+00},
|
|
{ 0.0000024171568015, 0.34508032389167e+01, 0.00000000000000e+00},
|
|
{ 0.0000023143850535, 0.55385759257808e+01, 0.28683339028800e-02},
|
|
{ 0.0000022651772374, 0.55608006706192e+01, 0.14501892967800e-02},
|
|
{ 0.0000022247695560, 0.26725424635341e+01, -0.21321221654766e+01},
|
|
{ 0.0000020947921969, 0.22350374116258e+01, 0.23833730192673e+01},
|
|
{-0.0000014042712722, 0.93718044411525e+00, 0.13799296041822e+01},
|
|
{ 0.0000011932531874, 0.28861941414418e+01, 0.28850946416201e+01},
|
|
{-0.0000011180389240, 0.49139919849718e+01, -0.53595955727170e+01},
|
|
{ 0.0000011076384510, 0.20227538540345e+01, -0.26338438454332e+01},
|
|
{-0.0000010371714944, 0.40722739402948e+00, -0.87385759089274e+00},
|
|
{-0.0000008993128501, 0.30942691883530e+01, -0.71418251640916e+01},
|
|
{ 0.0000007268381420, 0.54334774230433e+01, -0.26491687896550e-01},
|
|
{-0.0000007178049665, 0.52487423493616e+01, 0.26604375002057e+01},
|
|
{ 0.0000006908412319, 0.40596134184175e+01, -0.75221793556997e+00},
|
|
{-0.0000006784151570, 0.38846818226669e+01, 0.42496535534400e-02},
|
|
{ 0.0000006772314920, 0.23013479896873e+01, 0.26317235358158e+01},
|
|
{ 0.0000006659820028, 0.35359530295550e+01, 0.33868163258510e+01},
|
|
{-0.0000006339665249, 0.39268665697903e+01, 0.44426670658559e+01},
|
|
{-0.0000006286307601, 0.19440608894162e+01, 0.71160114019304e+01},
|
|
{-0.0000006128705113, 0.25027415074658e+01, 0.62249001971556e+01},
|
|
{ 0.0000005660807396, 0.13729316457251e+01, -0.31355655165873e+01},
|
|
{-0.0000005206551413, 0.55749300982469e+01, -0.62507103665413e+01},
|
|
{-0.0000004718481418, 0.45366605084874e+01, 0.16786677353000e-03},
|
|
{-0.0000004583970422, 0.19351070248496e+01, -0.98151695574500e+01},
|
|
{-0.0000004577854173, 0.62350780976534e+01, 0.17563373058434e+01},
|
|
{ 0.0000003466029660, 0.75412427489767e+00, 0.15807097495700e-01}
|
|
},
|
|
|
|
/* complex inclination cos/sin series (18 terms) */
|
|
{
|
|
{ 0.0015932721570848, 0.33368862796665e+01, -0.12491307058000e-03},
|
|
{ 0.0008533093128905, 0.24133881688166e+01, 0.00000000000000e+00},
|
|
{ 0.0003513347911037, 0.59720789850127e+01, -0.30561017710000e-04},
|
|
{-0.0001441929255483, 0.10477061764435e+01, -0.56920632124000e-03},
|
|
{ 0.0000157303527750, 0.55604041197704e+01, 0.29003665011200e-02},
|
|
{ 0.0000025161319881, 0.28477653709685e+00, -0.14500554486800e-02},
|
|
{ 0.0000020438305183, 0.17652628559998e+01, 0.14501383926500e-02},
|
|
{ 0.0000017939612784, 0.45568977341583e+01, 0.43504621590400e-02},
|
|
{ 0.0000013614276895, 0.84898872627945e+00, -0.25244521900630e-01},
|
|
{-0.0000008996109017, 0.46441156003340e+01, 0.30253214588300e-02},
|
|
{-0.0000008702078430, 0.27972000093551e+01, -0.23150965645100e-02},
|
|
{-0.0000004371144064, 0.48429530385679e+01, -0.25688816011500e-01},
|
|
{-0.0000002174259374, 0.57543785603741e+01, -0.25813642993310e-01},
|
|
{-0.0000001926397869, 0.20118539705648e+01, 0.29330596864500e-02},
|
|
{ 0.0000001589279656, 0.35554727018503e+01, 0.58005577768400e-02},
|
|
{-0.0000001432228753, 0.11966574544002e+01, -0.15750124983800e-02},
|
|
{-0.0000000926213408, 0.22052538606469e+01, -0.25782797426020e-01},
|
|
{ 0.0000000000106902, 0.45764213311755e+01, -0.32611614716800e-01}
|
|
}
|
|
},
|
|
|
|
/* ---- Callisto (J-IV) ---- */
|
|
{
|
|
/* grav_param */ 0.2824921448899090e-06,
|
|
/* lon0 */ -0.3620341291375704e+00,
|
|
/* lon_rate */ 0.3764862334338280e+00,
|
|
/* n_a */ 22, /* n_l */ 19, /* n_z */ 46, /* n_zeta */ 18,
|
|
|
|
/* semi-major axis cosine series (22 terms) */
|
|
{
|
|
{ 0.0125879701715314, 0.00000000000000e+00, 0.00000000000000e+00},
|
|
{ 0.0000035952049470, 0.64965776007116e+00, 0.50172168165034e+00},
|
|
{ 0.0000027580210652, 0.18084235781510e+01, 0.31750660413359e+01},
|
|
{ 0.0000012874896172, 0.62718908285025e+01, 0.13928364698403e+01},
|
|
{-0.0000004173729106, 0.12990650292663e+01, 0.10034433697108e+01},
|
|
{ 0.0000002790757718, 0.71428870045577e+00, 0.75007225869130e+00},
|
|
{-0.0000001998252258, 0.19489881012004e+01, 0.15051650461529e+01},
|
|
{-0.0000001001149838, 0.25987168731338e+01, 0.20068867266014e+01},
|
|
{-0.0000000513967092, 0.32484798706247e+01, 0.25086084022422e+01},
|
|
{-0.0000000475687992, 0.48635521917696e+01, 0.74862216593606e+00},
|
|
{ 0.0000000348242240, 0.15082713497295e+00, 0.37645917070525e+00},
|
|
{ 0.0000000283840630, 0.51672973364888e+01, 0.12530678073049e+00},
|
|
{-0.0000000263234638, 0.33499822210495e+01, 0.30103491232578e+01},
|
|
{ 0.0000000239106346, 0.43573519442736e+01, 0.62698238798737e+00},
|
|
{ 0.0000000219977422, 0.15075404808879e+01, 0.27986109086768e+01},
|
|
{-0.0000000171144478, 0.62607361864777e+01, 0.27856729335053e+01},
|
|
{-0.0000000141956834, 0.45481077718910e+01, 0.35120517575303e+01},
|
|
{-0.0000000120003630, 0.18583887479127e+01, 0.11287042579152e+01},
|
|
{ 0.0000000108418904, 0.54873138800427e+01, 0.67395238593127e+01},
|
|
{ 0.0000000108218254, 0.59772630516669e+01, 0.10163811590412e+01},
|
|
{ 0.0000000002477642, 0.56894071957878e+01, 0.65165021654000e-03},
|
|
{-0.0000000001874576, 0.28598333265121e+01, 0.55639542661000e-03}
|
|
},
|
|
|
|
/* mean longitude sine series (19 terms) */
|
|
{
|
|
{ 0.0005586040123824, 0.21404207189815e+01, 0.14500979323100e-02},
|
|
{-0.0003805813868176, 0.27358844897853e+01, 0.29729650620000e-04},
|
|
{ 0.0002205152863262, 0.64979652596400e+00, 0.50172167243580e+00},
|
|
{ 0.0001877895151158, 0.18084787604005e+01, 0.31750660413359e+01},
|
|
{ 0.0000766916975242, 0.62720114319755e+01, 0.13928364636651e+01},
|
|
{ 0.0000747056855106, 0.12995916202344e+01, 0.10034433456729e+01},
|
|
{-0.0000388323297366, 0.71289234751879e+00, 0.75007236972328e+00},
|
|
{ 0.0000335036484314, 0.53712641184981e+01, 0.12494011725000e-03},
|
|
{ 0.0000293032677938, 0.19493939340593e+01, 0.15051650209131e+01},
|
|
{ 0.0000185940935472, 0.14630998372377e+01, 0.29001339405200e-02},
|
|
{-0.0000170438022886, 0.56893382353856e+01, 0.65165044781000e-03},
|
|
{ 0.0000151393833114, 0.28749516044614e+01, 0.55646069067000e-03},
|
|
{-0.0000148825637256, 0.33321074618840e+01, 0.12530790075011e+00},
|
|
{ 0.0000129927896682, 0.25991973549465e+01, 0.20068866945508e+01},
|
|
{-0.0000116117398772, 0.56192268627131e+01, 0.93166256720000e-04},
|
|
{ 0.0000066211702894, 0.48564958193206e+01, 0.74862286166569e+00},
|
|
{ 0.0000065387442486, 0.35580120361824e+01, 0.16550513741900e-02},
|
|
{ 0.0000061580798140, 0.32490037889701e+01, 0.25086083721948e+01},
|
|
{ 0.0000046797140778, 0.96612169919707e+00, 0.62699716616712e+00}
|
|
},
|
|
|
|
/* complex eccentricity cos/sin series (46 terms) */
|
|
{
|
|
{ 0.0073755808467977, 0.55836071576084e+01, 0.32065099140000e-04},
|
|
{ 0.0002065924169942, 0.59209831565786e+01, 0.37648624194703e+00},
|
|
{ 0.0001589869764021, 0.28744006242623e+00, 0.87820792442520e+00},
|
|
{-0.0001561131605348, 0.21257397865089e+01, 0.12727441285000e-03},
|
|
{ 0.0001486043380971, 0.14462134301023e+01, 0.35515522949802e+01},
|
|
{ 0.0000635073108731, 0.59096803285954e+01, 0.17693227129285e+01},
|
|
{ 0.0000599351698525, 0.41125517584798e+01, -0.27985797954589e+01},
|
|
{ 0.0000540660842731, 0.55390350845569e+01, 0.28683408228300e-02},
|
|
{-0.0000489596900866, 0.46218149483338e+01, -0.62695712529519e+00},
|
|
{ 0.0000333682283528, 0.52066975238880e+01, -0.37358601734497e+00},
|
|
{ 0.0000295832427279, 0.59322697896516e+01, -0.10163502275209e+01},
|
|
{ 0.0000292325461337, 0.52707623402008e+01, -0.12523542448602e+00},
|
|
{ 0.0000197588369441, 0.33317768022759e+01, 0.00000000000000e+00},
|
|
{-0.0000183551029746, 0.39720443249757e+01, -0.11286788041058e+01},
|
|
{ 0.0000090411191759, 0.55606719963947e+01, 0.14501837490800e-02},
|
|
{-0.0000081987970452, 0.33223313720086e+01, -0.16304004832039e+01},
|
|
{-0.0000060406575087, 0.13970265485562e+01, 0.43191832032300e-02},
|
|
{ 0.0000056895636122, 0.41990956668120e+01, -0.37213592656720e+00},
|
|
{-0.0000040434854859, 0.47008406172134e+01, -0.25049602889288e+00},
|
|
{-0.0000039403527376, 0.26725832255243e+01, -0.21321221654766e+01},
|
|
{ 0.0000036901291978, 0.35207772267753e+00, 0.11265585018525e+01},
|
|
{-0.0000028551622596, 0.55601265129356e+01, -0.31584886140000e-04},
|
|
{-0.0000026588026505, 0.25969882784477e+00, 0.14182025553300e-02},
|
|
{-0.0000019711212463, 0.20228019680496e+01, -0.26338438454332e+01},
|
|
{ 0.0000019322089806, 0.51418595457408e+01, 0.25123117908847e+00},
|
|
{-0.0000018673159813, 0.93674892088247e+00, 0.13799296163047e+01},
|
|
{ 0.0000016838424078, 0.60796033426941e+01, 0.75294520843775e+00},
|
|
{-0.0000016695689644, 0.15867810488422e+01, 0.18816512864243e+01},
|
|
{ 0.0000016317841395, 0.45789534393209e+01, 0.14822429153000e-02},
|
|
{-0.0000016159095087, 0.30157253757329e+00, -0.14180284447900e-02},
|
|
{-0.0000014034621874, 0.59433512039442e+01, -0.24091866865037e+01},
|
|
{-0.0000012029942283, 0.27137754880270e+01, 0.27731373092900e-02},
|
|
{-0.0000011758260607, 0.40581098970285e+01, -0.75221789504525e+00},
|
|
{-0.0000010798624964, 0.22364861319452e+01, 0.23833729650229e+01},
|
|
{-0.0000010108880552, 0.13729872033949e+01, -0.31355655165873e+01},
|
|
{-0.0000008876681807, 0.50534107615010e+01, -0.50169281575682e+00},
|
|
{ 0.0000008869382117, 0.50147420853991e+01, 0.68353864231000e-03},
|
|
{-0.0000008194699011, 0.62190878357566e+01, -0.37503615934219e+00},
|
|
{ 0.0000007093782158, 0.44118312641559e+01, -0.24221246131672e+01},
|
|
{ 0.0000006728737059, 0.31910016062920e+01, -0.37068584881726e+00},
|
|
{ 0.0000006297345982, 0.13595719733984e+01, 0.11251084135564e+01},
|
|
{ 0.0000006128899757, 0.51402161299290e+01, 0.71160095483087e+01},
|
|
{-0.0000005580987049, 0.34117733109010e+01, -0.12539396666771e+01},
|
|
{ 0.0000005321318002, 0.35377046967957e+01, 0.57685340271300e-02},
|
|
{-0.0000004739086661, 0.21645217929478e+01, 0.58845474482000e-03},
|
|
{ 0.0000004518928658, 0.44963664372727e+01, 0.29023325111200e-02}
|
|
},
|
|
|
|
/* complex inclination cos/sin series (18 terms) */
|
|
{
|
|
{ 0.0038422977898495, 0.24133922085557e+01, 0.00000000000000e+00},
|
|
{ 0.0022453891791894, 0.59721736773277e+01, -0.30561255250000e-04},
|
|
{-0.0002604479450559, 0.33368746306409e+01, -0.12491309972000e-03},
|
|
{ 0.0000332112143230, 0.55604137742337e+01, 0.29003768850700e-02},
|
|
{ 0.0000049727136261, 0.28488229706820e+00, -0.14500571761900e-02},
|
|
{-0.0000049416729114, 0.10476908456459e+01, -0.56920298857000e-03},
|
|
{ 0.0000043945193428, 0.17684273746003e+01, 0.14501344524700e-02},
|
|
{ 0.0000037630501589, 0.45567680530533e+01, 0.43504645407000e-02},
|
|
{-0.0000030823418750, 0.20094360655956e+01, 0.29313051376700e-02},
|
|
{ 0.0000004719790711, 0.18055417618741e+01, 0.14195445432000e-02},
|
|
{-0.0000004637177865, 0.38277528822158e+01, -0.14808731001600e-02},
|
|
{ 0.0000003497224175, 0.46444360330108e+01, 0.30253130162300e-02},
|
|
{-0.0000003467132626, 0.10120757927163e+01, 0.43816126822900e-02},
|
|
{ 0.0000003324412570, 0.35549391686606e+01, 0.58005379032100e-02},
|
|
{ 0.0000001945374351, 0.61251687150860e+01, 0.28808264872800e-02},
|
|
{ 0.0000001727743329, 0.11900773236610e+01, -0.29001068524700e-02},
|
|
{-0.0000001485176585, 0.62335834706368e+01, 0.14807679092700e-02},
|
|
{ 0.0000000000666922, 0.40616225761771e+01, -0.32724923474890e-01}
|
|
}
|
|
}
|
|
};
|