Document title: Pioneer magnetometer coordinate systems: Definitions and transformations Project: Pioneer 10 and Pioneer 11 NDADS Datatype: Super-EID: DOCUMENT There may be other documents also identified by this super-EID. NDADS filename: TRF entry: b46632.txt in NSSDC's controlled digital document library, Mar. 1998. Document text follows: ---------------------- 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.