vsop87.cpp
上传用户:center1979
上传日期:2022-07-26
资源大小:50633k
文件大小:512k
- { 8.489e-08, 3.911747962, 333.657345044 },
- { 8.708e-08, 5.81537952972, 153.495350398 },
- { 1.0194e-07, 5.97791997034, 35.1640902212 },
- { 9.652e-08, 0.38887666466, 415.552490612 },
- { 7.106e-08, 1.5059848847, 991.713878623 },
- { 8.055e-08, 2.25812279923, 206.185548437 },
- { 6.468e-08, 2.99863142327, 380.12776796 },
- { 6.393e-08, 1.1686180992, 96.8729990951 },
- { 8.976e-08, 6.05363032396, 146.381803397 },
- { 6.131e-08, 0.05596259493, 99.1606209555 },
- { 5.803e-08, 0.79879069877, 142.449650134 },
- { 5.816e-08, 4.63029217647, 49.5088043018 },
- { 5.557e-08, 0.63854330387, 58.1068240109 },
- { 5.869e-08, 2.21418083323, 80.1982245387 },
- { 5.162e-08, 4.36457872885, 977.486784621 },
- { 5.428e-08, 0.85181859845, 546.956440482 },
- { 5.75e-08, 2.48104577171, 373.014220959 },
- { 5.766e-08, 0.34229026122, 536.804512095 },
- { 5.924e-08, 5.48443563529, 76.4785195967 },
- { 5.154e-08, 4.81339702575, 387.241314961 },
- { 5.325e-08, 3.72411790512, 23.5758732361 },
- { 5.037e-08, 5.06388596602, 440.682272526 },
- { 5.209e-08, 4.09574144962, 132.888422578 },
- { 5.79e-08, 3.39593613152, 458.090760265 },
- { 5.007e-08, 4.25821411688, 522.577418094 },
- { 5.114e-08, 0.4964558173, 60.7669528868 },
- { 5.027e-08, 6.1524848967, 39.6175083461 },
- { 5.183e-08, 3.25775152471, 561.183534484 },
- { 4.603e-08, 1.69268338637, 152.532142551 },
- { 4.566e-08, 0.46068888813, 33.1371007917 },
- { 5.302e-08, 1.83522660093, 124.290402869 },
- { 4.454e-08, 2.30288945184, 312.459716394 },
- { 5.766e-08, 0.6606915576, 38.1330356378 },
- { 4.255e-08, 3.58596694157, 479.288388915 },
- { 4.315e-08, 1.64104755836, 128.956269315 },
- { 4.19e-08, 4.37674804409, 79.2350166922 },
- { 5.756e-08, 0.87494010124, 20.6069278195 },
- { 5.409e-08, 0.87333646247, 81.8951455681 },
- { 5.124e-08, 1.40551554367, 144.146571163 },
- { 4.045e-08, 6.07362424621, 19.643719973 },
- { 3.994e-08, 5.77048046468, 288.080694005 },
- { 4.987e-08, 2.99179430284, 29.2049475286 },
- { 3.87e-08, 4.43713601497, 141.698890608 },
- { 3.811e-08, 3.15820960943, 159.12442469 },
- { 4.553e-08, 0.01384318412, 298.232622392 },
- { 3.737e-08, 5.28319518103, 353.301065017 },
- { 3.742e-08, 2.67921642406, 426.598190876 },
- { 3.939e-08, 5.27301148162, 521.092945386 },
- { 5.065e-08, 4.09433474334, 111.430161497 },
- { 3.861e-08, 1.343943837, 535.320039387 },
- { 3.619e-08, 5.10070043677, 490.334089179 },
- { 4.385e-08, 0.620576801, 827.172827961 },
- { 3.645e-08, 0.34509016266, 33.6796175129 },
- { 3.558e-08, 2.51710360898, 258.875746477 },
- { 3.919e-08, 0.62079541541, 152.010877689 },
- { 3.576e-08, 3.24526237368, 230.564570825 },
- { 3.469e-08, 0.79054323335, 983.115858914 },
- { 4.53e-08, 2.86839686392, 129.919477162 },
- { 3.648e-08, 5.59395544992, 774.482629922 },
- { 3.44e-08, 4.71254994607, 6.9010986797 },
- { 3.513e-08, 4.49630054276, 376.195614697 },
- { 4.521e-08, 2.05472247761, 404.506790348 },
- { 3.336e-08, 0.89628904042, 469.136460529 },
- { 3.274e-08, 3.86236880159, 42.5382696529 },
- { 3.201e-08, 2.76459652868, 248.72381809 },
- { 3.184e-08, 0.07709843451, 1514.29129672 },
- { 3.783e-08, 5.29835962126, 369.082067696 },
- { 3.119e-08, 1.27526406087, 200.768922466 },
- { 3.266e-08, 2.24754480216, 73.8183907208 },
- { 3.055e-08, 2.60120354408, 433.711737877 },
- { 3.051e-08, 4.54953369151, 980.668178359 },
- { 3.472e-08, 4.93521260607, 411.620337349 },
- { 3.531e-08, 4.49372794858, 881.507557403 },
- { 3.284e-08, 5.59170577331, 472.174841915 },
- { 3.049e-08, 3.68906777491, 16.6747745564 },
- { 3.015e-08, 6.02967446446, 291.262087743 },
- { 3.755e-08, 3.1258774756, 108.46121608 },
- { 3.467e-08, 2.17484439267, 554.069987483 },
- { 3.138e-08, 0.52367930477, 1094.80665284 },
- { 3.257e-08, 2.49339546514, 451.72797279 },
- { 2.886e-08, 2.44887846041, 135.336103133 },
- { 2.965e-08, 0.3929499553, 25.2727942655 },
- { 2.794e-08, 5.32964924523, 125.987323898 },
- { 2.814e-08, 1.70481689541, 639.897286314 },
- { 2.777e-08, 5.94801147914, 89.7594520943 },
- { 2.831e-08, 2.52728803131, 867.280463402 },
- { 2.779e-08, 0.48501334493, 305.346169393 },
- { 2.872e-08, 0.77434367967, 486.401935916 },
- { 2.857e-08, 4.71106805785, 218.928169731 },
- { 3.081e-08, 4.10993868704, 146.594251718 },
- { 2.763e-08, 4.27510031656, 350.3321196 },
- { 3.365e-08, 3.67691210011, 661.094914965 },
- { 2.925e-08, 1.43646759644, 381.612240668 },
- { 2.802e-08, 3.11122994722, 216.480489176 },
- { 2.756e-08, 4.6267249884, 1357.61455258 },
- { 3.45e-08, 2.12911756067, 685.473937353 },
- { 2.646e-08, 3.81808560938, 550.888593745 },
- { 2.584e-08, 5.63009428967, 24.3790223882 },
- { 2.74e-08, 1.85885336732, 529.690965095 },
- { 2.606e-08, 4.36605237304, 1080.57955884 },
- { 2.438e-08, 3.04265976382, 391.173468224 },
- { 2.446e-08, 5.7384638154, 535.910740218 },
- { 2.471e-08, 4.1814010428, 235.390495966 },
- { 2.568e-08, 1.09886876369, 913.000126792 },
- { 2.346e-08, 1.88690998393, 82.8583534146 },
- { 2.301e-08, 0.2711625493, 7.8643065262 },
- { 3.053e-08, 5.35047433775, 681.54178409 },
- { 2.29e-08, 2.49218620138, 203.737867882 },
- { 2.325e-08, 0.52844013308, 14.2270940016 },
- { 2.258e-08, 0.0315661773, 398.287015225 },
- { 2.16e-08, 6.01811980506, 140.001969579 },
- { 2.328e-08, 3.12607654898, 273.102840478 },
- { 2.139e-08, 4.33383273131, 91.4563731237 },
- { 2.723e-08, 1.24464892033, 166.828672522 },
- { 2.053e-08, 4.3243438112, 515.463871093 },
- { 2.398e-08, 5.9014427096, 79.4474650133 },
- { 2.222e-08, 4.80208391464, 268.436974032 },
- { 2.31e-08, 0.48180017719, 14.0146456805 },
- { 2.022e-08, 5.85402756377, 271.405919449 },
- { 2.521e-08, 3.23111737258, 901.954426528 },
- { 2.369e-08, 2.40985582671, 73.0846775379 },
- { 2.034e-08, 0.47496124187, 2043.98226181 },
- { 1.955e-08, 6.21237525891, 384.059921223 },
- { 1.954e-08, 3.38054663002, 820.05928096 },
- { 1.867e-08, 5.32253331194, 31.492569389 },
- { 2.416e-08, 0.0642020989, 419.484643875 },
- { 1.762e-08, 5.772005785, 1589.07289528 },
- { 1.762e-08, 4.23427755214, 1439.50969815 },
- { 1.925e-08, 0.79521713622, 184.094147909 },
- { 2.204e-08, 0.52846501316, 278.51946645 },
- { 2.228e-08, 4.32684227036, 66.9172920411 },
- { 1.679e-08, 5.14179135334, 1059.38193019 },
- { 1.706e-08, 1.54289098759, 234.496724089 },
- { 1.625e-08, 5.07314285147, 100.384461233 },
- { 1.609e-08, 6.16926697458, 1119.18567523 },
- { 2.033e-08, 3.53119363701, 109.945688788 },
- { 2.129e-08, 1.22429037482, 184.727287356 },
- { 1.717e-08, 2.42144217711, 678.360390352 },
- { 1.717e-08, 3.95917040998, 827.923587486 },
- { 1.81e-08, 0.05278694247, 17.2654753874 },
- { 1.585e-08, 1.88716701489, 4.4534181249 },
- { 1.577e-08, 5.35894329524, 1894.41906468 },
- { 1.523e-08, 3.77627435709, 181.055766524 },
- { 1.534e-08, 0.19778048653, 135.548551454 },
- { 1.506e-08, 2.95864025543, 849.264228489 },
- { 1.506e-08, 1.35493797085, 998.827425623 },
- { 1.722e-08, 5.00518792666, 699.701031354 },
- { 1.722e-08, 3.46745969379, 550.13783422 },
- { 1.643e-08, 5.86122302822, 89.0086925689 },
- { 1.52e-08, 1.42254433373, 0.2124483211 },
- { 1.529e-08, 0.77073213979, 329.725191781 },
- { 1.458e-08, 5.90775641818, 147.11551658 },
- { 1.792e-08, 1.11686829848, 453.424893819 },
- { 1.498e-08, 2.6114567579, 365.900673958 },
- { 1.793e-08, 2.14241351007, 211.81462273 },
- { 1.58e-08, 5.57997675255, 785.528330185 },
- { 1.58e-08, 4.04224851969, 635.965133051 },
- { 1.835e-08, 4.31480288855, 465.955066791 },
- { 1.407e-08, 4.94842057032, 74.8934731519 },
- { 1.403e-08, 5.15016124506, 180.161994646 },
- { 1.42e-08, 2.60452620081, 95.3885263868 },
- { 1.383e-08, 5.95287019467, 74.6697239827 },
- { 1.382e-08, 2.10457236484, 458.84151979 },
- { 1.513e-08, 1.88475439191, 1051.51762366 },
- { 1.368e-08, 5.67966974902, 66.70484372 },
- };
- static VSOPTerm uranus_R3[] = {
- { 1.164663e-05, 4.73440180792, 74.7815985673 },
- { 2.12363e-06, 3.34268349684, 63.7358983034 },
- { 1.96315e-06, 2.981012371, 70.8494453042 },
- { 1.04707e-06, 0.95789279555, 11.0457002639 },
- { 7.1681e-07, 0.02528295071, 56.6223513026 },
- { 7.2719e-07, 0.99479831041, 149.563197135 },
- { 5.4933e-07, 2.59936585639, 3.9321532631 },
- { 3.4026e-07, 3.82319495878, 76.2660712756 },
- { 3.2081e-07, 3.59825177872, 131.40394987 },
- { 2.9569e-07, 3.44303690664, 85.8272988312 },
- { 3.6377e-07, 5.65035573026, 77.962992305 },
- { 2.7625e-07, 0.42885477377, 3.1813937377 },
- { 2.7552e-07, 2.55709855563, 52.6901980395 },
- { 2.474e-07, 5.14634979896, 78.7137518304 },
- { 1.9382e-07, 5.13444064222, 18.1592472647 },
- { 1.5767e-07, 0.37116951743, 447.795819526 },
- { 1.5441e-07, 5.57271837433, 462.022913528 },
- { 1.5035e-07, 3.84415419523, 73.297125859 },
- { 1.545e-07, 2.9757251436, 145.631043871 },
- { 1.7788e-07, 0, 0 },
- { 1.5958e-07, 5.19915553861, 71.6002048296 },
- { 1.078e-07, 6.02554585112, 138.517496871 },
- { 1.0347e-07, 3.60350847669, 224.344795702 },
- { 7.612e-08, 1.47668980969, 1.4844727083 },
- { 8.14e-08, 2.61444086595, 22.0914005278 },
- { 7.107e-08, 5.43946774526, 269.921446741 },
- { 6.459e-08, 4.37142319461, 284.148540742 },
- { 6.817e-08, 0.0148593733, 151.047669843 },
- { 7.811e-08, 0.29898229022, 127.471796607 },
- { 5.768e-08, 4.22672716677, 373.014220959 },
- { 5.105e-08, 1.81797461354, 202.253395174 },
- { 4.692e-08, 2.7840457544, 120.358249606 },
- { 5.071e-08, 0.7664167964, 62.2514255951 },
- { 4.133e-08, 1.8887930071, 209.366942175 },
- { 5.201e-08, 4.15791319343, 195.139848173 },
- { 3.946e-08, 1.83105030444, 72.3339180125 },
- { 3.582e-08, 3.92592140377, 124.290402869 },
- { 4.34e-08, 3.99626115302, 9.5612275556 },
- { 3.739e-08, 1.50894993813, 148.078724426 },
- { 3.436e-08, 1.99291271003, 65.2203710117 },
- { 3.835e-08, 1.15614639932, 153.495350398 },
- { 3.593e-08, 0.94897593272, 92.940845832 },
- { 3.95e-08, 1.85721204646, 152.744590872 },
- { 3.277e-08, 1.40881404192, 351.816592309 },
- { 3.058e-08, 5.76662885271, 160.608897399 },
- { 2.719e-08, 5.64780369357, 134.585343608 },
- { 2.8e-08, 0.79480255927, 572.229234747 },
- { 2.727e-08, 6.00569967758, 12.5301729722 },
- { 2.524e-08, 3.05071097098, 387.241314961 },
- { 2.662e-08, 1.98593312104, 450.977213264 },
- { 2.391e-08, 1.62282528307, 358.93013931 },
- { 2.57e-08, 2.81202618885, 213.299095438 },
- { 2.291e-08, 4.81424601791, 536.804512095 },
- { 2.213e-08, 2.20360299816, 465.955066791 },
- { 2.345e-08, 3.89530188536, 76.4785195967 },
- { 1.99e-08, 6.00348345539, 77.2292791221 },
- { 1.836e-08, 0.86993337572, 288.080694005 },
- { 2.233e-08, 4.20038854663, 45.5766510387 },
- { 1.745e-08, 4.28595550732, 67.6680515665 },
- { 1.715e-08, 5.36211200127, 84.3428261229 },
- { 1.64e-08, 5.46719808619, 309.278322656 },
- { 1.64e-08, 3.86349580161, 458.84151979 },
- { 1.728e-08, 3.60055588821, 81.8951455681 },
- { 1.483e-08, 3.46836166107, 59.8037450403 },
- { 1.463e-08, 3.58895839694, 347.884439046 },
- { 1.415e-08, 1.8281699263, 497.44763618 },
- { 1.399e-08, 5.26616832831, 909.818733055 },
- { 1.399e-08, 3.66246604373, 1059.38193019 },
- { 1.401e-08, 4.64442933182, 96.8729990951 },
- };
- static VSOPTerm uranus_R4[] = {
- { 5.3224e-07, 3.00468894529, 74.7815985673 },
- { 9.887e-08, 1.91399083603, 56.6223513026 },
- { 7.008e-08, 5.08677527404, 11.0457002639 },
- { 6.718e-08, 5.39509675772, 149.563197135 },
- { 3.855e-08, 5.18994119112, 131.40394987 },
- { 3.316e-08, 1.22839100759, 85.8272988312 },
- { 2.664e-08, 0.44064577837, 63.7358983034 },
- { 2.309e-08, 0.92380720934, 145.631043871 },
- { 2.383e-08, 6.21390585593, 358.93013931 },
- { 2.288e-08, 2.23425399117, 440.682272526 },
- { 2.472e-08, 3.28269448244, 18.1592472647 },
- { 2.837e-08, 3.14159265359, 0 },
- };
- static VSOPTerm neptune_L0[] = {
- { 5.31188633046, 0, 0 },
- { 0.0179847553, 2.9010127389, 38.1330356378 },
- { 0.01019727652, 0.48580922867, 1.4844727083 },
- { 0.00124531845, 4.83008090676, 36.6485629295 },
- { 0.00042064466, 5.41054993053, 2.9689454166 },
- { 0.00037714584, 6.09221808686, 35.1640902212 },
- { 0.00033784738, 1.24488874087, 76.2660712756 },
- { 0.00016482741, 7.727998e-05, 491.557929457 },
- { 9.198584e-05, 4.93747051954, 39.6175083461 },
- { 8.99425e-05, 0.27462171806, 175.1660598 },
- { 4.216242e-05, 1.98711875978, 73.297125859 },
- { 3.364807e-05, 1.03590060915, 33.6796175129 },
- { 2.2848e-05, 4.20606949415, 4.4534181249 },
- { 1.433516e-05, 2.78339802539, 74.7815985673 },
- { 9.00236e-06, 2.07607168714, 109.945688788 },
- { 7.44997e-06, 3.19032509437, 71.8126531507 },
- { 5.06217e-06, 5.7478606968, 114.399106913 },
- { 3.99552e-06, 0.34972342836, 1021.24889455 },
- { 3.45189e-06, 3.46185292806, 41.1019810544 },
- { 3.06338e-06, 0.49684052934, 0.5212648618 },
- { 2.87322e-06, 4.50523446022, 0.0481841098 },
- { 3.23003e-06, 2.24814943701, 32.1951448046 },
- { 3.40303e-06, 3.30376245107, 77.7505439839 },
- { 2.66605e-06, 4.8893260559, 0.9632078465 },
- { 2.27079e-06, 1.79713146385, 453.424893819 },
- { 2.44722e-06, 1.24693366148, 9.5612275556 },
- { 2.32888e-06, 2.50459784128, 137.033024162 },
- { 2.8217e-06, 2.2456558998, 146.594251718 },
- { 2.51941e-06, 5.78166617117, 388.465155238 },
- { 1.50188e-06, 2.99706170691, 5.9378908332 },
- { 1.70404e-06, 3.32390687638, 108.46121608 },
- { 1.51401e-06, 2.19153150087, 33.9402499438 },
- { 1.48305e-06, 0.85949274408, 111.430161497 },
- { 1.18672e-06, 3.67706211426, 2.4476805548 },
- { 1.01821e-06, 5.70539236951, 0.1118745846 },
- { 9.7873e-07, 2.80518417596, 8.0767548473 },
- { 1.03059e-06, 4.40432042649, 70.3281804424 },
- { 1.03305e-06, 0.04078966679, 0.2606324309 },
- { 1.09299e-06, 2.41599473953, 183.242814648 },
- { 7.3938e-07, 1.32805035282, 529.690965095 },
- { 7.7725e-07, 4.16446516489, 4.192785694 },
- { 8.6312e-07, 4.22838781137, 490.073456749 },
- { 8.1558e-07, 5.19840134548, 493.042402165 },
- { 7.1503e-07, 5.29530376008, 350.3321196 },
- { 6.4418e-07, 3.54540876782, 168.052512799 },
- { 6.257e-07, 0.15028731307, 182.279606801 },
- { 5.8488e-07, 3.50107011546, 145.10977901 },
- { 4.8286e-07, 1.1125900709, 112.914634205 },
- { 4.7229e-07, 4.57373234943, 46.2097904851 },
- { 3.9124e-07, 1.66569494185, 213.299095438 },
- { 4.7728e-07, 0.12906212459, 484.444382456 },
- { 4.6858e-07, 3.01699530311, 498.671476458 },
- { 3.8659e-07, 2.38685681991, 2.9207613068 },
- { 4.7046e-07, 4.49844734537, 173.681587092 },
- { 4.7565e-07, 2.58404545035, 219.891377577 },
- { 4.4714e-07, 5.47302844713, 176.650532508 },
- // 56 terms retained
- };
- static VSOPTerm neptune_L1[] = {
- { 38.1330356396, 0, 0 },
- { 0.00016604172, 4.86323329249, 1.4844727083 },
- { 0.00015744045, 2.27887427527, 38.1330356378 },
- { 1.306261e-05, 3.6728520962, 2.9689454166 },
- { 6.04842e-06, 1.5048304279, 35.1640902212 },
- { 1.82909e-06, 3.45225794434, 39.6175083461 },
- { 1.95106e-06, 0.88660326088, 76.2660712756 },
- { 1.0641e-06, 2.44986610969, 4.4534181249 },
- { 1.0559e-06, 2.75516054635, 33.6796175129 },
- { 7.2757e-07, 5.49395347003, 36.6485629295 },
- { 5.7069e-07, 5.2164980497, 0.5212648618 },
- { 2.9871e-07, 3.67043294114, 388.465155238 },
- { 2.8866e-07, 5.16877538898, 9.5612275556 },
- { 2.8742e-07, 5.16732589024, 2.4476805548 },
- { 2.5507e-07, 5.24526281928, 168.052512799 },
- { 2.4869e-07, 4.73193067879, 182.279606801 },
- { 2.0205e-07, 5.78945415677, 1021.24889455 },
- { 1.9022e-07, 1.82981144269, 484.444382456 },
- { 1.8661e-07, 1.31606255521, 498.671476458 },
- { 1.5039e-07, 4.94966181697, 137.033024162 },
- { 1.5094e-07, 3.98706934679, 32.1951448046 },
- { 1.0804e-07, 1.93261742828, 41.1019810544 },
- { 1.072e-07, 2.44148207341, 4.192785694 },
- { 1.1765e-07, 4.87825331237, 71.8126531507 },
- { 9.363e-08, 3.07523176644, 74.7815985673 },
- { 9.58e-08, 1.23193270898, 5.9378908332 },
- { 8.968e-08, 0.01758782577, 8.0767548473 },
- { 9.882e-08, 6.08165614859, 7.1135470008 },
- { 6.992e-08, 0.61688829918, 2.9207613068 },
- { 6.19e-08, 5.32293546028, 114.399106913 },
- { 5.543e-08, 2.24141643357, 46.2097904851 },
- { 5.578e-08, 5.45096032574, 73.297125859 },
- { 5.858e-08, 1.72552768872, 77.7505439839 },
- // 33 terms retained
- };
- static VSOPTerm neptune_L2[] = {
- { 2.86136e-06, 1.18985661922, 38.1330356378 },
- { 2.9565e-06, 1.85520880574, 1.4844727083 },
- { 1.02284e-06, 0, 0 },
- { 2.2987e-07, 1.21060882957, 2.9689454166 },
- { 7.332e-08, 0.53982718012, 2.4476805548 },
- { 9.112e-08, 4.42541280638, 35.1640902212 },
- { 5.223e-08, 0.67422237527, 168.052512799 },
- { 5.201e-08, 3.02334762854, 182.279606801 },
- { 3.925e-08, 3.53215364421, 484.444382456 },
- { 3.741e-08, 5.90239568618, 498.671476458 },
- { 3.054e-08, 0.28898269237, 4.4534181249 },
- { 3.382e-08, 5.91086982903, 76.2660712756 },
- { 3.289e-08, 1.84550132467, 175.1660598 },
- { 2.157e-08, 1.89134644831, 388.465155238 },
- { 2.211e-08, 4.37947574774, 7.1135470008 },
- { 1.955e-08, 5.15138892758, 33.6796175129 },
- { 1.847e-08, 3.48560457075, 9.5612275556 },
- { 2.436e-08, 4.68322560973, 491.557929457 },
- { 1.674e-08, 2.55582666306, 36.6485629295 },
- { 1.309e-08, 4.52441960698, 1021.24889455 },
- // 20 terms retained
- };
- static VSOPTerm neptune_L3[] = {
- { 1.2472e-07, 6.04427218715, 1.4844727083 },
- { 1.1257e-07, 6.11436681584, 38.1330356378 },
- { 4.354e-08, 3.14159265359, 0 },
- { 1.39e-08, 4.95198243861, 2.9689454166 },
- // 4 terms retained
- };
- static VSOPTerm neptune_B0[] = {
- { 0.03088622933, 1.44104372644, 38.1330356378 },
- { 0.00027780087, 5.91271884599, 76.2660712756 },
- { 0.00027623609, 0, 0 },
- { 0.00015355489, 2.52123799551, 36.6485629295 },
- { 0.00015448133, 3.50877079215, 39.6175083461 },
- { 1.999918e-05, 1.50998668632, 74.7815985673 },
- { 1.96754e-05, 4.37778196626, 1.4844727083 },
- { 1.015137e-05, 3.21560997434, 35.1640902212 },
- { 6.05767e-06, 2.80246592015, 73.297125859 },
- { 5.94878e-06, 2.12892696997, 41.1019810544 },
- { 5.88806e-06, 3.18655898167, 2.9689454166 },
- { 4.0183e-06, 4.16883411107, 114.399106913 },
- { 2.54333e-06, 3.27120475878, 453.424893819 },
- { 2.61647e-06, 3.76722702982, 213.299095438 },
- { 2.79963e-06, 1.68165289071, 77.7505439839 },
- { 2.0559e-06, 4.25652269561, 529.690965095 },
- { 1.40455e-06, 3.52969120587, 137.033024162 },
- { 9.853e-07, 4.16774786185, 33.6796175129 },
- // 18 terms retained
- };
- static VSOPTerm neptune_B1[] = {
- { 5.150897e-05, 2.14270496419, 38.1330356378 },
- { 2.58298e-06, 5.4653959892, 76.2660712756 },
- { 2.51862e-06, 4.40444268588, 36.6485629295 },
- { 2.34436e-06, 1.65983511437, 39.6175083461 },
- { 2.08814e-06, 0, 0 },
- { 2.5312e-07, 6.00917621033, 35.1640902212 },
- { 1.7795e-07, 4.95721064558, 213.299095438 },
- { 1.7841e-07, 0.44821000048, 41.1019810544 },
- { 1.3152e-07, 1.49958304388, 529.690965095 },
- { 1.0729e-07, 4.39946094022, 73.297125859 },
- { 8.422e-08, 1.55833887152, 2.9689454166 },
- // 11 terms retained
- };
- static VSOPTerm neptune_B2[] = {
- { 4.2058e-07, 1.91480759314, 38.1330356378 },
- { 4.359e-08, 4.77459417163, 39.6175083461 },
- { 4.23e-08, 1.12991232222, 36.6485629295 },
- { 4.166e-08, 4.37185631758, 76.2660712756 },
- // 4 terms retained
- };
- static VSOPTerm neptune_B3[] = {
- { 4.131e-08, 3.06928911462, 38.1330356378 },
- // 1 terms retained
- };
- static VSOPTerm neptune_R0[] = {
- { 30.0701320583, 0, 0 },
- { 0.27062259632, 1.32999459377, 38.1330356378 },
- { 0.01691764014, 3.25186135653, 36.6485629295 },
- { 0.00807830553, 5.18592878704, 1.4844727083 },
- { 0.0053776051, 4.52113935896, 35.1640902212 },
- { 0.00495725141, 1.5710564165, 491.557929457 },
- { 0.00274571975, 1.84552258866, 175.1660598 },
- { 0.00135134092, 3.37220609835, 39.6175083461 },
- { 0.00121801746, 5.79754470298, 76.2660712756 },
- { 0.00100896068, 0.3770272493, 73.297125859 },
- { 0.00069791331, 3.79616637768, 2.9689454166 },
- { 0.00046687836, 5.74938034313, 33.6796175129 },
- { 0.00024594531, 0.50801745878, 109.945688788 },
- { 0.00016939478, 1.59422512526, 71.8126531507 },
- { 0.00014229808, 1.07785898723, 74.7815985673 },
- { 0.0001201232, 1.92059384991, 1021.24889455 },
- { 8.394349e-05, 0.67818233586, 146.594251718 },
- { 7.571796e-05, 1.07149207335, 388.465155238 },
- { 5.720872e-05, 2.59061733345, 4.4534181249 },
- { 4.84021e-05, 1.90681013048, 41.1019810544 },
- { 4.483493e-05, 2.90573464537, 529.690965095 },
- { 4.269595e-05, 3.4133352687, 453.424893819 },
- { 4.353588e-05, 0.67984856103, 32.1951448046 },
- { 4.420549e-05, 1.74990681127, 108.46121608 },
- { 2.879755e-05, 1.98627174527, 137.033024162 },
- { 2.635535e-05, 3.09755951044, 213.299095438 },
- { 3.381113e-05, 0.84810966225, 183.242814648 },
- { 2.877511e-05, 3.67417203197, 350.3321196 },
- { 2.306505e-05, 2.80964587883, 70.3281804424 },
- { 2.529939e-05, 5.79822254729, 490.073456749 },
- { 2.522868e-05, 0.48612122962, 493.042402165 },
- { 2.085926e-05, 0.61853857468, 33.9402499438 },
- { 1.976522e-05, 5.1170304456, 168.052512799 },
- { 1.904055e-05, 1.72165893329, 182.279606801 },
- { 1.653525e-05, 1.9278198756, 145.10977901 },
- { 1.434507e-05, 1.69985856533, 484.444382456 },
- { 1.403029e-05, 4.58914203187, 498.671476458 },
- { 1.499989e-05, 1.01619882251, 219.891377577 },
- { 1.397976e-05, 0.76199761055, 176.650532508 },
- { 1.402764e-05, 6.07659120736, 173.681587092 },
- { 1.128278e-05, 5.96666460978, 9.5612275556 },
- { 1.228058e-05, 1.59915900158, 77.7505439839 },
- { 8.35562e-06, 3.97050539397, 114.399106913 },
- { 8.11407e-06, 3.00264146159, 46.2097904851 },
- { 7.31543e-06, 2.10445780662, 181.758341939 },
- { 6.15618e-06, 2.97867866529, 106.976743372 },
- { 7.03453e-06, 1.18748208693, 256.539940506 },
- { 5.01955e-06, 1.38654746863, 5.9378908332 },
- { 5.30475e-06, 4.2411216215, 111.430161497 },
- { 4.37096e-06, 2.27029212923, 1550.93985965 },
- { 3.99906e-06, 1.25612321821, 8.0767548473 },
- { 4.20992e-06, 1.8924823459, 30.7106720963 },
- { 3.82461e-06, 3.29964092733, 983.115858914 },
- { 4.22891e-06, 5.5309962033, 525.498179401 },
- { 3.55064e-06, 2.27873080286, 218.406904869 },
- { 2.81092e-06, 4.54185193503, 44.7253177768 },
- { 3.14499e-06, 3.95932948594, 381.351608237 },
- { 2.79604e-06, 1.54525386438, 98.8999885246 },
- { 2.68088e-06, 5.1344811954, 112.914634205 },
- { 3.3326e-06, 5.75014889084, 39.0962434843 },
- { 2.91773e-06, 4.02405440052, 68.8437077341 },
- { 3.2143e-06, 1.50624339061, 454.909366527 },
- { 3.092e-06, 2.85451259377, 72.0732855816 },
- { 3.45541e-06, 1.35801933629, 293.188503436 },
- { 3.0736e-06, 0.31939966593, 601.764250676 },
- { 2.51026e-06, 3.54039557458, 312.199083963 },
- { 2.48151e-06, 3.41078778961, 37.611770776 },
- { 3.06e-06, 2.72475094464, 6244.94281435 },
- { 2.9353e-06, 4.89079714624, 528.206492386 },
- { 2.34148e-06, 0.59107513684, 42.5864537627 },
- { 2.39159e-06, 3.15940174394, 143.625306301 },
- { 2.14523e-06, 3.62480267276, 278.258834019 },
- { 2.46198e-06, 1.01506302015, 141.225809856 },
- { 1.74151e-06, 5.54934515763, 567.824000732 },
- { 1.63736e-06, 2.09772553888, 2.4476805548 },
- { 1.62895e-06, 2.48942845886, 4.192785694 },
- { 1.93252e-06, 1.58538835107, 138.517496871 },
- { 1.55321e-06, 3.28425560727, 31.019488637 },
- { 1.8228e-06, 2.45335941387, 255.055467798 },
- { 1.77846e-06, 4.14773474853, 10175.1525106 },
- { 1.74672e-06, 1.53072472355, 329.837066365 },
- { 1.37774e-06, 3.34926113123, 0.9632078465 },
- { 1.60922e-06, 5.16388154007, 211.81462273 },
- { 1.13312e-06, 4.96838153028, 148.078724426 },
- { 1.29107e-06, 3.2553937053, 24.1183899573 },
- { 1.22785e-06, 5.39724696402, 62.2514255951 },
- { 1.07361e-06, 3.2645911301, 1059.38193019 },
- { 1.19951e-06, 3.07428550584, 184.727287356 },
- { 9.9006e-07, 1.92575084098, 28.5718080822 },
- { 9.771e-07, 2.59473517954, 6.592282139 },
- { 1.23604e-06, 3.11899453253, 221.375850285 },
- { 1.24693e-06, 2.97042402154, 251.432131076 },
- { 1.14252e-06, 0.25039919123, 594.650703675 },
- { 1.10984e-06, 3.34269023552, 180.273869231 },
- { 1.20812e-06, 1.92944484022, 25.6028626656 },
- { 1.04667e-06, 0.94883561775, 395.578702239 },
- { 1.09779e-06, 5.43147613574, 494.526874873 },
- { 9.6919e-07, 0.86184760695, 1014.13534755 },
- { 9.8685e-07, 0.89578101892, 488.58898404 },
- { 8.8965e-07, 4.78114888597, 144.146571163 },
- { 1.07888e-06, 0.98700578434, 1124.34166877 },
- { 9.7074e-07, 2.62665185334, 291.704030728 },
- { 7.5666e-07, 5.88963758122, 43.2408450685 },
- { 9.3718e-07, 6.09873436871, 526.722019678 },
- { 9.4822e-07, 0.20662771116, 456.393839236 },
- { 6.9954e-07, 2.39614984454, 426.598190876 },
- { 8.9656e-07, 3.25464366223, 258.024413215 },
- { 7.688e-07, 4.2039418951, 105.492270664 },
- { 6.9133e-07, 4.93031154435, 1028.36244155 },
- { 9.0474e-07, 1.69635495867, 366.485629295 },
- { 7.3446e-07, 3.143052027, 82.8583534146 },
- { 5.787e-07, 0.8590265451, 60.7669528868 },
- { 7.8695e-07, 1.0930757555, 700.664239201 },
- { 5.5696e-07, 3.89047184339, 47.6942631934 },
- { 6.3218e-07, 4.39571226649, 149.563197135 },
- { 5.6877e-07, 0.81233112899, 2.9207613068 },
- { 5.6765e-07, 5.14903738264, 0.5212648618 },
- { 5.6174e-07, 5.42986960794, 911.042573332 },
- { 6.1746e-07, 6.16453594476, 1019.76442184 },
- { 7.0668e-07, 0.08154675285, 40.5807161926 },
- { 7.4941e-07, 4.85541117469, 186.211760064 },
- { 6.2137e-07, 4.7900016913, 11.0457002639 },
- { 6.1135e-07, 0.83712327235, 1022.73336726 },
- { 6.1658e-07, 5.70207975404, 178.135005217 },
- { 5.3467e-07, 0.37111991212, 27.0873353739 },
- { 5.64e-07, 3.52361228973, 216.92243216 },
- { 4.8819e-07, 5.10789123481, 64.9597385808 },
- { 6.3989e-07, 6.27428332013, 7.1135470008 },
- { 6.329e-07, 4.3942491003, 807.949799113 },
- { 4.6355e-07, 1.34731122935, 451.940421111 },
- { 6.0544e-07, 3.40308211679, 294.672976144 },
- { 5.714e-07, 0.44713393582, 140.001969579 },
- { 4.6891e-07, 0.16868575852, 7.4223635415 },
- { 5.376e-07, 2.796449643, 328.352593657 },
- { 5.611e-07, 1.06133412372, 172.197114384 },
- { 4.3828e-07, 6.04649305744, 135.548551454 },
- { 4.9546e-07, 0.64111181985, 41.0537969446 },
- { 5.4352e-07, 2.92484004653, 563.631215038 },
- { 4.2962e-07, 5.40180687766, 487.365143763 },
- { 5.1507e-07, 0.09101955359, 210.330150021 },
- { 4.2022e-07, 3.11630465723, 29.226199388 },
- { 4.7855e-07, 3.9092908086, 63.7358983034 },
- { 4.1545e-07, 6.27971504434, 32.7164096664 },
- { 4.1412e-07, 4.45532728136, 37.1698277913 },
- { 4.0691e-07, 0.15392324705, 79.2350166922 },
- { 4.8205e-07, 1.8419837301, 403.134192224 },
- { 3.6975e-07, 0.44979453927, 30.0562807905 },
- { 4.7762e-07, 0.88083849566, 3302.47939106 },
- { 3.9465e-07, 3.50565537871, 357.445666601 },
- { 4.2139e-07, 0.63375113641, 343.2185726 },
- { 4.278e-07, 3.55125610401, 38.6543004996 },
- { 3.8995e-07, 5.26486175542, 415.291858181 },
- { 3.8872e-07, 5.25715558452, 386.98068253 },
- { 4.0508e-07, 1.36656945746, 31.2319369581 },
- { 3.3786e-07, 5.23988634904, 67.3592350258 },
- { 4.0879e-07, 3.55298595767, 331.321539074 },
- { 3.8768e-07, 1.12288359393, 38.1812197476 },
- { 3.6962e-07, 6.08599078489, 35.4247226521 },
- { 3.8831e-07, 4.67876780698, 38.084851528 },
- { 3.8231e-07, 6.26491109393, 389.949627947 },
- { 3.1356e-07, 0.07745279153, 12.5301729722 },
- { 2.6341e-07, 4.59559782764, 106.013535525 },
- { 2.9746e-07, 4.45828452713, 22.633917249 },
- { 2.7465e-07, 5.99541587686, 206.185548437 },
- { 2.6195e-07, 4.49611532896, 34.2008823747 },
- { 2.4122e-07, 5.1708944214, 129.919477162 },
- { 2.8998e-07, 3.64928923192, 253.57099509 },
- { 2.6787e-07, 4.37969316517, 142.140833593 },
- { 3.0385e-07, 1.60122950634, 348.847646892 },
- { 2.4285e-07, 1.01980822546, 41.7563723602 },
- { 3.1322e-07, 1.05975821421, 100.384461233 },
- { 2.2588e-07, 4.7248213782, 81.3738807063 },
- { 2.6405e-07, 3.03479369857, 365.001156587 },
- { 2.1916e-07, 3.48038797535, 69.1525242748 },
- { 2.2498e-07, 4.03487494425, 19.1224551112 },
- { 2.1838e-07, 3.92447477596, 5.1078094307 },
- { 2.2885e-07, 1.58977064672, 189.393153802 },
- { 2.5496e-07, 2.43810677799, 351.816592309 },
- { 2.6083e-07, 3.61207095239, 367.970102003 },
- { 1.9111e-07, 2.59694457001, 2080.63082474 },
- { 1.964e-07, 6.15701741238, 35.212274331 },
- { 2.5688e-07, 2.00512719767, 439.782755154 },
- { 2.1613e-07, 3.32354204724, 119.506916344 },
- { 2.5389e-07, 4.74025836522, 1474.67378837 },
- { 1.8107e-07, 5.35129342595, 244.318584075 },
- { 2.2539e-07, 4.79833880058, 84.3428261229 },
- { 2.3295e-07, 5.93767762095, 316.391869657 },
- { 1.6978e-07, 3.05115560279, 220.412642439 },
- { 2.0022e-07, 4.99276451168, 179.098213063 },
- { 2.037e-07, 1.86508317889, 171.233906537 },
- { 2.2628e-07, 0.27205770382, 666.723989257 },
- { 1.8427e-07, 3.3935424558, 69.3649725959 },
- { 1.9046e-07, 2.02999241631, 5.4166259714 },
- { 1.5738e-07, 3.40021239975, 274.066048325 },
- { 1.9072e-07, 3.70882976684, 164.120359536 },
- { 1.8716e-07, 0.90215956591, 285.37238102 },
- { 1.5889e-07, 0.42011285882, 697.743477894 },
- { 1.4988e-07, 3.08544843936, 704.857024895 },
- { 1.5972e-07, 1.82864185268, 477.330835455 },
- { 1.6509e-07, 5.04817895427, 36.9091953604 },
- { 1.3892e-07, 2.94161501165, 38.3936680687 },
- { 1.4019e-07, 2.8606104905, 37.8724032069 },
- { 1.5302e-07, 4.94041289914, 101.868933941 },
- { 1.7397e-07, 5.81486997282, 35.685355083 },
- { 1.7379e-07, 2.51842240176, 20.6069278195 },
- { 1.6416e-07, 3.63037693563, 45.2465826386 },
- { 1.2943e-07, 3.03051173423, 522.577418094 },
- { 1.5752e-07, 5.00292909214, 247.239345382 },
- { 1.4362e-07, 5.49004892867, 39.3568759152 },
- { 1.2679e-07, 0.20331109323, 460.53844082 },
- { 1.626e-07, 5.93480347217, 815.063346114 },
- { 1.29e-07, 3.51131840632, 446.311346818 },
- { 1.3891e-07, 5.51064697666, 31.5407534988 },
- { 1.577e-07, 3.77930539694, 404.618664933 },
- { 1.3399e-07, 3.96033558345, 290.219558019 },
- { 1.5368e-07, 2.45783892707, 26.826702943 },
- { 1.4246e-07, 3.18588280921, 401.649719516 },
- { 1.2199e-07, 4.94365391256, 14.0146456805 },
- { 1.4368e-07, 4.93297486962, 120.991389052 },
- { 1.3413e-07, 3.79142222247, 151.047669843 },
- { 1.2073e-07, 2.92823577017, 2.7083129857 },
- { 1.412e-07, 4.69411530315, 738.797274839 },
- { 1.1566e-07, 5.91003538993, 536.804512095 },
- { 1.5578e-07, 2.91836788254, 875.830299001 },
- { 1.3125e-07, 2.16051328657, 152.532142551 },
- { 1.2793e-07, 1.97868575679, 1.3725981237 },
- { 1.4101e-07, 4.75302563115, 0.2606324309 },
- { 1.2967e-07, 0.0053347154, 97.4155158163 },
- { 1.0788e-07, 6.18639055862, 115.883579622 },
- { 1.3729e-07, 2.3230647385, 38.2449102224 },
- { 1.1606e-07, 4.61702427262, 178.789396523 },
- { 1.1256e-07, 0.79281130068, 42.3258213318 },
- { 1.45e-07, 5.4468870718, 44.070926471 },
- { 1.1534e-07, 5.26580538005, 160.938965799 },
- { 1.3411e-07, 5.17996944056, 32.4557772355 },
- { 1.3658e-07, 2.15687632802, 476.431318084 },
- { 1.2788e-07, 2.07356149992, 20.4950532349 },
- { 1.3782e-07, 3.47865209163, 38.0211610532 },
- { 1.3257e-07, 5.1513852948, 103.092774219 },
- { 9.715e-08, 0.7459788348, 918.156120333 },
- { 1.0378e-07, 5.38520350123, 222.860322994 },
- { 1.3357e-07, 5.89635739027, 748.097869963 },
- { 1.2632e-07, 1.20306997433, 16.1535096946 },
- { 1.1437e-07, 1.58444114292, 495.49008272 },
- { 1.1424e-07, 4.74142930795, 487.625776194 },
- { 9.336e-08, 0.9731363095, 662.531203563 },
- { 8.911e-08, 5.21180580479, 118.022443636 },
- { 9.827e-08, 4.48170250645, 505.785023458 },
- { 1.1615e-07, 3.09644428293, 17.6379824029 },
- { 9.957e-08, 4.03258124099, 169.536985508 },
- { 9.818e-08, 5.20376439002, 1.5963472929 },
- { 1.016e-07, 3.74441320429, 457.617679513 },
- { 8.661e-08, 0.31247523804, 1440.73353843 },
- { 8.496e-08, 1.06445636872, 55.7710180407 },
- { 1.1162e-07, 1.9290782234, 564.855055316 },
- { 8.434e-08, 5.55699081873, 17.5261078183 },
- { 8.057e-08, 0.31116345866, 377.419454974 },
- { 1.007e-07, 3.92554977184, 441.267227862 },
- { 7.77e-08, 0.14603509444, 944.982823276 },
- { 7.938e-08, 2.40417397694, 488.376535719 },
- { 9.894e-08, 0.63707319139, 183.764079509 },
- { 7.633e-08, 2.25662443193, 79.1868325824 },
- { 7.867e-08, 3.87469522964, 494.739323195 },
- { 9.203e-08, 4.3660584197, 29.7474642498 },
- { 9.716e-08, 3.06038536864, 166.568040091 },
- { 9.377e-08, 0.56416645296, 673.316271396 },
- { 8.771e-08, 5.24535317574, 1057.89745748 },
- { 8.225e-08, 5.42577676109, 104.007797955 },
- { 8.367e-08, 0.48337087236, 19.0105805266 },
- { 9.82e-08, 5.88955818086, 358.408874448 },
- { 7.009e-08, 2.93493492342, 0.0481841098 },
- { 8.254e-08, 3.47304582051, 156.155479274 },
- { 7.684e-08, 1.53844437652, 59.2824801785 },
- { 9.804e-08, 6.06393995615, 784.746432893 },
- { 8.516e-08, 5.99059807952, 180.795134093 },
- { 8.09e-08, 1.38588221442, 1654.03263386 },
- { 9.074e-08, 4.0397149046, 1017.05610886 },
- { 6.908e-08, 1.41919832926, 178.347453538 },
- { 8.713e-08, 0.35913477738, 636.667708467 },
- { 8.23e-08, 2.53750470473, 518.3846324 },
- { 8.594e-08, 5.29103584901, 457.878311944 },
- { 6.769e-08, 5.43380191356, 171.984666062 },
- { 8.995e-08, 1.36992508507, 6209.77872413 },
- { 9.278e-08, 3.80308677009, 25558.2121765 },
- { 6.562e-08, 3.13520633691, 416.77633089 },
- { 6.567e-08, 4.01934954352, 0.1118745846 },
- { 7.032e-08, 4.14454482953, 326.868120949 },
- { 8.384e-08, 5.49363770202, 532.611726401 },
- { 7.471e-08, 4.62144262894, 526.982652109 },
- { 7.5e-08, 0.61545750834, 485.928855164 },
- { 7.716e-08, 1.04880061527, 525.23754697 },
- { 8.504e-08, 2.79350586429, 10139.9884204 },
- { 8.006e-08, 5.70274817349, 209.106309744 },
- { 7.58e-08, 5.07865976334, 157.639951982 },
- { 7.186e-08, 6.22843514949, 77.2292791221 },
- { 7.754e-08, 4.25725025641, 418.260803598 },
- { 7.784e-08, 1.89308086046, 984.600331622 },
- { 6.06e-08, 4.25541364939, 36.1272980677 },
- { 6.513e-08, 0.07498932215, 79.889407998 },
- { 6.05e-08, 2.97979060439, 36.6967470393 },
- { 7.265e-08, 4.94483532763, 131.40394987 },
- { 6.984e-08, 2.53239305821, 497.187003749 },
- { 7.824e-08, 2.31462643851, 513.079881013 },
- { 7.175e-08, 3.69203633127, 524.013706692 },
- { 6.855e-08, 0.14076801572, 283.62727588 },
- { 7.476e-08, 5.27896188334, 259.508885923 },
- { 6.922e-08, 3.36515011915, 438.298282446 },
- { 7.349e-08, 3.50406958122, 500.155949166 },
- { 6.301e-08, 0.14776691217, 608.877797677 },
- { 5.892e-08, 4.24403528888, 4.665866446 },
- { 5.995e-08, 4.84848023982, 215.437959452 },
- { 7.128e-08, 5.92696788834, 482.959909748 },
- { 6.829e-08, 1.01745137848, 1543.82631265 },
- { 6.817e-08, 6.1216282969, 395.057437377 },
- { 5.369e-08, 3.76855960849, 52099.5402119 },
- { 5.776e-08, 5.61434462641, 987.569277038 },
- { 7.523e-08, 5.60432148128, 2810.92146161 },
- { 7.329e-08, 3.76816058312, 1512.80682401 },
- { 5.616e-08, 2.1387418697, 145.631043871 },
- { 5.26e-08, 0.35171132812, 36.6003788197 },
- { 5.366e-08, 2.33827486119, 65.2203710117 },
- { 5.688e-08, 1.82274388581, 1227.43444299 },
- { 5.658e-08, 2.35049199704, 5.6290742925 },
- { 6.135e-08, 4.23390394127, 496.011347582 },
- { 6.472e-08, 3.49494191669, 552.697389359 },
- { 4.983e-08, 3.91958511552, 10135.5350022 },
- { 5.071e-08, 2.99193131986, 313.683556671 },
- { 5.964e-08, 5.70758449643, 309.799587518 },
- { 4.83e-08, 1.15390722082, 134.064078746 },
- { 5.091e-08, 6.00974510144, 1409.71404979 },
- { 5.205e-08, 5.5027133451, 238.901958104 },
- { 5.33e-08, 0.31491843987, 319.312630963 },
- { 4.943e-08, 1.43051344597, 422.405405182 },
- { 5.604e-08, 2.05669305961, 207.361204605 },
- { 6.31e-08, 5.22966882627, 139.741337148 },
- { 4.773e-08, 3.06677020431, 464.731226514 },
- { 4.867e-08, 1.45874544328, 49.1787359017 },
- { 4.919e-08, 3.57280542629, 52175.8062831 },
- { 6.33e-08, 5.80748895304, 57.255490749 },
- { 4.762e-08, 5.90654311203, 838.96928775 },
- { 4.848e-08, 0.77467099227, 1.6969210294 },
- { 5.694e-08, 0.77313415569, 709.964834325 },
- { 5.455e-08, 0.90288890561, 208.845677313 },
- { 4.901e-08, 3.79986913631, 15.4991183888 },
- { 4.772e-08, 0.15755140037, 39.5056337615 },
- { 5.673e-08, 2.68359159067, 1127.26243008 },
- { 5.477e-08, 0.53123497431, 113.877842052 },
- { 5.077e-08, 1.59268428609, 1547.97091423 },
- { 4.981e-08, 1.44584050478, 1.2720243872 },
- { 5.938e-08, 0.96886308551, 6280.10690457 },
- { 5.206e-08, 3.5800381937, 474.946845375 },
- { 5.256e-08, 0.61005270999, 95.9792272178 },
- { 5.531e-08, 5.28764137194, 36.7604375141 },
- { 5.938e-08, 0.65008179576, 6.9010986797 },
- { 6.158e-08, 5.73176703797, 711.449307034 },
- { 5.15e-08, 5.58407480282, 26049.7701059 },
- { 5.138e-08, 4.55234158942, 670.916774951 },
- { 5.609e-08, 4.3727275978, 52.8020726241 },
- { 5.636e-08, 2.39183054397, 10210.3166008 },
- { 5.004e-08, 4.99992587162, 421.229749014 },
- { 4.512e-08, 2.59978208967, 1234.54798999 },
- { 4.314e-08, 3.38846714337, 142.662098455 },
- { 4.471e-08, 3.94378336812, 12566.1517 },
- { 5.296e-08, 1.12249063176, 134.112262856 },
- { 4.188e-08, 2.52490407427, 6205.32530601 },
- { 4.645e-08, 1.90644271528, 13324.3166712 },
- { 4.501e-08, 2.01956232903, 315.168029379 },
- { 4.177e-08, 2.09489065926, 803.757013419 },
- { 4.675e-08, 2.19237385948, 501.640421874 },
- { 5.296e-08, 3.88249567974, 2118.76386038 },
- { 5.325e-08, 4.28221258353, 477.915790792 },
- { 5.519e-08, 0.09960657331, 600.019145537 },
- { 4.179e-08, 0.14619703083, 6644.57629047 },
- { 4.49e-08, 1.07042724999, 52139.1577202 },
- { 3.97e-08, 6.13227798578, 1553.90880506 },
- { 5.183e-08, 3.52837189121, 110.206321219 },
- { 5.259e-08, 6.20809827528, 142.710282565 },
- { 4.183e-08, 5.17141470503, 3.6233367224 },
- { 4.196e-08, 0.14530465304, 65.8747623175 },
- { 3.869e-08, 5.25125030487, 1558.05340665 },
- { 4.457e-08, 2.10247889113, 487.104511332 },
- { 4.893e-08, 1.83678005941, 46.5186070258 },
- { 3.875e-08, 5.60271074608, 385.496209822 },
- { 3.826e-08, 1.30946706974, 2176.61005196 },
- { 4.591e-08, 4.84657580441, 1337.64076421 },
- { 3.928e-08, 4.81049906938, 91.7864415238 },
- { 5.111e-08, 1.18808726579, 981.631386205 },
- { 4.709e-08, 1.40878215308, 52213.9393188 },
- { 3.891e-08, 5.43661875415, 154.671006565 },
- { 4.145e-08, 4.32505910718, 363.516683878 },
- { 3.926e-08, 1.42639045134, 70.8494453042 },
- { 4.04e-08, 5.2612175946, 80.7194894005 },
- { 3.885e-08, 1.55337878207, 310.714611254 },
- { 4.787e-08, 3.65822147476, 589.345952289 },
- { 4.02e-08, 5.45643059988, 6641.60734505 },
- { 4.288e-08, 3.35265955957, 203.216603021 },
- { 4.462e-08, 2.86966056442, 353.040432586 },
- { 4.657e-08, 3.60514658478, 187.696232772 },
- { 3.767e-08, 0.05292047125, 320.27583881 },
- { 4.632e-08, 0.82011276589, 3265.83082813 },
- { 4.555e-08, 5.30391170376, 26013.121543 },
- { 3.555e-08, 4.80240768951, 224.344795702 },
- { 3.967e-08, 1.01381988824, 75.7448064138 },
- { 4.302e-08, 1.60914544159, 12529.5031371 },
- { 3.493e-08, 4.75315651083, 12489.8856287 },
- { 3.722e-08, 0.27433061822, 949.436241401 },
- { 3.722e-08, 4.61537211162, 1025.70231268 },
- { 4.234e-08, 5.25112033465, 194.288514911 },
- { 4.796e-08, 6.21059766333, 491.818561888 },
- { 3.639e-08, 1.25605018211, 2603.20824283 },
- { 4.646e-08, 5.71392664345, 321.760311518 },
- { 4.523e-08, 4.6281260806, 179.619477925 },
- { 3.702e-08, 2.08952561657, 491.036664595 },
- { 3.433e-08, 5.69102402866, 419.484643875 },
- { 3.672e-08, 2.87489628704, 497.49582029 },
- { 3.428e-08, 5.70553310685, 491.669804041 },
- { 4.513e-08, 4.3893109634, 425.113718168 },
- { 3.404e-08, 0.57791231752, 491.446054872 },
- { 3.853e-08, 0.61321572401, 12526.5341916 },
- { 3.788e-08, 3.3222199584, 3140.01275493 },
- { 3.781e-08, 5.58125317044, 1652.54816116 },
- { 3.903e-08, 5.31609723466, 408.17831118 },
- { 3.945e-08, 3.60558877186, 1589.07289528 },
- { 4.299e-08, 5.24473992747, 296.157448853 },
- { 4.084e-08, 0.83813879869, 52.3601296394 },
- { 4.084e-08, 3.50290269471, 23.9059416362 },
- { 4.552e-08, 1.80974055684, 73.5577582899 },
- { 3.336e-08, 2.4141367832, 67.8804998876 },
- { 3.636e-08, 5.31067380234, 141.486442287 },
- { 3.345e-08, 3.94392179077, 20389.9225295 },
- { 4.639e-08, 6.24618220184, 821.394995822 },
- { 3.934e-08, 0.26992234338, 1655.51710657 },
- { 4.431e-08, 2.486474378, 549.728443943 },
- { 4.168e-08, 5.39993754642, 236.502461659 },
- { 3.316e-08, 0.82217489269, 305.085536962 },
- { 4.524e-08, 5.52532381522, 487.413327873 },
- { 4.02e-08, 0.07393243012, 52136.1887748 },
- { 3.275e-08, 0.98533127454, 1344.75431121 },
- { 3.213e-08, 2.97105590703, 20386.9535841 },
- { 4.065e-08, 5.41027187466, 332.806011782 },
- { 3.183e-08, 2.98783802386, 499.634684304 },
- { 4.428e-08, 0.06728869735, 491.297297026 },
- { 4.063e-08, 0.0619283857, 6168.67674308 },
- { 3.53e-08, 3.13717614844, 347.363174184 },
- { 3.917e-08, 1.33801660176, 1054.92851206 },
- { 3.917e-08, 5.67905809516, 1131.19458334 },
- { 3.833e-08, 0.87811168267, 52.6901980395 },
- { 4.02e-08, 2.69209723289, 1439.46151404 },
- { 3.424e-08, 1.0329673702, 481.475437039 },
- { 3.159e-08, 1.04693380342, 703.372552187 },
- { 3.364e-08, 2.18084331708, 32.5039613453 },
- { 3.258e-08, 4.65131076542, 696.259005186 },
- { 3.427e-08, 0.27003884843, 2389.9091474 },
- { 4.349e-08, 0.07531141761, 20426.5710924 },
- { 3.383e-08, 5.61838426864, 699.227950602 },
- { 3.305e-08, 1.4166687729, 562.14674233 },
- { 3.297e-08, 5.46677712589, 1442.21801113 },
- { 3.277e-08, 2.71815883511, 980.146913497 },
- { 3.171e-08, 4.49510885866, 1439.24906572 },
- { 4.175e-08, 4.24327636055, 381.612240668 },
- { 3.155e-08, 3.40776789576, 39.7293829307 },
- { 4.112e-08, 0.90309319273, 1087.69310584 },
- { 3.05e-08, 5.01538526352, 8.9068362498 },
- { 3.725e-08, 1.52448613082, 1058.1099058 },
- { 3.65e-08, 3.59798316565, 192.804042203 },
- { 3.837e-08, 1.48519528444, 10098.8864393 },
- { 2.959e-08, 1.23012121982, 2500.11546862 },
- { 3.33e-08, 6.12470287875, 10172.1835652 },
- { 3.361e-08, 4.31837298696, 492.079194319 },
- { 3.294e-08, 2.52694043155, 1692.1656695 },
- { 3.013e-08, 0.92957285991, 1515.77576942 },
- { 3.403e-08, 1.10932483984, 987.308644608 },
- { 3.312e-08, 0.67710158807, 977.486784621 },
- { 3.03e-08, 1.77996261146, 156489.285814 },
- { 3.605e-08, 4.89955108152, 1043.8828118 },
- { 3.276e-08, 4.26765608367, 1189.30140735 },
- { 2.966e-08, 5.29808076929, 31.9826964835 },
- { 2.994e-08, 2.58599359402, 178.086821107 },
- { 3.905e-08, 1.87748122254, 1158.28191871 },
- { 3.11e-08, 3.09203517638, 235.933012687 },
- { 3.313e-08, 2.70308129756, 604.472563662 },
- { 3.276e-08, 1.24440460327, 874.654642833 },
- { 3.276e-08, 5.58544609667, 950.920714109 },
- { 2.863e-08, 5.3079720203, 449.232108125 },
- { 3.746e-08, 0.33859914037, 913.963334639 },
- { 3.552e-08, 3.07180917863, 240.386430812 },
- { 2.885e-08, 6.01129889094, 1097.51496583 },
- { 3.643e-08, 5.11977873355, 452.201053542 },
- { 2.761e-08, 4.05534163585, 6283.07584999 },
- { 3.226e-08, 4.76711354367, 6241.97386894 },
- { 2.988e-08, 5.62906786113, 140.656360885 },
- { 3.748e-08, 4.84009347869, 341.734099891 },
- { 3.847e-08, 2.40982343643, 26086.4186689 },
- { 2.702e-08, 3.72061244391, 946.467295984 },
- { 2.846e-08, 4.90997675486, 488.849616471 },
- { 2.723e-08, 4.37517047024, 15.1903018481 },
- { 2.847e-08, 5.22951186538, 661.046730855 },
- { 2.68e-08, 4.19379121323, 13.184564278 },
- { 3.269e-08, 0.4311977852, 496.974555428 },
- { 2.878e-08, 5.00361557843, 252.086522382 },
- { 3.489e-08, 3.82213189319, 625.994515218 },
- { 3.742e-08, 2.03372773652, 8.5980197091 },
- { 3.341e-08, 2.91360557418, 304.2342037 },
- { 2.915e-08, 2.63627684599, 6681.2248534 },
- { 2.915e-08, 1.4377362589, 6604.95878212 },
- { 2.629e-08, 2.0982440745, 2713.41456405 },
- { 2.901e-08, 3.3392480023, 515.463871093 },
- { 2.803e-08, 1.23584865903, 6643.09181776 },
- { 2.621e-08, 3.27309087943, 483.481174609 },
- { 3.045e-08, 3.33515866438, 921.07688164 },
- { 2.699e-08, 5.4259779465, 925.269667334 },
- { 2.808e-08, 5.77870303237, 1024.21783997 },
- { 3.028e-08, 3.75501312393, 511.595408305 },
- { 3.09e-08, 2.49453093252, 14.6690369863 },
- { 2.63e-08, 0.62190616803, 990.229405914 },
- { 2.913e-08, 4.83296711477, 515.936951845 },
- { 3.139e-08, 5.9913425471, 570.744762039 },
- { 2.752e-08, 3.08268180744, 853.196381752 },
- { 2.643e-08, 1.99093797444, 470.217288454 },
- { 2.763e-08, 4.01095972177, 448.971475694 },
- { 3.426e-08, 4.73955481174, 1050.9963588 },
- { 2.613e-08, 5.04769883328, 175.21424391 },
- { 3.08e-08, 1.08651068269, 260.993358631 },
- { 2.605e-08, 1.78290020063, 175.11787569 },
- { 2.573e-08, 2.01267457287, 1514.29129672 },
- { 2.633e-08, 1.63639954931, 170.712641675 },
- { 3.025e-08, 5.51446170055, 369.454574712 },
- { 2.49e-08, 0.15301603966, 78187.4433534 },
- { 2.589e-08, 0.79196093766, 1228.9189157 },
- { 3.493e-08, 3.8800673873, 495.702531041 },
- { 3.143e-08, 5.33170343283, 1542.34183994 },
- { 2.816e-08, 3.74486418363, 2.0057375701 },
- { 3.062e-08, 4.88018345098, 227.968132424 },
- { 2.971e-08, 1.27359129352, 530.914805372 },
- { 3.329e-08, 2.71693827722, 171.021458216 },
- { 2.648e-08, 0.6030438692, 70.5888128733 },
- { 3.061e-08, 5.05044834864, 378.643295252 },
- { 2.738e-08, 4.75405645015, 151.260118164 },
- { 2.727e-08, 5.89140709596, 213.953486744 },
- { 3.411e-08, 2.24137878065, 734.455731298 },
- { 2.623e-08, 0.54340876464, 1586.10394987 },
- { 3.169e-08, 5.84871429991, 1049.51188609 },
- { 2.43e-08, 2.34597429597, 450.455948402 },
- { 2.907e-08, 5.58085498481, 597.571464982 },
- { 3.06e-08, 5.27973140962, 523.753074261 },
- { 3.3e-08, 0.94221473935, 58.1705144857 },
- { 2.606e-08, 4.76989264753, 391.434100655 },
- { 3.175e-08, 2.32600231924, 339.286419336 },
- { 3.112e-08, 4.24784219323, 1615.89959823 },
- { 3.34e-08, 1.36950315448, 384.272369544 },
- { 3.301e-08, 5.83023910521, 51.7751743028 },
- { 2.415e-08, 0.6944692367, 489.552191887 },
- { 3.31e-08, 5.55595218696, 674.800744104 },
- { 2.736e-08, 5.74320864965, 1167.84314627 },
- { 2.956e-08, 5.22962139507, 199.853898729 },
- { 3.262e-08, 0.01501002027, 1545.31078535 },
- { 2.506e-08, 4.84043333582, 943.498350567 },
- { 3.24e-08, 2.46676155925, 1016.79547643 },
- { 3.148e-08, 4.62079057738, 233.533516242 },
- { 2.327e-08, 4.10421417326, 70.1157321213 },
- { 2.371e-08, 4.79963943424, 271.145287018 },
- { 3.006e-08, 3.66877796077, 1476.15826108 },
- { 3.033e-08, 0.6715748869, 292.48592802 },
- { 2.344e-08, 1.83547256266, 492.308688982 },
- { 3.117e-08, 2.76268894894, 1473.18931566 },
- { 2.323e-08, 2.88799980853, 533.623118358 },
- { 2.34e-08, 4.44862573253, 490.807169931 },
- { 2.919e-08, 4.75889516601, 1511.3223513 },
- { 2.493e-08, 6.10541658597, 1225.94997028 },
- { 2.691e-08, 3.20679023131, 463.507386236 },
- { 2.291e-08, 5.81535163158, 246.978712951 },
- { 2.319e-08, 6.0551428147, 525.758811831 },
- { 3.112e-08, 0.89712836583, 314.907396948 },
- { 3.085e-08, 5.84605938859, 1192.22216866 },
- { 2.897e-08, 0.54747024257, 20350.3050211 },
- { 2.469e-08, 3.75373347656, 494.005610012 },
- { 3.067e-08, 2.22210324061, 248.463185659 },
- { 2.252e-08, 0.87483094907, 61.0275853177 },
- { 2.392e-08, 3.62837597194, 439.197799817 },
- { 2.817e-08, 2.73562306571, 16.6747745564 },
- { 2.379e-08, 6.17876088396, 467.651987821 },
- { 2.607e-08, 4.82656583469, 384.581186085 },
- { 2.718e-08, 1.01823841209, 215.959224314 },
- { 2.998e-08, 1.097557153, 1964.74724512 },
- { 2.883e-08, 2.97813866507, 383.096713377 },
- { 2.529e-08, 5.81554218602, 1587.58842258 },
- { 2.203e-08, 2.23336308907, 481.262988718 },
- { 2.26e-08, 2.3540491366, 659.610442256 },
- { 2.173e-08, 4.95048919972, 76.7873361374 },
- { 2.491e-08, 1.7023635707, 445.348138972 },
- { 2.164e-08, 4.91477263756, 249.947658367 },
- { 2.289e-08, 1.18497528002, 1552.42433235 },
- { 2.975e-08, 0.48272389481, 1052.48083151 },
- { 2.339e-08, 0.75318738767, 478.815308163 },
- { 3.011e-08, 0.16359500858, 54.2865453324 },
- { 3.011e-08, 1.03494557852, 21.9795259432 },
- };
- static VSOPTerm neptune_R1[] = {
- { 0.00236338618, 0.70497954792, 38.1330356378 },
- { 0.00013220034, 3.3201438793, 1.4844727083 },
- { 8.621779e-05, 6.21626927537, 35.1640902212 },
- { 2.701587e-05, 1.88124996531, 39.6175083461 },
- { 2.15306e-05, 5.16877044933, 76.2660712756 },
- { 2.15417e-05, 2.0943033339, 2.9689454166 },
- { 1.463314e-05, 1.18410155089, 33.6796175129 },
- { 1.603164e-05, 0, 0 },
- { 1.135663e-05, 3.91905853528, 36.6485629295 },
- { 8.9765e-06, 5.24122933533, 388.465155238 },
- { 7.89359e-06, 0.53295000718, 168.052512799 },
- { 7.6003e-06, 0.02051033644, 182.279606801 },
- { 6.07183e-06, 1.0770650035, 1021.24889455 },
- { 5.71622e-06, 3.40060785432, 484.444382456 },
- { 5.6079e-06, 2.88685815667, 498.671476458 },
- { 4.89973e-06, 3.46822250901, 137.033024162 },
- { 2.64197e-06, 0.86149368602, 4.4534181249 },
- { 2.70304e-06, 3.27489604455, 71.8126531507 },
- { 2.03512e-06, 2.41823214253, 32.1951448046 },
- { 1.5518e-06, 0.36515053081, 41.1019810544 },
- { 1.32766e-06, 3.60157672619, 9.5612275556 },
- { 9.3942e-07, 0.66658493388, 46.2097904851 },
- { 8.3697e-07, 3.26305475932, 98.8999885246 },
- { 7.2205e-07, 4.47717435693, 601.764250676 },
- { 6.8777e-07, 1.46946530374, 74.7815985673 },
- { 8.6953e-07, 5.77228651853, 381.351608237 },
- { 6.8138e-07, 4.52508272214, 70.3281804424 },
- { 6.525e-07, 3.85934463923, 73.297125859 },
- { 6.837e-07, 3.395139944, 108.46121608 },
- { 5.3375e-07, 5.43650770516, 395.578702239 },
- { 4.391e-07, 3.6156439495, 2.4476805548 },
- { 4.1546e-07, 4.74846317654, 8.0767548473 },
- { 4.8724e-07, 1.98932271543, 175.1660598 },
- { 4.1744e-07, 4.94257598763, 31.019488637 },
- { 4.4102e-07, 1.41744904844, 1550.93985965 },
- { 4.117e-07, 1.41999405024, 490.073456749 },
- { 4.1099e-07, 4.86312668872, 493.042402165 },
- { 3.6267e-07, 5.30764043577, 312.199083963 },
- { 3.6321e-07, 0.38296932117, 77.7505439839 },
- { 4.0928e-07, 2.27526815371, 529.690965095 },
- { 3.2141e-07, 5.9128587434, 5.9378908332 },
- { 3.1197e-07, 2.70549944134, 1014.13534755 },
- { 3.273e-07, 5.22147683115, 41.0537969446 },
- { 3.6035e-07, 4.88125211442, 491.557929457 },
- { 2.9991e-07, 3.30769367603, 1028.36244155 },
- { 2.9424e-07, 3.63261469286, 30.7106720963 },
- { 2.7478e-07, 1.76175718511, 44.7253177768 },
- { 2.7676e-07, 4.54801642564, 7.1135470008 },
- { 2.7475e-07, 0.97228280623, 33.9402499438 },
- { 2.4944e-07, 3.10083196356, 144.146571163 },
- { 2.5956e-07, 2.99728316628, 60.7669528868 },
- { 2.1401e-07, 0.68033795793, 251.432131076 },
- { 2.1369e-07, 4.71270048898, 278.258834019 },
- { 2.3818e-07, 5.11019967861, 176.650532508 },
- { 2.4486e-07, 3.56527493795, 145.10977901 },
- { 2.3379e-07, 1.65568321349, 173.681587092 },
- { 2.7004e-07, 4.13984627053, 453.424893819 },
- { 2.0725e-07, 0.89222104366, 4.192785694 },
- { 1.9795e-07, 5.61602288526, 24.1183899573 },
- { 2.3863e-07, 0.99001670827, 213.299095438 },
- { 1.8408e-07, 1.98233778039, 72.0732855816 },
- { 1.8266e-07, 6.17260374467, 189.393153802 },
- { 1.896e-07, 4.66648698212, 106.976743372 },
- { 1.7705e-07, 1.59531409128, 62.2514255951 },
- { 1.5648e-07, 3.64570115017, 0.5212648618 },
- { 1.6368e-07, 1.70913999198, 357.445666601 },
- { 2.0132e-07, 3.295219611, 114.399106913 },
- { 1.5425e-07, 4.38812302799, 25.6028626656 },
- { 1.8932e-07, 2.21630439663, 343.2185726 },
- { 1.4031e-07, 0.55320290294, 129.919477162 },
- { 1.4328e-07, 5.84024214567, 68.8437077341 },
- { 1.5466e-07, 4.20417846946, 567.824000732 },
- { 1.2746e-07, 3.52815836608, 477.330835455 },
- { 1.1724e-07, 5.5764726346, 31.2319369581 },
- { 1.1533e-07, 0.89138506506, 594.650703675 },
- { 1.0508e-07, 4.35552732772, 32.7164096664 },
- { 1.0777e-07, 5.30551078064, 2.9207613068 },
- { 1.0826e-07, 5.21826226871, 26.826702943 },
- { 1.0084e-07, 1.98102236804, 40.5807161926 },
- { 1.1686e-07, 5.14865195162, 42.5864537627 },
- { 9.207e-08, 0.50092534158, 64.9597385808 },
- { 9.084e-08, 5.86031317808, 6.592282139 },
- { 9.231e-08, 0.6818097771, 160.938965799 },
- { 1.0114e-07, 4.51164596686, 28.5718080822 },
- { 8.35e-08, 2.82449631025, 43.2408450685 },
- { 9.592e-08, 3.76289614986, 181.758341939 },
- { 9.969e-08, 1.45995045237, 47.6942631934 },
- { 7.946e-08, 2.40126769187, 11.0457002639 },
- { 7.629e-08, 1.57125741752, 135.548551454 },
- { 7.645e-08, 4.07503370297, 389.949627947 },
- { 8.004e-08, 2.78082277326, 505.785023458 },
- { 9.45e-08, 0.27241260289, 426.598190876 },
- { 7.192e-08, 0.82841201068, 911.042573332 },
- { 6.981e-08, 1.86764180939, 206.185548437 },
- { 7.897e-08, 1.86554246391, 38.6543004996 },
- { 6.766e-08, 0.85749934506, 82.8583534146 },
- { 6.357e-08, 0.90093123522, 487.365143763 },
- { 6.72e-08, 1.33936767947, 220.412642439 },
- { 6.344e-08, 4.04005545219, 12.5301729722 },
- { 7.695e-08, 5.13312500855, 23.9059416362 },
- { 7.059e-08, 5.99832463478, 639.897286314 },
- { 8.302e-08, 3.85960902325, 37.611770776 },
- { 6.412e-08, 2.41743840961, 1059.38193019 },
- { 6.751e-08, 1.9686089447, 45.2465826386 },
- { 6.301e-08, 4.04821192714, 35.685355083 },
- { 5.517e-08, 3.8132579089, 815.063346114 },
- { 5.562e-08, 0.41619602113, 563.631215038 },
- { 6.115e-08, 2.10934525342, 697.743477894 },
- { 6.216e-08, 4.79301628209, 143.625306301 },
- { 5.346e-08, 3.13071964722, 386.98068253 },
- { 6.866e-08, 0.62766858525, 350.3321196 },
- { 5.245e-08, 6.06245070403, 171.233906537 },
- { 5.129e-08, 0.79394555531, 179.098213063 },
- { 5.099e-08, 2.96677243218, 27.0873353739 },
- { 5.169e-08, 6.18160132142, 63.7358983034 },
- { 5.168e-08, 4.7376553637, 522.577418094 },
- { 5.006e-08, 2.37645082899, 77.2292791221 },
- { 5.005e-08, 4.70632786719, 460.53844082 },
- { 5.167e-08, 5.20246890403, 446.311346818 },
- { 5.119e-08, 2.17338058771, 494.739323195 },
- { 5.025e-08, 4.21265519443, 536.804512095 },
- { 5.125e-08, 5.38138329172, 179.310661384 },
- { 4.918e-08, 4.09031782903, 488.376535719 },
- { 4.711e-08, 5.56542374115, 42.3258213318 },
- { 4.459e-08, 1.3078482983, 69.3649725959 },
- { 5.485e-08, 3.88088464259, 218.406904869 },
- { 4.419e-08, 4.22946309121, 5.4166259714 },
- { 4.559e-08, 4.92224120952, 285.37238102 },
- { 4.687e-08, 2.2140115321, 1029.84691426 },
- { 4.644e-08, 1.87902594973, 1433.61999143 },
- { 5.639e-08, 3.05597013393, 983.115858914 },
- { 4.317e-08, 1.37172516583, 0.9632078465 },
- { 4.385e-08, 2.35709104539, 84.3428261229 },
- { 4.43e-08, 3.37768805833, 377.419454974 },
- { 4.681e-08, 2.14249250241, 97.4155158163 },
- { 5.845e-08, 4.62301099402, 1024.21783997 },
- { 5.769e-08, 5.71579471638, 351.816592309 },
- { 4.454e-08, 5.20355311714, 274.066048325 },
- { 4.398e-08, 5.65312496227, 3.9321532631 },
- { 4.287e-08, 0.66340266603, 1012.65087484 },
- { 4.086e-08, 0.14551174994, 385.283761501 },
- { 4.029e-08, 5.98399329775, 178.347453538 },
- { 4.276e-08, 3.6820508297, 348.847646892 },
- { 4.012e-08, 0.42559540783, 104313.479531 },
- { 4.309e-08, 3.04099090488, 100.384461233 },
- { 3.957e-08, 0.86846121055, 171.984666062 },
- { 3.961e-08, 3.04953080906, 1017.31674129 },
- { 5.559e-08, 0.77714806229, 1447.84708543 },
- { 5.071e-08, 2.61075526868, 1536.71276564 },
- { 4.225e-08, 2.45845211305, 496.011347582 },
- { 4.052e-08, 5.00014006312, 391.646548976 },
- { 3.763e-08, 4.29449373755, 313.683556671 },
- { 4.038e-08, 2.82857942788, 1661.14618087 },
- { 4.067e-08, 5.7316992896, 169.536985508 },
- { 4.826e-08, 3.7558926471, 379.867135529 },
- { 4.296e-08, 5.90228488768, 142.140833593 },
- { 3.721e-08, 1.20062375429, 1026.87796884 },
- { 3.929e-08, 3.94354033755, 39.0962434843 },
- { 4.728e-08, 4.73892221737, 382.836080946 },
- { 3.489e-08, 4.28865448963, 1025.18104781 },
- { 3.714e-08, 5.05021268365, 292.48592802 },
- { 3.988e-08, 2.82832650224, 134.112262856 },
- { 3.471e-08, 4.98900354066, 69.1525242748 },
- { 3.528e-08, 2.80271543681, 14.0146456805 },
- { 3.745e-08, 4.24728135115, 180.795134093 },
- { 3.836e-08, 1.02685786071, 1018.27994913 },
- { 3.941e-08, 5.21895739331, 183.764079509 },
- { 3.78e-08, 6.03723468132, 1022.73336726 },
- { 3.647e-08, 3.98130320367, 608.877797677 },
- { 3.456e-08, 5.54052355058, 846.082834751 },
- { 4.047e-08, 3.71041480907, 1018.06750081 },
- { 3.865e-08, 4.76002199091, 166.568040091 },
- { 3.629e-08, 3.29053233846, 447.795819526 },
- { 3.337e-08, 0.47308019225, 79.1868325824 },
- { 3.304e-08, 1.49289552229, 1505.69327701 },
- { 3.615e-08, 3.68096122231, 494.526874873 },
- { 3.209e-08, 0.29676849415, 22.633917249 },
- { 3.28e-08, 3.62226152032, 531.175437803 },
- { 3.337e-08, 2.7250287632, 481.475437039 },
- { 3.187e-08, 0.08677634706, 399.510855502 },
- { 3.389e-08, 1.79454271219, 1519.92037101 },
- { 3.154e-08, 3.69356460843, 470.217288454 },
- { 3.706e-08, 2.79048710497, 462.022913528 },
- { 3.682e-08, 2.45952306167, 106.013535525 },
- { 3.136e-08, 4.38015969606, 385.496209822 },
- { 4.279e-08, 4.3563378889, 1066.49547719 },
- { 3.392e-08, 0.48037804731, 521.092945386 },
- { 3.465e-08, 0.93152295589, 2183.72359896 },
- { 3.735e-08, 0.98809808606, 487.413327873 },
- { 3.285e-08, 4.36830516894, 397.063174947 },
- { 3.998e-08, 3.38773325131, 6283.07584999 },
- { 2.998e-08, 2.61728063127, 487.625776194 },
- { 3.295e-08, 2.53821501556, 4.665866446 },
- { 2.964e-08, 3.66274645375, 495.49008272 },
- { 3.901e-08, 1.65463736406, 210.330150021 },
- { 2.95e-08, 1.99904237956, 872.909537694 },
- { 2.936e-08, 3.39722203959, 423.629245459 },
- { 3.121e-08, 5.89456985534, 105.492270664 },
- { 3.904e-08, 3.01022809543, 556.517668038 },
- { 3.801e-08, 4.23636257679, 1052.26838319 },
- { 2.93e-08, 6.15005257333, 164.120359536 },
- { 3.267e-08, 4.19718045293, 518.3846324 },
- { 3.946e-08, 2.8884275967, 151.260118164 },
- { 2.823e-08, 0.60712626756, 214.783568146 },
- { 2.826e-08, 2.91070227143, 391.434100655 },
- { 3.347e-08, 6.09373507569, 6246.42728706 },
- { 2.792e-08, 0.5524813599, 5.1078094307 },
- { 3.47e-08, 5.06081504795, 79.2350166922 },
- { 3.01e-08, 0.24656411754, 91.7864415238 },
- { 2.861e-08, 6.17465663902, 422.405405182 },
- { 2.989e-08, 2.31620917965, 485.928855164 },
- { 3.088e-08, 2.29186342974, 110.206321219 },
- { 3.03e-08, 3.698661491, 532.611726401 },
- { 3.148e-08, 6.25285869266, 535.320039387 },
- { 3.02e-08, 2.36422658177, 290.219558019 },
- { 2.73e-08, 3.34082732623, 394.094229531 },
- { 3.17e-08, 1.23078934548, 10176.6369833 },
- { 2.673e-08, 6.03366372927, 196.506700803 },
- { 2.635e-08, 3.39631667641, 148.078724426 },
- { 2.838e-08, 2.85241236576, 138.517496871 },
- { 2.63e-08, 0.46957619348, 1970.42450352 },
- { 2.599e-08, 4.86022081674, 439.197799817 },
- { 2.878e-08, 2.61946597178, 488.58898404 },
- { 2.72e-08, 1.71836225398, 364.559213602 },
- { 3.053e-08, 2.49346960035, 6243.45834165 },
- { 3.332e-08, 3.25113612987, 30.0562807905 },
- { 3.062e-08, 6.23776299874, 419.484643875 },
- { 2.786e-08, 0.83078219939, 497.187003749 },
- { 2.834e-08, 3.52926079424, 457.878311944 },
- { 2.932e-08, 1.80245810977, 500.155949166 },
- { 2.613e-08, 0.97430899059, 244.318584075 },
- { 3.03e-08, 5.10152500393, 367.970102003 },
- { 2.956e-08, 5.76230870725, 986.08480433 },
- { 2.658e-08, 0.88044044504, 109.945688788 },
- { 3.116e-08, 2.20042242739, 495.702531041 },
- { 2.554e-08, 0.65945973992, 67.3592350258 },
- { 2.901e-08, 3.91891656185, 10173.6680379 },
- { 2.84e-08, 1.34453183591, 482.959909748 },
- { 2.458e-08, 1.20012815574, 489.110248902 },
- { 2.556e-08, 3.86921927085, 487.104511332 },
- { 2.614e-08, 1.51881085312, 463.507386236 },
- { 2.386e-08, 4.58400538443, 615.991344678 },
- { 2.438e-08, 5.19827220476, 501.119157012 },
- { 2.537e-08, 1.64802783144, 519.608472677 },
- { 2.444e-08, 3.87859489652, 185.248552218 },
- { 2.262e-08, 5.79112288939, 605.95703637 },
- { 2.795e-08, 4.0426575258, 255.055467798 },
- { 2.895e-08, 3.26202698812, 1646.91908686 },
- { 2.324e-08, 3.99503920129, 481.262988718 },
- { 2.962e-08, 1.74151265966, 2080.63082474 },
- { 2.621e-08, 1.74442251671, 35.212274331 },
- };
- static VSOPTerm neptune_R2[] = {
- { 4.247776e-05, 5.89911844921, 38.1330356378 },
- { 2.17404e-06, 0.34589546713, 1.4844727083 },
- { 1.63025e-06, 2.2387294713, 168.052512799 },
- { 1.56285e-06, 4.59414467342, 182.279606801 },
- { 1.1794e-06, 5.10295026024, 484.444382456 },
- { 1.12429e-06, 1.19000583596, 498.671476458 },
- { 1.27836e-06, 2.84821806298, 35.1640902212 },
- { 9.9311e-07, 3.41592669789, 175.1660598 },
- { 6.4814e-07, 3.4621406484, 388.465155238 },
- { 7.678e-07, 0.01680343065, 491.557929457 },
- { 4.9511e-07, 4.06995993334, 76.2660712756 },
- { 3.933e-07, 6.09521855958, 1021.24889455 },
- { 3.6451e-07, 5.17129778081, 137.033024162 },
- { 3.6709e-07, 5.97476878862, 2.9689454166 },
- { 2.9037e-07, 3.58135470306, 33.6796175129 },
- { 2.0862e-07, 0.77341568423, 36.6485629295 },
- { 1.3886e-07, 3.59248623971, 395.578702239 },
- { 1.3001e-07, 5.12870831936, 98.8999885246 },
- { 1.1379e-07, 1.18060018898, 381.351608237 },
- { 9.132e-08, 2.34787658568, 601.764250676 },
- { 8.527e-08, 5.25134685897, 2.4476805548 },
- { 7.608e-08, 4.99805971093, 4.4534181249 },
- { 7.417e-08, 4.46775409796, 189.393153802 },
- { 7.225e-08, 1.92287508629, 9.5612275556 },
- { 7.289e-08, 1.6551952578, 1028.36244155 },
- { 8.076e-08, 5.84268048268, 220.412642439 },
- { 9.415e-08, 0, 0 },
- { 6.554e-08, 0.69397520662, 144.146571163 },
- { 5.628e-08, 5.23383764266, 46.2097904851 },
- { 5.523e-08, 4.59041448911, 1014.13534755 },
- { 7.254e-08, 1.14445074833, 1059.38193019 },
- { 5.226e-08, 0.02783946816, 74.7815985673 },
- { 5.177e-08, 5.23116646157, 477.330835455 },
- { 5.098e-08, 3.50187769013, 39.6175083461 },
- { 5.503e-08, 3.49522319102, 183.764079509 },
- { 5.055e-08, 0.19949888617, 166.568040091 },
- { 4.751e-08, 1.1805494827, 169.536985508 },
- { 4.587e-08, 2.13374192347, 41.1019810544 },
- { 6.17e-08, 6.15456871599, 71.8126531507 },
- { 4.606e-08, 3.91970908886, 587.537156675 },
- { 4.536e-08, 2.84337336954, 7.1135470008 },
- { 4.338e-08, 0.51553847342, 446.311346818 },
- { 3.891e-08, 0.26338839265, 1550.93985965 },
- { 4.465e-08, 3.01487041336, 129.919477162 },
- { 4.162e-08, 1.58187532018, 73.297125859 },
- { 3.727e-08, 2.37977930658, 160.938965799 },
- { 4.83e-08, 2.23553496822, 176.650532508 },
- { 3.842e-08, 3.7938720423, 111.430161497 },
- { 3.296e-08, 1.07748822909, 505.785023458 },
- { 3.966e-08, 1.70648052846, 983.115858914 },
- { 4.008e-08, 0.30663868827, 494.739323195 },
- { 3.974e-08, 5.9735178384, 488.376535719 },
- { 3.925e-08, 4.85736421123, 60.7669528868 },
- { 2.966e-08, 2.01608546009, 822.176893115 },
- { 3.972e-08, 1.07780371834, 374.238061237 },
- { 2.848e-08, 6.17799253802, 704.857024895 },
- { 3.527e-08, 0.79317138165, 274.066048325 },
- { 2.773e-08, 5.37132330836, 251.432131076 },
- { 3.113e-08, 5.12622288666, 426.598190876 },
- { 3.344e-08, 5.61433537548, 1124.34166877 },
- { 3.552e-08, 5.22645982165, 350.3321196 },
- { 2.597e-08, 0.67759426519, 312.199083963 },
- { 2.58e-08, 3.56031931199, 567.824000732 },
- { 2.578e-08, 1.45603792456, 1035.47598855 },
- { 2.541e-08, 5.19427579702, 1227.43444299 },
- { 2.507e-08, 1.31206832468, 386.98068253 },
- { 2.51e-08, 4.12148891512, 171.233906537 },
- { 2.511e-08, 2.71606957319, 179.098213063 },
- { 2.342e-08, 0.96469916587, 1019.76442184 },
- { 2.5e-08, 0.7028227603, 707.777786202 },
- { 2.48e-08, 4.59623030219, 693.5506922 },
- };
- static VSOPTerm neptune_R3[] = {
- { 1.66556e-06, 4.55393495836, 38.1330356378 },
- { 2.238e-07, 3.94830879358, 168.052512799 },
- { 2.1348e-07, 2.86296778794, 182.279606801 },
- { 1.6233e-07, 0.54226725872, 484.444382456 },
- { 1.5623e-07, 5.75702251906, 498.671476458 },
- { 1.1412e-07, 4.38291384655, 1.4844727083 },
- { 6.448e-08, 5.19003066847, 31.019488637 },
- { 3.655e-08, 5.91335292846, 1007.02180055 },
- { 3.681e-08, 1.62865545676, 388.465155238 },
- { 3.198e-08, 0.70197118575, 1558.05340665 },
- { 3.243e-08, 1.8803566598, 522.577418094 },
- { 2.688e-08, 1.87062743473, 402.69224924 },
- { 3.246e-08, 0.79381356193, 536.804512095 },
- { 2.65e-08, 5.76858449026, 343.2185726 },
- { 2.644e-08, 4.64542905401, 500.155949166 },
- { 2.541e-08, 4.79217120822, 482.959909748 },
- { 2.523e-08, 1.7286988978, 395.578702239 },
- { 3.04e-08, 2.90934098363, 76.2660712756 },
- { 2.69e-08, 2.21096415618, 446.311346818 },
- { 2.355e-08, 5.77381398401, 485.928855164 },
- { 2.874e-08, 6.1964334054, 815.063346114 },
- { 2.45e-08, 2.14451121185, 39.6175083461 },
- { 2.278e-08, 3.66579603119, 497.187003749 },
- };
- static VSOPTerm neptune_R4[] = {
- { 4.227e-08, 2.40375758563, 477.330835455 },
- { 4.333e-08, 0.10459484545, 395.578702239 },
- { 3.545e-08, 4.78431259422, 1028.36244155 },
- { 3.154e-08, 3.88192942366, 505.785023458 },
- { 3.016e-08, 1.03609346831, 189.393153802 },
- { 2.294e-08, 1.10879658603, 182.279606801 },
- { 2.295e-08, 5.67776133184, 168.052512799 },
- };
- // Position of the Sun relative to the Solar System Barycenter
- // From VSOP87E
- static VSOPTerm sun_X0[] = {
- { 0.00495672739, 3.74107356792, 529.690965095 },
- { 0.00271802376, 4.01601149775, 213.299095438 },
- { 0.00155435675, 2.17052050061, 38.1330356378 },
- { 0.00083792997, 2.33967985523, 74.7815985673 },
- { 0.00029374249, 0, 0 },
- { 0.00012013079, 4.09073224903, 1059.38193019 },
- { 7.577257e-005, 3.24151897354, 426.598190876 },
- { 1.94138e-005, 1.01219474101, 206.185548437 },
- { 1.940649e-005, 4.79769963661, 149.563197135 },
- { 1.888831e-005, 3.89252804366, 220.412642439 },
- { 1.434208e-005, 3.86895363775, 522.577418094 },
- { 1.406367e-005, 0.4759833515, 536.804512095 },
- { 1.185835e-005, 0.77770585045, 76.2660712756 },
- { 8.13685e-006, 3.25483611884, 36.6485629295 },
- { 7.67074e-006, 4.22743731914, 39.6175083461 },
- { 6.24814e-006, 0.27936466811, 73.297125859 },
- { 4.3664e-006, 4.44044655092, 1589.07289528 },
- { 3.79145e-006, 5.15640874752, 7.1135470008 },
- { 3.15393e-006, 6.15699854629, 419.484643875 },
- { 3.08784e-006, 2.49456658747, 639.897286314 },
- { 2.78795e-006, 4.93431870348, 110.206321219 },
- { 3.03993e-006, 4.89507841707, 6283.07584999 },
- { 2.27188e-006, 5.27839813806, 103.092774219 },
- { 2.16162e-006, 5.8029803212, 316.391869657 },
- { 1.76764e-006, 0.03416525046, 10213.2855462 },
- { 1.35792e-006, 2.00151020964, 1.4844727083 },
- { 1.16993e-006, 2.42475255571, 632.783739313 },
- { 1.05413e-006, 3.1233221385, 433.711737877 },
- { 9.7988e-007, 3.02626461372, 1052.26838319 },
- { 1.09101e-006, 3.15781282608, 1162.47470441 },
- { 6.9588e-007, 0.8219649508, 1066.49547719 },
- { 5.6882e-007, 1.32304578699, 949.17560897 },
- { 6.612e-007, 0.27653561007, 846.082834751 },
- { 6.3189e-007, 5.79436684832, 148.078724426 },
- { 6.3139e-007, 0.73209797865, 224.344795702 },
- { 4.8979e-007, 3.06244424367, 3340.6124267 },
- { 3.7824e-007, 4.58891701161, 35.1640902212 },
- { 3.115e-007, 1.37429681895, 63.7358983034 },
- { 3.0682e-007, 4.22246917155, 11.0457002639 },
- { 2.8741e-007, 3.71398829023, 151.047669843 },
- { 2.858e-007, 2.84721981555, 41.1019810544 },
- { 2.3782e-007, 3.76207354349, 227.52618944 },
- { 2.3267e-007, 0.46827104623, 85.8272988312 },
- { 2.2744e-007, 1.67012539714, 71.8126531507 },
- { 1.8818e-007, 4.79056538983, 2118.76386038 },
- { 2.2286e-007, 3.93734569173, 2.9689454166 },
- { 2.1992e-007, 0.11232184552, 77.7505439839 },
- { 2.0026e-007, 4.02923197304, 209.366942175 },
- { 1.9681e-007, 0.87544248531, 217.231248701 },
- { 1.9075e-007, 5.91973929854, 202.253395174 },
- { 1.6571e-007, 2.54911337935, 735.876513532 },
- { 1.5738e-007, 5.27754524439, 742.990060533 },
- { 1.8319e-007, 3.06472848621, 323.505416657 },
- { 1.736e-007, 3.01137661271, 138.517496871 },
- { 1.5488e-007, 4.00542220967, 515.463871093 },
- { 1.6367e-007, 1.83137880912, 853.196381752 },
- { 1.1229e-007, 1.18029367551, 199.072001436 },
- { 1.0836e-007, 0.34161370756, 543.918059096 },
- { 1.1587e-007, 0.61075744193, 525.758811832 },
- { 1.1447e-007, 3.7270425577, 533.623118358 },
- { 7.92e-008, 2.43547958386, 1478.86657406 },
- { 8.322e-008, 3.52503621824, 1692.1656695 },
- { 7.185e-008, 3.51955509534, 216.480489176 },
- { 7.015e-008, 1.38855213071, 210.1177017 },
- { 7.12e-008, 2.46055859947, 415.552490612 },
- { 6.867e-008, 4.39735582882, 117.31986822 },
- { 7.226e-008, 4.04267257839, 1265.56747863 },
- { 6.955e-008, 2.865019528, 956.289155971 },
- { 7.493e-008, 5.01430547428, 14.2270940016 },
- { 6.597e-008, 2.37676813421, 647.010833315 },
- { 7.38e-008, 3.2730220882, 1581.95934828 },
- { 6.401e-008, 5.30226825802, 95.9792272178 },
- { 6.244e-008, 5.44473078234, 70.8494453042 },
- // 73 terms retained
- };
- static VSOPTerm sun_X1[] = {
- { 1.296073e-005, 3.14159265359, 0 },
- { 8.97419e-006, 1.1289200545, 426.598190876 },
- { 7.76911e-006, 2.70600396412, 206.185548437 },
- { 7.53636e-006, 2.19131779736, 220.412642439 },
- { 6.06034e-006, 3.24815679698, 1059.38193019 },
- { 5.72567e-006, 5.56994506134, 522.577418094 },
- { 5.6152e-006, 5.05742214407, 536.804512095 },
- { 1.01075e-006, 3.47363025932, 7.1135470008 },
- { 7.2584e-007, 0.36521293891, 639.897286314 },
- { 8.753e-007, 1.66279295561, 419.484643875 },
- { 5.3691e-007, 1.32771189808, 433.711737877 },
- { 5.7424e-007, 4.25022395061, 213.299095438 },
- { 4.4073e-007, 3.59873993683, 1589.07289528 },
- { 3.1012e-007, 4.88786083215, 1052.26838319 },
- { 3.2089e-007, 0.97023379672, 529.690965095 },
- { 3.0164e-007, 5.48452294664, 1066.49547719 },
- { 3.2092e-007, 2.84692417916, 149.563197135 },
- { 2.1371e-007, 0.56918433581, 316.391869657 },
- { 1.899e-007, 2.06104675595, 227.52618944 },
- { 1.4015e-007, 4.17777922613, 110.206321219 },
- { 1.5885e-007, 5.78017661291, 76.2660712756 },
- { 1.2374e-007, 5.70562636316, 515.463871093 },
- { 1.3243e-007, 5.16075891864, 36.6485629295 },
- { 1.1847e-007, 3.05476901979, 632.783739313 },
- { 1.2487e-007, 2.32002507803, 39.6175083461 },
- { 1.0223e-007, 2.19747174258, 73.297125859 },
- { 9.014e-008, 2.8687275429, 199.072001436 },
- { 8.667e-008, 4.924197114, 543.918059096 },
- { 7.754e-008, 3.01431732345, 949.17560897 },
- { 7.535e-008, 2.70484475866, 103.092774219 },
- { 5.483e-008, 6.01106223961, 853.196381752 },
- { 5.158e-008, 1.94900517603, 209.366942175 },
- { 5.079e-008, 2.96229494906, 217.231248701 },
- { 4.653e-008, 1.72782369127, 216.480489176 },
- { 4.541e-008, 3.17727011849, 210.1177017 },
- { 4.456e-008, 0.76977956324, 323.505416657 },
- { 4.233e-008, 3.49063898076, 63.7358983034 },
- { 4.095e-008, 0.51793431422, 647.010833315 },
- { 4.989e-008, 3.32377727482, 14.2270940016 },
- { 4.32e-008, 4.2884518892, 735.876513532 },
- // 40 terms retained
- };
- static VSOPTerm sun_X2[] = {
- { 1.60293e-006, 4.40406062613, 206.185548437 },
- { 1.55633e-006, 0.48183983171, 220.412642439 },
- { 1.18222e-006, 0.99338493688, 522.577418094 },
- { 1.15842e-006, 3.35337160144, 536.804512095 },
- { 9.6063e-007, 5.5670757102, 213.299095438 },
- { 6.5107e-007, 5.63089478188, 426.598190876 },
- { 7.4211e-007, 2.15619420586, 529.690965095 },
- { 3.9505e-007, 1.98115233273, 1059.38193019 },
- { 4.4785e-007, 0, 0 },
- { 1.4232e-007, 5.82837756444, 433.711737877 },
- { 1.3989e-007, 1.76434060619, 7.1135470008 },
- { 1.2711e-007, 3.4914979877, 419.484643875 },
- { 9.321e-008, 4.71464865506, 639.897286314 },
- { 7.707e-008, 0.35647823047, 227.52618944 },
- { 6.797e-008, 3.87383015136, 1066.49547719 },
- { 5.452e-008, 0.48898137631, 1052.26838319 },
- { 5.027e-008, 1.12572622612, 515.463871093 },
- { 3.854e-008, 2.44255859575, 1589.07289528 },
- { 3.667e-008, 4.56283602529, 199.072001436 },
- { 3.523e-008, 3.22103209546, 543.918059096 },
- { 1.347e-008, 2.19024470415, 316.391869657 },
- { 1.405e-008, 6.22622304401, 216.480489176 },
- { 1.32e-008, 4.96541286159, 647.010833315 },
- { 1.365e-008, 4.95810524231, 210.1177017 },
- { 1.687e-008, 1.62553064962, 14.2270940016 },
- { 1.093e-008, 4.21067890946, 103.092774219 },
- { 9.73e-009, 4.02172041169, 853.196381752 },
- // 27 terms retained
- };
- static VSOPTerm sun_X3[] = {
- { 2.2035e-007, 6.11822426048, 206.185548437 },
- { 2.1482e-007, 5.03368299703, 220.412642439 },
- { 1.6291e-007, 2.71940457791, 522.577418094 },
- { 1.5934e-007, 1.63320186413, 536.804512095 },
- { 3.063e-008, 3.8020122552, 426.598190876 },
- { 2.563e-008, 4.04702837579, 433.711737877 },
- { 2.101e-008, 4.9278699675, 227.52618944 },
- { 1.706e-008, 0.42316599671, 1059.38193019 },
- { 2.008e-008, 0, 0 },
- { 1.375e-008, 2.83821817426, 515.463871093 },
- { 1.266e-008, 5.3750910608, 419.484643875 },
- { 1.038e-008, 2.26994057258, 1066.49547719 },
- { 1e-008, 6.26567671131, 199.072001436 },
- { 9.64e-009, 1.50782014667, 543.918059096 },
- { 1.275e-008, 0.02482955002, 7.1135470008 },
- { 8.45e-009, 2.83708264275, 639.897286314 },
- { 6.78e-009, 2.36507413871, 1052.26838319 },
- // 17 terms retained
- };
- static VSOPTerm sun_X4[] = {
- { 2.272e-008, 1.5636483818, 206.185548437 },
- { 2.236e-008, 3.28143366276, 220.412642439 },
- { 1.682e-008, 4.46996330708, 522.577418094 },
- { 1.638e-008, 6.17513895178, 536.804512095 },
- { 4.3e-009, 3.20713267334, 227.52618944 },
- { 3.48e-009, 2.26681787351, 433.711737877 },
- { 2.91e-009, 4.56956279775, 515.463871093 },
- { 2.06e-009, 6.05364860885, 543.918059096 },
- { 2.02e-009, 1.69320982304, 199.072001436 },
- // 9 terms retained
- };
- static VSOPTerm sun_Y0[] = {
- { 0.00495536218, 2.17046712634, 529.690965095 },
- { 0.00272185821, 2.44443364925, 213.299095438 },
- { 0.00155444313, 0.5992701084, 38.1330356378 },
- { 0.00083755792, 0.7688016471, 74.7815985673 },
- { 0.00033869535, 0, 0 },
- { 0.00012011827, 2.5200314788, 1059.38193019 },
- { 7.58583e-005, 1.66995483217, 426.598190876 },
- { 1.963743e-005, 5.70773655842, 206.185548437 },
- { 1.891503e-005, 2.32096821003, 220.412642439 },
- { 1.940124e-005, 3.22686130461, 149.563197135 },
- { 1.436841e-005, 2.30161968078, 522.577418094 },
- { 1.405975e-005, 5.18858607879, 536.804512095 },
- { 1.185515e-005, 5.48969329104, 76.2660712756 },
- { 8.13077e-006, 1.68393442622, 36.6485629295 },
- { 7.67125e-006, 2.65620459324, 39.6175083461 },
- { 6.28788e-006, 4.99295631526, 73.297125859 },
- { 4.36632e-006, 2.86969820654, 1589.07289528 },
- { 3.82844e-006, 3.57213982765, 7.1135470008 },
- { 3.17511e-006, 4.53536380695, 419.484643875 },
- { 3.09191e-006, 0.92301535903, 639.897286314 },
- { 2.87366e-006, 3.36314089821, 110.206321219 },
- { 3.04013e-006, 3.32425157103, 6283.07584999 },
- { 2.69924e-006, 0.29178785093, 103.092774219 },
- { 2.13445e-006, 4.22099738237, 316.391869657 },
- { 1.77041e-006, 4.747331353, 10213.2855462 },
- { 1.38577e-006, 0.43043981485, 1.4844727083 },
- { 1.12761e-006, 0.85382170184, 632.783739313 },
- { 1.05538e-006, 1.55181188435, 433.711737877 },
- { 9.8007e-007, 1.45965911177, 1052.26838319 },
- { 1.09014e-006, 1.58735183284, 1162.47470441 },
- { 6.9581e-007, 5.53444845615, 1066.49547719 },
- { 5.6638e-007, 6.03067632809, 949.17560897 },
- { 6.6066e-007, 4.9895069635, 846.082834751 },
- { 6.3109e-007, 4.22325583135, 148.078724426 },
- { 6.3108e-007, 5.44406082112, 224.344795702 },
- { 4.891e-007, 1.4905211289, 3340.6124267 },
- { 3.4784e-007, 3.0311366542, 35.1640902212 },
- { 3.0366e-007, 2.65225160596, 11.0457002639 },
- { 2.8582e-007, 1.27599593473, 41.1019810544 },
- { 2.8733e-007, 2.14315245629, 151.047669843 },
- { 2.7688e-007, 5.44433605847, 63.7358983034 },
- { 2.3815e-007, 2.19051967809, 227.52618944 },
- { 2.3457e-007, 0.09576335036, 71.8126531507 },
- { 2.3256e-007, 5.18050538435, 85.8272988312 },
- { 1.8818e-007, 3.21978774117, 2118.76386038 },
- { 2.2104e-007, 2.36649230999, 2.9689454166 },
- { 2.1981e-007, 4.82484958838, 77.7505439839 },
- { 2.0052e-007, 2.45637769313, 209.366942175 },
- { 1.9691e-007, 5.58713076986, 217.231248701 },
- { 1.5682e-007, 3.70800811377, 742.990060533 },
- { 1.8552e-007, 4.31061638297, 202.253395174 },
- { 1.8318e-007, 1.49471267476, 323.505416657 },
- { 1.7492e-007, 1.45131471586, 138.517496871 },
- { 1.5554e-007, 1.06805925164, 735.876513532 },
- { 1.5545e-007, 2.44244738845, 515.463871093 },
- { 1.6381e-007, 0.25980625854, 853.196381752 },
- { 1.1595e-007, 5.83451477433, 199.072001436 },
- { 1.0833e-007, 5.05422968004, 543.918059096 },
- { 1.1585e-007, 5.32336141881, 525.758811832 },
- { 1.1435e-007, 2.15573411853, 533.623118358 },
- { 7.912e-008, 0.8642910472, 1478.86657406 },
- { 8.319e-008, 1.95435351055, 1692.1656695 },
- { 7.196e-008, 1.94802350337, 216.480489176 },
- { 7.036e-008, 6.09743344991, 210.1177017 },
- { 7.148e-008, 0.89057242152, 415.552490612 },
- { 6.899e-008, 2.82570489004, 117.31986822 },
- { 7.245e-008, 2.48166026447, 1265.56747863 },
- { 6.96e-008, 1.29290894763, 956.289155971 },
- { 7.569e-008, 3.42743646666, 14.2270940016 },
- { 6.604e-008, 0.80525786731, 647.010833315 },
- { 7.374e-008, 1.70513414627, 1581.95934828 },
- { 7.04e-008, 0.48482036852, 95.9792272178 },
- { 6.33e-008, 3.87859376833, 70.8494453042 },
- // 73 terms retained
- };
- static VSOPTerm sun_Y1[] = {
- { 8.98747e-006, 5.8406215769, 426.598190876 },
- { 7.81392e-006, 1.12962797123, 206.185548437 },
- { 7.54898e-006, 0.61969438775, 220.412642439 },
- { 6.05551e-006, 1.67748431613, 1059.38193019 },
- { 5.73282e-006, 4.00088433502, 522.577418094 },
- { 5.61304e-006, 3.48675865561, 536.804512095 },
- { 1.02847e-006, 1.87716874734, 7.1135470008 },
- { 7.2695e-007, 5.07718907269, 639.897286314 },
- { 8.732e-007, 0.0906528032, 419.484643875 },
- { 5.3759e-007, 6.03942421773, 433.711737877 },
- { 4.7287e-007, 2.15306225354, 213.299095438 },
- { 4.4572e-007, 5.0598198221, 529.690965095 },
- { 4.4061e-007, 2.02795830775, 1589.07289528 },
- { 3.101e-007, 3.31770926852, 1052.26838319 },
- { 3.016e-007, 3.91376481697, 1066.49547719 },
- { 3.2071e-007, 1.27581809571, 149.563197135 },
- { 2.1415e-007, 5.30131509744, 316.391869657 },
- { 1.9019e-007, 0.48946385175, 227.52618944 },
- { 1.6129e-007, 2.44989442588, 110.206321219 },
- { 1.5875e-007, 4.20914007335, 76.2660712756 },
- { 1.2413e-007, 4.14057132118, 515.463871093 },
- { 1.3252e-007, 3.5892518546, 36.6485629295 },
- { 1.1814e-007, 1.50628561093, 632.783739313 },
- { 1.2488e-007, 0.74887488462, 39.6175083461 },
- { 1.0164e-007, 0.6299231039, 73.297125859 },
- { 9.222e-008, 1.25927718333, 199.072001436 },
- { 8.663e-008, 3.35360012494, 543.918059096 },
- { 7.755e-008, 1.44764390538, 949.17560897 },
- { 7.691e-008, 1.12047989646, 103.092774219 },
- { 5.487e-008, 4.43944248381, 853.196381752 },
- { 5.17e-008, 0.37516758388, 209.366942175 },
- { 5.081e-008, 1.3905945573, 217.231248701 },
- { 4.66e-008, 0.15626149972, 216.480489176 },
- { 4.553e-008, 1.60431626596, 210.1177017 },
- { 4.447e-008, 5.48065037241, 323.505416657 },
- { 6.117e-008, 0, 0 },
- { 4.151e-008, 1.93098926861, 63.7358983034 },
- { 4.099e-008, 5.22964063969, 647.010833315 },
- { 5.058e-008, 1.73136117173, 14.2270940016 },
- { 4.293e-008, 2.71452907477, 735.876513532 },
- // 40 terms retained
- };
- static VSOPTerm sun_Y2[] = {
- { 1.60849e-006, 2.83104666823, 206.185548437 },
- { 1.55973e-006, 5.19309730583, 220.412642439 },
- { 1.18316e-006, 5.70681506981, 522.577418094 },
- { 1.15781e-006, 1.78259431361, 536.804512095 },
- { 1.03374e-006, 4.03691274682, 213.299095438 },
- { 6.5392e-007, 4.05826871786, 426.598190876 },
- { 7.3065e-007, 0.61752643976, 529.690965095 },
- { 5.5814e-007, 3.14159265359, 0 },
- { 3.9447e-007, 0.41095552166, 1059.38193019 },
- { 1.4254e-007, 4.25680464915, 433.711737877 },
- { 1.4479e-007, 0.14336346755, 7.1135470008 },
- { 1.2723e-007, 1.91903810105, 419.484643875 },
- { 9.344e-008, 3.14385567645, 639.897286314 },
- { 7.72e-008, 5.06798604557, 227.52618944 },
- { 6.795e-008, 2.30303656447, 1066.49547719 },
- { 5.452e-008, 5.20193437243, 1052.26838319 },
- { 5.04e-008, 5.84239832938, 515.463871093 },
- { 3.852e-008, 0.87182418595, 1589.07289528 },
- { 3.729e-008, 2.96611895542, 199.072001436 },
- { 3.521e-008, 1.65043749771, 543.918059096 },
- { 1.351e-008, 0.59351678849, 316.391869657 },
- { 1.409e-008, 4.65471130275, 216.480489176 },
- { 1.321e-008, 3.39383854482, 647.010833315 },
- { 1.368e-008, 3.38543777835, 210.1177017 },
- { 1.717e-008, 0.02861328541, 14.2270940016 },
- // 25 terms retained
- };
- static VSOPTerm sun_Y3[] = {
- { 2.2088e-007, 4.54598360855, 206.185548437 },
- { 2.1546e-007, 3.46116671016, 220.412642439 },
- { 1.63e-007, 1.14934178921, 522.577418094 },
- { 1.5923e-007, 0.06221071687, 536.804512095 },
- { 3.093e-008, 2.22514436528, 426.598190876 },
- { 2.568e-008, 2.47493921494, 433.711737877 },
- { 2.105e-008, 3.35595521974, 227.52618944 },
- { 2.639e-008, 0, 0 },
- { 1.7e-008, 5.13510489936, 1059.38193019 },
- { 1.378e-008, 1.27086042787, 515.463871093 },
- { 1.266e-008, 3.80209162712, 419.484643875 },
- { 1.363e-008, 4.63636570705, 7.1135470008 },
- { 1.013e-008, 4.67704889552, 199.072001436 },
- { 1.037e-008, 0.69915801725, 1066.49547719 },
- { 9.64e-009, 6.2204514585, 543.918059096 },
- { 8.49e-009, 1.26670686968, 639.897286314 },
- { 6.78e-009, 0.7955478313, 1052.26838319 },
- // 17 terms retained
- };
- static VSOPTerm sun_Y4[] = {
- { 2.278e-008, 6.2738890301, 206.185548437 },
- { 2.245e-008, 1.70782913671, 220.412642439 },
- { 1.682e-008, 2.8998895537, 522.577418094 },
- { 1.636e-008, 4.60365551069, 536.804512095 },
- { 4.31e-009, 1.63508563664, 227.52618944 },
- { 3.49e-009, 0.69586528581, 433.711737877 },
- { 2.91e-009, 3.00165310731, 515.463871093 },
- { 2.06e-009, 4.48461122025, 543.918059096 },
- { 2.04e-009, 0.11049991144, 199.072001436 },
- // 9 terms retained
- };
- static VSOPTerm sun_Z0[] = {
- { 0.00011810648, 0.46078690233, 213.299095438 },
- { 0.000112777, 0.41689943638, 529.690965095 },
- { 4.802048e-005, 4.5826472337, 38.1330356378 },
- { 1.131046e-005, 5.75877139035, 74.7815985673 },
- { 1.152656e-005, 3.14159265359, 0 },
- { 3.2982e-006, 5.97879747107, 426.598190876 },
- { 2.73335e-006, 0.76652182727, 1059.38193019 },
- { 9.4247e-007, 3.71017552866, 206.185548437 },
- { 8.1859e-007, 0.33908959552, 220.412642439 },
- { 4.0793e-007, 0.45519444489, 522.577418094 },
- { 3.1695e-007, 3.44538862917, 536.804512095 },
- { 2.4534e-007, 5.66491831903, 36.6485629295 },
- { 2.6057e-007, 1.93178628731, 149.563197135 },
- { 2.3291e-007, 0.36646817056, 39.6175083461 },
- { 1.973e-007, 3.16782731236, 76.2660712756 },
- { 2.1801e-007, 1.54437894252, 7.1135470008 },
- { 1.4512e-007, 1.58375269275, 110.206321219 },
- { 1.3582e-007, 5.23992989955, 639.897286314 },
- // 18 terms retained
- };
- static VSOPTerm sun_Z1[] = {
- { 5.44343e-006, 1.80383716985, 213.299095438 },
- { 3.88234e-006, 4.6685522117, 529.690965095 },
- { 1.33398e-006, 0, 0 },
- { 3.7294e-007, 5.40133589632, 206.185548437 },
- { 2.8944e-007, 4.9324571056, 220.412642439 },
- { 2.8635e-007, 3.15447649004, 74.7815985673 },
- { 2.4988e-007, 3.65752330365, 426.598190876 },
- { 1.9373e-007, 5.74043087058, 1059.38193019 },
- { 1.3746e-007, 1.71298046603, 536.804512095 },
- { 1.2168e-007, 2.31196328906, 522.577418094 },
- { 8.01e-008, 5.28413417446, 38.1330356378 },
- // 11 terms retained
- };
- static VSOPTerm sun_Z2[] = {
- { 3.7478e-007, 3.23028568613, 213.299095438 },
- { 2.7315e-007, 6.15507992196, 529.690965095 },
- { 8.616e-008, 0.7720923931, 206.185548437 },
- { 5.511e-008, 3.23377546695, 220.412642439 },
- { 2.969e-008, 6.27419756063, 536.804512095 },
- { 2.272e-008, 4.09618627765, 522.577418094 },
- { 1.982e-008, 2.34242027589, 426.598190876 },
- // 7 terms retained
- };
- #define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0]))
- #define VSOP_SERIES(s) VSOPSeries(s, ARRAY_SIZE(s))
- static VSOPSeries mercury_L[] = {
- VSOP_SERIES(mercury_L0), VSOP_SERIES(mercury_L1), VSOP_SERIES(mercury_L2),
- VSOP_SERIES(mercury_L3), VSOP_SERIES(mercury_L4), VSOP_SERIES(mercury_L5),
- };
- static VSOPSeries mercury_B[] = {
- VSOP_SERIES(mercury_B0), VSOP_SERIES(mercury_B1), VSOP_SERIES(mercury_B2),
- VSOP_SERIES(mercury_B3), VSOP_SERIES(mercury_B4), VSOP_SERIES(mercury_B5),
- };
- static VSOPSeries mercury_R[] = {
- VSOP_SERIES(mercury_R0), VSOP_SERIES(mercury_R1), VSOP_SERIES(mercury_R2),
- VSOP_SERIES(mercury_R3), VSOP_SERIES(mercury_R4),
- };
- static VSOPSeries venus_L[] = {
- VSOP_SERIES(venus_L0), VSOP_SERIES(venus_L1), VSOP_SERIES(venus_L2),
- VSOP_SERIES(venus_L3), VSOP_SERIES(venus_L4), VSOP_SERIES(venus_L5),
- };
- static VSOPSeries venus_B[] = {
- VSOP_SERIES(venus_B0), VSOP_SERIES(venus_B1), VSOP_SERIES(venus_B2),
- VSOP_SERIES(venus_B3), VSOP_SERIES(venus_B4), VSOP_SERIES(venus_B5),
- };
- static VSOPSeries venus_R[] = {
- VSOP_SERIES(venus_R0), VSOP_SERIES(venus_R1), VSOP_SERIES(venus_R2),
- VSOP_SERIES(venus_R3), VSOP_SERIES(venus_R4),
- };
- static VSOPSeries earth_L[] = {
- VSOP_SERIES(earth_L0), VSOP_SERIES(earth_L1), VSOP_SERIES(earth_L2),
- VSOP_SERIES(earth_L3), VSOP_SERIES(earth_L4), VSOP_SERIES(earth_L5),
- };
- static VSOPSeries earth_B[] = {
- VSOP_SERIES(earth_B0), VSOP_SERIES(earth_B1), VSOP_SERIES(earth_B2),
- };
- static VSOPSeries earth_R[] = {
- VSOP_SERIES(earth_R0), VSOP_SERIES(earth_R1), VSOP_SERIES(earth_R2),
- VSOP_SERIES(earth_R3), VSOP_SERIES(earth_R4), VSOP_SERIES(earth_R5),
- };
- static VSOPSeries mars_L[] = {
- VSOP_SERIES(mars_L0), VSOP_SERIES(mars_L1), VSOP_SERIES(mars_L2),
- VSOP_SERIES(mars_L3), VSOP_SERIES(mars_L4), VSOP_SERIES(mars_L5),
- };
- static VSOPSeries mars_B[] = {
- VSOP_SERIES(mars_B0), VSOP_SERIES(mars_B1), VSOP_SERIES(mars_B2),
- VSOP_SERIES(mars_B3), VSOP_SERIES(mars_B4), VSOP_SERIES(mars_B5),
- };
- static VSOPSeries mars_R[] = {
- VSOP_SERIES(mars_R0), VSOP_SERIES(mars_R1), VSOP_SERIES(mars_R2),
- VSOP_SERIES(mars_R3), VSOP_SERIES(mars_R4), VSOP_SERIES(mars_R5),
- };
- static VSOPSeries jupiter_L[] = {
- VSOP_SERIES(jupiter_L0), VSOP_SERIES(jupiter_L1), VSOP_SERIES(jupiter_L2),
- VSOP_SERIES(jupiter_L3), VSOP_SERIES(jupiter_L4), VSOP_SERIES(jupiter_L5),
- };
- static VSOPSeries jupiter_B[] = {
- VSOP_SERIES(jupiter_B0), VSOP_SERIES(jupiter_B1), VSOP_SERIES(jupiter_B2),
- VSOP_SERIES(jupiter_B3), VSOP_SERIES(jupiter_B4), VSOP_SERIES(jupiter_B5),
- };
- static VSOPSeries jupiter_R[] = {
- VSOP_SERIES(jupiter_R0), VSOP_SERIES(jupiter_R1), VSOP_SERIES(jupiter_R2),
- VSOP_SERIES(jupiter_R3), VSOP_SERIES(jupiter_R4), VSOP_SERIES(jupiter_R5),
- };
- static VSOPSeries saturn_L[] = {
- VSOP_SERIES(saturn_L0), VSOP_SERIES(saturn_L1), VSOP_SERIES(saturn_L2),
- VSOP_SERIES(saturn_L3), VSOP_SERIES(saturn_L4), VSOP_SERIES(saturn_L5),
- };
- static VSOPSeries saturn_B[] = {
- VSOP_SERIES(saturn_B0), VSOP_SERIES(saturn_B1), VSOP_SERIES(saturn_B2),
- VSOP_SERIES(saturn_B3), VSOP_SERIES(saturn_B4), VSOP_SERIES(saturn_B5),
- };
- static VSOPSeries saturn_R[] = {
- VSOP_SERIES(saturn_R0), VSOP_SERIES(saturn_R1), VSOP_SERIES(saturn_R2),
- VSOP_SERIES(saturn_R3), VSOP_SERIES(saturn_R4), VSOP_SERIES(saturn_R5),
- };
- static VSOPSeries uranus_L[] = {
- VSOP_SERIES(uranus_L0), VSOP_SERIES(uranus_L1), VSOP_SERIES(uranus_L2),
- VSOP_SERIES(uranus_L3), VSOP_SERIES(uranus_L4),
- };
- static VSOPSeries uranus_B[] = {
- VSOP_SERIES(uranus_B0), VSOP_SERIES(uranus_B1), VSOP_SERIES(uranus_B2),
- VSOP_SERIES(uranus_B3),
- };
- static VSOPSeries uranus_R[] = {
- VSOP_SERIES(uranus_R0), VSOP_SERIES(uranus_R1), VSOP_SERIES(uranus_R2),
- VSOP_SERIES(uranus_R3), VSOP_SERIES(uranus_R4),
- };
- static VSOPSeries neptune_L[] = {
- VSOP_SERIES(neptune_L0), VSOP_SERIES(neptune_L1), VSOP_SERIES(neptune_L2),
- VSOP_SERIES(neptune_L3),
- };
- static VSOPSeries neptune_B[] = {
- VSOP_SERIES(neptune_B0), VSOP_SERIES(neptune_B1), VSOP_SERIES(neptune_B2),
- VSOP_SERIES(neptune_B3),
- };
- static VSOPSeries neptune_R[] = {
- VSOP_SERIES(neptune_R0), VSOP_SERIES(neptune_R1), VSOP_SERIES(neptune_R2),
- VSOP_SERIES(neptune_R3), VSOP_SERIES(neptune_R4),
- };
- static VSOPSeries sun_X[] = {
- VSOP_SERIES(sun_X0), VSOP_SERIES(sun_X1), VSOP_SERIES(sun_X2),
- VSOP_SERIES(sun_X3), VSOP_SERIES(sun_X4),
- };
- static VSOPSeries sun_Y[] = {
- VSOP_SERIES(sun_Y0), VSOP_SERIES(sun_Y1), VSOP_SERIES(sun_Y2),
- VSOP_SERIES(sun_Y3), VSOP_SERIES(sun_Y4),
- };
- static VSOPSeries sun_Z[] = {
- VSOP_SERIES(sun_Z0), VSOP_SERIES(sun_Z1), VSOP_SERIES(sun_Z2),
- };
- static double SumSeries(const VSOPSeries& series, double t)
- {
- if (series.nTerms < 1)
- return 0.0;
- double x = 0.0;
- VSOPTerm* term = &series.terms[0];
- for (int i = 0; i < series.nTerms; i++, term++)
- x += term->A * cos(term->B + term->C * t);
- return x;
- };
- class VSOP87Orbit : public CachingOrbit
- {
- private:
- VSOPSeries* vsL;
- int nL;
- VSOPSeries* vsB;
- int nB;
- VSOPSeries* vsR;
- int nR;
- double period;
- double boundingRadius;
- public:
- VSOP87Orbit(VSOPSeries* _vsL, int _nL,
- VSOPSeries* _vsB, int _nB,
- VSOPSeries* _vsR, int _nR,
- double _period,
- double _boundingRadius) :
- vsL(_vsL), nL(_nL),
- vsB(_vsB), nB(_nB),
- vsR(_vsR), nR(_nR),
- period(_period),
- boundingRadius(_boundingRadius)
- {
- };
- virtual ~VSOP87Orbit() {};
- double getPeriod() const
- {
- return period;
- }
- double getBoundingRadius() const
- {
- return boundingRadius;
- }
- Point3d computePosition(double jd) const
- {
- // t is Julian millenia since J2000.0
- double t = (jd - 2451545.0) / 365250.0;
- // Heliocentric coordinates
- double l = 0.0; // longitude
- double b = 0.0; // latitude
- double r = 0.0; // radius
- int i;
- double T;
- // Evaluate series for l
- T = 1;
- for (i = 0; i < nL; i++)
- {
- l += SumSeries(vsL[i], t) * T;
- T = t * T;
- }
- // Evaluate series for b
- T = 1;
- for (i = 0; i < nB; i++)
- {
- b += SumSeries(vsB[i], t) * T;
- T = t * T;
- }
- // Evaluate series for r
- T = 1;
- for (i = 0; i < nR; i++)
- {
- r += SumSeries(vsR[i], t) * T;
- T = t * T;
- }
- #if 0
- // l and b are in units of 1e+8 radians
- l *= 1.0e-8;
- b *= 1.0e-8;
- // r is in units of 1e-8 AU
- r *= (KM_PER_AU / 100000000.0);
- #endif
- r *= KM_PER_AU;
- // Corrections for internal coordinate system
- b -= PI / 2;
- l += PI;
- return Point3d(cos(l) * sin(b) * r,
- cos(b) * r,
- -sin(l) * sin(b) * r);
- }
- };
- // VSOP87 orbit with rectangular variables
- class VSOP87OrbitRect : public CachingOrbit
- {
- private:
- VSOPSeries* vsX;
- int nX;
- VSOPSeries* vsY;
- int nY;
- VSOPSeries* vsZ;
- int nZ;
- double period;
- double boundingRadius;
- public:
- VSOP87OrbitRect(VSOPSeries* _vsX, int _nX,
- VSOPSeries* _vsY, int _nY,
- VSOPSeries* _vsZ, int _nZ,
- double _period,
- double _boundingRadius) :
- vsX(_vsX), nX(_nX),
- vsY(_vsY), nY(_nY),
- vsZ(_vsZ), nZ(_nZ),
- period(_period),
- boundingRadius(_boundingRadius)
- {
- };
- virtual ~VSOP87OrbitRect() {};
- double getPeriod() const
- {
- return period;
- }
- virtual bool isPeriodic() const
- {
- return period != 0.0;
- }
- double getBoundingRadius() const
- {
- return boundingRadius;
- }
- Point3d computePosition(double jd) const
- {
- // t is Julian millenia since J2000.0
- double t = (jd - 2451545.0) / 365250.0;
- Vec3d v(0.0, 0.0, 0.0);
- int i;
- double T;
- // Evaluate series for x
- T = 1;
- for (i = 0; i < nX; i++)
- {
- v.x += SumSeries(vsX[i], t) * T;
- T = t * T;
- }
- // Evaluate series for y
- T = 1;
- for (i = 0; i < nY; i++)
- {
- v.y += SumSeries(vsY[i], t) * T;
- T = t * T;
- }
- // Evaluate series for z
- T = 1;
- for (i = 0; i < nZ; i++)
- {
- v.z += SumSeries(vsZ[i], t) * T;
- T = t * T;
- }
- v *= KM_PER_AU;
- // Corrections for internal coordinate system
- return Point3d(v.x, v.z, -v.y);
- }
- };
- static double yearToJD(int year)
- {
- return (double) astro::Date(year, 1, 1);
- }
- Orbit* CreateVSOP87Orbit(const string& name)
- {
- if (name == "vsop87-mercury")
- {
- Orbit* o = new VSOP87Orbit(mercury_L, 6,
- mercury_B, 6,
- mercury_R, 5,
- 0.2408 * 365.25,
- 60000000.0);
- return new MixedOrbit(o, yearToJD(-4000), yearToJD(4000),
- astro::SolarMass);
- }
- else if (name == "vsop87-venus")
- {
- Orbit* o = new VSOP87Orbit(venus_L, 6,
- venus_B, 6,
- venus_R, 5,
- 0.6152 * 365.25,
- 100000000.0);
- return new MixedOrbit(o, yearToJD(-4000), yearToJD(4000),
- astro::SolarMass);
- }
- else if (name == "vsop87-earth")
- {
- Orbit* o = new VSOP87Orbit(earth_L, 6,
- earth_B, 3,
- earth_R, 6,
- 365.25,
- 160000000.0);
- return new MixedOrbit(o, yearToJD(-4000), yearToJD(4000),
- astro::SolarMass);
- }
- else if (name == "vsop87-mars")
- {
- Orbit* o = new VSOP87Orbit(mars_L, 6,
- mars_B, 6,
- mars_R, 6,
- 1.8809 * 365.25,
- 240000000);
- return new MixedOrbit(o, yearToJD(-4000), yearToJD(4000),
- astro::SolarMass);
- }
- else if (name == "vsop87-jupiter")
- {
- Orbit* o = new VSOP87Orbit(jupiter_L, 6,
- jupiter_B, 6,
- jupiter_R, 6,
- 11.86 * 365.25,
- 800000000.0);
- return new MixedOrbit(o, yearToJD(-4000), yearToJD(4000),
- astro::SolarMass);
- }
- else if (name == "vsop87-saturn")
- {
- Orbit* o = new VSOP87Orbit(saturn_L, 6,
- saturn_B, 6,
- saturn_R, 6,
- 29.4577 * 365.25,
- 1.5e9);
- return new MixedOrbit(o, yearToJD(-4000), yearToJD(4000),
- astro::SolarMass);
- }
- else if (name == "vsop87-uranus")
- {
- Orbit* o = new VSOP87Orbit(uranus_L, 5,
- uranus_B, 4,
- uranus_R, 5,
- 84.0139 * 365.25,
- 3.0e9);
- return new MixedOrbit(o, yearToJD(-4000), yearToJD(4000),
- astro::SolarMass);
- }
- else if (name == "vsop87-neptune")
- {
- Orbit* o = new VSOP87Orbit(neptune_L, 4,
- neptune_B, 4,
- neptune_R, 5,
- 164.793 * 365.25,
- 4.7e9);
- return new MixedOrbit(o, yearToJD(-4000), yearToJD(4000),
- astro::SolarMass);
- }
- else if (name == "vsop87-sun")
- {
- Orbit* o = new VSOP87OrbitRect(sun_X, 5,
- sun_Y, 5,
- sun_Z, 3,
- 0.0,
- 2000000);
- return new MixedOrbit(o, yearToJD(-4000), yearToJD(6000),
- astro::SolarMass);
- }
- return NULL;
- }