PIONEER MAGNETOMETER COORDINATE SYSTEMS: DEFINITIONS AND TRANSFORMATIONS
by Joyce Wolf
Jet Propulsion Laboratory
Version: 9/13/91
TABLE OF CONTENTS
1.0 Introduction
2.0 Transformation Matrices
3.0 Trajectory Tape Parameters
4.0 Coordinate Systems
4.1 AE (Celestial) System
4.2 PE (Pioneer Celestial) System
4.3 SH (Solar Interplanetary) System
4.4 SJ (Solar Jupiter) System
4.5 RJ (Pioneer Jupiter) System
4.6 JG (Jovigraphic) System
4.7 RK (Pioneer Saturn) System
4.8 KG (Kronographic) System
5.0 Programming Considerations
6.0 Transformation of Averaged Products of Field Components
7.0 References
1.0 INTRODUCTION
There have been several different coordinate systems used for the
Pioneer 10 and Pioneer 11 magnetometer data that have been deposited at the
NSSDC. This document defines those coordinate systems, and gives instructions
for calculating the matrices to transform the data from one system to another.
Section 2.0 describes the computation of a general transformation
matrix and notes some properties of such matrices.
Section 3.0 lists the necessary parameters from the Trajectory Tape,
and defines the angles that are used in the coordinate system descriptions.
Sections 4.1 through 4.8 describe eight coordinate systems and explain
how they were used.
Section 5.0 outlines how a computer program to transform Pioneer
magnetometer data from one system to another might be constructed.
Section 6.0 details the transformation of averaged products of
vector components from one coordinate system to another.
2.0 TRANSFORMATION MATRICES
In general, suppose V is a vector defined in a coordinate system S1,
and we would like to calculate its components in a new coordinate system S2.
Let U1 be the unit vector defined in S1 that specifies the direction of
the X axis of S2. We set up a transformation matrix A, whose first row is
the vector U1. Similarly, let U2 and U3 be the unit vectors in S1 that
specify the Y and Z axes of S2. Let the second row of A be U2 and
the third row be U3. Then W = A V; that is, multiplying the matrix A times
the vector V gives the new vector W, which is the representation of V in S2.
In addition, the inverse transformation, from S2 to S1, is given by
the transpose of A; that is, the matrix whose first column is U1, second
column U2, and third column U3. This is true whenever the unit vectors
are orthogonal (perpendicular) to each other.
Suppose we have a third coordinate system, S3, and we have computed
B, the transformation matrix from S2 to S3. Then the transformation
matrix from S1 to S3 is just the matrix product B A, where A is as
defined above. Note that matrix multiplication is not commutative; that
is, B times A does not equal A times B. It is, however, associative; that is,
(A B) C = A (B C).
3.0 TRAJECTORY TAPE PARAMETERS
In order to compute the transformation matrices described below,
certain parameters from the Trajectory Tapes are required. These tapes
were distributed by the Pioneer Project at Ames, and contain values
computed by the JPL Navigation Group's program DPTRAJ. NSSDC has copies
of these tapes and the documentation necessary to read them. The following
parameters from the Trajectory Tape are needed:
VIGDAT Gregorian calendar date and time
JULDAT Julian Date
ETMUTC Ephemeris Time minus Universal Time
REARPR Distance from Pioneer to Earth
XPGSFF,YPGSFF,ZPGSFF XYZ components of Earth-to-Pioneer vector,
referred to mean ecliptic of 1950.0
CELLTP, CELLNP Celestial latitude and longitude of Pioneer,
referred to ecliptic of date
XP1SFF,YP1SFF,ZP1SFF XYZ components of Body1-to-Pioneer vector,
referred to mean ecliptic of 1950.0,
where Body1 is either Jupiter or Saturn
B1LATP,B1LONP Latitude and longitude of Pioneer in body-fixed
coordinate system (Jupiter or Saturn)
From the above Trajectory Tape parameters, the following angles are calculated:
(units are degrees; the FORTRAN function ATAN2D(Y,X) returns the angle whose
tangent is Y/X and which is in the correct quadrant for the signs of Y and X).
1. WLTAE = AE system latitude of Pioneer-to-Earth vector
= -ATAN2D(ZPGSFF, SQRT(XPGSFF**2+YPGSFF**2))
2. WLNAE = AE system longitude of Pioneer-to-Earth vector
= 180 + ATAN2D(YPGSFF,XPGSFF)
3. SLTAE = AE system latitude of Pioneer-to-Sun vector
= -CELLTP
4. SLNAE = AE system longitude of Pioneer-to-Sun vector
= CELLNP - 180
5. RLTAE = AE system latitude of Jupiter(or Saturn)-to-Pioneer vector
= ATAN2D(ZP1SFF, SQRT(XP1SFF**2+YP1SFF**2))
6. RLNAE = AE system longitude of Jupiter(or Saturn)-to-Pioneer vector
= ATAN2D(YP1SFF, XP1SFF)
7. RLTJG = JG system latitude of Jupiter-to-Pioneer vector
= B1LATP
8. RLNJG = JG system longitude of Jupiter-to-Pioneer vector
= AMOD(B1LONP + 7.35568*(JULDAT-2435839.5) + 70.78, 360.)
9. RLTKG = KG system latitude of Saturn-to-Pioneer vector
= B1LATP (from Trajectory Tapes generated after 1976)
10. RLNKG = KG system longitude of Saturn-to-Pioneer vector
= B1LONP (from Trajectory Tapes generated after 1976)
4.1 AE (CELESTIAL) COORDINATE SYSTEM:
This is a heliocentric system whose plane of reference is the true ecliptic
of date. It is defined by the vectors A and E: A lies in the ecliptic
and points from the Sun toward the Vernal Equinox (first point in Aries);
E is the northward perpendicular to the ecliptic. The X axis is along A;
the Z axis is along E, and the Y axis completes the right-hand orthogonal
system.
The AE system is used for many of the Trajectory Tape parameters. It is
also used an an intermediate system when transforming from PE to other
systems. (When using AE as an intermediate system, all the trajectory
tape parameters used in computation should be referred to the same
epoch, either the ecliptic of date or of 1950.0. Longitudes in AE
increase at approximately .01396 deg per year, and latitudes change
up to .00013 deg -- see The Astronomical Almanac, 1983, p. B19)
4.2 PE (PIONEER INERTIAL) COORDINATE SYSTEM:
This system is Pioneer-centered. It is defined by the vectors P and E:
P is the direction of the Pioneer spin axis, which nominally points
from Pioneer to Earth; E is the northward perpendicular to the ecliptic,
which is just (0,0,1) in AE coordinates. The Z axis is along P; in AE
coordinates, it is given by the unit vector U3 = (COS(WLTAE)*COS(WLNAE),
COS(WLTAE)*SIN(WLNAE), SIN(WLNAE)). The X axis is the normalized cross product
E x U3 / |E x U3|; it is parallel to the ecliptic plane, and is given in the
AE system by U1 = (-SIN(WLNAE), COS(WLNAE), 0). The Y axis completes the
right-hand orthogonal system, and is given by the cross product U2 = U3 x U1.
The transformation matrix from PE to AE is composed of the three column
vectors U1, U2, and U3.
The PE system is the basic system for despun, reduced high resolution
data. This system was used for Pioneer 11 reduced high resolution data and
minute average tapes after 1976.
4.3 SH (SOLAR INTERPLANETARY) COORDINATE SYSTEM:
This is a Pioneer-centered system, also called RTN (Radial-Tangential-
Normal), which is defined by the vectors S and H: S is the direction from
Pioneer to the Sun; H is the rotation axis of the Sun. The X axis in AE
coordinates is the unit vector U1 = -S = (-COS(SLTAE)*COS(SLNAE),
-COS(SLTAE)*SIN(SLNAE), -SIN(SLTAE)). The Y axis is parallel to the Sun's
equatorial plane, and is given by the normalized cross-product U2 = (H x U1)
/ |H x U1|, where H in AE is (COS(HLTAE)*COS(HLNAE), COS(HLTAE)*SIN(HLNAE),
SIN(HLTAE)). HLTAE = 82.75 deg; HLNAE = -14.6304 + .0139583*(t-1972.0),
where t = year (see American Ephemeris, 1976, page 556). The Z axis completes
the right-hand orthogonal system and is given by U3 = U1 x U2. The
transformation matrix from AE to SH is composed of the row vectors
U1, U2, and U3.
The SH system was used for Pioneer 10 and early Pioneer 11 reduced high
resolution data and minute average tapes. It is also the coordinate system of
choice for long-term analyses of hour and day averages, since the ideal
spiral angle of the interplanetary field lies in the XY plane of the
SH system.
4.4 SJ (SOLAR JUPITER) COORDINATE SYSTEM:
This system is defined by the vectors S and J: S is the direction from
Pioneer to the Sun; J is Jupiter's rotation axis (the value used for J in
the 1973 and 1974 encounters was -.01448,-0.03482,0.99929). The X axis
is given in AE by U1 = S = (COS(SLTAE)*COS(SLNAE), COS(SLTAE)*SIN(SLNAE),
SIN(SLTAE)). The Y axis is parallel to Jupiter's equatorial plane, and is
given by the normalized cross-product U2 = (J x U1) / |J x U1|. The Z axis
completes the right-hand orthogonal system and is given by U3 = U1 x U2. The
transformation matrix from AE to SJ is composed of the row vectors U1, U2,
and U3.
The SJ system was used for the minute, hour, and day averages sent to
NSSDC for the Pioneer 10 Jupiter encounter (1973, days 329-349), and the
Pioneer 11 Jupiter encounter (1974, days 328-348).
4.5 RJ (PIONEER JUPITER) COORDINATE SYSTEM:
This is a Jupiter-centered coordinate system, defined by the vectors R and
J. R is the direction from the center of Jupiter to Pioneer; J is the
rotation axis of Jupiter as above in Section 4.4. The X axis is given
in AE by U1 = R = (COS(RLTAE)*COS(RLNAE), COS(RLTAE)*SIN(RLNAE), SIN(RLNAE)).
The Y axis is parallel to Jupiter's equatorial plane, and is given by the
normalized cross-product U2 = (J x U1) / |J x U1|. The Z axis completes the
right-hand orthogonal system and is given by U3 = U1 x U2. The transformation
matrix from AE to RJ coordinates is composed of the row vectors U1, U2, and U3.
The RJ system is an intermediate system used in transforming to the JG system.
4.6 JG (JOVIGRAPHIC) COORDINATE SYSTEM:
This is a Jupiter-fixed coordinate system, rotating with the planet.
It is defined by the vectors J and G, where J is the direction of
Jupiter's rotation axis as above in Section 4.4, and G lies in Jupiter's
equatorial plane and is in the direction of the prime meridian, System III,
epoch 1957.0 (see Ref. 3). The X axis is along G, the Z axis is along J, and
the Y axis completes the orthogonal right hand system. One may compute the
unit vectors of the RJ system in JG coordinates as follows: U1 is the direction
from the center of Jupiter toward Pioneer, given by (COS(RLTJG)*COS(RLNJG),
COS(RLTJG)*SIN(RLNJG), SIN(RLTJG)). U2 is the normalized cross-product
(J x U1) / |J x U1|, where in JG coordinates J is just (0,0,1).
U3 completes the right-hand orthogonal system and is given by U1 x U2.
The transformation matrix from RJ to JG coordinates is composed of the
column vectors U1, U2, and U3. (To transform to JG from other coordinate
systems, first transform to AE, then to RJ.)
The JG system was used for data analysis for both the Pioneer 10 and
Pioneer 11 Jupiter encounters, and for the two data sets sent to NSSDC
that contain only data taken inside 7 Jupiter radii.
4.7 RK (PIONEER SATURN) COORDINATE SYSTEM:
This is a Saturn-centered coordinate system, defined by the vectors R
and K. R is the direction from the center of Saturn to Pioneer; K is the
direction of the rotation axis of Saturn (value used was .0912749927,
.4615744529, .8823932798). The X axis is given in AE by the unit vector
U1 = R = (COS(RLTAE)*COS(RLNAE), COS(RLTAE)*SIN(RLNAE), SIN(RLNAE)). The Y
axis is parallel to Saturn's equatorial plane, and is given by the normalized
cross-product U2 = (K x U1) / |K x U1|. The Z axis completes the right-hand
orthogonal system and is given by U3 = U1 x U2. The transformation matrix
from AE to RK coordinates is composed of the row vectors U1, U2, and U3.
The RK system was an intermediate system used in transforming to the
KG system.
4.8 KG (KRONOGRAPHIC) COORDINATE SYSTEM:
This is a Saturn-fixed coordinate system, rotating with the planet,
defined by the vectors K and G. K is the direction of Saturn's
rotation axis, as above in Section 4.7, and G lies in Saturn's
equatorial plane and in the direction of the prime meridian.
The Z axis is along K, the X axis is along G, and the Y axis completes
the orthogonal right hand system. One may compute the unit vectors of the
RK system in KG coordinates as follows: U1 is the direction from the center
of Saturn to Pioneer, given by (COS(RLTKG)*COS(RLNKG), COS(RLTKG)*SIN(RLNKG),
SIN(RLTKG)). U2 is the normalized cross-product (K x U1) / |K x U1|, where
in KG coordinates K is just (0,0,1). U3 completes the right-hand orthogonal
system and is given by U1 x U2. The transformation matrix from RK to KG
coordinates is composed of the column vectors U1, U2, and U3. (To transform
to KG from other coordinate systems, first transform to AE, then to RK.)
The KG system was used in data analysis for the Pioneer 11 Saturn encounter.
(Minute averages sent to the NSSDC were in the PE system, but a supplementary
data set was also sent that included the parameters necessary to transform
from PE to RK and KG.)
5.0 PROGRAMMING CONSIDERATIONS
The following outline may be helpful to anyone who needs to write
a computer program to transform a set of Pioneer magnetometer data from
one coordinate system into another.
1. Read N records, R(1) to R(N), from the Trajectory data set, which may
be an actual Trajectory Tape, or a data set created from such a tape
that contains only the parameters required for the coordinate
transformation to be performed. N depends on the order of
interpolation; if you are using linear interpolation, N = 2.
2. Assign times to these records, TIME(1) to TIME(N), converting the
information in VIGDAT to whatever time units are convenient.
For each time, subtract ETMUTC, the difference in seconds
between Ephemeris Time and UTC, and if the magnetic field data is
in Ground Received Time, add the one way light time delay, which is
REARPR/299792.5 in seconds. (The minute, hour, and day average
tapes submitted to NSSDC are in Ground Received Time.)
3. Read a magnetic field vector, and assign a time to it, BTIME,
computed in the same units as TIME(1),...,TIME(N).
4. If BTIME > TIME(N), do the following:
Do for I=2,N
TIME(I-1) = TIME(I)
R(I-1) = R(I)
End do
Read a record, R(N), from the Trajectory data set.
Assign a time TIME(N) to this record as in Step 2.
Repeat Step 4 until BTIME < TIME(N) or BTIME = TIME(N).
5. Calculate trajectory parameters corresponding to BTIME by
interpolation, using the values in R(1) through R(N). Linear
interpolation is usually sufficient for interplanetary
data, but for the Jupiter and Saturn encounters, higher
order interpolation is required. We used a second-order
Aitken method.
6. Use the trajectory parameters for BTIME calculated in Step 5
to calculate the desired transformation matrix. Multiply
this matrix times the magnetic field vector, and write or
store the resulting transformed vector and its time tag.
7. Repeat Steps 3-6 for the remaining magnetic field vectors.
Be sure to use double precision (REAL*8) for all the transformation
computations. Matrix multiplication involves adding a lot of terms of the
same order of magnitude, which often have opposite signs, and it is very
easy to lose precision.
Time averaging and transforming to a new coordinate system are both
linear operations, so their order may be interchanged, as long as the
transformation matrix does not change significantly during the averaging
interval. We routinely transform interplanetary hour averages from
one coordinate system to another. However, in the case of
the Jupiter and Saturn encounter data, when the trajectory parameters
vary rapidly and nonlinearly with time, it would be best to apply
the coordinate transformations to the 1-minute averages (at most, 5-minute),
and then do any time averaging that is desired.
6.0 TRANSFORMATIONS OF AVERAGES OF PRODUCTS OF FIELD COMPONENTS
The minute, hour, and day average tapes submitted to the NSSDC also contain
averages of the squares and cross-products of the magnetic field components,
from which variances and covariances of the components can be computed.
If it is desired to compute variances and covariances of the field components
in a new coordinate system, the averages of the products of the field
components can easily be transformed into the new coordinate system.
Suppose A is the computed transformation matrix, with elements A(i,j),
where i and j go from 1 to 3. Let P(k,m) be the time-averaged product
of the k-th and m-th components of the field vector in the old coordinate
system, where k and m range from 1 to 3 and represent X, Y, and Z. For
example, P(1,2) is the average of the product (Bx By) over the given time
interval in the old coordinate system. Let Q(i,k) be defined similarly,
but for the new coordinate system. Then Q(i,k) = A(i,j) A(k,m) P(j,m),
summed over j and m, as in the following fragment of code:
Q(I,K) = 0.
DO J=1,3
DO M=1,3
Q(I,K) = Q(I,K) + A(I,J)*A(K,M)*P(J,M)
END DO
END DO
7.0 REFERENCES
1. Pioneer F/G Trajectory Data User Requirements, Pioneer Document PC-262.04,
Ames Research Center, Dec. 20, 1971.
2. Tape Format Description, DPTRAJ Satellite Ephemeris Trajectory Tape,
Pioneer Document PC-262.06, Ames Research Center, March 10, 1976.
3. Smith, E. J., et al., The Planetary Magnetic Field and Magnetosphere
of Jupiter: Pioneer 10. J. Geophys. Res., Vol. 79, p. 3501, 1974.
4. Smith, E. J., et al., Saturn's Magnetosphere and Its Interaction with
the Solar Wind. J. Geophys. Res., Vol. 85, p. 5655, 1980.