Contents of: VI/88/./pluto.f

The following document lists the file pluto.f from catalogue VI/88.
A plain copy of the file (without headers/trailers) may be downloaded.


      subroutine PLUTO (tjd,r,ierr)
*     =============================
*
*
*     Ref : Bureau des Longitudes - 95.1
*           J. Chapront, G. Francou (BDL)
*
*     Object
*     ------
*
*     Computation of heliocentric rectangular coordinates of Pluto.
*     Source : DE200 (Jet Propulsion Laboratory).
*     Frame : dynamical mean equinox and equator J2000 (DE200).
*     The ephemerides are computed with a method of approximation
*     using frequency analysis :
*     J. Chapront, 1995, Astron. Atrophys. Sup. Ser., 109, 181.
*
*     Input
*     -----
*
*     tjd :       Julian Date TDB (double real).
*                 The interval of validity is :
*                 tdeb = JD2341972.5  (Jan 01 1700 0h)
*                 tfin = JD2488092.5  (Jan 01 2100 0h)
*
*     Output
*     ------
*
*     r(6) :      Table of rectangular coordinates (double real).
*                 r(1) : X  position (au).
*                 r(2) : Y  position (au).
*                 r(3) : Z  position (au).
*                 r(4) : X' velocity (au/day).
*                 r(5) : Y' velovity (au/day).
*                 r(6) : Z' velocity (au/day).
*
*     ierr :      Error Index (integer).
*                 0 : No error.
*                 1 : Date error.
*
*
*     Declarations
*     ------------
*
      implicit double precision (a-h,o-z)
      dimension r(6),v(6),w(3)
      dimension nf(0:2),ax(0:3),ay(0:3),az(0:3),fq(106)
      dimension cx(106),sx(106),cy(106),sy(106),cz(106),sz(106)
*
*     Initializations
*     ---------------
*
      data nf/82,19,5/
      data tdeb/2341972.5d0/
      data tfin/2488092.5d0/
      data dt/146120.d0/
*
*     Secular Series
*
      data ax/
     . 98083308510.d0, -1465718392.d0, 11528487809.d0, 55397965917.d0/
      data ay/
     .101846243715.d0,       57789.d0, -5487929294.d0,  8520205290.d0/
      data az/
     .  2183700004.d0,   433209785.d0, -4911803413.d0, -14029741184.d0/
*
*     Frequencies
*
      data fq/
     .0.0000645003954767d0,0.0001083248054773d0,0.0001302772403167d0,
     .0.0001647868659960d0,0.0001935009111902d0,0.0002223740247147d0,
     .0.0003032575201026d0,0.0003259246239385d0,0.0003564763034914d0,
     .0.0004265811293132d0,0.0004503959517513d0,0.0004638675148284d0,
     .0.0005009272733421d0,0.0005163593863414d0,0.0005578826828210d0,
     .0.0005882795362847d0,0.0006450023602974d0,0.0007097635821639d0,
     .0.0007630643253588d0,0.0007740033551209d0,0.0008385031396726d0,
     .0.0008950591609720d0,0.0009545118163938d0,0.0010255417569600d0,
     .0.0010826728325744d0,0.0011680358909203d0,0.0012405125052369d0,
     .0.0012931805883876d0,0.0013460706181008d0,0.0014190059530383d0,
     .0.0014394705053002d0,0.0014502634075377d0,0.0014992014575181d0,
     .0.0015434430430867d0,0.0016000710611098d0,0.0016562809940875d0,
     .0.0017275924266291d0,0.0017454042542465d0,0.0018215079641428d0,
     .0.0018694826929211d0,0.0019274630193251d0,0.0020276790928706d0,
     .0.0021822818660433d0,0.0022885289854970d0,0.0023167646379420d0,
     .0.0023445464874575d0,0.0024069306189938d0,0.0024473146628449d0,
     .0.0024778027974419d0,0.0025244208011161d0,0.0025682157855485d0,
     .0.0026028617439482d0,0.0026544444009919d0,0.0026987455959123d0,
     .0.0027308225916697d0,0.0027735113723168d0,0.0028728385464030d0,
     .0.0029001725379479d0,0.0029379670182566d0,0.0029750359447782d0,
     .0.0031326820696785d0,0.0031822107498712d0,0.0031931048857857d0,
     .0.0032268922327691d0,0.0034657232066225d0,0.0037838581645670d0,
     .0.0038055149432355d0,0.0038631344783149d0,0.0039129259467328d0,
     .0.0040311445462510d0,0.0040607542008930d0,0.0041490103414206d0,
     .0.0043500678052272d0,0.0046321937641054d0,0.0058000376725240d0,
     .0.0091460971544658d0,0.0091560629947357d0,0.0172021239411871d0,
     .0.0182919855069063d0,0.0279624510118796d0,0.0344040996177640d0,
     .0.0714245719830324d0,0.0001083248054773d0,0.0001647868659960d0,
     .0.0003032575201026d0,0.0003259246239385d0,0.0003564763034914d0,
     .0.0005009272733421d0,0.0005882795362847d0,0.0007097635821639d0,
     .0.0007630643253588d0,0.0008950591609720d0,0.0011680358909203d0,
     .0.0014502634075377d0,0.0017454042542465d0,0.0029001725379479d0,
     .0.0031822107498712d0,0.0040607542008930d0,0.0043500678052272d0,
     .0.0091460971544658d0,0.0279624510118796d0,0.0001083248054773d0,
     .0.0003032575201026d0,0.0011680358909203d0,0.0043500678052272d0,
     .0.0279624510118796d0/
*
*     Coefficients X (cosine)
*
      data cx/
     . -16338582222.d0, -5995086437.d0,  23663880362.d0, 10304632056.d0,
     .  -3996936944.d0, -4136465568.d0,   1188702881.d0,  -621434363.d0,
     .    566898160.d0,   -75880391.d0,    576146406.d0,  -659684298.d0,
     .    451962774.d0,  -153724334.d0,   -603163280.d0,   364764379.d0,
     .    193062130.d0,   161493959.d0,   1167349082.d0, -1417467887.d0,
     .     15325240.d0,    -3624391.d0,      -587306.d0,      132022.d0,
     .      -106501.d0,      228373.d0,       -95106.d0,       56299.d0,
     .       -48339.d0,      803937.d0,     -6172744.d0,   -18962749.d0,
     .       133022.d0,      -25964.d0,         7111.d0,       -4998.d0,
     .        32034.d0,      -29666.d0,        -1983.d0,         114.d0,
     .          191.d0,       -1063.d0,          419.d0,         346.d0,
     .         5059.d0,         -81.d0,         1408.d0,        2964.d0,
     .        -5364.d0,        1509.d0,        -4924.d0,        2954.d0,
     .         2034.d0,       -5199.d0,          604.d0,       -1247.d0,
     .         4576.d0,     -350741.d0,        -4023.d0,        1147.d0,
     .          -38.d0,         -99.d0,       -11686.d0,        1129.d0,
     .          582.d0,         -83.d0,          -97.d0,         431.d0,
     .         -134.d0,        -323.d0,         -292.d0,         195.d0,
     .        39068.d0,         523.d0,        -1747.d0,        3135.d0,
     .         -619.d0,      -12095.d0,            6.d0,       18476.d0,
     .         -130.d0,        -438.d0, 102345278799.d0, -9329130892.d0,
     .   1484339404.d0,   472660593.d0,   -581239444.d0,  1016663241.d0,
     .  -1054199614.d0,    99039105.d0,    -52190030.d0,    -3394173.d0,
     .       -16529.d0,     3102430.d0,         2286.d0,      -10955.d0,
     .        -5293.d0,        -654.d0,          124.d0,         -85.d0,
     .           29.d0,   418209651.d0,  -1191875710.d0,     -823081.d0,
     .         -558.d0,       -1091.d0/
*
*     Coefficients X (sine)
*
      data sx/
     .-308294137468.d0,-68820910480.d0,  28346466257.d0, -1755658975.d0,
     .   7818660837.d0, -1098895702.d0,  -1192462299.d0,  -772129982.d0,
     .   1061702581.d0,  -639572722.d0,   1128327488.d0,  -423570428.d0,
     .   -175317704.d0,   251601606.d0,   -869448807.d0,   551228298.d0,
     .     87807522.d0,   -11540541.d0,   -103236703.d0,    92638954.d0,
     .     -3624991.d0,     1004975.d0,       304396.d0,      -56532.d0,
     .        55554.d0,     -799096.d0,        56947.d0,      -48016.d0,
     .        50599.d0,     -680660.d0,      5858452.d0,    38125648.d0,
     .      -109460.d0,       18684.d0,        -5269.d0,        2771.d0,
     .        -6814.d0,       47130.d0,         1192.d0,       -1387.d0,
     .          379.d0,        -612.d0,          -52.d0,         813.d0,
     .        -4354.d0,       -2275.d0,          685.d0,       -1352.d0,
     .         4681.d0,       -1908.d0,        -6530.d0,        8667.d0,
     .         1675.d0,         874.d0,          898.d0,         965.d0,
     .        -7124.d0,    -1145389.d0,         2931.d0,        -618.d0,
     .          -34.d0,       -6562.d0,         8038.d0,        -697.d0,
     .           -8.d0,          12.d0,         -267.d0,        -131.d0,
     .          304.d0,        -756.d0,         -103.d0,        -250.d0,
     .        19816.d0,        -596.d0,          576.d0,        4122.d0,
     .           65.d0,      -27900.d0,          217.d0,        -137.d0,
     .         -269.d0,         531.d0, -24338350765.d0, 11210995713.d0,
     .   2793567155.d0,  -776019789.d0,   1528323591.d0,  -249354416.d0,
     .   1127608109.d0,  -667692329.d0,  -1570766679.d0,    -9724425.d0,
     .        26552.d0,     3332520.d0,       -27607.d0,      -11696.d0,
     .        -7297.d0,        -104.d0,         -184.d0,        -455.d0,
     .          -16.d0, 39813894679.d0,   3633087275.d0,      522728.d0,
     .         -320.d0,       -1401.d0/
*
*     Coefficients Y (cosine)
*
      data cy/
     . 299584895562.d0, 75951634908.d0, -36135662843.d0, 18125610071.d0,
     . -20398008415.d0,  6125780503.d0,   -162559485.d0,  4352425804.d0,
     .  -3819676998.d0,  1168107376.d0,  -5041323701.d0,  4093828501.d0,
     .  -1727274544.d0,   134214260.d0,   5033950069.d0, -3071449401.d0,
     .  -1190419055.d0,  -775881742.d0,  -5524713888.d0,  6803228005.d0,
     .    -65675611.d0,    15155413.d0,      2009509.d0,     -389682.d0,
     .       275571.d0,      474366.d0,       132163.d0,      -81550.d0,
     .        69996.d0,     -706470.d0,      4777898.d0,   -44002785.d0,
     .       -58735.d0,        7624.d0,        -1922.d0,        -729.d0,
     .        -1733.d0,      -35642.d0,         -586.d0,        -258.d0,
     .         -368.d0,        1286.d0,         -136.d0,         883.d0,
     .         2673.d0,         331.d0,           50.d0,         178.d0,
     .         2901.d0,        -654.d0,        -8972.d0,        3034.d0,
     .         1113.d0,         570.d0,          -72.d0,        1950.d0,
     .         8550.d0,     1047593.d0,        -2348.d0,         313.d0,
     .          432.d0,        6765.d0,        -8240.d0,         335.d0,
     .          140.d0,        -833.d0,          252.d0,        -210.d0,
     .          366.d0,        -920.d0,         1215.d0,        -217.d0,
     .       -17780.d0,         581.d0,         -560.d0,       -4131.d0,
     .          390.d0,       25613.d0,         -206.d0,        1850.d0,
     .          171.d0,        -471.d0,  26437625772.d0,-12674907683.d0,
     .  -1067899665.d0,    -2082744.d0,    -43195632.d0,   211912497.d0,
     .   -108307161.d0,   -63033809.d0,   -203850703.d0,    -1672332.d0,
     .         7136.d0,      803655.d0,       -10985.d0,        9126.d0,
     .         3317.d0,        -151.d0,          160.d0,         138.d0,
     .          -27.d0,-36463065062.d0,  -5816560445.d0,     1576292.d0,
     .          -21.d0,        -295.d0/
*
*     Coefficients Y (sine)
*
      data sy/
     . -53545027809.d0, -8838029861.d0,  23553788174.d0, 13775798112.d0,
     .  -6068121593.d0, -2853107588.d0,    750355551.d0,   -82067770.d0,
     .    230091832.d0,  -259838942.d0,    197944074.d0,    27141006.d0,
     .   -105334544.d0,    95175918.d0,   -139461973.d0,    80593104.d0,
     .     -5126842.d0,   -21953793.d0,   -163767784.d0,   192436228.d0,
     .     -2479113.d0,      561687.d0,       121909.d0,      -30275.d0,
     .        16333.d0,       68105.d0,        24081.d0,      -11228.d0,
     .          667.d0,      -73047.d0,      1007089.d0,   -22814549.d0,
     .          434.d0,        1013.d0,          710.d0,        1100.d0,
     .        -4598.d0,        1990.d0,          564.d0,         828.d0,
     .        -1119.d0,       -1249.d0,         -597.d0,         227.d0,
     .         5467.d0,         801.d0,        -2029.d0,       -1892.d0,
     .         4713.d0,        -459.d0,         1757.d0,       -9303.d0,
     .        -2357.d0,        7679.d0,        -2953.d0,         629.d0,
     .         5011.d0,     -333905.d0,        -2388.d0,         415.d0,
     .          139.d0,       -5726.d0,        -4583.d0,         310.d0,
     .          681.d0,        -107.d0,          301.d0,        -525.d0,
     .          198.d0,        -379.d0,         -230.d0,         -64.d0,
     .        36069.d0,         459.d0,        -1596.d0,        2509.d0,
     .         -146.d0,      -11081.d0,            4.d0,       15764.d0,
     .         -147.d0,        -362.d0, 117449924600.d0, -7691661502.d0,
     .  -4771148239.d0,  3733883366.d0,  -7081845126.d0,  3502526523.d0,
     .  -8115570206.d0,  3607883959.d0,   7690328772.d0,    37384011.d0,
     .      -164319.d0,    -2859257.d0,         1593.d0,      -11997.d0,
     .        -6476.d0,        1419.d0,           34.d0,         232.d0,
     .           32.d0,  2752753498.d0,   -672124207.d0,      154239.d0,
     .         -400.d0,         372.d0/
*
*     Coefficients Z (cosine)
*
      data cz/
     .  98425296138.d0, 25475793908.d0, -18424386574.d0,  2645968636.d0,
     .  -5282207967.d0,  3278235471.d0,   -425422632.d0,  1526641086.d0,
     .  -1323182752.d0,   235873266.d0,  -1617466723.d0,  1557465867.d0,
     .   -848586296.d0,   218182986.d0,   1636044515.d0, -1001334243.d0,
     .   -455739370.d0,  -348173978.d0,  -2511254281.d0,  3062521470.d0,
     .    -32079379.d0,     7597939.d0,      1138566.d0,     -238849.d0,
     .       192377.d0,       83169.d0,       148694.d0,      -92489.d0,
     .        87116.d0,    -1281070.d0,      9950106.d0,   -25105642.d0,
     .      -171749.d0,       31035.d0,        -8648.d0,        5360.d0,
     .       -30345.d0,       11482.d0,         1322.d0,        -467.d0,
     .           96.d0,         894.d0,         -381.d0,        -583.d0,
     .         2525.d0,        -569.d0,          226.d0,       -2039.d0,
     .         3728.d0,       -1540.d0,           42.d0,       -3144.d0,
     .          658.d0,         220.d0,         1848.d0,         678.d0,
     .        -7289.d0,      463291.d0,         3945.d0,       -1141.d0,
     .          -26.d0,      -10607.d0,        11458.d0,       -1005.d0,
     .          120.d0,        -301.d0,          135.d0,        -186.d0,
     .          118.d0,          30.d0,          197.d0,        -182.d0,
     .        -8585.d0,         240.d0,         -226.d0,       -2049.d0,
     .          283.d0,       11109.d0,         -100.d0,        -842.d0,
     .           71.d0,        -181.d0, -22591501373.d0, -1138977908.d0,
     .   -782718600.d0,  -141483824.d0,    159033355.d0,  -246222739.d0,
     .    287284767.d0,   -48002332.d0,    -41114335.d0,      578004.d0,
     .        -8420.d0,     -766779.d0,          957.d0,        5780.d0,
     .         4141.d0,         417.d0,           -8.d0,          65.d0,
     .          -22.d0,-11656050047.d0,  -1186276469.d0,     1388681.d0,
     .          201.d0,         561.d0/
*
*     Coefficients Z (sine)
*
      data sz/
     .  76159403805.d0, 17987340882.d0,  -1193982379.d0,  4828308190.d0,
     .  -4248985438.d0,  -559147671.d0,    593594960.d0,   208799497.d0,
     .   -249913200.d0,   115051024.d0,   -282588988.d0,   135883560.d0,
     .     23091693.d0,   -49187976.d0,    223956575.d0,  -137344299.d0,
     .    -28188872.d0,    -2636274.d0,    -14202661.d0,    25488216.d0,
     .       419837.d0,     -150966.d0,       -64906.d0,        3719.d0,
     .        -2226.d0,       86321.d0,       -15970.d0,       16609.d0,
     .       -15782.d0,      200300.d0,     -1500491.d0,    -9161491.d0,
     .        37481.d0,       -4616.d0,          224.d0,       -1027.d0,
     .         5220.d0,       -6976.d0,         -267.d0,         556.d0,
     .          -23.d0,        -711.d0,         -122.d0,         -97.d0,
     .         2440.d0,         786.d0,         -806.d0,        -167.d0,
     .         -156.d0,         572.d0,         2532.d0,       -4582.d0,
     .        -1178.d0,         875.d0,         -558.d0,         781.d0,
     .         3230.d0,     -116132.d0,        -1440.d0,         438.d0,
     .          176.d0,        1072.d0,        -5850.d0,         418.d0,
     .          267.d0,          60.d0,          134.d0,         -85.d0,
     .          -59.d0,         112.d0,         -168.d0,         -89.d0,
     .        14986.d0,         190.d0,         -685.d0,        1018.d0,
     .          -48.d0,       -4807.d0,            0.d0,        7066.d0,
     .          -54.d0,        -229.d0,  44126663549.d0, -5626220823.d0,
     .  -2536450838.d0,  1536292657.d0,  -2916144530.d0,   949074586.d0,
     .  -2842935040.d0,  1500396857.d0,   3415136438.d0,    19702076.d0,
     .       -46995.d0,    -5801645.d0,        33470.d0,       17674.d0,
     .         7355.d0,         199.d0,           11.d0,         205.d0,
     .           33.d0,-11127973411.d0,  -1310869292.d0,     -164753.d0,
     .         -107.d0,         284.d0/
*
*     Results in table r
*     ------------------
*
      do i=1,6
         r(i)=0.d0
      enddo
*
*     Check up the date
*     -----------------
*
      ierr=11
      if (tjd.lt.tdeb.or.tjd.gt.tfin) return
      ierr=0
*
*     Change variable
*     ---------------
*
      x=2.d0*(tjd-tdeb)/dt-1.d0
      fx=x*dt/2.d0
*
*     Compute the positions (secular terms)
*     -------------------------------------
*
      v(1)=0.d0
      v(2)=0.d0
      v(3)=0.d0
      wx=1.d0
      do i=0,3
         v(1)=v(1)+ax(i)*wx
         v(2)=v(2)+ay(i)*wx
         v(3)=v(3)+az(i)*wx
         wx=wx*x
      enddo
*
*     Compute the positions (periodic and Poisson terms)
*     --------------------------------------------------
*
      imax=0
      wx=1.d0
      do m=0,2
         do iv=1,3
            w(iv)=0.d0
         enddo
         imin=imax+1
         imax=imax+nf(m)
         do i=imin,imax
            f=fq(i)*fx
            cf=cos(f)
            sf=sin(f)
            w(1)=w(1)+cx(i)*cf+sx(i)*sf
            w(2)=w(2)+cy(i)*cf+sy(i)*sf
            w(3)=w(3)+cz(i)*cf+sz(i)*sf
         enddo
         do iv=1,3
            v(iv)=v(iv)+w(iv)*wx
         enddo
         wx=wx*x
      enddo
*
*     Compute the velocities (secular terms)
*     --------------------------------------
*
      wt=2.d0/dt
      v(4)=0.d0
      v(5)=0.d0
      v(6)=0.d0
      wx=1.d0
      do i=1,3
         v(4)=v(4)+i*ax(i)*wx
         v(5)=v(5)+i*ay(i)*wx
         v(6)=v(6)+i*az(i)*wx
         wx=wx*x
      enddo
      v(4)=wt*v(4)
      v(5)=wt*v(5)
      v(6)=wt*v(6)
*
*     Compute the velocities (periodic and Poisson terms)
*     ---------------------------------------------------
*
      imax=0
      wx=1
      do m=0,2
         imin=imax+1
         imax=imax+nf(m)
         do i=imin,imax
            fw=fq(i)
            f=fw*fx
            cf=cos(f)
            sf=sin(f)
            v(4)=v(4)+fw*(sx(i)*cf-cx(i)*sf)*wx
            v(5)=v(5)+fw*(sy(i)*cf-cy(i)*sf)*wx
            v(6)=v(6)+fw*(sz(i)*cf-cz(i)*sf)*wx
            if (m.gt.0) then
               v(4)=v(4)+m*wt*(cx(i)*cf+sx(i)*sf)*wy
               v(5)=v(5)+m*wt*(cy(i)*cf+sy(i)*sf)*wy
               v(6)=v(6)+m*wt*(cz(i)*cf+sz(i)*sf)*wy
            endif
         enddo
         wy=wx
         wx=wx*x
      enddo
*
*     Stock the results
*     -----------------
*
      do iv=1,6
         r(iv)=v(iv)/1.d10
      enddo
*
*     Exit
*     ----
*
      return
      end