From f67ddf1c8da91e9c6a6977ed1bfe8ab07d66c3f0 Mon Sep 17 00:00:00 2001 From: Don Cross Date: Mon, 6 Jan 2020 10:59:38 -0500 Subject: [PATCH] Planet apsis: all planets but Pluto now have prediction error below 0.1 degrees. Adjust VSOP models for planets to bring their prediction errors beneath 0.1 degrees of a total orbit. ctest no longer runs tests when no command line arguments are given. That was annoying because I kept running it by accident. --- generate/ctest.c | 37 +++++----- generate/generate.c | 29 +++++++- generate/output/vsop_1.txt | 7 +- generate/output/vsop_11.txt | 7 +- generate/output/vsop_4.txt | 5 +- generate/output/vsop_5.txt | 9 ++- generate/output/vsop_6.txt | 5 +- generate/run.bat | 2 +- generate/unit_test_c | 2 +- source/c/astronomy.c | 43 +++++++++--- source/csharp/astronomy.cs | 33 +++++++-- source/js/astronomy.js | 33 +++++++-- source/js/astronomy.min.js | 130 ++++++++++++++++++------------------ source/python/astronomy.py | 33 +++++++-- 14 files changed, 259 insertions(+), 116 deletions(-) diff --git a/generate/ctest.c b/generate/ctest.c index f585178c..0f06cf8d 100644 --- a/generate/ctest.c +++ b/generate/ctest.c @@ -74,16 +74,16 @@ int main(int argc, const char *argv[]) { int error = 1; - if (argc == 1) - { - CHECK(Test_AstroTime()); - CHECK(AstroCheck()); - goto success; - } - if (argc == 2) { const char *verb = argv[1]; + if (!strcmp(verb, "check")) + { + CHECK(Test_AstroTime()); + CHECK(AstroCheck()); + goto success; + } + if (!strcmp(verb, "elongation")) { CHECK(ElongationTest()); @@ -1817,7 +1817,7 @@ static int EarthApsis(const char *filename) diff_minutes = (24.0 * 60.0) * fabs(apsis.time.ut - correct_time.ut); diff_au = fabs(apsis.dist_au - dist_au); - if (diff_minutes > 260.0) + if (diff_minutes > 120.5) { fprintf(stderr, "EarthApsis(%s line %d): Excessive time error: %lf minutes.\n", filename, lnum, diff_minutes); error = 1; @@ -1866,11 +1866,13 @@ static double PlanetOrbitalPeriod(astro_body_t body) static int PlanetApsis(void) { int error; + const double degree_threshold = 0.1; astro_body_t body; astro_time_t start_time, prev_time; astro_apsis_t apsis; astro_utc_t utc; int count; + int bad_planets_found = 0; double interval, min_interval, max_interval; FILE *infile = NULL; char filename[100]; @@ -1881,8 +1883,7 @@ static int PlanetApsis(void) double expected_distance; double period; double diff_days, diff_degrees, diff_dist_ratio; - double max_diff_days; - double max_dist_ratio; + double max_diff_days, max_dist_ratio; start_time = Astronomy_MakeTime(MIN_YEAR, 1, 1, 0, 0, 0.0); @@ -1936,13 +1937,8 @@ static int PlanetApsis(void) diff_days = fabs(expected_time.tt - apsis.time.tt); if (diff_days > max_diff_days) max_diff_days = diff_days; diff_degrees = (diff_days / period) * 360.0; - if (diff_degrees > 0.5) - { - fprintf(stderr, "PlanetApsis: EXCESSIVE ANGULAR ERROR for %s: %lg degrees, %0.3lf days from %s\n", - Astronomy_BodyName(body), diff_degrees, diff_days, expected_time_text); - error = 1; - goto fail; - } + if (diff_degrees > degree_threshold) + bad_planets_found = 1; diff_dist_ratio = fabs(expected_distance - apsis.dist_au) / expected_distance; if (diff_dist_ratio > max_dist_ratio) max_dist_ratio = diff_dist_ratio; @@ -2000,6 +1996,13 @@ static int PlanetApsis(void) max_dist_ratio); } + if (bad_planets_found) + { + fprintf(stderr, "PlanetApsis: FAIL - planet(s) exceeded angular threshold (%lg degrees)\n", degree_threshold); + error = 1; + goto fail; + } + printf("PlanetApsis: PASS\n"); error = 0; fail: diff --git a/generate/generate.c b/generate/generate.c index f67d5a81..72dc05da 100644 --- a/generate/generate.c +++ b/generate/generate.c @@ -487,6 +487,7 @@ fail: static int ImproveVsopApsides(vsop_model_t *model) { int error; + int n_top_terms; vsop_formula_t *radform; /* formula for calculating radial distance */ if (model->version != VSOP_HELIO_SPHER_DATE && model->version != VSOP_HELIO_SPHER_J2000) @@ -507,14 +508,36 @@ static int ImproveVsopApsides(vsop_model_t *model) switch (model->body) { - case BODY_NEPTUNE: - CHECK(ExpandSeries(radform, 0, 5)); + case BODY_VENUS: + n_top_terms = 5; break; + + case BODY_EARTH: + n_top_terms = 5; + break; + + case BODY_JUPITER: + n_top_terms = 3; + break; + + case BODY_SATURN: + n_top_terms = 7; + break; + + case BODY_URANUS: + n_top_terms = 3; + break; + + case BODY_NEPTUNE: + n_top_terms = 5; + break; + default: + n_top_terms = 0; break; } - error = 0; + CHECK(ExpandSeries(radform, 0, n_top_terms)); fail: return error; } diff --git a/generate/output/vsop_1.txt b/generate/output/vsop_1.txt index 7abab440..d1a60041 100644 --- a/generate/output/vsop_1.txt +++ b/generate/output/vsop_1.txt @@ -23,9 +23,14 @@ TRUNC_VSOP87 version=2 body=1 ncoords=3 series=1, nterms=1 0 0.00287821243 1.88964962838 10213.28554621100 coord=2, nseries=2 - series=0, nterms=3 + series=0, nterms=8 0 0.72334820891 0.00000000000 0.00000000000 1 0.00489824182 4.02151831717 10213.28554621100 2 0.00001658058 4.90206728031 20426.57109242200 + 3 0.00001378043 1.12846591367 11790.62908865880 + 4 0.00001632096 2.84548795207 7860.41939243920 + 5 0.00000498395 2.58682193892 9683.59458111640 + 6 0.00000221985 2.01346696541 19367.18916223280 + 7 0.00000237454 2.55136053886 15720.83878487840 series=1, nterms=1 0 0.00034551041 0.89198706276 10213.28554621100 diff --git a/generate/output/vsop_11.txt b/generate/output/vsop_11.txt index 0d37debf..0a7432ad 100644 --- a/generate/output/vsop_11.txt +++ b/generate/output/vsop_11.txt @@ -41,7 +41,7 @@ TRUNC_VSOP87 version=2 body=11 ncoords=3 0 0.00227777722 3.41376620530 6283.07584999140 1 0.00003805678 3.37063423795 12566.15169998280 coord=2, nseries=3 - series=0, nterms=9 + series=0, nterms=14 0 1.00013988784 0.00000000000 0.00000000000 1 0.01670699632 3.09846350258 6283.07584999140 2 0.00013956024 3.05524609456 12566.15169998280 @@ -51,6 +51,11 @@ TRUNC_VSOP87 version=2 body=11 ncoords=3 6 0.00000924799 5.45292236722 11506.76976979360 7 0.00000542439 4.56409151453 3930.20969621960 8 0.00000472110 3.66100022149 5884.92684658320 + 9 0.00000085831 1.27079125277 161000.68573767410 + 10 0.00000057056 2.01374292245 83996.84731811189 + 11 0.00000055736 5.24159799170 71430.69561812909 + 12 0.00000174844 3.01193636733 18849.22754997420 + 13 0.00000243181 4.27349530790 11790.62908865880 series=1, nterms=2 0 0.00103018607 1.10748968172 6283.07584999140 1 0.00001721238 1.06442300386 12566.15169998280 diff --git a/generate/output/vsop_4.txt b/generate/output/vsop_4.txt index a93bfa86..442d6cf1 100644 --- a/generate/output/vsop_4.txt +++ b/generate/output/vsop_4.txt @@ -55,7 +55,7 @@ TRUNC_VSOP87 version=2 body=4 ncoords=3 series=1, nterms=1 0 0.00078203446 1.52377859742 529.69096509460 coord=2, nseries=2 - series=0, nterms=16 + series=0, nterms=19 0 5.20887429326 0.00000000000 0.00000000000 1 0.25209327119 3.49108639871 529.69096509460 2 0.00610599976 3.84115365948 1059.38193018920 @@ -72,6 +72,9 @@ TRUNC_VSOP87 version=2 body=4 ncoords=3 13 0.00013032614 2.96042965363 1162.47470440780 14 0.00009703360 1.90669633585 206.18554843720 15 0.00012749023 2.71550286592 1052.26838318840 + 16 0.00007057931 2.18184839926 1265.56747862640 + 17 0.00006137703 6.26418240033 846.08283475120 + 18 0.00002616976 2.00994012876 1581.95934828300 series=1, nterms=5 0 0.01271801520 2.64937512894 529.69096509460 1 0.00061661816 3.00076460387 1059.38193018920 diff --git a/generate/output/vsop_5.txt b/generate/output/vsop_5.txt index cedecf82..6a584efe 100644 --- a/generate/output/vsop_5.txt +++ b/generate/output/vsop_5.txt @@ -68,7 +68,7 @@ TRUNC_VSOP87 version=2 body=5 ncoords=3 1 0.00036947916 3.14159265359 0.00000000000 2 0.00017966989 0.51979431110 426.59819087600 coord=2, nseries=3 - series=0, nterms=16 + series=0, nterms=23 0 9.55758135486 0.00000000000 0.00000000000 1 0.52921382865 2.39226219573 213.29909543800 2 0.01873679867 5.23549604660 206.18554843720 @@ -85,6 +85,13 @@ TRUNC_VSOP87 version=2 body=5 ncoords=3 13 0.00034143772 0.19519102597 277.03499374140 14 0.00032401773 5.47084567016 949.17560896980 15 0.00020936596 0.46349251129 735.87651353180 + 16 0.00009796004 5.20477537945 1265.56747862640 + 17 0.00011993338 5.98050967385 846.08283475120 + 18 0.00020839300 1.52102476129 433.71173787680 + 19 0.00015298404 3.05943814940 529.69096509460 + 20 0.00006465823 0.17732249942 1052.26838318840 + 21 0.00011380257 1.73105427040 522.57741809380 + 22 0.00003419618 4.94550542171 1581.95934828300 series=1, nterms=6 0 0.06182981340 0.25843511480 213.29909543800 1 0.00506577242 0.71114625261 206.18554843720 diff --git a/generate/output/vsop_6.txt b/generate/output/vsop_6.txt index e9f616c3..92e59264 100644 --- a/generate/output/vsop_6.txt +++ b/generate/output/vsop_6.txt @@ -57,7 +57,7 @@ TRUNC_VSOP87 version=2 body=6 ncoords=3 series=1, nterms=1 0 0.00034101978 0.01321929936 74.78159856730 coord=2, nseries=2 - series=0, nterms=21 + series=0, nterms=24 0 19.21264847206 0.00000000000 0.00000000000 1 0.88784984413 5.60377527014 74.78159856730 2 0.03440836062 0.32836099706 73.29712585900 @@ -79,5 +79,8 @@ TRUNC_VSOP87 version=2 body=6 ncoords=3 18 0.00036755274 3.88649278513 146.59425171800 19 0.00030348723 0.70100838798 151.04766984290 20 0.00029156413 3.18056336700 77.75054398390 + 21 0.00022637073 0.72518687029 529.69096509460 + 22 0.00011959076 1.75043392140 984.60033162190 + 23 0.00025620756 5.25656086672 380.12776796000 series=1, nterms=1 0 0.01479896629 3.67205697578 74.78159856730 diff --git a/generate/run.bat b/generate/run.bat index bf4cd43a..051a83bf 100644 --- a/generate/run.bat +++ b/generate/run.bat @@ -185,7 +185,7 @@ if errorlevel 1 (exit /b 1) REM ----------------------------------------------------------------------------------------- echo.Running C unit tests. -!CTESTEXE! +!CTESTEXE! check if errorlevel 1 (exit /b 1) !GENEXE! check temp\c_check.txt diff --git a/generate/unit_test_c b/generate/unit_test_c index 6067e39c..b7e4c04e 100755 --- a/generate/unit_test_c +++ b/generate/unit_test_c @@ -8,7 +8,7 @@ Fail() ./ctest refraction || Fail "Failure in ctest refraction" ./ctest rotation || Fail "Failure in ctest rotation" ./ctest moon || Fail "Failure in ctest moon" -time ./ctest || Fail "Failure reported by ctest." +time ./ctest check || Fail "Failure in ctest check" ./generate check temp/c_check.txt || Fail "Verification failure for C unit test output." ./ctest diff temp/c_check.txt temp/js_check.txt || Fail "Diff(C,JS) failure." ./ctest diff temp/c_check.txt dotnet/csharp_test/csharp_check.txt || Fail "Diff(C,C#) failure." diff --git a/source/c/astronomy.c b/source/c/astronomy.c index dfb3b66d..f87d31c1 100644 --- a/source/c/astronomy.c +++ b/source/c/astronomy.c @@ -1741,7 +1741,12 @@ static const vsop_term_t vsop_rad_Venus_0[] = { { 0.72334820891, 0.00000000000, 0.00000000000 }, { 0.00489824182, 4.02151831717, 10213.28554621100 }, - { 0.00001658058, 4.90206728031, 20426.57109242200 } + { 0.00001658058, 4.90206728031, 20426.57109242200 }, + { 0.00001378043, 1.12846591367, 11790.62908865880 }, + { 0.00001632096, 2.84548795207, 7860.41939243920 }, + { 0.00000498395, 2.58682193892, 9683.59458111640 }, + { 0.00000221985, 2.01346696541, 19367.18916223280 }, + { 0.00000237454, 2.55136053886, 15720.83878487840 } }; static const vsop_term_t vsop_rad_Venus_1[] = @@ -1751,7 +1756,7 @@ static const vsop_term_t vsop_rad_Venus_1[] = static const vsop_series_t vsop_rad_Venus[] = { - { 3, vsop_rad_Venus_0 }, + { 8, vsop_rad_Venus_0 }, { 1, vsop_rad_Venus_1 } }; @@ -1829,7 +1834,12 @@ static const vsop_term_t vsop_rad_Earth_0[] = { 0.00001575572, 2.84685214877, 7860.41939243920 }, { 0.00000924799, 5.45292236722, 11506.76976979360 }, { 0.00000542439, 4.56409151453, 3930.20969621960 }, - { 0.00000472110, 3.66100022149, 5884.92684658320 } + { 0.00000472110, 3.66100022149, 5884.92684658320 }, + { 0.00000085831, 1.27079125277, 161000.68573767410 }, + { 0.00000057056, 2.01374292245, 83996.84731811189 }, + { 0.00000055736, 5.24159799170, 71430.69561812909 }, + { 0.00000174844, 3.01193636733, 18849.22754997420 }, + { 0.00000243181, 4.27349530790, 11790.62908865880 } }; static const vsop_term_t vsop_rad_Earth_1[] = @@ -1845,7 +1855,7 @@ static const vsop_term_t vsop_rad_Earth_2[] = static const vsop_series_t vsop_rad_Earth[] = { - { 9, vsop_rad_Earth_0 }, + { 14, vsop_rad_Earth_0 }, { 2, vsop_rad_Earth_1 }, { 1, vsop_rad_Earth_2 } }; @@ -2093,7 +2103,10 @@ static const vsop_term_t vsop_rad_Jupiter_0[] = { 0.00023947298, 0.27458037480, 7.11354700080 }, { 0.00013032614, 2.96042965363, 1162.47470440780 }, { 0.00009703360, 1.90669633585, 206.18554843720 }, - { 0.00012749023, 2.71550286592, 1052.26838318840 } + { 0.00012749023, 2.71550286592, 1052.26838318840 }, + { 0.00007057931, 2.18184839926, 1265.56747862640 }, + { 0.00006137703, 6.26418240033, 846.08283475120 }, + { 0.00002616976, 2.00994012876, 1581.95934828300 } }; static const vsop_term_t vsop_rad_Jupiter_1[] = @@ -2107,7 +2120,7 @@ static const vsop_term_t vsop_rad_Jupiter_1[] = static const vsop_series_t vsop_rad_Jupiter[] = { - { 16, vsop_rad_Jupiter_0 }, + { 19, vsop_rad_Jupiter_0 }, { 5, vsop_rad_Jupiter_1 } }; @@ -2223,7 +2236,14 @@ static const vsop_term_t vsop_rad_Saturn_0[] = { 0.00048913294, 1.55733638681, 202.25339517410 }, { 0.00034143772, 0.19519102597, 277.03499374140 }, { 0.00032401773, 5.47084567016, 949.17560896980 }, - { 0.00020936596, 0.46349251129, 735.87651353180 } + { 0.00020936596, 0.46349251129, 735.87651353180 }, + { 0.00009796004, 5.20477537945, 1265.56747862640 }, + { 0.00011993338, 5.98050967385, 846.08283475120 }, + { 0.00020839300, 1.52102476129, 433.71173787680 }, + { 0.00015298404, 3.05943814940, 529.69096509460 }, + { 0.00006465823, 0.17732249942, 1052.26838318840 }, + { 0.00011380257, 1.73105427040, 522.57741809380 }, + { 0.00003419618, 4.94550542171, 1581.95934828300 } }; static const vsop_term_t vsop_rad_Saturn_1[] = @@ -2243,7 +2263,7 @@ static const vsop_term_t vsop_rad_Saturn_2[] = static const vsop_series_t vsop_rad_Saturn[] = { - { 16, vsop_rad_Saturn_0 }, + { 23, vsop_rad_Saturn_0 }, { 6, vsop_rad_Saturn_1 }, { 1, vsop_rad_Saturn_2 } }; @@ -2350,7 +2370,10 @@ static const vsop_term_t vsop_rad_Uranus_0[] = { 0.00039025624, 3.36234773834, 277.03499374140 }, { 0.00036755274, 3.88649278513, 146.59425171800 }, { 0.00030348723, 0.70100838798, 151.04766984290 }, - { 0.00029156413, 3.18056336700, 77.75054398390 } + { 0.00029156413, 3.18056336700, 77.75054398390 }, + { 0.00022637073, 0.72518687029, 529.69096509460 }, + { 0.00011959076, 1.75043392140, 984.60033162190 }, + { 0.00025620756, 5.25656086672, 380.12776796000 } }; static const vsop_term_t vsop_rad_Uranus_1[] = @@ -2360,7 +2383,7 @@ static const vsop_term_t vsop_rad_Uranus_1[] = static const vsop_series_t vsop_rad_Uranus[] = { - { 21, vsop_rad_Uranus_0 }, + { 24, vsop_rad_Uranus_0 }, { 1, vsop_rad_Uranus_1 } }; diff --git a/source/csharp/astronomy.cs b/source/csharp/astronomy.cs index 1217d59b..33d1c93a 100644 --- a/source/csharp/astronomy.cs +++ b/source/csharp/astronomy.cs @@ -1649,7 +1649,12 @@ namespace CosineKitty { new vsop_term_t(0.72334820891, 0.00000000000, 0.00000000000), new vsop_term_t(0.00489824182, 4.02151831717, 10213.28554621100), - new vsop_term_t(0.00001658058, 4.90206728031, 20426.57109242200) + new vsop_term_t(0.00001658058, 4.90206728031, 20426.57109242200), + new vsop_term_t(0.00001378043, 1.12846591367, 11790.62908865880), + new vsop_term_t(0.00001632096, 2.84548795207, 7860.41939243920), + new vsop_term_t(0.00000498395, 2.58682193892, 9683.59458111640), + new vsop_term_t(0.00000221985, 2.01346696541, 19367.18916223280), + new vsop_term_t(0.00000237454, 2.55136053886, 15720.83878487840) }; private static readonly vsop_term_t[] vsop_rad_Venus_1 = new vsop_term_t[] @@ -1741,7 +1746,12 @@ namespace CosineKitty new vsop_term_t(0.00001575572, 2.84685214877, 7860.41939243920), new vsop_term_t(0.00000924799, 5.45292236722, 11506.76976979360), new vsop_term_t(0.00000542439, 4.56409151453, 3930.20969621960), - new vsop_term_t(0.00000472110, 3.66100022149, 5884.92684658320) + new vsop_term_t(0.00000472110, 3.66100022149, 5884.92684658320), + new vsop_term_t(0.00000085831, 1.27079125277, 161000.68573767410), + new vsop_term_t(0.00000057056, 2.01374292245, 83996.84731811189), + new vsop_term_t(0.00000055736, 5.24159799170, 71430.69561812909), + new vsop_term_t(0.00000174844, 3.01193636733, 18849.22754997420), + new vsop_term_t(0.00000243181, 4.27349530790, 11790.62908865880) }; private static readonly vsop_term_t[] vsop_rad_Earth_1 = new vsop_term_t[] @@ -2005,7 +2015,10 @@ namespace CosineKitty new vsop_term_t(0.00023947298, 0.27458037480, 7.11354700080), new vsop_term_t(0.00013032614, 2.96042965363, 1162.47470440780), new vsop_term_t(0.00009703360, 1.90669633585, 206.18554843720), - new vsop_term_t(0.00012749023, 2.71550286592, 1052.26838318840) + new vsop_term_t(0.00012749023, 2.71550286592, 1052.26838318840), + new vsop_term_t(0.00007057931, 2.18184839926, 1265.56747862640), + new vsop_term_t(0.00006137703, 6.26418240033, 846.08283475120), + new vsop_term_t(0.00002616976, 2.00994012876, 1581.95934828300) }; private static readonly vsop_term_t[] vsop_rad_Jupiter_1 = new vsop_term_t[] @@ -2135,7 +2148,14 @@ namespace CosineKitty new vsop_term_t(0.00048913294, 1.55733638681, 202.25339517410), new vsop_term_t(0.00034143772, 0.19519102597, 277.03499374140), new vsop_term_t(0.00032401773, 5.47084567016, 949.17560896980), - new vsop_term_t(0.00020936596, 0.46349251129, 735.87651353180) + new vsop_term_t(0.00020936596, 0.46349251129, 735.87651353180), + new vsop_term_t(0.00009796004, 5.20477537945, 1265.56747862640), + new vsop_term_t(0.00011993338, 5.98050967385, 846.08283475120), + new vsop_term_t(0.00020839300, 1.52102476129, 433.71173787680), + new vsop_term_t(0.00015298404, 3.05943814940, 529.69096509460), + new vsop_term_t(0.00006465823, 0.17732249942, 1052.26838318840), + new vsop_term_t(0.00011380257, 1.73105427040, 522.57741809380), + new vsop_term_t(0.00003419618, 4.94550542171, 1581.95934828300) }; private static readonly vsop_term_t[] vsop_rad_Saturn_1 = new vsop_term_t[] @@ -2262,7 +2282,10 @@ namespace CosineKitty new vsop_term_t(0.00039025624, 3.36234773834, 277.03499374140), new vsop_term_t(0.00036755274, 3.88649278513, 146.59425171800), new vsop_term_t(0.00030348723, 0.70100838798, 151.04766984290), - new vsop_term_t(0.00029156413, 3.18056336700, 77.75054398390) + new vsop_term_t(0.00029156413, 3.18056336700, 77.75054398390), + new vsop_term_t(0.00022637073, 0.72518687029, 529.69096509460), + new vsop_term_t(0.00011959076, 1.75043392140, 984.60033162190), + new vsop_term_t(0.00025620756, 5.25656086672, 380.12776796000) }; private static readonly vsop_term_t[] vsop_rad_Uranus_1 = new vsop_term_t[] diff --git a/source/js/astronomy.js b/source/js/astronomy.js index 6c655767..7d587f24 100644 --- a/source/js/astronomy.js +++ b/source/js/astronomy.js @@ -313,7 +313,12 @@ const vsop = { [ [0.72334820891, 0.00000000000, 0.00000000000], [0.00489824182, 4.02151831717, 10213.28554621100], - [0.00001658058, 4.90206728031, 20426.57109242200] + [0.00001658058, 4.90206728031, 20426.57109242200], + [0.00001378043, 1.12846591367, 11790.62908865880], + [0.00001632096, 2.84548795207, 7860.41939243920], + [0.00000498395, 2.58682193892, 9683.59458111640], + [0.00000221985, 2.01346696541, 19367.18916223280], + [0.00000237454, 2.55136053886, 15720.83878487840] ], [ [0.00034551041, 0.89198706276, 10213.28554621100] @@ -379,7 +384,12 @@ const vsop = { [0.00001575572, 2.84685214877, 7860.41939243920], [0.00000924799, 5.45292236722, 11506.76976979360], [0.00000542439, 4.56409151453, 3930.20969621960], - [0.00000472110, 3.66100022149, 5884.92684658320] + [0.00000472110, 3.66100022149, 5884.92684658320], + [0.00000085831, 1.27079125277, 161000.68573767410], + [0.00000057056, 2.01374292245, 83996.84731811189], + [0.00000055736, 5.24159799170, 71430.69561812909], + [0.00000174844, 3.01193636733, 18849.22754997420], + [0.00000243181, 4.27349530790, 11790.62908865880] ], [ [0.00103018607, 1.10748968172, 6283.07584999140], @@ -585,7 +595,10 @@ const vsop = { [0.00023947298, 0.27458037480, 7.11354700080], [0.00013032614, 2.96042965363, 1162.47470440780], [0.00009703360, 1.90669633585, 206.18554843720], - [0.00012749023, 2.71550286592, 1052.26838318840] + [0.00012749023, 2.71550286592, 1052.26838318840], + [0.00007057931, 2.18184839926, 1265.56747862640], + [0.00006137703, 6.26418240033, 846.08283475120], + [0.00002616976, 2.00994012876, 1581.95934828300] ], [ [0.01271801520, 2.64937512894, 529.69096509460], @@ -689,7 +702,14 @@ const vsop = { [0.00048913294, 1.55733638681, 202.25339517410], [0.00034143772, 0.19519102597, 277.03499374140], [0.00032401773, 5.47084567016, 949.17560896980], - [0.00020936596, 0.46349251129, 735.87651353180] + [0.00020936596, 0.46349251129, 735.87651353180], + [0.00009796004, 5.20477537945, 1265.56747862640], + [0.00011993338, 5.98050967385, 846.08283475120], + [0.00020839300, 1.52102476129, 433.71173787680], + [0.00015298404, 3.05943814940, 529.69096509460], + [0.00006465823, 0.17732249942, 1052.26838318840], + [0.00011380257, 1.73105427040, 522.57741809380], + [0.00003419618, 4.94550542171, 1581.95934828300] ], [ [0.06182981340, 0.25843511480, 213.29909543800], @@ -790,7 +810,10 @@ const vsop = { [0.00039025624, 3.36234773834, 277.03499374140], [0.00036755274, 3.88649278513, 146.59425171800], [0.00030348723, 0.70100838798, 151.04766984290], - [0.00029156413, 3.18056336700, 77.75054398390] + [0.00029156413, 3.18056336700, 77.75054398390], + [0.00022637073, 0.72518687029, 529.69096509460], + [0.00011959076, 1.75043392140, 984.60033162190], + [0.00025620756, 5.25656086672, 380.12776796000] ], [ [0.01479896629, 3.67205697578, 74.78159856730] diff --git a/source/js/astronomy.min.js b/source/js/astronomy.min.js index eb44d8c9..cb2b9045 100644 --- a/source/js/astronomy.min.js +++ b/source/js/astronomy.min.js @@ -59,70 +59,72 @@ A={Mercury:[[[[4.40250710144,0,0],[.40989414977,1.48302034195,26087.9031415742], 104351.61256629678]]],[[[.11737528961,1.98357498767,26087.9031415742],[.02388076996,5.03738959686,52175.8062831484],[.01222839532,3.14159265359,0],[.0054325181,1.79644363964,78263.70942472259],[.0012977877,4.83232503958,104351.61256629678],[3.1866927E-4,1.58088495658,130439.51570787099],[7.963301E-5,4.60972126127,156527.41884944518]],[[.00274646065,3.95008450011,26087.9031415742],[9.9737713E-4,3.14159265359,0]]],[[[.39528271651,0,0],[.07834131818,6.19233722598,26087.9031415742],[.00795525558,2.95989690104, 52175.8062831484],[.00121281764,6.01064153797,78263.70942472259],[2.1921969E-4,2.77820093972,104351.61256629678],[4.354065E-5,5.82894543774,130439.51570787099]],[[.0021734774,4.65617158665,26087.9031415742],[4.4141826E-4,1.42385544001,52175.8062831484]]]],Venus:[[[[3.17614666774,0,0],[.01353968419,5.59313319619,10213.285546211],[8.9891645E-4,5.30650047764,20426.571092422],[5.477194E-5,4.41630661466,7860.4193924392],[3.455741E-5,2.6996444782,11790.6290886588],[2.372061E-5,2.99377542079,3930.2096962196], [1.317168E-5,5.18668228402,26.2983197998],[1.664146E-5,4.25018630147,1577.3435424478],[1.438387E-5,4.15745084182,9683.5945811164],[1.200521E-5,6.15357116043,30639.856638633]],[[10213.28554621638,0,0],[9.5617813E-4,2.4640651111,10213.285546211],[7.787201E-5,.6247848222,20426.571092422]]],[[[.05923638472,.26702775812,10213.285546211],[4.0107978E-4,1.14737178112,20426.571092422],[3.2814918E-4,3.14159265359,0]],[[.00287821243,1.88964962838,10213.285546211]]],[[[.72334820891,0,0],[.00489824182,4.02151831717, -10213.285546211],[1.658058E-5,4.90206728031,20426.571092422]],[[3.4551041E-4,.89198706276,10213.285546211]]]],Earth:[[[[1.75347045673,0,0],[.03341656453,4.66925680415,6283.0758499914],[3.4894275E-4,4.62610242189,12566.1516999828],[3.417572E-5,2.82886579754,3.523118349],[3.497056E-5,2.74411783405,5753.3848848968],[3.135899E-5,3.62767041756,77713.7714681205],[2.676218E-5,4.41808345438,7860.4193924392],[2.342691E-5,6.13516214446,3930.2096962196],[1.273165E-5,2.03709657878,529.6909650946],[1.324294E-5, -.74246341673,11506.7697697936],[9.01854E-6,2.04505446477,26.2983197998],[1.199167E-5,1.10962946234,1577.3435424478],[8.57223E-6,3.50849152283,398.1490034082],[7.79786E-6,1.17882681962,5223.6939198022],[9.9025E-6,5.23268072088,5884.9268465832],[7.53141E-6,2.53339052847,5507.5532386674],[5.05267E-6,4.58292599973,18849.2275499742],[4.92392E-6,4.20505711826,775.522611324],[3.56672E-6,2.91954114478,.0673103028],[2.84125E-6,1.89869240932,796.2980068164],[2.42879E-6,.34481445893,5486.777843175],[3.17087E-6, -5.84901948512,11790.6290886588],[2.71112E-6,.31486255375,10977.078804699],[2.06217E-6,4.80646631478,2544.3144198834],[2.05478E-6,1.86953770281,5573.1428014331],[2.02318E-6,2.45767790232,6069.7767545534],[1.26225E-6,1.08295459501,20.7753954924],[1.55516E-6,.83306084617,213.299095438]],[[6283.0758499914,0,0],[.00206058863,2.67823455808,6283.0758499914],[4.303419E-5,2.63512233481,12566.1516999828]],[[8.721859E-5,1.07253635559,6283.0758499914]]],[[],[[.00227777722,3.4137662053,6283.0758499914],[3.805678E-5, -3.37063423795,12566.1516999828]]],[[[1.00013988784,0,0],[.01670699632,3.09846350258,6283.0758499914],[1.3956024E-4,3.05524609456,12566.1516999828],[3.08372E-5,5.19846674381,77713.7714681205],[1.628463E-5,1.17387558054,5753.3848848968],[1.575572E-5,2.84685214877,7860.4193924392],[9.24799E-6,5.45292236722,11506.7697697936],[5.42439E-6,4.56409151453,3930.2096962196],[4.7211E-6,3.66100022149,5884.9268465832]],[[.00103018607,1.10748968172,6283.0758499914],[1.721238E-5,1.06442300386,12566.1516999828]], -[[4.359385E-5,5.78455133808,6283.0758499914]]]],Mars:[[[[6.20347711581,0,0],[.18656368093,5.0503710027,3340.6124266998],[.01108216816,5.40099836344,6681.2248533996],[9.1798406E-4,5.75478744667,10021.8372800994],[2.7744987E-4,5.97049513147,3.523118349],[1.0610235E-4,2.93958560338,2281.2304965106],[1.2315897E-4,.84956094002,2810.9214616052],[8.926784E-5,4.15697846427,.0172536522],[8.715691E-5,6.11005153139,13362.4497067992],[6.797556E-5,.36462229657,398.1490034082],[7.774872E-5,3.33968761376,5621.8429232104], -[3.575078E-5,1.6618650571,2544.3144198834],[4.161108E-5,.22814971327,2942.4634232916],[3.075252E-5,.85696614132,191.4482661116],[2.628117E-5,.64806124465,3337.0893083508],[2.937546E-5,6.07893711402,.0673103028],[2.389414E-5,5.03896442664,796.2980068164],[2.579844E-5,.02996736156,3344.1355450488],[1.528141E-5,1.14979301996,6151.533888305],[1.798806E-5,.65634057445,529.6909650946],[1.264357E-5,3.62275122593,5092.1519581158],[1.286228E-5,3.06796065034,2146.1654164752],[1.546404E-5,2.91579701718,1751.539531416], -[1.024902E-5,3.69334099279,8962.4553499102],[8.91566E-6,.18293837498,16703.062133499],[8.58759E-6,2.4009381194,2914.0142358238],[8.32715E-6,2.46418619474,3340.5951730476],[8.3272E-6,4.49495782139,3340.629680352],[7.12902E-6,3.66335473479,1059.3819301892],[7.48723E-6,3.82248614017,155.4203994342],[7.23861E-6,.67497311481,3738.761430108],[6.35548E-6,2.92182225127,8432.7643848156],[6.55162E-6,.48864064125,3127.3133312618],[5.50474E-6,3.81001042328,.9803210682],[5.5275E-6,4.47479317037,1748.016413067], -[4.25966E-6,.55364317304,6283.0758499914],[4.15131E-6,.49662285038,213.299095438],[4.72167E-6,3.62547124025,1194.4470102246],[3.06551E-6,.38052848348,6684.7479717486],[3.12141E-6,.99853944405,6677.7017350506],[2.93198E-6,4.22131299634,20.7753954924],[3.02375E-6,4.48618007156,3532.0606928114],[2.74027E-6,.54222167059,3340.545116397],[2.81079E-6,5.88163521788,1349.8674096588],[2.31183E-6,1.28242156993,3870.3033917944],[2.83602E-6,5.7688543494,3149.1641605882],[2.36117E-6,5.75503217933,3333.498879699], -[2.74033E-6,.13372524985,3340.6797370026],[2.99395E-6,2.78323740866,6254.6266625236]],[[3340.61242700512,0,0],[.01457554523,3.60433733236,3340.6124266998],[.00168414711,3.92318567804,6681.2248533996],[2.0622975E-4,4.26108844583,10021.8372800994],[3.452392E-5,4.7321039319,3.523118349],[2.586332E-5,4.60670058555,13362.4497067992],[8.41535E-6,4.45864030426,2281.2304965106]],[[5.8152577E-4,2.04961712429,3340.6124266998],[1.3459579E-4,2.45738706163,6681.2248533996]]],[[[.03197134986,3.76832042431,3340.6124266998], -[.00298033234,4.10616996305,6681.2248533996],[.00289104742,0,0],[3.1365539E-4,4.4465105309,10021.8372800994],[3.4841E-5,4.7881254926,13362.4497067992]],[[.00217310991,6.04472194776,3340.6124266998],[2.0976948E-4,3.14159265359,0],[1.2834709E-4,1.60810667915,6681.2248533996]]],[[[1.53033488271,0,0],[.1418495316,3.47971283528,3340.6124266998],[.00660776362,3.81783443019,6681.2248533996],[4.6179117E-4,4.15595316782,10021.8372800994],[8.109733E-5,5.55958416318,2810.9214616052],[7.485318E-5,1.77239078402, -5621.8429232104],[5.523191E-5,1.3643630377,2281.2304965106],[3.82516E-5,4.49407183687,13362.4497067992],[2.306537E-5,.09081579001,2544.3144198834],[1.999396E-5,5.36059617709,3337.0893083508],[2.484394E-5,4.9254563992,2942.4634232916],[1.960195E-5,4.74249437639,3344.1355450488],[1.167119E-5,2.11260868341,5092.1519581158],[1.102816E-5,5.00908403998,398.1490034082],[8.99066E-6,4.40791133207,529.6909650946],[9.92252E-6,5.83861961952,6151.533888305],[8.07354E-6,2.10217065501,1059.3819301892],[7.97915E-6, -3.44839203899,796.2980068164],[7.40975E-6,1.49906336885,2146.1654164752]],[[.01107433345,2.03250524857,3340.6124266998],[.00103175887,2.37071847807,6681.2248533996],[1.28772E-4,0,0],[1.081588E-4,2.70888095665,10021.8372800994]],[[4.4242249E-4,.47930604954,3340.6124266998],[8.138042E-5,.86998389204,6681.2248533996]]]],Jupiter:[[[[.59954691494,0,0],[.09695898719,5.06191793158,529.6909650946],[.00573610142,1.44406205629,7.1135470008],[.00306389205,5.41734730184,1059.3819301892],[9.7178296E-4,4.14264726552, -632.7837393132],[7.2903078E-4,3.64042916389,522.5774180938],[6.4263975E-4,3.41145165351,103.0927742186],[3.9806064E-4,2.29376740788,419.4846438752],[3.8857767E-4,1.27231755835,316.3918696566],[2.7964629E-4,1.7845459182,536.8045120954],[1.358973E-4,5.7748104079,1589.0728952838],[8.246349E-5,3.5822792584,206.1855484372],[8.768704E-5,3.63000308199,949.1756089698],[7.368042E-5,5.0810119427,735.8765135318],[6.26315E-5,.02497628807,213.299095438],[6.114062E-5,4.51319998626,1162.4747044078],[4.905396E-5, -1.32084470588,110.2063212194],[5.305285E-5,1.30671216791,14.2270940016],[5.305441E-5,4.18625634012,1052.2683831884],[4.647248E-5,4.69958103684,3.9321532631],[3.045023E-5,4.31676431084,426.598190876],[2.609999E-5,1.56667394063,846.0828347512],[2.028191E-5,1.06376530715,3.1813937377],[1.764763E-5,2.14148655117,1066.49547719],[1.722972E-5,3.88036268267,1265.5674786264],[1.920945E-5,.97168196472,639.897286314],[1.633223E-5,3.58201833555,515.463871093],[1.431999E-5,4.29685556046,625.6701923124],[9.73272E-6, -4.09764549134,95.9792272178]],[[529.69096508814,0,0],[.00489503243,4.2208293947,529.6909650946],[.00228917222,6.02646855621,7.1135470008],[3.0099479E-4,4.54540782858,1059.3819301892],[2.072092E-4,5.45943156902,522.5774180938],[1.2103653E-4,.16994816098,536.8045120954],[6.067987E-5,4.42422292017,103.0927742186],[5.433968E-5,3.98480737746,419.4846438752],[4.237744E-5,5.89008707199,14.2270940016]],[[4.7233601E-4,4.32148536482,7.1135470008],[3.0649436E-4,2.929777887,529.6909650946],[1.4837605E-4,3.14159265359, -0]]],[[[.02268615702,3.55852606721,529.6909650946],[.00109971634,3.90809347197,1059.3819301892],[.00110090358,0,0],[8.101428E-5,3.60509572885,522.5774180938],[6.043996E-5,4.25883108339,1589.0728952838],[6.437782E-5,.30627119215,536.8045120954]],[[7.8203446E-4,1.52377859742,529.6909650946]]],[[[5.20887429326,0,0],[.25209327119,3.49108639871,529.6909650946],[.00610599976,3.84115365948,1059.3819301892],[.00282029458,2.57419881293,632.7837393132],[.00187647346,2.07590383214,522.5774180938],[8.6792905E-4, -.71001145545,419.4846438752],[7.2062974E-4,.21465724607,536.8045120954],[6.5517248E-4,5.9799588479,316.3918696566],[2.9134542E-4,1.67759379655,103.0927742186],[3.0135335E-4,2.16132003734,949.1756089698],[2.3453271E-4,3.54023522184,735.8765135318],[2.2283743E-4,4.19362594399,1589.0728952838],[2.3947298E-4,.2745803748,7.1135470008],[1.3032614E-4,2.96042965363,1162.4747044078],[9.70336E-5,1.90669633585,206.1855484372],[1.2749023E-4,2.71550286592,1052.2683831884]],[[.0127180152,2.64937512894,529.6909650946], -[6.1661816E-4,3.00076460387,1059.3819301892],[5.3443713E-4,3.89717383175,522.5774180938],[3.1185171E-4,4.88276958012,536.8045120954],[4.1390269E-4,0,0]]]],Saturn:[[[[.87401354025,0,0],[.11107659762,3.96205090159,213.299095438],[.01414150957,4.58581516874,7.1135470008],[.00398379389,.52112032699,206.1855484372],[.00350769243,3.30329907896,426.598190876],[.00206816305,.24658372002,103.0927742186],[7.92713E-4,3.84007056878,220.4126424388],[2.3990355E-4,4.66976924553,110.2063212194],[1.6573588E-4,.43719228296, -419.4846438752],[1.4906995E-4,5.76903183869,316.3918696566],[1.582029E-4,.93809155235,632.7837393132],[1.4609559E-4,1.56518472,3.9321532631],[1.3160301E-4,4.44891291899,14.2270940016],[1.5053543E-4,2.71669915667,639.897286314],[1.3005299E-4,5.98119023644,11.0457002639],[1.0725067E-4,3.12939523827,202.2533951741],[5.863206E-5,.23656938524,529.6909650946],[5.227757E-5,4.20783365759,3.1813937377],[6.126317E-5,1.76328667907,277.0349937414],[5.019687E-5,3.17787728405,433.7117378768],[4.59255E-5,.61977744975, -199.0720014364],[4.005867E-5,2.24479718502,63.7358983034],[2.953796E-5,.98280366998,95.9792272178],[3.87367E-5,3.22283226966,138.5174968707],[2.461186E-5,2.03163875071,735.8765135318],[3.269484E-5,.77492638211,949.1756089698],[1.758145E-5,3.2658010994,522.5774180938],[1.640172E-5,5.5050445305,846.0828347512],[1.391327E-5,4.02333150505,323.5054166574],[1.580648E-5,4.37265307169,309.2783226558],[1.123498E-5,2.83726798446,415.5524906121],[1.017275E-5,3.71700135395,227.5261894396],[8.48642E-6,3.1915017083, -209.3669421749]],[[213.2990952169,0,0],[.01297370862,1.82834923978,213.299095438],[.00564345393,2.88499717272,7.1135470008],[9.3734369E-4,1.06311793502,426.598190876],[.00107674962,2.27769131009,206.1855484372],[4.0244455E-4,2.04108104671,220.4126424388],[1.9941774E-4,1.2795439047,103.0927742186],[1.0511678E-4,2.7488034213,14.2270940016],[6.416106E-5,.38238295041,639.897286314],[4.848994E-5,2.43037610229,419.4846438752],[4.056892E-5,2.92133209468,110.2063212194],[3.768635E-5,3.6496533078,3.9321532631]], -[[.0011644133,1.17988132879,7.1135470008],[9.1841837E-4,.0732519584,213.299095438],[3.6661728E-4,0,0],[1.5274496E-4,4.06493179167,206.1855484372]]],[[[.04330678039,3.60284428399,213.299095438],[.00240348302,2.85238489373,426.598190876],[8.4745939E-4,0,0],[3.0863357E-4,3.48441504555,220.4126424388],[3.4116062E-4,.57297307557,206.1855484372],[1.473407E-4,2.11846596715,639.897286314],[9.916667E-5,5.79003188904,419.4846438752],[6.993564E-5,4.7360468972,7.1135470008],[4.807588E-5,5.43305312061,316.3918696566]], -[[.00198927992,4.93901017903,213.299095438],[3.6947916E-4,3.14159265359,0],[1.7966989E-4,.5197943111,426.598190876]]],[[[9.55758135486,0,0],[.52921382865,2.39226219573,213.299095438],[.01873679867,5.2354960466,206.1855484372],[.01464663929,1.64763042902,426.598190876],[.00821891141,5.93520042303,316.3918696566],[.00547506923,5.0153261898,103.0927742186],[.0037168465,2.27114821115,220.4126424388],[.00361778765,3.13904301847,7.1135470008],[.00140617506,5.70406606781,632.7837393132],[.00108974848,3.29313390175, -110.2063212194],[6.9006962E-4,5.94099540992,419.4846438752],[6.1053367E-4,.94037691801,639.897286314],[4.8913294E-4,1.55733638681,202.2533951741],[3.4143772E-4,.19519102597,277.0349937414],[3.2401773E-4,5.47084567016,949.1756089698],[2.0936596E-4,.46349251129,735.8765135318]],[[.0618298134,.2584351148,213.299095438],[.00506577242,.71114625261,206.1855484372],[.00341394029,5.79635741658,426.598190876],[.00188491195,.47215589652,220.4126424388],[.00186261486,3.14159265359,0],[.00143891146,1.40744822888, -7.1135470008]],[[.00436902572,4.78671677509,213.299095438]]]],Uranus:[[[[5.48129294297,0,0],[.09260408234,.89106421507,74.7815985673],[.01504247898,3.6271926092,1.4844727083],[.00365981674,1.89962179044,73.297125859],[.00272328168,3.35823706307,149.5631971346],[7.0328461E-4,5.39254450063,63.7358983034],[6.8892678E-4,6.09292483287,76.2660712756],[6.1998615E-4,2.26952066061,2.9689454166],[6.1950719E-4,2.85098872691,11.0457002639],[2.646877E-4,3.14152083966,71.8126531507],[2.5710476E-4,6.11379840493, -454.9093665273],[2.107885E-4,4.36059339067,148.0787244263],[1.7818647E-4,1.74436930289,36.6485629295],[1.4613507E-4,4.73732166022,3.9321532631],[1.1162509E-4,5.8268179635,224.3447957019],[1.099791E-4,.48865004018,138.5174968707],[9.527478E-5,2.95516862826,35.1640902212],[7.545601E-5,5.236265824,109.9456887885],[4.220241E-5,3.23328220918,70.8494453042],[4.0519E-5,2.277550173,151.0476698429],[3.354596E-5,1.0654900738,4.4534181249],[2.926718E-5,4.62903718891,9.5612275556],[3.49034E-5,5.48306144511,146.594251718], -[3.144069E-5,4.75199570434,77.7505439839],[2.922333E-5,5.35235361027,85.8272988312],[2.272788E-5,4.36600400036,70.3281804424],[2.051219E-5,1.51773566586,.1118745846],[2.148602E-5,.60745949945,38.1330356378],[1.991643E-5,4.92437588682,277.0349937414],[1.376226E-5,2.04283539351,65.2203710117],[1.666902E-5,3.62744066769,380.12776796],[1.284107E-5,3.11347961505,202.2533951741],[1.150429E-5,.93343589092,3.1813937377],[1.533221E-5,2.58594681212,52.6901980395],[1.281604E-5,.54271272721,222.8603229936],[1.372139E-5, -4.19641530878,111.4301614968],[1.221029E-5,.1990065003,108.4612160802],[9.46181E-6,1.19253165736,127.4717966068],[1.150989E-5,4.17898916639,33.6796175129]],[[74.7815986091,0,0],[.00154332863,5.24158770553,74.7815985673],[2.4456474E-4,1.71260334156,1.4844727083],[9.258442E-5,.4282973235,11.0457002639],[8.265977E-5,1.50218091379,63.7358983034],[9.15016E-5,1.41213765216,149.5631971346]]],[[[.01346277648,2.61877810547,74.7815985673],[6.23414E-4,5.08111189648,149.5631971346],[6.1601196E-4,3.14159265359, -0],[9.963722E-5,1.61603805646,76.2660712756],[9.92616E-5,.57630380333,73.297125859]],[[3.4101978E-4,.01321929936,74.7815985673]]],[[[19.21264847206,0,0],[.88784984413,5.60377527014,74.7815985673],[.03440836062,.32836099706,73.297125859],[.0205565386,1.7829515933,149.5631971346],[.0064932241,4.52247285911,76.2660712756],[.00602247865,3.86003823674,63.7358983034],[.00496404167,1.40139935333,454.9093665273],[.00338525369,1.58002770318,138.5174968707],[.00243509114,1.57086606044,71.8126531507],[.00190522303, -1.99809394714,1.4844727083],[.00161858838,2.79137786799,148.0787244263],[.00143706183,1.38368544947,11.0457002639],[9.3192405E-4,.17437220467,36.6485629295],[7.1424548E-4,4.24509236074,224.3447957019],[8.9806014E-4,3.66105364565,109.9456887885],[3.9009723E-4,1.66971401684,70.8494453042],[4.6677296E-4,1.39976401694,35.1640902212],[3.9025624E-4,3.36234773834,277.0349937414],[3.6755274E-4,3.88649278513,146.594251718],[3.0348723E-4,.70100838798,151.0476698429],[2.9156413E-4,3.180563367,77.7505439839]], -[[.01479896629,3.67205697578,74.7815985673]]]],Neptune:[[[[5.31188633046,0,0],[.0179847553,2.9010127389,38.1330356378],[.01019727652,.48580922867,1.4844727083],[.00124531845,4.83008090676,36.6485629295],[4.2064466E-4,5.41054993053,2.9689454166],[3.7714584E-4,6.09221808686,35.1640902212],[3.3784738E-4,1.24488874087,76.2660712756],[1.6482741E-4,7.727998E-5,491.5579294568],[9.198584E-5,4.93747051954,39.6175083461],[8.99425E-5,.27462171806,175.1660598002]],[[38.13303563957,0,0],[1.6604172E-4,4.86323329249, -1.4844727083],[1.5744045E-4,2.27887427527,38.1330356378]]],[[[.03088622933,1.44104372644,38.1330356378],[2.7780087E-4,5.91271884599,76.2660712756],[2.7623609E-4,0,0],[1.5355489E-4,2.52123799551,36.6485629295],[1.5448133E-4,3.50877079215,39.6175083461]]],[[[30.07013205828,0,0],[.27062259632,1.32999459377,38.1330356378],[.01691764014,3.25186135653,36.6485629295],[.00807830553,5.18592878704,1.4844727083],[.0053776051,4.52113935896,35.1640902212],[.00495725141,1.5710564165,491.5579294568],[.00274571975, -1.84552258866,175.1660598002],[1.201232E-4,1.92059384991,1021.2488945514],[.00121801746,5.79754470298,76.2660712756],[.00100896068,.3770272493,73.297125859],[.00135134092,3.37220609835,39.6175083461],[7.571796E-5,1.07149207335,388.4651552382]]]]},ja={Pluto:[{tt:-109573.5,ndays:26141,coeff:[[-30.303124711144,-18.980368465705,3.206649343866],[20.092745278347,-27.533908687219,-14.64112196599],[9.137264744925,6.513103657467,-.720732357468],[-1.201554708717,2.149917852301,1.032022293526],[-.566068170022, --.285737361191,.081379987808],[.041678527795,-.14336310504,-.057534475984],[.041087908142,.00791132158,-.010270655537],[.001611769878,.011409821837,.003679980733],[-.002536458296,-1.45632543E-4,9.4992403E-4],[.001167651969,-4.991268E-5,1.1586771E-4],[-1.96953286E-4,4.2040627E-4,1.10147171E-4],[.001073825784,4.42658285E-4,1.46985332E-4],[-9.06160087E-4,.001702360394,7.58987924E-4],[-.001467464335,-6.22191266E-4,-2.31866243E-4],[-8.986691E-6,4.086384E-6,1.442956E-6],[-.001099078039,-5.44633529E-4,-2.05534708E-4], -[.001259974751,-.002178533187,-9.65315934E-4],[.001695288316,7.68480768E-4,2.87916141E-4],[-.001428026702,.002707551594,.001195955756]]},{tt:-83432.5,ndays:26141,coeff:[[67.049456204563,-9.279626603192,-23.091941092128],[14.860676672314,26.594121136143,3.819668867047],[-6.25440904412,1.408757903538,2.323726101433],[.114416381092,-.942273228585,-.328566335886],[.074973631246,.106749156044,.010806547171],[-.018627741964,-.009983491157,.002589955906],[.006167206174,-.001042430439,-.001521881831],[-4.71293617E-4, -.002337935239,.001060879763],[-2.40627462E-4,-.001380351742,-5.4604259E-4],[.001872140444,6.7987662E-4,2.40384842E-4],[-3.34705177E-4,6.9352833E-4,3.01138309E-4],[7.96124758E-4,6.53183163E-4,2.59527079E-4],[-.001276116664,.001393959948,6.29574865E-4],[-.001235158458,-8.89985319E-4,-3.51392687E-4],[-1.9881944E-5,4.8339979E-5,2.1342186E-5],[-9.87113745E-4,-7.48420747E-4,-2.96503569E-4],[.001721891782,-.001893675502,-8.54270937E-4],[.001505145187,.001081653337,4.2672364E-4],[-.002019479384,.002375617497, -.001068258925]]},{tt:-57291.5,ndays:26141,coeff:[[46.038290912405,73.773759757856,9.148670950706],[-22.354364534703,10.217143138926,9.921247676076],[-2.696282001399,-4.440843715929,-.57237303784],[.3854758188,-.287872688575,-.205914693555],[.020994433095,.004256602589,-.004817361041],[.003212255378,5.74875698E-4,-7.6446437E-4],[-1.58619286E-4,-.001035559544,-5.35612316E-4],[9.67952107E-4,-6.53111849E-4,-2.9201975E-4],[.001763494906,-3.70815938E-4,-2.24698363E-4],[.00115799033,.001849810828,7.59641577E-4], -[-8.83535516E-4,3.84038162E-4,1.91242192E-4],[7.09486562E-4,6.55810827E-4,2.65431131E-4],[-.001525810419,.001126870468,5.20202001E-4],[-9.8321086E-4,-.001116073455,-4.56026382E-4],[-1.565545E-5,6.9184008E-5,2.9796623E-5],[-8.15102021E-4,-9.0059701E-4,-3.65274209E-4],[.002090300438,-.001536778673,-7.09827438E-4],[.001234661297,.001342978436,5.45313112E-4],[-.002517963678,.001941826791,8.9385986E-4]]},{tt:-31150.5,ndays:26141,coeff:[[-39.074661990988,30.963513412373,21.431709298065],[-12.033639281924, --31.69367913231,-6.263961539568],[7.233936758611,-3.979157072767,-3.421027935569],[1.383182539917,1.0907297934,-.076771771448],[-.009894394996,.313614402007,.101180677344],[-.055459383449,.031782406403,.026374448864],[-.011074105991,-.007176759494,.001896208351],[-2.63363398E-4,-.001145329444,2.15471838E-4],[4.05700185E-4,-8.39229891E-4,-4.18571366E-4],[.001004921401,.001135118493,4.06734549E-4],[-4.73938695E-4,2.82751002E-4,1.14911593E-4],[5.28685886E-4,9.66635293E-4,4.01955197E-4],[-.001838869845, -8.06432189E-4,3.94594478E-4],[-7.13122169E-4,-.001334810971,-5.54511235E-4],[6.449359E-6,6.073E-5,2.451323E-5],[-5.96025142E-4,-9.9949277E-4,-4.13930406E-4],[.002364904429,-.001099236865,-5.28480902E-4],[9.07458104E-4,.001537243912,6.37001965E-4],[-.002909908764,.001413648354,6.77030924E-4]]},{tt:-5009.5,ndays:26141,coeff:[[23.380075041204,-38.969338804442,-19.204762094135],[33.437140696536,8.735194448531,-7.348352917314],[-3.127251304544,8.324311848708,3.540122328502],[-1.491354030154,-1.350371407475, -.028214278544],[.361398480996,-.118420687058,-.14537560548],[-.011771350229,.085880588309,.030665997197],[-.015839541688,-.014165128211,5.23465951E-4],[.004213218926,-.001426373728,-.001906412496],[.001465150002,4.51513538E-4,8.1936194E-5],[6.40069511E-4,.001886692235,8.84675556E-4],[-8.8355494E-4,3.01907356E-4,1.27310183E-4],[2.45524038E-4,9.10362686E-4,3.85555148E-4],[-.001942010476,4.3868228E-4,2.37124027E-4],[-4.2545566E-4,-.001442138768,-6.0775139E-4],[4.168433E-6,3.3856562E-5,1.3881811E-5], -[-3.37920193E-4,-.001074290356,-4.52503056E-4],[.002544755354,-6.20356219E-4,-3.27246228E-4],[5.3453411E-4,.001670320887,7.02775941E-4],[-.00316938027,8.16186705E-4,4.27213817E-4]]},{tt:21131.5,ndays:26141,coeff:[[74.130449310804,43.372111541004,-8.799489207171],[-8.705941488523,23.344631690845,9.908006472122],[-4.614752911564,-2.587334376729,.583321715294],[.316219286624,-.395448970181,-.219217574801],[.004593734664,.027528474371,.00773619728],[-.001192268851,-.004987723997,-.001599399192],[.003051998429, --.001287028653,-7.80744058E-4],[.001482572043,.001613554244,6.35747068E-4],[5.81965277E-4,7.88286674E-4,3.15285159E-4],[-3.1183073E-4,.00162236993,7.14817617E-4],[-7.11275723E-4,-1.60014561E-4,-5.0445901E-5],[1.77159088E-4,.001032713853,4.35835541E-4],[-.00203228082,1.44281331E-4,1.11910344E-4],[-1.48463759E-4,-.001495212309,-6.35892081E-4],[-9.629403E-6,-1.3678407E-5,-6.187457E-6],[-6.1196084E-5,-.00111978352,-4.79221572E-4],[.002630993795,-1.13042927E-4,-1.12115452E-4],[1.32867113E-4,.001741417484, -7.4322463E-4],[-.003293498893,1.82437998E-4,1.58073228E-4]]},{tt:47272.5,ndays:26141,coeff:[[-5.727994625506,71.194823351703,23.946198176031],[-26.767323214686,-12.26494930278,4.238297122007],[.89059620425,-5.970227904551,-2.131444078785],[.808383708156,-.143104108476,-.288102517987],[.089303327519,.049290470655,-.010970501667],[.010197195705,.0128797214,.00131758674],[.001795282629,.00448240378,.001563326157],[-.001974716105,.001278073933,6.52735133E-4],[9.06544715E-4,-8.05502229E-4,-3.36200833E-4], -[2.83816745E-4,.001799099064,7.56827653E-4],[-7.84971304E-4,1.2308122E-4,6.8812133E-5],[-2.37033406E-4,9.80100466E-4,4.27758498E-4],[-.001976846386,-2.80421081E-4,-7.2417045E-5],[1.95628511E-4,-.001446079585,-6.24011074E-4],[-4.4622337E-5,-3.5865046E-5,-1.3581236E-5],[2.04397832E-4,-.001127474894,-4.88668673E-4],[.002625373003,3.89300123E-4,1.02756139E-4],[-2.77321614E-4,.001732818354,7.49576471E-4],[-.003280537764,-4.57571669E-4,-1.16383655E-4]]}]},r=[{mjd:-72638,dt:38},{mjd:-65333,dt:26},{mjd:-58028, -dt:21},{mjd:-50724,dt:21.1},{mjd:-43419,dt:13.5},{mjd:-39766,dt:13.7},{mjd:-36114,dt:14.8},{mjd:-32461,dt:15.7},{mjd:-28809,dt:15.6},{mjd:-25156,dt:13.3},{mjd:-21504,dt:12.6},{mjd:-17852,dt:11.2},{mjd:-14200,dt:11.13},{mjd:-10547,dt:7.95},{mjd:-6895,dt:6.22},{mjd:-3242,dt:6.55},{mjd:-1416,dt:7.26},{mjd:410,dt:7.35},{mjd:2237,dt:5.92},{mjd:4063,dt:1.04},{mjd:5889,dt:-3.19},{mjd:7715,dt:-5.36},{mjd:9542,dt:-5.74},{mjd:11368,dt:-5.86},{mjd:13194,dt:-6.41},{mjd:15020,dt:-2.7},{mjd:16846,dt:3.92},{mjd:18672, -dt:10.38},{mjd:20498,dt:17.19},{mjd:22324,dt:21.41},{mjd:24151,dt:23.63},{mjd:25977,dt:24.02},{mjd:27803,dt:23.91},{mjd:29629,dt:24.35},{mjd:31456,dt:26.76},{mjd:33282,dt:29.15},{mjd:35108,dt:31.07},{mjd:36934,dt:33.15},{mjd:38761,dt:35.738},{mjd:40587,dt:40.182},{mjd:42413,dt:45.477},{mjd:44239,dt:50.54},{mjd:44605,dt:51.3808},{mjd:44970,dt:52.1668},{mjd:45335,dt:52.9565},{mjd:45700,dt:53.7882},{mjd:46066,dt:54.3427},{mjd:46431,dt:54.8712},{mjd:46796,dt:55.3222},{mjd:47161,dt:55.8197},{mjd:47527, -dt:56.3},{mjd:47892,dt:56.8553},{mjd:48257,dt:57.5653},{mjd:48622,dt:58.3092},{mjd:48988,dt:59.1218},{mjd:49353,dt:59.9845},{mjd:49718,dt:60.7853},{mjd:50083,dt:61.6287},{mjd:50449,dt:62.295},{mjd:50814,dt:62.9659},{mjd:51179,dt:63.4673},{mjd:51544,dt:63.8285},{mjd:51910,dt:64.0908},{mjd:52275,dt:64.2998},{mjd:52640,dt:64.4734},{mjd:53005,dt:64.5736},{mjd:53371,dt:64.6876},{mjd:53736,dt:64.8452},{mjd:54101,dt:65.1464},{mjd:54466,dt:65.4573},{mjd:54832,dt:65.7768},{mjd:55197,dt:66.0699},{mjd:55562, -dt:66.3246},{mjd:55927,dt:66.603},{mjd:56293,dt:66.9069},{mjd:56658,dt:67.281},{mjd:57023,dt:67.6439},{mjd:57388,dt:68.1024},{mjd:57754,dt:68.5927},{mjd:58119,dt:68.9676},{mjd:58484,dt:69.2201},{mjd:58849,dt:69.87},{mjd:59214,dt:70.39},{mjd:59580,dt:70.91},{mjd:59945,dt:71.4},{mjd:60310,dt:71.88},{mjd:60675,dt:72.36},{mjd:61041,dt:72.83},{mjd:61406,dt:73.32},{mjd:61680,dt:73.66}],L=function(a){if(a instanceof Date)this.date=a,this.ut=(a-aa)/864E5,this.tt=z(this.ut);else if("number"===typeof a)this.date= -new Date(aa-864E5*-a),this.ut=a,this.tt=z(this.ut);else throw"Argument must be a Date object, an AstroTime object, or a numeric UTC Julian date.";};L.prototype.toString=function(){return this.date.toISOString()};L.prototype.AddDays=function(a){return new L(this.ut+a)};d.MakeTime=function(a){return a instanceof L?a:new L(a)};var ba=[{nals:[0,0,0,0,1],cls:[-172064161,-174666,33386,92052331,9086,15377]},{nals:[0,0,2,-2,2],cls:[-13170906,-1675,-13696,5730336,-3015,-4587]},{nals:[0,0,2,0,2],cls:[-2276413, --234,2796,978459,-485,1374]},{nals:[0,0,0,0,2],cls:[2074554,207,-698,-897492,470,-291]},{nals:[0,1,0,0,0],cls:[1475877,-3633,11817,73871,-184,-1924]},{nals:[0,1,2,-2,2],cls:[-516821,1226,-524,224386,-677,-174]},{nals:[1,0,0,0,0],cls:[711159,73,-872,-6750,0,358]},{nals:[0,0,2,0,1],cls:[-387298,-367,380,200728,18,318]},{nals:[1,0,2,0,2],cls:[-301461,-36,816,129025,-63,367]},{nals:[0,-1,2,-2,2],cls:[215829,-494,111,-95929,299,132]},{nals:[0,0,2,-2,1],cls:[128227,137,181,-68982,-9,39]},{nals:[-1,0,2, -0,2],cls:[123457,11,19,-53311,32,-4]},{nals:[-1,0,0,2,0],cls:[156994,10,-168,-1235,0,82]},{nals:[1,0,0,0,1],cls:[63110,63,27,-33228,0,-9]},{nals:[-1,0,0,0,1],cls:[-57976,-63,-189,31429,0,-75]},{nals:[-1,0,2,2,2],cls:[-59641,-11,149,25543,-11,66]},{nals:[1,0,2,0,1],cls:[-51613,-42,129,26366,0,78]},{nals:[-2,0,2,0,1],cls:[45893,50,31,-24236,-10,20]},{nals:[0,0,0,2,0],cls:[63384,11,-150,-1220,0,29]},{nals:[0,0,2,2,2],cls:[-38571,-1,158,16452,-11,68]},{nals:[0,-2,2,-2,2],cls:[32481,0,0,-13870,0,0]},{nals:[-2, -0,0,2,0],cls:[-47722,0,-18,477,0,-25]},{nals:[2,0,2,0,2],cls:[-31046,-1,131,13238,-11,59]},{nals:[1,0,2,-2,2],cls:[28593,0,-1,-12338,10,-3]},{nals:[-1,0,2,0,1],cls:[20441,21,10,-10758,0,-3]},{nals:[2,0,0,0,0],cls:[29243,0,-74,-609,0,13]},{nals:[0,0,2,0,0],cls:[25887,0,-66,-550,0,11]},{nals:[0,1,0,0,1],cls:[-14053,-25,79,8551,-2,-45]},{nals:[-1,0,0,2,1],cls:[15164,10,11,-8001,0,-1]},{nals:[0,2,2,-2,2],cls:[-15794,72,-16,6850,-42,-5]},{nals:[0,0,-2,2,0],cls:[21783,0,13,-167,0,13]},{nals:[1,0,0,-2,1], -cls:[-12873,-10,-37,6953,0,-14]},{nals:[0,-1,0,0,1],cls:[-12654,11,63,6415,0,26]},{nals:[-1,0,2,2,1],cls:[-10204,0,25,5222,0,15]},{nals:[0,2,0,0,0],cls:[16707,-85,-10,168,-1,10]},{nals:[1,0,2,2,2],cls:[-7691,0,44,3268,0,19]},{nals:[-2,0,2,0,0],cls:[-11024,0,-14,104,0,2]},{nals:[0,1,2,0,2],cls:[7566,-21,-11,-3250,0,-5]},{nals:[0,0,2,2,1],cls:[-6637,-11,25,3353,0,14]},{nals:[0,-1,2,0,2],cls:[-7141,21,8,3070,0,4]},{nals:[0,0,0,2,1],cls:[-6302,-11,2,3272,0,4]},{nals:[1,0,2,-2,1],cls:[5800,10,2,-3045, -0,-1]},{nals:[2,0,2,-2,2],cls:[6443,0,-7,-2768,0,-4]},{nals:[-2,0,0,2,1],cls:[-5774,-11,-15,3041,0,-5]},{nals:[2,0,2,0,1],cls:[-5350,0,21,2695,0,12]},{nals:[0,-1,2,-2,1],cls:[-4752,-11,-3,2719,0,-3]},{nals:[0,0,0,-2,1],cls:[-4940,-11,-21,2720,0,-9]},{nals:[-1,-1,0,2,0],cls:[7350,0,-8,-51,0,4]},{nals:[2,0,0,-2,1],cls:[4065,0,6,-2206,0,1]},{nals:[1,0,0,2,0],cls:[6579,0,-24,-199,0,2]},{nals:[0,1,2,-2,1],cls:[3579,0,5,-1900,0,1]},{nals:[1,-1,0,0,0],cls:[4725,0,-6,-41,0,3]},{nals:[-2,0,2,0,2],cls:[-3075, -0,-2,1313,0,-1]},{nals:[3,0,2,0,2],cls:[-2904,0,15,1233,0,7]},{nals:[0,-1,0,2,0],cls:[4348,0,-10,-81,0,2]},{nals:[1,-1,2,0,2],cls:[-2878,0,8,1232,0,4]},{nals:[0,0,0,1,0],cls:[-4230,0,5,-20,0,-2]},{nals:[-1,-1,2,2,2],cls:[-2819,0,7,1207,0,3]},{nals:[-1,0,2,0,0],cls:[-4056,0,5,40,0,-2]},{nals:[0,-1,2,2,2],cls:[-2647,0,11,1129,0,5]},{nals:[-2,0,0,0,1],cls:[-2294,0,-10,1266,0,-4]},{nals:[1,1,2,0,2],cls:[2481,0,-7,-1062,0,-3]},{nals:[2,0,0,0,1],cls:[2179,0,-2,-1129,0,-2]},{nals:[-1,1,0,1,0],cls:[3276, -0,1,-9,0,0]},{nals:[1,1,0,0,0],cls:[-3389,0,5,35,0,-2]},{nals:[1,0,2,0,0],cls:[3339,0,-13,-107,0,1]},{nals:[-1,0,2,-2,1],cls:[-1987,0,-6,1073,0,-2]},{nals:[1,0,0,0,2],cls:[-1981,0,0,854,0,0]},{nals:[-1,0,0,1,0],cls:[4026,0,-353,-553,0,-139]},{nals:[0,0,2,1,2],cls:[1660,0,-5,-710,0,-2]},{nals:[-1,0,2,4,2],cls:[-1521,0,9,647,0,4]},{nals:[-1,1,0,1,1],cls:[1314,0,0,-700,0,0]},{nals:[0,-2,2,-2,1],cls:[-1283,0,0,672,0,0]},{nals:[1,0,2,2,1],cls:[-1331,0,8,663,0,4]},{nals:[-2,0,2,2,2],cls:[1383,0,-2,-594, -0,-2]},{nals:[-1,0,0,0,2],cls:[1405,0,4,-610,0,2]},{nals:[1,1,2,-2,2],cls:[1290,0,0,-556,0,0]}],Q,t=function(a,b,c,d){this.x=a;this.y=b;this.z=c;this.t=d};t.prototype.Length=function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)};var W=function(a,b,c){this.lat=a;this.lon=b;this.dist=c};d.MakeSpherical=function(a,b,c){return new W(a,b,c)};var da=function(a,b,c){this.ra=a;this.dec=b;this.dist=c},w=function(a){this.rot=a};d.MakeRotation=function(a){if(!la(a))throw"Argument must be a [3][3] array of numbers"; -return new w(a)};var qa=function(a,b,c,d){this.azimuth=a;this.altitude=b;this.ra=c;this.dec=d},ma=function(a,b,c,d,g){this.ex=a;this.ey=b;this.ez=c;this.elat=d;this.elon=g};d.Horizon=function(a,b,c,e,g){a=d.MakeTime(a);var h=Math.sin(.017453292519943295*b.latitude),l=Math.cos(.017453292519943295*b.latitude),k=Math.sin(.017453292519943295*b.longitude),m=Math.cos(.017453292519943295*b.longitude);b=Math.sin(.017453292519943295*e);var f=Math.cos(.017453292519943295*e),n=Math.sin(.2617993877991494*c), -p=Math.cos(.2617993877991494*c),q=[l*m,l*k,h];h=[-h*m,-h*k,l];k=[k,-m,0];l=-15*S(a);a=E(l,q);q=E(l,h);k=E(l,k);b=[f*p,f*n,b];n=b[0]*a[0]+b[1]*a[1]+b[2]*a[2];q=b[0]*q[0]+b[1]*q[1]+b[2]*q[2];k=b[0]*k[0]+b[1]*k[1]+b[2]*k[2];p=Math.sqrt(q*q+k*k);f=0;0f&&(f+=360),360<=f&&(f-=360));n=57.29577951308232*Math.atan2(p,n);p=e;if(g&&(e=n,g=d.Refraction(g,90-n),n-=g,0k;++k)g.push((b[k]-e*a[k])/q*c+a[k]*p);p=Math.sqrt(g[0]*g[0]+g[1]*g[1]);0c&&(c+=24),24<=c&&(c-=24)):c=0;p=57.29577951308232*Math.atan2(g[2],p)}return new qa(f,90-n,c,p)};var ra=function(a,b,c){this.latitude=a;this.longitude=b;this.height=c};d.MakeObserver=function(a,b,c){return new ra(a,b,c||0)};d.SunPosition=function(a){a=d.MakeTime(a).AddDays(-.005775518331089121);var b=B(A.Earth,a);b=R(0,[-b.x, --b.y,-b.z],a.tt);b=Y(a,0,b);a=.017453292519943295*P(a).tobl;return ea(b[0],b[1],b[2],Math.cos(a),Math.sin(a))};d.Equator=function(a,b,c,e,g){b=d.MakeTime(b);var h=S(b),l=.017453292519943295*c.latitude,k=Math.sin(l);l=Math.cos(l);var m=1/Math.sqrt(l*l+.9933056020041345*k*k),f=c.height/1E3,n=6378.1366*m+f;c=.017453292519943295*(15*h+c.longitude);c=Y(b,-1,[n*l*Math.cos(c)/1.4959787069098932E8,n*l*Math.sin(c)/1.4959787069098932E8,(6335.438815127603*m+f)*k/1.4959787069098932E8]);c=R(b.tt,c,0);a=d.GeoVector(a, -b,g);a=[a.x-c[0],a.y-c[1],a.z-c[2]];if(!e)return ca(a);e=R(0,a,b.tt);e=Y(b,0,e);return ca(e)};d.Ecliptic=function(a,b,c){void 0===U&&(U=.017453292519943295*P(d.MakeTime(aa)).mobl,ha=Math.cos(U),ia=Math.sin(U));return ea(a,b,c,ha,ia)};d.GeoMoon=function(a){a=d.MakeTime(a);var b=D(a),c=b.distance_au*Math.cos(b.geo_eclip_lat);b=[c*Math.cos(b.geo_eclip_lon),c*Math.sin(b.geo_eclip_lon),b.distance_au*Math.sin(b.geo_eclip_lat)];var e=.017453292519943295*C(a);c=Math.cos(e);e=Math.sin(e);b=R(a.tt,[b[0],b[1]* -c-b[2]*e,b[1]*e+b[2]*c],0);return new t(b[0],b[1],b[2],a)};d.HelioVector=function(a,b){b=d.MakeTime(b);if(a in A)return B(A[a],b);if(a in ja){a:{var c=$jscomp.makeIterator(ja[a]);for(a=c.next();!a.done;a=c.next()){a=a.value;var e=a.tt;var g=a.tt+a.ndays;e=(2*b.tt-(g+e))/(g-e);if(-1<=e&&1>=e){var h=[];for(g=0;3>g;++g){var l=1;var k=a.coeff[0][g];var m=e;k+=a.coeff[1][g]*m;for(c=2;cf&&(f+=360),360<=f&&(f-=360));n=57.29577951308232*Math.atan2(p,n);p=e;if(g&&(e=n,g=d.Refraction(g,90-n),n-=g,0k;++k)g.push((b[k]-e*a[k])/q*c+a[k]*p);p=Math.sqrt(g[0]*g[0]+g[1]*g[1]);0c&&(c+=24),24<=c&&(c-=24)):c=0;p=57.29577951308232*Math.atan2(g[2],p)}return new qa(f,90-n,c,p)};var ra=function(a,b,c){this.latitude=a;this.longitude=b;this.height=c};d.MakeObserver=function(a,b,c){return new ra(a,b,c||0)};d.SunPosition=function(a){a=d.MakeTime(a).AddDays(-.005775518331089121);var b=B(A.Earth,a);b=R(0,[-b.x,-b.y,-b.z],a.tt);b=Y(a,0,b);a=.017453292519943295* +P(a).tobl;return ea(b[0],b[1],b[2],Math.cos(a),Math.sin(a))};d.Equator=function(a,b,c,e,g){b=d.MakeTime(b);var h=S(b),l=.017453292519943295*c.latitude,k=Math.sin(l);l=Math.cos(l);var m=1/Math.sqrt(l*l+.9933056020041345*k*k),f=c.height/1E3,n=6378.1366*m+f;c=.017453292519943295*(15*h+c.longitude);c=Y(b,-1,[n*l*Math.cos(c)/1.4959787069098932E8,n*l*Math.sin(c)/1.4959787069098932E8,(6335.438815127603*m+f)*k/1.4959787069098932E8]);c=R(b.tt,c,0);a=d.GeoVector(a,b,g);a=[a.x-c[0],a.y-c[1],a.z-c[2]];if(!e)return ca(a); +e=R(0,a,b.tt);e=Y(b,0,e);return ca(e)};d.Ecliptic=function(a,b,c){void 0===U&&(U=.017453292519943295*P(d.MakeTime(aa)).mobl,ha=Math.cos(U),ia=Math.sin(U));return ea(a,b,c,ha,ia)};d.GeoMoon=function(a){a=d.MakeTime(a);var b=D(a),c=b.distance_au*Math.cos(b.geo_eclip_lat);b=[c*Math.cos(b.geo_eclip_lon),c*Math.sin(b.geo_eclip_lon),b.distance_au*Math.sin(b.geo_eclip_lat)];var e=.017453292519943295*C(a);c=Math.cos(e);e=Math.sin(e);b=R(a.tt,[b[0],b[1]*c-b[2]*e,b[1]*e+b[2]*c],0);return new t(b[0],b[1],b[2], +a)};d.HelioVector=function(a,b){b=d.MakeTime(b);if(a in A)return B(A[a],b);if(a in ja){a:{var c=$jscomp.makeIterator(ja[a]);for(a=c.next();!a.done;a=c.next()){a=a.value;var e=a.tt;var g=a.tt+a.ndays;e=(2*b.tt-(g+e))/(g-e);if(-1<=e&&1>=e){var h=[];for(g=0;3>g;++g){var l=1;var k=a.coeff[0][g];var m=e;k+=a.coeff[1][g]*m;for(c=2;ck;++k){g=d.HelioVector(a,l);c&&(e=B(A.Earth,l));h=new t(g.x-e.x,g.y-e.y,g.z-e.z,b);if("Sun"===a)return h;var m=b.AddDays(-h.Length()/173.1446326846693); g=Math.abs(m.tt-l.tt);if(1E-9>g)return h;l=m}throw"Light-travel time solver did not converge: dt="+g;};d.Search=function(a,b,c,e){function g(b){++H.search_func;return a(b)}var h=Math.abs((e&&e.dt_tolerance_seconds||1)/86400);++H.search;var l=e&&e.init_f1||g(b),k=e&&e.init_f2||g(c),m,f=0;e=e&&e.iter_limit||20;for(var n=!0;;){if(++f>e)throw"Excessive iteration in Search()";var p=new L(b.ut+.5*(c.ut-b.ut)),q=p.ut-b.ut;if(Math.abs(q)(q.ut-b.ut)*(q.ut-c.ut)&&0>(r.ut-b.ut)*(r.ut-c.ut))){v=g(q);var u=g(r);if(0>v&&0<=u){l=v;k=u;b=q;c=r;m=t;n=!1;continue}}}}if(0>l&&0<=m)c=p,k=m;else if(0>m&&0<=k)b=p,l=m;else return null}};d.SearchSunLongitude=function(a,b,c){b=d.MakeTime(b);c=b.AddDays(c);return d.Search(function(b){b=d.SunPosition(b);return I(b.elon-a)},b,c)};d.LongitudeFromSun=function(a, diff --git a/source/python/astronomy.py b/source/python/astronomy.py index d5e2cc00..20d87a10 100644 --- a/source/python/astronomy.py +++ b/source/python/astronomy.py @@ -2341,7 +2341,12 @@ _vsop = [ [ [0.72334820891, 0.00000000000, 0.00000000000], [0.00489824182, 4.02151831717, 10213.28554621100], - [0.00001658058, 4.90206728031, 20426.57109242200] + [0.00001658058, 4.90206728031, 20426.57109242200], + [0.00001378043, 1.12846591367, 11790.62908865880], + [0.00001632096, 2.84548795207, 7860.41939243920], + [0.00000498395, 2.58682193892, 9683.59458111640], + [0.00000221985, 2.01346696541, 19367.18916223280], + [0.00000237454, 2.55136053886, 15720.83878487840] ], [ [0.00034551041, 0.89198706276, 10213.28554621100] @@ -2409,7 +2414,12 @@ _vsop = [ [0.00001575572, 2.84685214877, 7860.41939243920], [0.00000924799, 5.45292236722, 11506.76976979360], [0.00000542439, 4.56409151453, 3930.20969621960], - [0.00000472110, 3.66100022149, 5884.92684658320] + [0.00000472110, 3.66100022149, 5884.92684658320], + [0.00000085831, 1.27079125277, 161000.68573767410], + [0.00000057056, 2.01374292245, 83996.84731811189], + [0.00000055736, 5.24159799170, 71430.69561812909], + [0.00000174844, 3.01193636733, 18849.22754997420], + [0.00000243181, 4.27349530790, 11790.62908865880] ], [ [0.00103018607, 1.10748968172, 6283.07584999140], @@ -2619,7 +2629,10 @@ _vsop = [ [0.00023947298, 0.27458037480, 7.11354700080], [0.00013032614, 2.96042965363, 1162.47470440780], [0.00009703360, 1.90669633585, 206.18554843720], - [0.00012749023, 2.71550286592, 1052.26838318840] + [0.00012749023, 2.71550286592, 1052.26838318840], + [0.00007057931, 2.18184839926, 1265.56747862640], + [0.00006137703, 6.26418240033, 846.08283475120], + [0.00002616976, 2.00994012876, 1581.95934828300] ], [ [0.01271801520, 2.64937512894, 529.69096509460], @@ -2725,7 +2738,14 @@ _vsop = [ [0.00048913294, 1.55733638681, 202.25339517410], [0.00034143772, 0.19519102597, 277.03499374140], [0.00032401773, 5.47084567016, 949.17560896980], - [0.00020936596, 0.46349251129, 735.87651353180] + [0.00020936596, 0.46349251129, 735.87651353180], + [0.00009796004, 5.20477537945, 1265.56747862640], + [0.00011993338, 5.98050967385, 846.08283475120], + [0.00020839300, 1.52102476129, 433.71173787680], + [0.00015298404, 3.05943814940, 529.69096509460], + [0.00006465823, 0.17732249942, 1052.26838318840], + [0.00011380257, 1.73105427040, 522.57741809380], + [0.00003419618, 4.94550542171, 1581.95934828300] ], [ [0.06182981340, 0.25843511480, 213.29909543800], @@ -2828,7 +2848,10 @@ _vsop = [ [0.00039025624, 3.36234773834, 277.03499374140], [0.00036755274, 3.88649278513, 146.59425171800], [0.00030348723, 0.70100838798, 151.04766984290], - [0.00029156413, 3.18056336700, 77.75054398390] + [0.00029156413, 3.18056336700, 77.75054398390], + [0.00022637073, 0.72518687029, 529.69096509460], + [0.00011959076, 1.75043392140, 984.60033162190], + [0.00025620756, 5.25656086672, 380.12776796000] ], [ [0.01479896629, 3.67205697578, 74.78159856730]