[Spice_discussion] Moon mean equator and equinox of j2000 frame
Eagle, David C
david.c.eagle at lmco.com
Thu Aug 9 12:04:30 PDT 2007
Hello,
I'm trying to create an inertial frame which we call the moon mean
equator and equinox of J2000. Essentially, we need the transformation
performed by the iau_moon transformation but without the effect of the
motion of the prime meridian (PA and PA rates are zero).
I have tested the computation by zeroing the PA terms and rates in the
pck00008.tpc data file. However, we will eventually need both the
iau_moon and this inertial frame in our trajectory simulations.
I think this can be done using an Euler frame definition but I'm not
sure what to do about the PREC_MODEL and NUT_MODEL statements in the
frame definition. Perhaps these definitions are not needed.
We have implemented this transformation in Fortran but are attempting to
"standardize" our scientific simulations using as much of the SPICE
library as possible.
Thanks,
C. David Eagle
Senior Staff Systems Engineer
Orion Mission Analysis
Lockheed Martin Space Systems
303-971-6310
david.c.eagle at lmco.com
P.O. Box 179 MS W3003
Denver, CO 80201-0179
subroutine mm2000 (xjdate, tmatrix)
c eme2000 to moon mean equator and equinox of j2000
c input
c xjdate = julian date
c output
c tmatrix = transformation matrix
c ************************************
implicit double precision (a-h, o-z)
dimension phat_moon(3), rmoon(3), vmoon(3)
dimension xvec(3), xhat(3), yvec(3), yhat(3)
dimension zhat(3), hv(3), hhat(3), tmatrix(3, 3)
data dtr /1.745329251994330d-2/
c time arguments
t = (xjdate - 2451545.0d0) / 36525.0d0
d = xjdate - 2451545.0d0
c iau 2000 pole orientation
e1 = 125.045d0 - 0.0529921d0 * d
e2 = 250.089d0 - 0.1059842d0 * d
e3 = 260.008d0 + 13.0120009d0 * d
e4 = 176.625d0 + 13.3407154d0 * d
e5 = 357.529d0 + 0.9856003d0 * d
e6 = 311.589d0 + 26.4057084d0 * d
e7 = 134.963d0 + 13.0649930d0 * d
e8 = 276.617d0 + 0.3287146d0 * d
e10 = 15.134d0 - 0.1589763d0 * d
e13 = 25.053d0 + 12.9590088d0 * d
rasc_pole = 269.9949d0 + 0.0031d0 * t
& - 3.8787d0 * sin(dtr * e1)
& - 0.1204d0 * sin(dtr * e2)
& + 0.0700d0 * sin(dtr * e3)
& - 0.0172d0 * sin(dtr * e4)
& + 0.0072d0 * sin(dtr * e6)
& - 0.0052d0 * sin(dtr * e10)
& + 0.0043d0 * sin(dtr * e13)
decl_pole = 66.5392d0 + 0.0130d0 * t
& + 1.5419d0 * cos(dtr * e1)
& + 0.0239d0 * cos(dtr * e2)
& - 0.0278d0 * cos(dtr * e3)
& + 0.0068d0 * cos(dtr * e4)
& - 0.0029d0 * cos(dtr * e6)
& + 0.0009d0 * cos(dtr * e7)
& + 0.0008d0 * cos(dtr * e10)
& - 0.0009d0 * cos(dtr * e13)
c compute the unit vector in the direction of the moon's pole
phat_moon(1) = cos(rasc_pole * dtr) * cos(decl_pole * dtr)
phat_moon(2) = sin(rasc_pole * dtr) * cos(decl_pole * dtr)
phat_moon(3) = sin(decl_pole * dtr)
zhat(1) = 0.0d0
zhat(2) = 0.0d0
zhat(3) = 1.0d0
c x-direction
call vcross (zhat, phat_moon, xvec)
call uvector(xvec, xhat)
c y-direction
call vcross (phat_moon, xhat, yvec)
call uvector(yvec, yhat)
c load elements of transformation matrix
tmatrix(1, 1) = xhat(1)
tmatrix(1, 2) = xhat(2)
tmatrix(1, 3) = xhat(3)
tmatrix(2, 1) = yhat(1)
tmatrix(2, 2) = yhat(2)
tmatrix(2, 3) = yhat(3)
tmatrix(3, 1) = phat_moon(1)
tmatrix(3, 2) = phat_moon(2)
tmatrix(3, 3) = phat_moon(3)
return
end
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://naif.jpl.nasa.gov/pipermail/spice_discussion/attachments/20070809/5eb7d960/attachment-0002.html
More information about the Spice_discussion
mailing list