Matthew. E. Hill

Department of Physics

University of Maryland, College Park

10 June 1998


Preface 2

Part 1. The Low Energy Charged Particle Instrument 4

1. The Low Energy Charged Particle Instrument 5

Part 2. Case Study: Count Distribution Analysis 12

2.1. Count distribution analysis as a method of classifying

background observed by the Voyager LECP instruments 13

2.2. Classification of foreground and background in the

LECP PHA matrix data 20

Part 3. Voyager LECP Analysis Programs 27

3.1. Methods and procedures for program FILTER 28

3.2. FILTER diagnostic programs: RECTIME & RECTIME2 33

3.3. Calculating ion flux with VOFLX_CR5a 34

3.4. Collecting PHA matrices with VMATX 45

3.5. Adding flux boxes to matrices with BOXPLOT 50

3.6. Producing Count-Distributions with VODATA 52

Part 4. Miscellaneous Problems with LECP Data 58

4.1. Removal of the 32nd PHA data point from the

Voyager-1 LECP data set 59

4.2. Removal of "second" calibration mode records 62

4.3. Identification-bit convention or CH13/CH46 and

CH17/CH47 subcommutation 63

4.4. Reading MRT files from the CD Drive 65

4.5. Renaming unconventionally named MRT files for use

with program FILTER 66

References 68



This paper was prepared in fulfillment of the "scholarly" or "second-year" paper required by the University of Maryland Department of Physics for advancement to Ph. D. candidacy. It was written during the period from September 1997 to February 1998. The articles herein summarize much of the work I performed under the supervision, and with the assistance of, my thesis advisor, Professor D. C. Hamilton, between July 1996 and the present. The scope of this work has been restricted to developments and modifications made to the procedures and computer programs used to analyze data from the Low Energy Charged Particle (LECP) instruments on the Voyager 1 and 2 spacecraft. There will therefore only be incidental discussion of the science of the outer heliosphere, which is the current focus of the LECP measurements.

Except for the overview of the LECP instrument given in part 1, the articles are written for the reader who brings some familiarity of the instrument and its telemetry. The bulk of the paper concerns two topics: explaining the programs important for analyzing LECP data and describing some problems with the data that have been discovered and resolved. These topics are presented in parts 3 and 4, respectively. A discussion which could have more properly been included in part 4 has been placed in part 2 due to its relative importance and to provide a practical example of data analysis with LECP data. This example serves not only to describe a unified collection of research which has generated a convenient analytical method, but also provides a useful bridge between the introductory material in part 1 and the detailed discussions in parts 3 and 4. It's usefulness as a bridge lies in the fact that the method developed in part 2 incorporates knowledge of the physical instrument with an understanding of both the pulse height analyzer data and the rate data. With this in mind, it is suggested that a reader unfamiliar with this instrument read parts 1 and 2 before moving on to the rest of the text.

In addition to the table of contents at the beginning of this paper, there are detailed tables of contents at the beginning of each part.

A considerable portion of this paper is devoted to a presentation of the methods and procedures of programs important to the analysis of LECP data. It is appropriate, then, to discuss the authorship histories of these programs. The programs VOFLX and VMATX were originally written by D. C. Hamilton, though the versions that I received were D. C. Brown's modifications. These versions were in turn modified by M. R. Collier. In 1996 I became the steward of these programs. VOFLX has since been modified in three ways: correcting errors, translating portions of code using logical structure to replace goto-style statements, and adding new features. A look at the modification histories of this program and its subroutines will illustrate the work that was done. VMATX has undergone a similar modification though to a lesser extent than VOFLX. It is sufficient to say that though considerable time has been spent in the modification and rewriting of these programs, they still resemble the originals to a large degree.

The other two main programs discussed within are FILTER and VODATA. FILTER is derivative of a program by M. R. Collier, named FILCAT which was itself a modification of program TOYCAT. Unlike VOFLX and VMATX, FILTER is essentially an independent program with only the barest hints of its FILCAT heritage. Similarly, program VODATA is based on a skeleton derived from the INTERPLAN code by M. R. Collier, but is otherwise a new program. The small programs, BOXPLOT and RECTIME are new.

Many thanks are owed to D. C. Hamilton for his guidance and assistance throughout the course of this work. I am appreciative of the assistance given to me by M. R. Collier as he passed the "programming reigns" to me in the summer of 1996. I wish to express my appreciation to all of the previous programmers of the Voyager LECP software upon whose work we have built. The faculty, students and staff of the University of Maryland Space Physics Group foster a supportive and professional environment in which to work, for which I am much obliged. I am thankful for the roles played by our colleagues at the Johns Hopkins University Applied Physics Lab, especially R. B. Decker, E. Keath, S. M. Krimigis and O. Lamm. I give my thanks to the original investigators and designers of the LECP instrument, including G. Gloeckler, here at Maryland, and to the many other people who have worked on and supported the Voyager project for the previous quarter century. Finally, on a personal note, I would like to thank my wife, Tracy, for baring with my tendency to discuss with her the technical minutia of the day ... and for everything else.

M. E. Hill

6 February 1998

College Park, MD

Part 1.





1.1. Abstract 5

1.2. Instrument Layout 5

1.3. Data Format 7

1.4. Particle Identification 8



































Part 1. contains just one article. In it the physical layout of the LECP instrument is reviewed as is the telemetry format. It may be helpful, as a practical matter, to read part 2. in conjunction with part 1, as many of the introductory topics in part 1. are restated in part 2. in the context of a concrete example, the Count Distribution Analysis Method.


1.1. Abstract

Necessary detail for a general understanding of the technical issues in this paper is discussed with the intention that those readers new to the LECP instrument or returning to it after some time will be able to follow the discussion. Any remaining detail is supplied at the appropriate point of discussion in the body of the paper. First, the physical layout of the instrument is described, then details concerning the format of the data, and finally the LECP particle-identification algorithm is summarized.

1.2. Instrument Layout

A full description of this instrument can be found in the literature (Krimigis, et al., 1977 and Peletier, et al., 1977); however, a brief description at this point should be useful. The Low Energy Charged Particle instrument consists of two subsystems, the Low Energy Particle Telescope (LEPT) and the Low Energy Magnetospheric Particle Analyzer (LEMPA). Only the first system is discussed in this paper, therefore no description of LEMPA will be given. (As a practical matter, the acronym LECP should be understood, in this paper, to refer only to the particle telescope unless LEMPA is explicitly mentioned.) In the instrument papers cited above LEPT refers to the entire dual-aperture telescope (see below), however in this paper an alternate convention is used in agreement with present usage: LEPT refers to the low energy aperture of the particle telescope, while HEPT refers to the high energy aperture.

Fig. 1-1. A simplified depiction of the LECP instrument (not drawn to scale). The lower left diagram illustrates the D1 detector-mosaic and the lower right diagram represents the anticoincidence detectors, A1-A8. (Note: LEMPA is not shown.)

There are five detector planes in the LECP instrument, labeled D1 to D5. The D1 "detector" in reality consists of three separate detectors, D1a, D1b and D1c (also called D0). The lower left diagram in figure 1-1. illustrates the arrangement of the D1 detector-mosaic schematically, viewed along the symmetry axis (normal to the detector planes). D1a and D1b are intended to have the same thickness of roughly 5 mm. (In reality this is true only for Voyager 2 (V2), while Voyager 1 (V1) has two mismatched detectors.) D0 is the thinnest detector, measuring roughly 2 mm. (The D0 detector is used only on V1 since the V2 D0 detector was damaged during the Saturn encounter.) D2 and D5 are thicker detectors (~150 and ~90 mm, respectively). The thickest detectors are D3 and D4, both nominally 2450 mm thick. D1 through D5 are oriented concentrically about the axis as shown in figure 1-1. Surrounding these detectors is a system of eight rectangular detectors, A1-A8, (see lower right diagram of figure 1-1.) describing a cylinder centered on the axis. This anticoincidence shell is known as the anticoincidence cylinder. The instrument has two apertures; particles entering the telescope via the LEPT aperture would tend to impact on the D1 and D2 detectors first, while particles which happen to pass through the HEPT aperture would (after passing through a nickel foil, not shown) reach the D5 detector plane first.

Two types of data measured by the LECP instrument are primary for the determination of ion composition and differential flux; these are count-rate data and pulse height analyzer (PHA) data. For a more complete discussion of these two data types and the LECP particle identification system, see section 1.4.; however, a brief overview of these matters is useful at this point.

To illustrate the manner by which these measurements are made, an example of a 1 MeV proton incident upon the LEPT aperture will be considered: Suppose the proton passes first through the D1a detector and subsequently stops in the D2 detector. Each of these detectors will then produce a signal correlated to the energy deposit in that detector. These signals are interpreted by pulse height discriminator and coincidence circuitry which rapidly identifies the particle as either belonging to one of 36 rate-channels or by rejecting the event. (A potential ion may be rejected, for example, if the anticoincidence shell is triggered, indicating that the ion may have exited the instrument.) These 36 rate channels correspond to a relatively coarse compositional determination; for the 1 MeV proton example the particle should be identified as belonging to CH01 (read: channel one). When this identification is made a count rate accumulator (rate scaler) is incremented, thus, (by concurrently recording the time coverage over a specified period), the count rate is determined for this rate channel.

For a subset of the identified ions, detailed PHA data are retained in addition to the rate data. If it is determining (by means of a priority scheme, discussed below) that the pulse height (PH) analysis should be completed, then the analog-to-digital converter (ADC) which is part of the PHA circuitry determines channel values corresponding to pulse heights which are indicative of energy deposits in four of the detectors. These PHA channel values and an identification byte (essentially indicating the rate channel determined for this ion) -- together referred to as a PHA data point -- are subsequently telemetered by the instrument. A collection of such PHA data points, together with rate data, may be analyzed to determine the composition and differential flux of various ion species over some period of time (see section 3.3 for a full discussion of the flux calculation).

The priority scheme referred to above is intended to make effective use of limited transmission rates available on the spacecraft for PHA data. The scheme utilizes three priority levels (see section 1.4, for more detail) with the goal that rare species should not be "crowded out" by more common species. In practice, it has turned out that competition between some species of the same priority has become a problem. Most notable is the situation for priority 3 ions, which include protons and helium at all energies. The problem is that one priority 3 channel, CH31, is currently swamped by cosmic rays which, during quiet times, can outnumber other priority 3 rates by factors approaching nearly a thousand. Due to this, PHA data for only a small percentage (~3%) of priority 3 ions are telemetered (see section 2.1. where this fact is exploited).

A further aspect of the instrument is that it rotates through eight equal angular sectors by means of the instrument being mounted on a stepper motor (see figure 3.3-7.). The telescope remains stationary during the active period of each total accumulation period (see section 1.3, below) during which time the data are collected. Then, during the inactive (or dead) period, the telescope quickly rotates into the next sector. A record is made of which sector the instrument is in for a given time, thus this information can be used to study flux anisotropy. The sector nominally directed toward the sun (sector 8) is protected by a sun shield which also contains an alpha source for in-flight calibration.

1.3. Data Format

For the present Cruise-5a (CR5a) telemetry mode, which took effect beginning 1990/220 for V1, and 1990/152 for V2 -- see the LECP CR5a telemetry document (Hook, memorandum, 1990) for details -- all of the scientific data for a particular duration of time are stored in a single data record, called an MRT record. (MRT historically stood for Master Rate Tape, though this is presently a misnomer since each MRT record contains PHA and header data in addition to rate data, and because the magnetic tape storage medium has been replaced with disc storage.) The length of time corresponding to the data in one record is 187.2 seconds and is called the total accumulation interval (TAI). Between each TAI there is a short dead (or inactive) period during which no data are collected. Together the TAI and the dead period amount to 192 seconds. MRT files are formed by grouping consecutive MRT records together as a disc file.

Each MRT record is composed of 484 2-byte words. The general format is outlined below, in the table (figure 1-2.). The header consists of data such as spacecraft event times, motor position, telemetry mode and record type. The rate data are made up of two different types of rates, three-interval rates and one-interval rates. The three-interval rates, for each rate channel, are made




Data Type



MRT Record Header

1 & 2 Byte Integer Words



Rate Data

4 Byte Real Words

(in 1 and 3 word groups)



Rate Data Quality Words

2 Byte Integer Words

(in 1 and 3 word groups)



PHA Data

1 Byte Logical Words

32 (5-Word) Data Points

Fig. 1-2. CR5a MRT Record layout. Rate data are stored each TAI for each rate-channel. Only 32 PHA data points are stored, selected by the priority scheme.

up of three 4-byte real words (real*4). Each of these three real*4 words corresponds to a subset of the TAI, which can be termed a sub-accumulation interval (SAI). For the one-interval rates the TAI and SAI are the same.

Fig. 1-3. A representation of the relationship between the Total-, Sub-, and Basic- Accumulation Intervals (TAI, SAI and BAI). Each MRT record is associated with one TAI. Rates are accumulated over either three intervals (3 SAI, such as CH01) or one interval (1 SAI, such as CH05). The number of BAI's contained in an SAI is stored in the quality word associated with a given rate.

The quality words are one-to-one associated with the rate words. A quality word associated with a given rate contains the number of basic accumulation intervals (BAI's), the sum of which make up the SAI for the rate. Since the duration of one BAI is set to one value for all rates, defined by a word in the header, the quality words amount to the time-coverage during which the rate scaler is actively counting. The PHA data are a list of 32 PHA data points. Each data point contains one identification byte (PHA-ID) and four PHA energy-channel values, corresponding to four of the five detectors. For particles identified as being low energy (i.e., LEPT particles) the five-dimensional PHA data point is represented by: (PHA-ID,D1,D2,D3,D4). For the high energy (HEPT) particles: (PHA-ID,D5,D2,D3,D4). The second byte of each five-byte data point is thus alternately D1 or D5 and is sometimes written D1D5 or D1/D5 to indicate this fact. It should be emphasized that while there is always a rate value assigned for a given rate-channel, the list of PHA data points depends on the identification and frequency of the incoming ions. For example, one record might have 32 PHA data points all identified with CH31, say, while another record could have 16 CH31 PHA data points, 8 CH17 PHA's and 8 CH01 PHA's.

1.4. Particle Identification

To lend some detail to the subject of particle identification, first a more complete discussion of the rate and PHA data is necessary. (See Peletier, 1977 for a useful discussion of some of the more technical details discussed in this and other sections.) Following a discussion of these topics, the particle identification algorithm will be described (see figure 1-5.). The rate data consist of the count rates for each of the 36 (non-LEMPA) rate-channels. To give a more precise description of what a rate-channel is, the CH01 rate-channel will be discussed in some detail (see figure 1-4.).

There are several conditions that must be satisfied for the 1 MeV proton from section 1.2., for example, to be identified with the CH01 rate-channel. There are a set of discriminators associated with each detector. If the energy deposit in D1 is sufficient to trigger the E1 discriminator, (where E1, the lowest threshold value on D1, labels the discriminator which is set to trigger at the E1 level), but insufficient to trigger the E1A (second highest threshold for D1) discriminator, then two of the logical conditions are met for this ion to be identified as a CH01 particle. The full logic can be represented by the following:

where E1, E1A, E2, etc. are various discriminator threshold levels for D1, D2, etc. The L12A symbol refers to a threshold resulting from the sum of D1 and D2 (described below) and the A1 and A2 symbols refer to the discriminator thresholds on each half of the anticoincidence cylinder. The above notation is interpreted as follows: For a particle to be identified as CH01, the (lowest) E1 threshold must be met by the D1 signal, the (second lowest) E1A threshold must not be met by D1, the (lowest) E2 threshold must be met by D2, the (second lowest) E2A must not be met by D2, the (lowest) E3 threshold must not be met by the D3 detector signal, the (lowest, D1 & D2 summed) L12A threshold must not be met, and the A1 & A2 anticoincidence thresholds must not be met.

Fig. 1-4. An illustration of the energy thresholds used by the discriminator circuitry designed to specify rate-channels. For CH01 the energy deposit must be above a minimum value E1 in D1 and must not be above a value E1A in D1; must be above a minimum value E2 in D2 and must not be above a value E2A in D2; must not be above a minimum value E3 in D3; the sum of D1 and D2 must not be above a value L12A; and the anticoincidence cylinder must not be triggered. (See text.)

The L12A threshold is associated with the fact that the LECP instrument uses logarithmic amplifiers. Due to the logarithmic amplifiers the PHA channel is proportional to the logarithm of the detector signal output. This allows a simplified summing procedure to determine diagonal thresholds such as the one visible in figure 1-4; these "slant discriminators" are produced by putting the sum of two logarithmic amplifiers into a simple discriminator. The justification for doing so arises from the fact that the following product can be formed:

where and are energy deposits in D1 and D2 detectors, respectively, a and b are constants and P is a value which uniquely specifies a particle species. The use of logarithmic amplifiers means that the detector (PHA) channels corresponding to the above energy deposits can be written as:


The log of the product, P, can then be written as follows, where the definition, , is used to simplify the expression:

In this way a value P=L12A, for example, can be determined which specifies a bound for a particular species via a simple logical sum. These slant discriminators along with the regular threshold discriminators allow the rate-channels to achieve the relatively coarse compositional determination which allows a simple (though rough) association between a given rate-channel and a given species over a set energy range. For instance, the CH01 rate-channel is nominally associated with protons in the range of 0.5 - 1.5 MeV.

The PHA algorithm is as follows. In some manner, (presumably in 32 equal periods) the TAI is divided into sub-intervals (not the same as the SAI discussed above) such that one PHA data point will be determined for each sub-interval. The first ion (ion A, say) that is identified during any given sub-interval is analyzed, regardless of its priority, and the data are placed in a temporary buffer. Then, if another particle (ion B) is identified during the same sub-interval, the priority is checked. Depending on the current state of the rotating priority scheme (based on the priority of the PHA data point telemetered during the previous sub-interval) and the priorities of ions A and B, the decision is made as to whether the ion B PHA data should replace the ion A PHA data in the buffer. This decision process continues with subsequent ions that are identified (ions C, D, etc.) until the end of the subinterval is reached, at which time the PHA data point is telemetered.

The particle identification method referred to in the preceding sections is illustrated in figure 1-5. The intent of the flow chart is to illustrate the identification method, though it should not be interpreted as a strict interpretation of the logic embodied by the LECP circuitry. For example, the transition from one TAI to the next is ignored, as is the instrument's accumulation over each BAI; only the SAI level of accumulation is illustrated. Also, the flow chart seems to suggest that the PHA and rate collection is handled by one system; this is done to simplify the presentation of the essentials of the particle identification algorithm.

In the following concluding example, refer to the (red) numbered items in figure 1-5. and its caption. The example of the 1 MeV proton passing through D1a into D2 is again used to illustrate figure 1-5. and the essentials of the particle identification algorithm: A roughly 1 MeV proton enters the LEPT aperture (1.). It is identified as a CH01 ion (2.), and the rate scaler is incremented (3.). Assuming this is not the first ion in this sub-interval (5.), the priority is checked (4.). Assuming that priority 3 ions (e.g., CH01) have priority (in the present mode of the rotating priority scheme) and that the priority associated with the PHA data currently in the buffer is other than priority 3, the PHA analyzes D1, D2, D3, and D4 (7., 6.) and stores these data in the buffer (9.). Furthermore, assuming that the present sub-interval is ending (12.), the PHA data are telemetered (13.), including the identification byte containing the CH01 identification and D1a information (i.e., that the ion passed through D1a rather than D1b or D1c). If the present SAI is not completed (11.), then the system returns to the "start" state and awaits another event.


Fig. 1-5. Flow chart illustrating the LECP particle identification algorithm: 1. Has a potential particle entered the telescope? 2. Does this particle belong to one of the rate-channels? 3. Increment the appropriate rate scaler. 4. Does the present ion have PHA-priority over the PHA data currently in the buffer? 5. Is this ion the first in the (PHA) sub-interval? 6. For LEPT events the D1, D2, D3, and D4 detectors are PH analyzed. 7. Is the present event from the LEPT aperture? 8. For HEPT events the D5, D2, D3, and D4 detectors are PH analyzed. 9. Replace the PHA data in the temporary buffer with the newly analyzed data associated with the present event. 10. Telemeter the rate data and clear the rate scalers to prepare for the next SAI. (Note that, for simplicity, the details concerning BAI's and TAI's are ignored in this figure.) 11. Has the end of the current SAI been reached? The SAI (sub accumulation interval) is associated with the measurement of the rate-data. 12. Has the end of the current sub-interval been reached. The sub-interval is associated with the measurement of PHA data. 13. Telemeter the PHA data point. (See note above in no. 10.)

Part 2.

Case Study: Count Distribution Analysis






2.1.1. Abstract 13

2.1.2. Introduction 13

2.1.3. PHA Matrix Regions 13

2.1.4. Background from Misidentified PHA Data Points 14

2.1.5. "Real" Background 15

2.1.6. Count Distribution Analysis 15

2.1.7. Experimental Application 17



2.2.1. Abstract 20

2.2.2. Data Regions 20






The next two articles, 2.1, and 2.2 are part of a case study on Count Distribution Analysis (CDA). This discussion has been singled out from the other similar topics in Part 4 for two primary reasons. First, this work has served as a unifying theme in much of my work. Second, the description of the CDA method and its results provide a good practical introduction to the details involved in analyzing the LECP data.

Count Distribution Analysis is a technique that was developed to solve one of the first problems I was given when I joined the Space Physics group in 1996. Periodically, it became necessary to revisit the method for other purposes. The method was worked out before the theoretical underpinnings were -- the theory was worked out in Fall of 1997 when once again the method became a topic of consideration. Since one of the possible stated purposes of the department's scholarly paper requirement is to describe research that was completed, it seemed appropriate to include this topic.

Since the story of CDA is fairly involved, it represents an example, (more so than the other methods discussed in part 4), which illustrates the sort of research which has been done. At the same time, the required use of the PHA data and the rate data together provides a concrete application of the introductory material given in part 1. By spending some time with parts 1 and 2 together, it should be possible to gain a deeper insight into the workings of the LECP instrument and the format of its telemetry than would be possible by studying part 1 alone. This insight should aid the understanding of part 3, which details the "work-horse" analysis programs, especially VOFLX_CR5a, used to calculate quantities needed to study the outer heliosphere.




2.1.1. Abstract

The Low Energy Charged Particle (LECP) instruments on the Voyager 1 and 2 spacecraft, presently in the outer heliosphere, measure the count rates of incident ions, for several species. A sample of these incident ions is also subject to detailed pulse height analysis. Due to the low particle flux prevalent in the outer heliosphere, some background has become apparent in the pulse height data which indicates that the rate data may also have a significant background problem. Fortunately, a method presents itself in this low flux regime, that allows the identification of which pulse height events are incrementing the LECP rate-scalers and which are not. The method exploits the fact that for low-priority species only a small fraction of the total number of incident ions is pulse height (PH) analyzed. This and the fact that the relevant count rates are low, allows one to differentiate between incrementing and non-incrementing data by observing a unit shift in any ion count distribution which is described well by Poisson statistics.

2.1.2. Introduction

The LECP instruments utilize a set of solid state detectors (see section 1.) to determine the species and measure the energy of ions in the outer heliosphere (Krimigis, et al., 1977). All detected ions that satisfy a specified logical combination of coincidences or anticoincidences associated with each detector are designed to increment one of the rate-scalers. The determination of which rate-scaler is to be incremented is based on whether the measurement of the energy deposited in each detector meets or exceeds specified thresholds (see figure 1-4.); this is done so different species and energy ranges may be resolved. A sample of these ions are also subject to a detailed measurement of the energy deposited in each detector by means of four 256 channel pulse height analyzers (PHA's). For ions of energy sufficient to pass through the first detector (D1), but insufficient to exit the second detector (D2), it is helpful to construct a matrix (D1D2) of the PHA channels recorded for each detector (see figure 3.5-1.). Therefore, if a particle meeting the above condition resulted in the D1 PHA measuring an energy corresponding to a channel value of y, and the D2 PHA measuring a value x, we can write (D1 = x, D2 = y) = (x,y) = 1, indicating that one ion has been determined to have the energies, D1=y and D2=x. (Note from here forth I will refer to the measurements made by the PHA as energies, indices of the matrix, PHA values or energy-channels, and not as channels. This is to avoid confusion with the rate-channels, defined below by regions in the PHA matrix.) When many ions are recorded in the matrix, we get a 256256 matrix, where the value of each matrix element (D1,D2) indicates the number of ions (PHA counts) with the energies indicated by the value of the indices D1 and D2 (see also section 3.4).

2.1.3. PHA Matrix Regions

The PHA matrix is divided into a number of regions which are defined such that ions which fall into a specified region (defined by the energy thresholds referred to above) are presumed to be of a certain species, and thus increment the scaler associated with that species. Each of these regions is referred to as a rate-channel or often just a channel. figure 1 shows a schematic depiction of a portion of the D1D2 PHA matrix layout. The numbered shapes in the matrix are the rate-channels. The number indicates the channel's name, e.g., the trapezoid with the 1 centered in it is channel 1, (CH01). Those detected ions that are PH analyzed increment the rate-scaler associated with the identified channel and have PHA data recorded. Those that are not PH analyzed simply increment the proper rate-scalar without the recording of any PHA data (see figure 1-5.).


Fig. 2.1-1. A schematic representation of a PHA matrix, with a few rate-channels shown (cf. figure 1-4.). The number indicates the channel name and "Il." is an abbreviation for an illegal region, which is not a rate-channel.

2.1.4. Background from Misidentified PHA Data Points

There are five data coordinates that make up a PHA data point for the relevant (Cruise 5a) telemetry mode; thus a data point takes the form (PHA-ID,D1/D5,D2,D3,D4), where PHA-ID refers to the rate-channel in question, (as well as other information irrelevant to this discussion), and the D1/D5 coordinate is either the D1 or D5 energy, depending of the rate-channel (Hook, memorandum, 1990). There are at maximum 32 PHA data points recorded in each total accumulation interval (TAI). For this reason a priority scheme, which is described in sections 1.2. and 1.5., is used to decide which ions to PH analyze. A new TAI begins every 192 seconds, with 187.2 seconds active recording time remaining after the dead time is accounted for.

It is believed that the value of a PHA-ID can occasionally be recorded improperly. That is, for some of the ions which are PH analyzed, the PHA-ID may be mislabeled, thus misidentifying the ion in the PHA data. Therefore, an ion which belongs to CH31, for example, may be mistakenly identified as belonging to CH01. When a matrix is constructed which consists only of data points which are identified as being CH01 (see figure 2.1-2., in section 2.1.7., below), a cluster of non zero matrix elements appears that resembles topographically the cluster that one would normally see in the same region of a matrix which is restricted to only CH31-identified ions. If this is true, it would follow that the cluster of non-zero matrix elements, though in the CH01 matrix, do not increment the CH01 scalar. So this sort of background would not affect studies which rely on the CH01 rate information alone.




2.1.5. Real Background

In addition to the sort of background described above, there is also "real" background. That is, background which, although not in the proper track* to be interpreted as the species in question, does seem to have a physical origin. In this case one would expect that the non-zero matrix elements in the region of this background would correspond to "ions" which were counted in the rate scalar. This type of background would have an influence on studies which attempt to use only the rate information, without consulting the sampled PHA data. It is the classification of the background as either misidentified/non-incrementing or real/incrementing, that the count distribution analysis method enables.

2.1.6. Count Distribution Analysis

The LECP instrument utilizes a three tier priority scheme to decide which of the incident ions are to be pulse height analyzed. It is observed that for the lowest priority (priority 3) channels, corresponding to protons and alpha particles, roughly 3% of the total valid number of ions counted are PH analyzed, during the years 1992-1997. Thus it is clear that the probability to be PH analyzed (per each opportunity to be PH analyzed) is on the order of 0.03. Therefore we can safely treat the probability as small, i.e.,


where is defined explicitly below. Each time an ion is detected there is a probability that it will be PH analyzed. Therefore the number of chances per TAI to be PH analyzed is equal to the number of counts, , per TAI. So if we wish to know the probability,, that at least one ion will be PH analyzed in one TAI, we must use the binomial distribution, , given by,


is the probability of observing k successes in trials when the probability of one success in one trial is exactly . To determine , we would like to know the probability of one or more successes in trials. A simple way to determine this probability is to calculate the probability of zero successes in trials and then to subtract that probability from one, as follows:


To first order in a Maclaurin series expansion in , this becomes,


where the superscript indicates the first order nature of the approximation.

Next we must determine the values of for which this approximation will hold. If we let be the maximum desired difference between the approximate form of and the exact , we may demand that the relation,


is satisfied and then calculate when equality holds to obtain an upper limit on . It is sufficient to approximate by , the probability to second order, for the purposes of this evaluation; thus we find that the following relation must hold:


For a given and we obtain two solutions for . Choosing the appropriate, positive solution, we find the following limit on ,


where is implicit. For the reasonable choices =0.1 and =0.03, we determine the interval of validity for ,


Since the active period of each TAI is 187.2 s this corresponds to a rate of . It is observed, during 1992-1997, that rates less than this are common in the outer heliosphere for many species. For values of and within the given ranges of validity, we can approximate the probability that at least one ion is PH analyzed per TAI as a linear function in the number of counts, .

It is well known, and confirmed by direct observation, that the Poisson distribution is the appropriate limiting form of the binomial distribution for systems having a large numbers of particles, >>1, each of which has a small probability, <<1, to be detected during a given interval. This is obviously the situation for the LECP instrument in the outer heliosphere. Therefore the probability that there will be counts in one interval for a roughly constant rate with an average number of counts, , per TAI, is given by,


Now it remains only to be shown that when the normalized rate count distribution, , is modified by requiring at least one PHA events per TAI, (as is the case for counted particles which are pulse height analyzed), the resulting distribution is the Poisson distribution displaced by one. Consider a rate count distribution,, defined as a distribution of the number of rate counts per TAI taken from all records that include at least one PHA data point within the incrementing region of the PHA matrix (see section 3.6 concerning the program used to calculate this sort of distribution). Since this distribution corresponds to the probability that ion events have been counted and that at least one event was PH analyzed (such that the resulting PHA data point lies in the incrementing region) it follows that it is the product of the probabilities, and ,


where the linear approximation for has been used. By substituting the appropriate expressions, to get the following,


we find an explicit (though approximate) expression for . Now rewrite the right hand side of the above relation as follows to see the result most clearly:


By recognizing that the right hand side of the preceding relation is simply the a constant, , multiplied by the shifted Poisson distribution, , we finally get the result:

This demonstrates that, upon normalization, the rate count distribution for rate-incremented PHA matrix regions should be the natural distribution simply shifted to the right by unity.

Incidentally, since the expression for is referred to as a probability one would expect the distribution to sum (at least approximately) to unity. When the sum over is performed, however, a seemingly surprising result is found:

This result can be reconciled by realizing that is not the only summation index; there is an implicit index which has been ignored. This index, call it , represents two possible states. When , we say that PH analysis has taken place (for the relevant rate-channel) during a given record. This is the state that has been implicitly assumed above. But there is also the state corresponding to a record in which no PH analysis has been completed for the rate in question; let this state be denoted by . Therefore we can write the following relations:

(Note that picking only the state is analogous to arbitrarily deciding to only sum from =0 to 1, instead of over the full range.) Now it can be easily seen that the sum over all indices yields the expected result:

2.1.7. Experimental Application

Protons with an energy of 1 MeV are the only particles designed to be counted in the CH01 rate. When we display a Voyager 1, D1aD2 matrix* restricted to those PHA points which are identified as CH01, however, we find three distinct regions (see figure 2.1-2.): the expected Incrementing Foreground proton track, the unexpected Incrementing Background and the unexpected Non-Incrementing Background, where the regional names anticipate the results of the following application of count distribution analysis.

Fig. 2.1-2. Voyager 1, 1992 (full year), CH01 D1aD2 matrix. White space indicates no PHA counts. The gray scale ascends from black, indicating 1 or 2 PHA counts, up to the lightest-gray, indicating the most intense concentration (>1000) of PHA counts.

To apply the rate count distribution analysis method, it is necessary to obtain distributions for the individual matrix regions. This is done by collecting a histogram (see section 3.6) of rate counts per TAI only for TAI which contain at least one PHA data point for a specified PHA matrix region. This is done for the three regions, and for a random sample of the CH01 rate (i.e. no PHA requirement was made in selecting this sample). These distributions and the analytical Poisson distribution, with the mean number of counts determined by a yearly average, are shown in figure 2.1-3. It must be emphasized that this method applies only for rates which are roughly constant over some time interval; if the rate changes too rapidly, there may not be sufficient statistics to apply the method in the small interval that would be required to meet the previous condition.

Fig. 2.1-3. Voyager 1, 1992, days 10-130, count distribution of CH01 D1aD2 matrix regions. Filled Circles - Sample of CH01 rate (1167 TAI's), Filled Squares - Incrementing Foreground Proton Track (85 TAI's), Open Triangles - Non-Incrementing Background (1277 TAI's), Open Circles - Incrementing Background (202 TAI's), Open Squares - Poisson Distribution ( = 0.5945 ).

Applying the result of the Count Distribution Analysis section, we deduce that the two distributions that appear to be shifted to the right by unity represent regions that increment the CH01 rate, while the third distribution, which is similar to the CH01 rate distribution, does not increment the CH01 rate scaler. This is because requiring a PHA event in the non-incrementing region selects records randomly, since the PHA data are not correlated to the rate data, thus providing a random sample of the CH01 rate. More simply, it should not be possible, if the instrument is working properly, to have a PHA event in a TAI but not have a rate count; but, for non-incrementing background events this does occur frequently. Notice that the similarity between the CH01 rate distribution and the Poisson distribution, the fact that the maximum counts/TAI is below 15, and that is observed to be 2.8%, justify the use of this method.




2.2.1. Abstract

The data in various PHA Matrix regions are classified as either foreground or background utilizing the Count Distribution Analysis method discussed in the previous section. The channels summarized in this section are, for Voyager 1, CH01, CH16, and CH23 (all protons); and for Voyager 2, CH01, CH03, CH16 and CH23 (all protons, except for CH03 which counts alpha particles). The percentage-foreground values for each channel are tabulated and plots are presented to indicate the data regions graphically. The data defining the foreground and background regions are listed for reference.

2.2.2. Data Regions

The definitions of the background and foreground regions are contained in the data comprising the two files V1_NOISEBOXES.IVF and V2_NOISEBOXES.IVF. The format of these data is described in section 3.3.4. which describes the program VOLFLX_CR5a.

The Voyager 1 regions concern protons at three different energies. For the lowest energy protons, CH01, the foreground is contained in CH01a and CH01b and the background is within CH01a alone. The mid and high energy protons, CH16 and CH23, respectively, each contain one foreground region and one background region.

Line Number

Voyager 1 Fore/Background Boxes



V1 interplanetary boxes 3-DEC-1997 boxes to determine noise CH 1,16,23


p1 101, 1,2, 36, 80, 56, 41, 68, 60, 998, 999, .441, 0,0,


P1 102, 1,2, 36, 80, 40, 40, 68, 60, 998, 999, .441, 0,0,


n1 101, 1,2, 36, 80, 40, 40, 55, 40, 998, 999, .441, 0,0,


p2 16, 5,4, 46, 80, 60, 40, 75, 55, 998, 999, 1.50, 0,0,


n2 16, 5,4, 6, 45, 51, 51, 106, 82, 998, 999, 1.50, 0,0,


p3 23, 4,3, 45, 90, 79, 64, 83, 73, 998, 999, 1.31, 0,0,


n3 23, 4,3, 45, 90, 45, 45, 78, 63, 998, 999, 1.31, 0,0,




1,0.,.21, 1,300,1,300,0,20,0,20,


16,0.,.2, 5,300, 0,60, 0,20, 10,300,


23,0.,2.e1, 1,300, 0,60, 5,300, 5,300,



Fig. 2.2-1. Fore/background boxes for Voyager 1. The following regions are described: CH01a-foreground, line 2; CH01b-foreground, line 3; CH01a-foreground, line 4; CH16-foreground, line 5; CH16-background, line 6; CH23-foreground, line 7; and CH23-background, line 8. (Note: the "energy" data given in the IVF file above are dummy values and should be ignored.)

The Voyager 2 regions contain the same proton channels as Voyager 1, but we have chosen not separate CH01 into CH01a and CH01b for V2. This is because V1 has two somewhat mismatched (in thickness) detectors D1a and D1b which, if not separated, lead to a marked reduction in energy deposit resolution in the in PHA matrix. For V2 the two detectors are well matched, so they can be combined without problem. In addition to these channels, there is also one alpha-particle channel, CH03. Each of these channels contains one foreground and one background region.

Line Number

Voyager 2 Fore/Background Boxes



V2 interplanetary boxes 20-June-1997 boxes to determine noise CH 1,16,23


p1 100, 1,2, 36, 80, 52, 37, 64, 56, 998, 999, .441, 0,0,


n1 100, 1,2, 36, 80, 36, 36, 51, 36, 998, 999, .441, 0,0,


p2 16, 5,4, 52, 87, 58, 38, 73, 53, 998, 999, 1.50, 0,0,


n2 16, 5,4, 13, 51, 51, 51, 106, 82, 998, 999, 1.50, 0,0,


p3 23, 4,3, 58, 90, 80, 68, 87, 77, 998, 999, 1.31, 0,0,


n3 23, 4,3, 47, 90, 49, 49, 83, 67, 998, 999, 1.31, 0,0,


a4 300, 1,2, 48, 106, 82, 58, 82, 82, 998, 999, .441, 0,0,


n4 300, 1,2, 47, 106, 40, 40, 81, 57, 998, 999, .441, 0,0,




1,0.,.11, 1,300,1,300,0,20,0,20,


3,0.,.03, 1,300, 1,300, 0,20, 0,20,


16,0.,.1, 5,300, 0,60, 0,20, 10,300,


23,0.,1.e1, 1,300, 0,60, 5,300, 5,300,



Fig. 2.2-2. Fore/background boxes for Voyager 2. The following regions are described: CH01-foreground, line 2; CH01-background, line 3; CH16-foreground, line 4; CH16-background, line 5; CH23-foreground, line 6; CH23-background, line 7; CH03-foreground, line 8; and CH03-background, line 9. (Note: the "energy" data given in the IVF file above are dummy values and should be ignored.)

The percentage-foreground (%fore) value is determined by dividing the number of PHA counts in the foreground region by the sum of the PHA counts in the fore- and background regions, and then multiplying by one hundred. In determination of the %fore, only the incrementing background is included in the background. This is done (see section 2.1.4 and 2.1.5) to exclude those PHA events which have been discovered to not be related to a given rate-channel. The %fore value is useful for correcting the count-rates associated with each channel. In the following table the percentage-foreground value is given for the channels given above for the yearly time periods 1992-1996, and the half-yearly periods 1997/001-189 and 1997/190-365 .

Percentage Foreground

Voyager 1 & 2 LECP 1992/001 - 1997/189



































































Fig. 2.2-3. Percentage-Foreground for V1 & V2 1992/001 - 1997/189.

The trends apparent in figure 2.2-3. are worthy of amplification for the purpose of suggesting some of the causes underlying the variety of %fore factors tabulated there. Notice that the %fore factor for ~1 MeV protons (V1-CH01) decreases from 69.9 in 1992 to 8.3 in the first half of 1997 and then turns up again to 15.2 in the latter half of 1997. This behavior is consistent with the decreasing solar activity which is indicative of this period's approach to solar minimum activity (Hamilton, et al., 1997). The upturn is furthermore consistent with a recovery of these locally accelerated interplanetary protons after solar minimum conditions have reached the outer heliosphere and the ensuing approach to solar maximum begins. Notice, however, that for protons in the energy range (available to LECP) dominated by the anomalous cosmic ray (ACR) peak, (between roughly 5 and 30 MeV), that the %fore (for V1-CH16 and CH23) increases between 1992 and 1997. The increase is consistent with the increased flux of ACR's which is facilitated by the decreased modulation of ACR's associated with decreasing solar activity. It is interesting to note that there is no corresponding downturn in these ACR protons in the second half of 1997 at V1, though there is an indication of a slowing of the increase.

For V2, the situation is complicated by the fact that recurrent solar events (such as corotating interaction regions) have been observed at the spacecraft during much of the year 1994 (Krimigis, et al., 1997) and the first half of 1997. This increased activity clouds the trends which would otherwise appear similar to those at V1. If the two aforementioned active periods are excluded, therefore, notice that the V2-CH01 %fore decreases over the 1992-1997 period, and that the V2-CH16 and CH23 factors increase, as with V1. Notice also that there does appear to be a slowing in the increase of the ACR proton (CH16 & 23) %fore in between 1996 and 1997. The trend for V2-CH03 alpha particles (still excluding the V2 active periods) is again similar to that of CH01 protons (at V1 and V2).

It should be emphasized, of course, that the preceding discussion of percentage-foreground for each rate-channel should not be extended to the rates themselves. Nevertheless, the fact that the %fore and the bulk rate are typically correlated suggests that the discussion does point to the underlying causes for the trends, despite the fact that the rates themselves are ignored.

In figures 2.2-6., 10., 14., 16., 17., 18., and 19., which follow, the PHA Matrices for the channels V2-CH03, V2-CH16, V2-CH23, V1-CH01a, V1-CH01b, V1-CH16, and V1-CH23, respectively, are displayed. In theses figures the foreground and background regions are illustrated. In addition to these figures, the regions used for the CD analysis for the V2 channels and the count distributions are displayed. Note that two figures for V2-CH01, (2.1-2 & 2.1-3.), have already been presented in the previous section concerning CDA.

Fig. 2.2-4. Voyager 2, 1994/104-286, CH03, D1 vs. D2 Matrix. The red boxes indicate the CDA matrix regions.

Fig. 2.2-5. CDA Count Distribution (Probability vs. Count/TAI) for Voyager 2, 1994/104-286, D1 vs. D2 CH03 Matrix.

Voyager 2 CH03

Fig. 2.2-6. V2, 1994/104-286, CH03, D1 vs. D2 Matrix. F/B Regions.

Voyager 2 - CH03
















1997/190 +


Fig 2.2-7. Table of %Foreground Factors for V2 - Rate CH03.

Fig. 2.2-8. Voyager 2, 1996, CH16, D5 vs. D4 Matrix. The red boxes indicate the CDA matrix regions.

Fig. 2.2-9. CDA Count Distribution (Probability vs. Count/TAI) for Voyager 2, 1996, D5 vs. D4, CH16.

Voyager 2 CH16




Fig. 2.2-10. V2, 1996, CH16, D5 vs. D4 Matrix. F/B Regions in red boxes.

Voyager 2 - CH16
















1997/190 +


Fig 2.2-11. Table of %Foreground Factors for V2 - Rate CH16.

Fig. 2.2-12. Voyager 2, 1996, CH23, D4 vs. D3 Matrix. The red boxes indicate the CDA matrix regions.

Fig. 2.2-13. CDA Count Distribution (Probability vs. Count/TAI) for Voyager 2, 1996, D4 vs. D3, CH23.

Voyager 2 CH23



Fig. 2.2-14. V2, 1996, CH23, D4 vs. D3 Matrix. F/B Regions in red boxes.

Voyager 2 - CH23
















1997/190 +


Fig 2.2-15. Table of %Foreground Factors for V2 - Rate CH23.

Fig. 2.2-16. V1, 1992, CH01, D1a vs. D2 Matrix. The red boxes indicate the Fore/Background regions.

Fig 2.2-17. V1, 1992, CH01, D1b vs. D2 Matrix. The red box indicates the Foreground region.

Voyager 1 CH01a, CH01b, CH16 & CH23



Fig. 2.2-18. V1, 1996, CH16, D5 vs. D4 Matrix. The red boxes indicate the Fore/Background regions.

Fig 2.2-19. V1, 1996, CH23, D4 vs. D3 Matrix. The red boxes indicate the Fore/Background regions.


Part 3.

Voyager LECP Analysis Programs


3.1.1. Abstract 28

3.1.2. Introduction 28

3.1.3. Methodology 28

3.1.4. Procedure for Running FILTER 29

3.1.5. Technical Notes 31



3.2.1. Abstract 33

3.2.2. Introduction 33

3.2.3. Methods and Procedures 33


3.3.1. Abstract 34

3.3.2. Introduction 34

3.3.3. Calculating the Flux 34

3.3.4. Input VOFLX File (IVF) Format 35

3.3.5. Interactive Data Entry 39

3.3.6. Data Reports 42

3.3.7. OM and PC Flux Algorithms 43

3.3.8. Further Documentation 44


3.4.1. Abstract 45

3.4.2. Introduction 45

3.4.3. Collecting PHA Matrices 45

3.4.4. Procedures for Running Program VMATX 46


3.5.1. Abstract 50

3.5.2. Procedure 50


3.6.1. Abstract 52

3.6.2. Introduction 52

3.6.3. Procedure 52

In this part, the primary programs used to help examine the conditions at the two Voyager spacecraft are described. In sections 3.1. and 3.2. program FILTER and its associated diagnostics are discussed. This program filters out unwanted records and then combines many files together to form convenient large MRT files. VOFLX is the program which derives the differential flux for various species of ions, information important to the study of the space plasma and cosmic rays in the outer heliosphere. The programs VMATX and BOXPLOT aid the understanding of the PHA data, by displaying PHA matrices with superimposed flux-boxes which allow us to identify species by their particle tracks, or to recognize possible background. VODATA supports VOFLX, by lending additional information about the PHA data. The practical use of this program is detailed in part 2.



3.1.1. Abstract

Program FILTER (see source code, section A.1.) is used to filter out time-spikes, time-step-backs and data records which do not contain scientific telemetry, such as engineering and calibration records. The method by which this is accomplished is explained and the procedures for running the software are detailed.

3.1.2. Introduction

The Voyager LECP data is received in the form of MRT files (see section 1.3.). Each file is made up of records which contain time-tags indicating the time at which the measurements stored in the record were made at the spacecraft, as well as data words indicating the type of data stored in the record (see section 1.3.). The records are intended to be stored in chronological order, (based on the time-tags), within each MRT file, but occasionally it is found that records are out of order. When a time-tag of a record is earlier than the time-tag of the preceding record, we may refer to the early record as a time-step-back. When a record's time-tag is "much later" than the preceding record, (see below for a more precise definition), this is called a time-spike. One MRT file typically contains data from several consecutive days. Program FILTER has been designed to remove records of the wrong type, or with out-of-order time-tags, and to concatenate the MRT files into files spanning longer time periods.

3.1.3. Methodology

The method used to remove MRT records of the wrong type is straightforward, but first we must define what is meant by type. The type refers to the data contents of the record; some records contain data from measurements made by the LECP instrument, and other records contain engineering or calibration data. For our calculations, we are interested only in the instrument measurements, which are contained in the MRT records (see Technical Notes, section 3.1.5., below). Unwanted records are removed by retaining only those records which are in the MRT mode and are not in the CAL2 mode (see section 4.2.7). The program reads in each record from one or more MRT files and then writes the records which are to be retained to a new output MRT file.

The time-step-backs and spikes are removed by means of a user defined window (see figure 3.1-1). As the program reads in consecutive records it checks to see if the current record is in the filter window anchored about the previous record. The window is defined by an interval of time, pre , before the previous record and an interval of time, post , after the previous record. If the current record's time-tag is less than the upper time limit, and greater than the lower time limit, the current record is retained, otherwise it is filtered out.

The filter window is represented in figure 3.1-1., centered about the previous (n-1) record. There are two possible outcomes for the present (n) record -- it is either filtered out or retained. The boxes below the time line that are labeled "good" are retained since they are within the time filter window. The remaining boxes, labeled "spike" and "step-back", each have two arrows to indicate that the current (n) record that is at or outside of the window will be filtered out. (See Technical Notes, section 3.1.5., below, for information on how FILTER deals with data gaps that extend beyond the window.)

Fig. 3.1-1. A schematic illustration of the time filter window. The boxes represent records which have time-tags with values indicated along the time line. The index n corresponds to the "current" record, while n-1 indicates the "previous" record. The boxes below the time line show various possible outcomes for the current record. The "good*" notation is meant to remind us that the pre-filter time is typically chosen to be zero, so this possibility usually does not arise.

3.1.4. Procedure for Running FILTER

To demonstrate the run-time procedure, a sample interactive input session is listed. In this example we assume that the user desires to filter Voyager 1 data, for all of 1992, with the pre-filter-time set to zero and the post-filter-time set to 1 day. Then the user wishes to place this data into a file named outfile.mrt. For clarity, all user-input data will be emphasized by a bold type-face. (Note: the $ symbol is used to indicates the system prompt.)

$ r filter

--------------------------- FILTER ----------------------------

This program is designed to filter and concatenate voyager

interplanetary MRT files by time index and your specifications.

All non - MRT Records will automatically be filtered out.


Please enter an alphanumeric OUTPUT filename WITHOUT an extension.

Both .MRT and .LOG files will be created with this filename.

The filtered data will be placed in the .MRT file and

the .LOG file will contain information about its contents.

Enter OUTPUT filename: outfile

Please enter the NUMERICAL, 8 DIGIT Start & End MRT filenames

WITHOUT the .MRT extension. (# = 1 or 2 for voyager s/c number)

Enter STARTING filename [#yydddhh]: 19200000

Make sure the first digit (#) is the same for End and Start .

Enter ENDING filename [#yydddhh]: 19236700

Start File: 19200000.MRT End File: 19236700.MRT


You will be asked to enter both the pre & post filter times.

They are to be entered as INTEGER data only.

The pre & post filter times define a window around the last

MRT record, in which the time-filtering will occur.

The pre-filter time is the amount of time before the last

MRT record and the post-filter time is the amount of time after

the last MRT record. Any records found outside of this

window will be discarded from the new filtered output MRT file.

Enter PRE-FILTER time [yy,ddd,hh,mm]: 0,0,0,0

Enter POST-FILTER time [yy,ddd,hh,mm]: 0,1,0,0

Searching Files:

Directly following this output, the program will list all of the files that it attempts to open, as follows,

Trying to open file: 19200000.MRT

Trying to open file: 19200001.MRT

Trying to open file: 19200002.MRT

Trying to open file: 19200003.MRT

Trying to open file: 19200004.MRT

Trying to open file: 19200005.MRT


(The ellipsis indicates that some of the output has been deleted to save space.) When an MRT record is encountered the program produces a list of all records which are filtered out of the data set. For example,


Trying to open file: 19200522.MRT

Trying to open file: 19200523.MRT

File Opened: 19200523.MRT

FILTER: 19200523.MRT RECORD #: 10. TIME: 92:005:23:22 REC TYPE: ENG /NORM

FILTER: 19200523.MRT RECORD #: 26. TIME: 92:005:23:45 REC TYPE: ENG /NORM

FILTER: 19200523.MRT RECORD #: 42. TIME: 92:006: 0:33 REC TYPE: ENG /NORM


FILTER: 19200523.MRT RECORD #: 369. TIME: 92:007:15:32 REC TYPE: MRT /CAL2

FILTER: 19200523.MRT RECORD #: 370. TIME: 92:007:15:35 REC TYPE: MRT /CAL2

FILTER: 19200523.MRT RECORD #: 374. TIME: 92:007:15:31 REC TYPE: ENG /NORM

FILTER: 19200523.MRT RECORD #: 376. TIME: 92:007:21:20 REC TYPE: ENG /NORM


FILE: 19200523.MRT has been transferred.

Searching Files:

Trying to open file: 19200622.MRT

Trying to open file: 19200623.MRT

Trying to open file: 19200624.MRT


This information is also recorded in the log file which, for this example, would be named outfile.log. Upon completion, the program should print the statement,

END OF FILE(s) --- filtering and concatenation complete ,

to the screen, which indicates that the program has completed the task successfully. At this point the file outfile.mrt should contain the filtered and concatenated data. The run-time instructions are largely self explanatory, though it should be emphasized that the MRT files must have the proper name convention in order for FILTER to work properly (See section 4.5. for a shortcut for renaming unconventionally named files). The pre-filter-time, which is represented as pre in figure 3.1-1., is usually chosen to be zero, since it is assumed that all step-backs are erroneous records. The one-day post-filter-time, (cf., post), is the standard interval which we have used for our entire filtered data set. To prevent accidental deletion of existing data, selection of the output filename is restricted to filenames which do not already exist in the active directory.

3.1.5. Technical Notes

Reference to the source code listing (see section A.1.) when reading these notes may be necessary for a complete understanding of the material. More detail can also be found in the comments contained in the source code itself and in the telemetry document by Hook.

1. The record type is indicated by the integer*2 value of the 22nd word (bytes 43-44) in each record (Hook, memorandum, 1990). The possible types are, MRT, MPT header, SEDR, ENG, and, CAL. Of these, only the MRT records (word(22) = 1, in the CR5a telemetry mode) contain scientific data. The other records contain engineering, calibration, or other data which are not useful for investigating the heliosphere. There is also a second calibration mode, (CAL2), which is indicated by status-word 4 (SW4), the 13th word in the record (bytes 25-26). When the 22 bit of SW4 is equal to one, the record is a CAL2 mode record, but when the bit is zero, the record is normal. (See section 4.2.)

2. To prevent confusion when reading the source code (section A.1.) it is instructive to point out the following (perhaps unorthodox) method which was used to read and open consecutive files and write the filenames to a log file. FILTER assumes the following naming convention for the input MRT files:


where # is the Voyager spacecraft number (1 or 2), yy is the two digit year (e.g., 97), ddd is the three digit day of the year, hh is the two-digit, (24-hour-clock) hour of the day and .MRT is the traditional extension. The MRT file name, by convention, contains information about the time-tag of the first record of the file (see section 4.5.). The program reads in files in chronological order by incrementing an integer variable, filenum. Then filenum is written to a new line in the (text) log file, followed by the .MRT extension. This same line is then read by the program, but this time as a character string, filename. Then the filename string is used in the open command as usual. In this way, the incrementing integer can be used to open a file while at the same time recording the information in the log file.

3. The program does allow for data gaps which extend beyond the post-filter-time. The maximum allowed data gap is dictated by a constant, MAXGAP, in the program which is presently set for 15 days (it would be a simple matter to modify this to be a user-defined function, if one wished). The means by which data gaps are allowed for, is based on the fact that most time-spikes are observed to be "very different" from the current record time. For this reason, we can be fairly confident that a jump in time less than 15 days is probably due to a data gap and not due to a time-spike. If there were no MAXGAP parameter, then a record could jump a year, say, and then all of the intermediate data would be lost. It is wise to inspect the output file, to make sure that there have not been "too many" or "an atypical pattern of" data gaps, since the potential does exist for accidental removal of data if time-spikes less than MAXGAP become common. Programs useful for these tests are RECTIME (section 3.2.) and INTERPLAN.

The MAXGAP constant, thought similar to the POST-FILTER time (PFT), serves a distinct purpose. If a record (at time tn) is read and found to have a time beyond that specified by the PFT (i.e., greater than tn + PFT), then the record will be filtered out. At this point, the tn-1 (see figure 3.1-1.) time must be reset. It is in the decision regarding how to reset the window "anchor" time that MAXGAP is used. If the nth record referred to above is within the window prescribed by MAXGAP (i.e., less than tn-1 + MAXGAP) then the fact that the record is outside of the PFT window is assumed to be due to a data gap, rather than due to a time-spike. In this case, then, the new anchor of the time window is defined as the time tn-1 + MAXGAP. If this were not done then all data following the data gap would be excluded by the filter program. If, on the other hand, the nth record is outside the MAXGAP window (i.e., greater than tn-1 + MAXGAP) then this record is assumed to be a time-spike, since (it is assumed) data gaps are always of a duration less than MAXGAP. In this case the center of the time window does not change.





3.2.1. Abstract

Program RECTIME and its modification RECTIME2 are simple, useful programs for confirming that FILTER properly dealt with time-spikes and time-step-backs. The programming method and run-time procedures are discussed.

3.2.2. Introduction

Programs RECTIME and RECTIME2 (for source code listing, see section A.2.) are closely related programs. RECTIME writes a list of lines to a text file, (named rectime.dat), each of which contains the ordered pair,

(record number, record time-tag).

This data may then be imported into a program such as KaleidaGraph so that the behavior of the record time-tags may be graphically inspected. This is useful if one wishes to confirm that there are no unexpected data gaps or to check for other time-tag related problems. RECTIME2 is a modification of RECTIME that counts the number of time-step-backs and time-spikes (the output-file feature is disabled in the present version, see below). Since the RECTIME2 source code contains all of the RECTIME code, we can understand both programs by restricting our discussion to RECTIME2 .

3.2.3. Methods and Procedures

The program is quite small and straightforward in design. The user inputs the name of the file to be read at the (file name:) prompt which is written to the screen upon running RECTIME2. Then the program reads in each record from that file and extracts the appropriate data. If a record's time-tag is equal or less than the time-tag of the previous record, RECTIME2 increments the step-back counter. Likewise if the present record's time-tag is greater than 10 days ahead of the previous time-tag then the time-spike counter is incremented. RECTIME2 lists the year and day of any out-of-sequence times and then displays the results of the tallies after the entire file has been read.

As can be seen, the following line is commented out of the RECTIME2.FOR code:

c write(20,fmt='(1x,f10.0,1x,f10.0)') recnum,time

If the comment character "c" is removed, then RECTIME2 will list the ordered pairs just as RECTIME does. The programs are kept separate as a matter of convenience, but could easily be combined if one so desired. See the source code listing (A.2) for details.



3.3.1. Abstract

By using both the pulse height data and the count rates we are able to calculate the differential flux, , (often called simply the "flux"), for several species of ions with energies between roughly 0.3 and 30 MeV/nucleon. The primary tool for producing these calculations in the program VOFLX_CR5a., which works accurately only with LECP data in the CR5a telemetry format. The method used by the program to calculate the ion flux will be discussed, as well as the procedures for running the software. (See the source code listing in section A.3. for full detail.)

3.3.2. Introduction

The pulse height data from adjacent pairs of detectors in the telescope may be used to construct PHA matrices, (see section 3.4.), which contain information about the ion's energy deposit, , in the first detector and total remaining energy, , deposited in the second (stopping) detector. Differing species trace out characteristic tracks in the PHA matrix, (see figure 3.3-1.), therefore, the species can be identified. The rate-scalers count the number of particles per second that are within various rate-channels corresponding to rather coarse regions of the PHA matrix. By dividing the PHA matrix into finer "flux-boxes" which define energy intervals for specified species, it is possible to calculate the flux over limited energy ranges.

Fig. 3.3-1. A portion of the Voyager-1, 1996/1-365, D5 vs. D4 PHA Matrix. The y-axis runs from D5 energy-channel 100 to 130 and the x-axis runs from D4 energy-channel 90 to 140. The color-scale for the number of PHA counts is: White = 0; Black = 1 or 2; Dark Blue = 3 to 9; Light Blue = 10 to 30; Green = 31 to 99; and Red = 100 to 315. Each of the four red boxes defines a distinct energy interval for oxygen ions. (note: Matrix elements that lie on a box boundary are considered to be "inside" that box.)

3.3.3. Calculating the Flux

Each "box" in the PHA matrix (see figure 3.3-1.) is designed to collect PHA counts for one species of ion over a defined energy range. In general, under measurement (indicated by ), the analytical differential flux, , for ions of a single species and energy range becomes the measured differential flux, , as follows (see OM and PC Flux Algorithms section 3.3.7., below):


where is the number of PHA counts in a box with the energy range , for a specified ion, during a given total accumulation interval (TAI), indexed by ; is the total number of valid PHA counts of a given rate, , during the TAI, ; is the number of rate-counts as measured by the th rate-scaler during the interval ; and is the so called geometric factor composed of the area and solid angle for the relevant detector pair. The summation over indicates the sum of all of the TAI in the time period of interest, the summation over indicates the sum of all rate-channels included in the box and the active 187.2 second period of each TAI is represented by . The time index, , is written as a function of the to indicate the fact that not all rates contain the same set of TAI's since individual rate data may be removed from a TAI which includes a rate spike. (See section 3.3.4. below for information on rate spikes.)

As an example consider the calculation of flux for the left-most box in figure 3.3-1. This box is for oxygen in the range 9.6 - 12.9 MeV/nucleon.* It turns out that this box is partially in each of two rate-channels, CH19 and CH20. The program first goes through each record and sums each of the six quantities, , , , , , and , over the valid TAI's and calculates the total time coverage for each rate, and . Then, along with the energy interval and geometric factor supplied by the user in a (.IVF) file, these are put together according to equation 3.3-1. to determine the flux, as follows:

This is in agreement with the program's result.

3.3.4. Input VOFLX File (IVF) Format


Line Number or

Line Number Range

Description of

Data Content

Data Type or

Data Format


Name and Description

Character String

(2, . . . , Nb + 1)

Flux-Box Specifications

Delimited List

(See figure 3.3-3.)

Nb + 2

End of Box Definitions Flag


(Nb + 3, . . . , Nb + Nr + 2)

Rate Specifications

Delimited List

(See figure 3.3-5.)

Nb + Nr + 3

End of File Flag


Fig. 3.3-2. A table illustrating the general IVF data format.

There are two groups of user-defined data that must be read in by VOFLX for it to proceed: the .IVF file and the interactive data. The IVF contains the definitions of the flux boxes and rate limits, while the run-time data entered interactively includes time period, sector range, and data set selection. The IVF has the general format outlined in figure 3.3-2.


Name of Data Element


Description of Data




Box Name -

Ion Species

2-digit Character String



Rate-Channel Number

For CH01 to CH09:

3-digit code:

= rate number

For CH10 and higher :

rate number



PHA Matrix

(Detector Pair)

2 delimited integers from 1 to 5


IY(1,i), IY(2,i), IY(3,i), IT(4,i)*


Flux-Box Coordinates

6 delimited integers

(see figure 3.3-4.)

E1, E2


Energy maximum and minimum (in MeV/nucleon)

2 delimited real-valued numbers



Geometric Factor (in cm2 . steradians)

1 real-valued number





0 don't add to

previous box

1 add to previous box



Normalization Rate

Rate Normalization:

0 use IBNUM

0 use INORM

Fig. 3.3-3. A table describing the Flux-Box Specifications for the IVF.

The Input Voyager Flux (IVF) file provides VOFLX with essential data such as the specification of the flux-boxes and the rate-channels. The general IVF format is described in figure 3.3-2. Line 1 of the IVF contains a character string which may name or describe the file (cf., figure 3.3-6.) The next set of lines describes the flux-boxes and have the general form:

IBXNAM IBNUM, IDY, IDX, IXLO, IXHI, IY(1,i), IY(2,i), IY(3,i), IY(4,i), E1, E2, G, IADDON, INORM,

where each of these names is described in figure 3.3-3. Typically the chemical symbol for the ion is used for IBXNAM, as in figure 3.3-6. The second datum corresponds to the rate-channel to be used in the flux calculation. For CH01 - CH09 it is necessary to indicate which detectors in the D1a, D1b mosaic are to be included; as indicated in figure 3.3-3., this is accomplished via a three digit code, where the first digit is the channel number, the second digit is 0 (zero) and the third is either 0, 1, or 2. For the last digit, a 0 indicates the inclusion of both D1a and D1b events, while 1 or 2 means that only D1a or D1b events, respectively, will be used in the flux determination. (For example, in figure 3.3-6., line 2, the 101 indicates CH01a and line 3 indicates CH03a.) The next six data define the coordinates of the corners of the flux box as shown in figure 3.3-4. The two data that follow the coordinates, E1 and E2, define the energy range such that E1 is the energy/nucleon associated with the IXLO channel and E2 is associated with IXHI. The geometric factor, G, is next, followed by two special purpose flag-codes IADDON and INORM.

Fig. 3.3-4. Schematic depiction of the Flux-Box Coordinates for a Y vs. X PHA matrix. The IY1, IY2, IY3, and IY4 coordinates are stored in an array called IY(j,i), where j indexes the y-coordinate (1, 2, 3, and 4) and i indexes the present box number in the loop. (See subroutine VOFL1 in section A.3. for details.) The (~E1) and (~E2) are the incident energies associated with the left edge of the IXLO and right edge of the IXHI channels, respectively.

IADDON is used to add up the flux from several boxes. If the flag is equal to 1 in a particular line then the flux from the box defined by the current line is added to the flux of the box associated with the previous line. This can be used to calculate the flux when the particle track crosses a rate-channel boundary (as in lines 3 and 4 for He and lines 5 and 6 for O in figure 3.3-6.) or to determine the flux for two adjacent boxes (as in lines 8 and 9). Suppose the two oxygen boxes defined in lines 8 and 9 have the fluxes, and , then the summed flux would become:

where is the maximum (minimum) MeV/nucleon limit of the box defined by line 8 (9), and the function takes on the value of its argument {a, b, c, ...} that is a maximum (minimum). The INORM code is used to normalize the box to a rate other than the one normally associated with the a box. In this way the box-counts, BXCNT (), are associated with the IBNUM valued rate-channel, but the valid PHA counts, VPHCNT (), the time coverage, RTCOV (), and the rate-counts, RTCNT (), are all associated with the rate-channel with the value INORM. In the following code fragment, N refers to the rate which may be an INORM rate and the I labels the rate associated with the Ith flux-box:



where FLUXOM and SIGOM are the "old-method" flux and uncertainty. (Note that only old method (OM) flux calculation is used in the present (1992 - 1997) low-flux regime. See section 3.3.7., below.)


Name of Data Element


Description of Data








Min. Rate Limit (c/s)

Real Number



Max. Rate Limit (c/s)

(a.k.a., Spike Limit)

Real Number (E10.4, exponential format)

D15(1,j), D15(2,j)*


D1/5 PHA Min. & Max.

2 delimited integers

D2(1,j), D2(2,j)


D2 PHA Min. and Max.

2 delimited integers

D3(1,j), D3(2,j)


D3 PHA Min. and Max.

2 delimited integers

D4(1,j), D4(2,j)


D4 PHA Min, and Max.

2 delimited integers

Fig. 3.3-5. Table of rate specifications for the IVF.

Below the box specifications in the IVF is a termination flag 0,0,0,0 which signals the beginning of the rate-specification lines; each of these lines have the following form:

IRNUM, RMIN, RMAX, D15(1,j), D15(2,j), D2(1,j), D2(2,j), D3(1,j), D3(2,j), D4(1,j), D4(2,j)

where each data element is described in figure 3.3-5. IRNUM is the rate-channel number -- not the 3-digit code as in the box section (cf. lines 11, 12 and 13, figure 3.3-6.) -- and the limits on the rate take the values defined by RMIN and RMAX. Typically RMIN is set to zero and RMAX is chosen to exclude rate-spikes which are found in the data set.

Line Number

Sample IVF File


V1 interplanetary boxes 12-JUL-97 LEPT & HEPT


H 101, 1,2, 42, 57, 53, 49, 65, 62, 0.663, 0.825, .220, 0,0,


He 301, 1,2, 65, 79, 78, 75, 84, 81, 0.646, 0.818, .220, 0,1,


He 501, 1,2, 65, 79, 78, 75, 84, 81, 0.646, 0.818, .220, 1,0,


O 19, 5,4, 98,112, 124,120, 127,124, 9.6, 12.9, 1.50, 0,0,


O 20, 5,4, 98,112, 124,120, 127,124, 9.6, 12.9, 1.50, 1,0,


O 20, 5,4, 113,122, 120,114, 124,119, 12.9, 19.1, 1.50, 0,0,


O 20, 5,4, 123,129, 114,110, 119,115, 19.1, 27.2, 1.50, 0,0,


O 20, 5,4, 130,135, 109,105, 114,110, 27.2, 37.2, 1.50, 1,0,




1, 0., 1.1E-1, 1,300, 1,300, 0,40, 0,14,


3, 0., 5.4E-2, 1,300, 1,300, 0,40, 0,14,


5, 0., 2.7E-2, 1,300, 1,300, 0,40, 0,14,


19, 0.,2.7E-2, 5,300, 0,60, 0,20, 10,300,


20, 0.,2.7E-2, 5,300, 0,60, 0,20, 10,300,



Fig. 3.3-6. A sample (.IVF) file to illustrate the IVF format (cf. figure 3.3-2.)

Next are the PHA energy-channel limits. These are set to exclude invalid PHA data which are found to be in error or are not desired for a particular application. For example, if one wants to insure, (beyond the on-board electronic logic circuits), that the ions in question are stopped in D2 after passing through D1, then placing a low upper limit on D3 and D4 would be advisable. The D15 notation is meant to remind us that this PHA coordinate contains data for either D1 or D5 depending on the PHA-ID (see section 1.). Following these data is the final termination flag, as indicated in the last line of figure 3.3-2.

3.3.5. Interactive Data Entry

The run-time or interactive data entry serves the purpose of defining specific time periods, spacecraft, data-sets, sectors and selection of the IVF file. All input data are preceded by prompts, nevertheless, some discussion of the procedures for interactive data entry should prove helpful. A sample run-time session for VOFLX_CR5a which exhibits most of the information needed to run the program will be listed (with the user-entered data emphasized by change of type-face) and a discussion of particulars will follow. To determine which version of VOFLX_CR5a to use, first read the text file, voflx_cr5a_readme.txt, which should be in the same directory as the executable files (presently, $voy:[voyager.process] on the UMDSP VAXstation ).

$ r voflx_cr5a


VERSION: Version: CR5A, v142 9/97















Note: Pseudo-Count Delta-T default is now 1440 minutes.


Sector Limits: First enter LEPT sectors or special 0,0 or -1,0.

Second, if not a special selection, you will be prompted to

enter HEPT sector limits.





Please enter HEPT-rate sector limits:

Enter negative values for HEPT-directed (180 deg shifted) sectors, or use

positive values for LEPT-directed (absolute) sectors, as given by

MRT word #16. Enter 0,0 to use same LEPT-directed values above.

ormat [(+/-)Minimum-Sector,Maximum-Sector):






VOFL2: start of subroutine

Species in present Input Voflx File (.IVF):







what is the mrt file name: filt_v2_1992.mrt

file successfully opened

The first datum to be entered is the name of the IVF which is to be used for this run of VOFLX_CR5a (see section 3.3.4., above). The next set of lines entered define the time period or periods to be analyzed. The format is,


where the number in parentheses indicates the number of digits for the associated datum. The first four data define the initial time to be included in the time period and the next four data define the final time to be included in the period. Each line of the above form thus indicates the beginning and ending time for the time period. The final zero must be included at the end of the line. As can be seen in the example session above, it is possible to enter multiple time periods; these periods may be adjacent (e.g.. day 0-20 and day 20-40) or separated (e.g.. day 20-40 and day 100-110), and there may be up to 50 of them per program run. The nine comma-delimited zeros indicate that all the desired time periods have been entered.

The next data pair defines the flux-averaging interval and pseudo-count time interval. For the first datum enter the amount of time (in minutes) that is desired for each flux average. For example if the overall time period is one year, but it is desired to have the average flux for each month in that year, one should enter 43200 for the first number in the pair, (for example 43200,0). The output file will then list full VOFLX summaries for each 43,200 minute time period within the year. Usually this value is set to zero when the flux is low so that the entire period is averaged and we will have sufficient statistics. The second datum, the PC interval, defines the time period over which the pseudo-counts will be calculated for the PC method of determining the flux. Again, in the low flux periods prevalent in the outer heliosphere, we typically use the old method (OM) normalization and so set this datum to zero. (See section 3.3.7., below.) The pseudo-count method gives erroneous results if any PC interval has no counts in the normalizing rate.

The next pair of data defines the angular sectors that will be included in the flux calculation. The form is (minimum-sector, maximum-sector), where the minimum-sector can also take the value of special codes. (Unless otherwise noted, all sector values refer to the absolute, LEPT-directed sector, as defined by the 16th MRT record data word -- see below.) The minimum and maximum sector may define a sector range that "wraps around"; so the entry (6,2) indicates that sectors 6, 7, 8, 1, and 2 are to be selected just as the entry (2,7) indicates that sectors 2, 3, 4, 5, 6, and 7 are selected. The special codes are for input of the form (-1,0) and (0,0). The (-1,0) indicates that no selection-requirements are made on the basis of sector, therefore the sector information in each record will be ignored by the program, so all sectors (including unknowns) will be included. A (0,0) entry indicates that the shielded-sector should be removed from the data set. This is sector 8 for the low energy aperture (LEPT) and sector 4 for the high energy aperture (HEPT). The shielded sector is the sector with the sun-shield (necessary for the early part of the mission) which also contains an 241Am alpha source. If either of the previous two special codes is used, then the next data pair will pertain to status conditions (see below) but if an actual range is specified, (as in the sample session), then the program will prompt for HEPT sector information.

Fig. 3.3-7. Illustration of LEPT and HEPT sector specifications. The numbers inside the circle are the absolute, LEPT-directed sector values. The numbers just outside of the circle are the HEPT-directed sector values and the letters are "sector" directions with respect to the spacecraft location, but independent of the LECP instrument direction (e.g., from the present spacecraft position, direction H always points toward the sun, while direction D points directly away from the sun). The situation depicted here shows the instrument to be in sector 7, (absolute, as indicated by MRT word 16), which means the LEPT-directed sector is 7 and the HEPT-directed sector is 3, or LEPT points in the G direction and HEPT points in the C direction.

For the HEPT sector limits there are three choices: first, the user may enter (0,0) indicating that the same (absolute) LEPT-directed sector values used in the LEPT sector specification should be used (see figure 3.3-7.). Second, the user may enter a positive valued range to specify a different LEPT-directed sector range. Third, the user may enter a negative valued range, indicating the HEPT-directed range desired. The motivation for using LEPT and HEPT-directed sector specifications is that there are a variety of reasons to limit the sector range. If, for example, one wishes to examine a specified direction in space (perhaps only the direction pointed directly away from the sun) then it would be convenient to enter (4,4) for the LEPT sector range followed by (-4,4) for the HEPT range, indicating that only particles that enter an aperture open away from the sun (direction "D" in the figure) should be included in the calculations. If, on the other hand, a particular sector (as indicated the MRT word) in known to contain bad data, it would be convenient to remove this sector (say, sector 2) by entering (3,1) for the LEPT sector specification and either (0,0) or (3,1) for the HEPT sector specifications. In this way both physical and instrumental considerations are dealt with simply. It should be emphasized (especially for the user writing non-interactive command processes to run the program) that the HEPT sector data is only requested when a range is selected in the LEPT sector specification, otherwise, if (-1,0) and (0,0) are used, the HEPT data-prompt is skipped completely.

The next pair(s) of data are for specifying status conditions for unacceptable data. These two data have recently always been set to zero, but the potential exists to specify status condition rejection of data after, perhaps, some modification to the program's source code.

After the program lists the species (box names) present in the designated IVF, it prompts for the MRT file. This is the file containing the data to be studied. Once this filename is entered the program begins the calculations.

From time to time the program will interrupt the calculations to display a message and prompt the user for further information. The most common situation is when the MRT file ends before the designated end time. In this case the program displays the following to the screen:

end of file encountered

do you want to continue or stop [c,s]:

If an s is entered, the program will end as usual, but if a c is entered, the user will be prompted for the name of another MRT file to continue with the calculations. (If a user is developing command procedures it is useful to add an entry of s after the MRT filename line so that the command procedure will end if the end-of-file character is encountered.)

3.3.6. Data Reports

There are two standard data reports produced by VOFLX_CR5a at the end of each successful run. They are the voflx.prt and the voflx.dat files. The voflx.prt file is also referred to as a VOFLX summary and it contains the numerical fluxes, errors, information from the IVF and rate calculations. The voflx.dat file is designed for easy import into a graphing application such as KaleidaGraph, for the production of energy spectra.

The VOFLX summary contains first, a summery of the interactive input and the IVF content, followed by the flux report. Each box in the IVF is given a number based on its order in the IVF. Under the heading BOX the number is listed so that one may compare the report data with the IVF data. When a number of boxes are summed (using the IADDON flag) the result is listed (without a box number) below the last box in the sum. For each box the following information is given, as labeled by the heading: BOX is the box number; NAME is name of the box, usually the chemical symbol for the species; RATE is the rate-channel-code (see IVF section above) indicating which rate-channel is used for the box; FLUX(PC) and SIGMA(PC) are the (pseudo-count method) flux and the uncertainty in units of ; FLUX(OM) and SIGMA(OM) are the flux and uncertainty using the "old method" which was discussed above, (in the same units as PC); BOXCNTS is the number of PHA counts which were in the box during this run of the program; PSEUDOCNTS is the total number of pseudo-counts, (PSEUDOCNTS = , where and are defined in the OM and PC Flux Algorithms Section, below); EMIN and EMAX are the minimum and maximum energy/nucleon (in MeV/nuc) as specified in the IVF; G is the geometric factor (in cm2-sr) from the IVF; ADDON is the IADDON flag that indicates when boxes are summed (see IVF section, above); and INORM is the normalization rate used in the calculation.

Following the flux report is the rate report containing information about the rates specified in the IVF. The following data are listed under the column headings: RATE is the rate-channel; AVE is the average rate (RATE COUNTS / COVERAGE) for this rate-channel (in s-1); RATE COUNTS (see , below) is the number of particles counted by the rate scaler in this time interval; COVERAGE (, see below) is the total amount of time for the active portion of the time period examined by the program; VALID PHA (, see below) is the total number of PHA counts that were within the limits defined in the rate section of the IVF; TOTAL PHA is the total number of PHA counts, irrespective of the PHA limits; %PH ANALYZED VALID is the ratio of VALID PHA to RATE COUNTS; %PH ANALYZED TOTAL is the ratio of the TOTAL PHA to RATE COUNTS; and NO. RATE SPIKES is the number of TAI's in which the rate was outside the limit set in the rate portion of the IVF.

The text of the voflx.dat file is not intended to be read directly as it is formatted for ease-of-import into plotting applications. It is, however, necessary to know that the delimiter used is a single comma (,). It is important that the delimiter be set properly to maintain proper column alignment.

3.3.7. OM and PC Flux Algorithms

For reference, the equations representing the algorithms used in VOFLX_CR5a to compute the OM and PC fluxes (as well as other related quantities) and a table relating the symbols to the program variables are presented below:

Summation over t implies summation over all data in the period of interest (or current pseudo-count interval) that is valid for the specified quantity. Thus, summations over t for different quantities (possibly with different indices) may be over slightly different sets of records for each, since validity of individual data is determined according to the program's criteria on a case by case basis. Note, when = 1, the relation for reduce to equation 3.3-1., (for summation over just one rate). The description of the symbols follows:

Relationship Between Symbols and Program Variables


Description of Symbol

Program Variable(s)

Old Method (Differential) Flux


Pseudo Count Method (Differential) Flux


OM Uncertainty in the Flux


PC Uncertainty in the Flux


Pseudocounts for box i, in PC interval j


Box-Counts for box i, in the tth TAI


Rate-Counts for box i, in the tth TAI


Valid PHA Counts box i, in the tth TAI



Geometric Factor for the Detector Pair Associated with Box i


The tth TAI for the Rate Associated with Box i, with Active Value of 187.2 s


Total Number of Boxes in a particular Sum,

(for IADDON = 1); Otherwise, (IADDON = 0), it takes the value of one


Total Number of Pseudo-Count Intervals in the Period of Interest


Maximum (Minimum) Energy Limit for the ith box

E2(), maximum

E1(), (minimum)

The jth Pseudo-Count Interval



Index for All Boxes in The Sum



Index for All Pseudo-Count Intervals



Index for All TAI for a Particular Rate associated with box i, (representation of the i dependence of t is suppressed and instead i is indexed separately on each quantity)



Fig. 3.3-8. Table of important symbols used in this article.

3.3.8. Further Documentation

VOFLX_CR5a is a modification of VOFLX, by Dale C. Brown, 9 July 1982. The modification histories for VOFLX_CR5a and its two subroutine VOFL1 and VOFL2 are listed in the header comments of each file (see source code, section A.3.). The documentation for the 23 March 1988 version of VOFLX, (Brown, 1988) is a useful reference and was helpful in the creation of this article. The CR5a telemetry document (Hook, memorandum, 1990) contains details concerning the contents of the MRT records necessary to interpret the source code.



3.4.1. Abstract

In this section the algorithm used by the program VMATX to produce pulse height analysis matrix displays (PHA matrices) will be illustrated. The methods and procedures involved in running the program will be detailed.

3.4.2. Introduction

The purpose of program VMATX is to enable the user to view the PHA data generated by the Voyager LECP instrument. This is done by collecting PHA matrices, which have the energy-channel values of two detectors on the axes and indicate the number of PHA counts for a given matrix element utilizing either a color-scale or an alphanumeric code. The program allows the user to select the detector pair (e.g., D1 vs. D2), the rate-channel (if desired), the range of sectors and the scale factor for the output. The program also produces three useful output types: *.mtx, vmatx.prt, and vmatxplot.dat. VMATX enables the output of a so called "disc file", which has been conventionally labeled with the mtx extension. This file is presently only used as an input file for a program called VHIST, which sums PHA counts along the particle tracks. The vmatx.prt file contains the ASCII print-file which utilized alphanumeric characters to display the matrix which was collected during the most recent run. The vmatxplot.dat file is also a text file, but is formatted such that it can be easily imported into a plotting program (specifically, KaleidaGraph) so that the matrix can be displayed in a color-scale format (see figure 3.5-1.). The color-scale format has the advantage that the flux boxes can be appended to the display by using the BOXPLOT program (see section 3.5.).

3.4.3. Collecting PHA Matrices

The method employed by VMATX to collect the PHA matrix is straightforward and of little direct scientific interest (as opposed to VOFLX_CR5a which carries out the scientific analysis directly); it is the result of this program that is examined in order to better understand possible background in the PHA data, therefor the procedures for running the program will be emphasized. Nevertheless, a word on the basic algorithm is needed to properly understand the output.

Before presenting the method, a definition must be given for the matrix, as it used in the program. The matrix is a two-dimensional histogram indexed by the energy-channels from two user-selected detectors. That is, if the PHA energy-channel values of the detectors selected are Dx and Dy and the matrix is written Ma,b, then M10,20 = 5 means that there are five PHA data points which have the energy-channels Dx = 10 and Dy = 20, where x and y label the detectors chosen for the x and y axes.

As mentioned above, the program allows the user to collect a matrix for a particular rate-channel. In this case the program simply searches the PHA-ID of each PHA data point. When the PHA-ID corresponding to the selected rate-channel is located the energy-channels for the Dx and Dy detectors are identified, such that Dx = a and Dy = b. Then the matrix element, Ma,b, is incremented such that Ma,b goes to Ma,b + 1. This process will be referred to as incrementing the matrix.

There is another method of collecting a matrix which is available. In this method, the user selects the logic that is desired. For example, one can display a matrix for the D1D2 logic, which would mean that the matrix contains only PHA which correspond to events which have triggered the D1 and D2 detectors, but implicitly have not triggered the D3 detector or anticoincidence cylinder. Likewise the D5D4D3 logic implies that the D5, D4, and D3 detectors are triggered and (again, implicit to the notation) an anticoincidence with D2 and the anticoincidence cylinder. The method by which this is done is essentially the same as the rate-selection method above, except, instead of the program searching for a particular rate-channel PHA-ID, it searches for the set of such PHA-ID's which meet the logical condition selected by the user.

Presently VMATX comes in two primary versions., the standard version and the IVF version. The standard version is what has been described so far, but the IVF version also reads the IVF files (designed for use with VOFLX_CR5a -- see section 3.3.) to determine a set of limits to place on the various rate-channels. This is done so that VMATX will display exactly the same data that VOFLX analyzes. VMATX only considers the rate-channel limits at the end of the IVF file, ignoring the definitions of the flux boxes. These limits apply a minimum and maximum rate allowed for each rate-channel. If a rate is determined to be outside of this range, then all PHA data points with the PHA-ID associated with the rate-channel in question are ignored for a given record. Also, for each rate-channel, there are limits placed on the minimum and maximum PHA values for each of the four PHA coordinates in the data point. Thus the D1/D5, D2, D3 and D4 values must be within the range of energy-channels defined in the IVF file to be included in a matrix. In summary of this point, the IVF version searches the PHA-ID's exactly as with the non-IVF version, but additionally checks the values of the PHA coordinates and the rate associated with the PHA-ID under consideration. Since the IVF version is required to check the rate and PHA limits, this version ignores all rate-channels that are not among those listed in the IVF file.

3.4.4. Procedures for Running Program VMATX

The run-time data entry proceeds as a typical prompted-response interactive session. Therefore it is helpful to expound upon the program's queries and to give a sample session. First the sample session is given, and then a discussion of the session follows, with the various queries explained in turn. The following sample asks the program to produce the vmatx.prt and vmatxplot.dat output files for a D1a vs. D2 matrix. The data are from two non-consecutive time periods for Voyager 1 in 1996: the first is from the beginning of the year through the end of day 99 and the second is from the beginning of day 200 to the end of day 299. The matrix energy-channel limits selected for the run are those which maintain a standard format for the color-scale display method. The version used for this example is VMATX5_IVF_V015, located in the $voy:[voyager.process] directory. To learn which version is most current, one should view the voyager_readme.txt file, (in the same directory), which contains version information on all relevant voyager programs. What follows is the complete on-screen output from the sample session described above. For convenience, the user-input statements are highlighted, to distinguish them from the program's output text. (Note that although the IVF version is used here, the procedure is nearly the same for the standard, non-IVF version of VMATX.)



Sample run-time data entry session for VMATX5_IVF_V015:

$ r vmatx5_ivf_v015

WARNING! matrix element limited to <= 1010 to temp-fix overflow

Do you want to ignore parity errors [y/n][n]:

What is the MRT file: filt_v1_1996.mrt



Do you want to save the matrix in a disk file?[Y/N]


call vmat1

VMATX5 now reads IVFs to display only PHA data used by VOFLX.

Enter name of INPUT-VOFLX-File (.IVF): v1_spectra.ivf














in vmat2: NTP = 2













# Y STEPS(160 MAX.), # X STEPS(125 MAX.)

Use 1,1,1,1,160,160 for Color-Scale Matrix, vmatxplot.dat option



1=D1D2, 2=D2D3, 3=D5D4, 4=D0D2, 5=D5D4D3, 6=D5D4D3D2, 0=RATE. 1





Time Period Number: 1

start day: 0

end day: 100


1st valid record: Y,H,S = 96 44 1036

Time Period Number: 2

start day: 200

end day: 300


1st valid record: Y,H,S = 96 4800 76

*** Output for (boxplot.for) flux box plot is in VMATXPLOT.DAT





The first comment by the program indicates that no matrix values above 1010 will be recorded. Thus the histogramming stops for a matrix element that reaches this maximum value. So far, data examined on yearly time-scales since 1991 rarely exceed this maximum, therefore this limitation, (which was inserted to prevent an overflow of the matrix) , does not negatively impact the analysis. The parity error query has been disabled in the present version. The user is then prompted for the MRT filename which should include the .mrt extension and contains many MRT records grouped in chronological order. In this case the filt_v1_1996.mrt file contains all MRT records from 1996 for the Voyager 1 spacecraft. The terminal method is always presently used, so one should enter a zero, 0 , in response to the terminal prompt, as indicated above.

The next question offers the user the opportunity to create the disc file discussed in the introduction to this section. This selection causes the program to output this disc file in addition to the two standard ASCII files. Since the disc file is only infrequently used, it was not selected in this sample, as indicated by the n entry.

The prompt concerned with the IVF file is only applicable in the IVF version of VMATX; in the older, non-IVF versions, this filename is not needed. For the IVF version, which was used for this sample, the v1_spectra.ivf entry indicates that this file should be used to determine what limits to place on the rate-channels.

The next series of queries prompts the user to enter the time periods that are of interest. The program allows non-contiguous time periods to be entered. First the user enters the starting time, then the ending time. If only one time period is desired, then the user should enter the string of zeros to flag the end of the time-period list. As an example of multiple time-period entry, in this sample, the user chose to enter a second period before completing the time entry.

The 0,0 entry for the "ISMIN" is used in selecting the sectors to include. By using this double zero option, the program selects only sectors that do not include the shielded sector for a particular rate-channel, that is, excluding sector 8 for LEPT rate-channels and excluding sector 4 for HEPT rate-channels. The other option that is frequently used is the -1,0 option which places no restriction on the sectors to be included in the PHA matrix. The -2,0 option is not presently used on the current data set. The user may also directly indicate the minimum and maximum sector values to be included. The next query concerning the status condition is always answered with the 0,0 string for the current data set.

The next section prompts the user for information defining the scale and range of the vertical and horizontal dimensions of the matrix. Since a standard form is desired, the given response it typically used, except for special purpose examinations. In order for the color-scale plots to be accurate and consistent, the given 1,1,1,1,160,160 string must be entered, as the program's comment suggests. This string indicates that the matrix should extend from energy-channel 1 through 160 for both the x and y indices and that each 1x1 (one energy-channel by one energy-channel) matrix element should have its own bin in the matrix histogram.

The logic or rate desired can be selected in the next section. In this example, the user has selected the D1D2 logic, by entering 1, the standard display (D1 vs. D2 matrix), by entering 0,0, no priority requirements, by entering 0, and has selected only the D1a detector, by entering 1. (It is also possible at this point to enter a particular rate-channel. One does this by entering a zero, as the prompt indicates. Then the program would go on to prompt the user for the particular rate and other display information.) After the user is prompted (in this case) to select either D1a or D1b, the program begins collecting the matrix.

After the search of the MRT records in the file is complete, the program asks the user to enter a scale factor. By entering a zero, 0, the user indicates that no scaling should take place. Any entered positive factor will divide the number of PHA counts in each matrix element by the scale factor. In this way, matrices with intense PHA counts can be viewed conveniently. If at any point the program encounters an error, it will either prompt the user for the information needed to continue or simply stop running if the error is fatal.

An illustrated example of the color-scale output is deferred until the next section concerning the BOXPLOT program (figure 3.5-1.), since it is with this program that the flux-boxes are added to the matrix, thus completing the standard final matrix display.




3.5.1. Abstract

Program BOXPLOT reads Voyager IVF files and then creates an output file which may be appended to a VMATX vmatxplot.dat output file. The resulting file may be imported into a plotting program such as KaleidaGraph resulting in a color-scale PHA matrix with the flux boxes superimposed. The procedure used to accomplish this is discussed.

3.5.2. Procedure

First, one must create the vmatxplot.dat file using program VMATX, as in the previous section. Using the example from section 3.4., we will assume that the matrix of interest is a D1a vs. D2 matrix. To superimpose the flux boxes appropriate for this matrix, one must run program BOXPLOT. Below is listed the contents of the session in which this is done, with the user-input data highlighted:

$ r boxplot

PROGRAM: BOXPLOT - Re-formats IVF files into KaleidaGraph-

friendly text files for plotting voyager LECP flux boxes.

The output file is: boxplot.dat

Please enter IVF filename [30 char. max]: v1_spectra.ivf

Please enter detector axes (1-5) for matrix plot [y,x]: 1,2

To produce the proper flux boxes, it is required to use the same IVF file as has been used to produce the vmatxplot.dat file. At this point, BOXPLOT has created a file which contains ordered pairs designating the corners of each of the flux boxes in D1 vs. D2 matrices. These sets of ordered pairs will be referred to as box parameters for the purpose of this discussion.

When creating either a D1 vs. D2 matrix or a D0 vs. D2 matrix (D0 is alternatively named D1c) it may be necessary to edit the boxplot.dat file. This is due to the fact that the IVF file does not discriminate between D1 and D0 in the detector specifications. Therefore, what must be done is to delete the D0 flux box parameters for a D1 matrix or to delete D1 box parameters from a D0 matrix. For non D0 or D1 related matrices, no editing is necessary. In our example, the D0 vs. D2 boxes must be deleted, since the IVF does contain D0 boxes and we wish only to include D1 boxes.

With the now properly edited boxplot.dat file, it is time to add the flux box data to the end of the matrix data file. This is done using the VMS APPEND command, as follows.

$ append boxplot.dat vmatxplot.dat

This will append the boxplot.dat file to the end of the vmatxplot.dat file. Now it is necessary to transfer the resulting vmatxplot.dat file to the computer which has the plotting program. Once this is done, it can be imported into that program. The specification of the import must have a single comma set up as the delimiter. If this is done properly, it will then be easy to plot the matrix in a color-scale form. (See figure 3.5-1. for the D1a vs. D2 matrix with flux-boxes superimposed which resulted from the example runs in this and the previous sections. This matrix represents the standard output presently used.)

Fig. 3.5-1. Example of a D1a x D2 PHA matrix with flux-box overlay (in red).



3.6.1. Abstract

The VODATA program analyzes an MRT record and then produces a number of output files corresponding to various types of analysis. In this section, the use of VODATA to produce count distributions for rates and PHA regions is emphasized. The procedures for running VODATA are given, as illustrated by an example run.

3.6.2. Introduction

The function that VODATA plays in the array of analysis programs used to study LECP data is the capability to analyze only the data that is within user-definable regions of PHA matrices. In addition to defining up to fifteen regions, (each in any matrix configuration), each region can have any combination of PHA-ID's as a requirement. Also, it is possible to select two rates that are associated with each region in such away that possible misidentification can be accommodated. The types of analysis currently available are: count distribution histogramming, count distribution histogramming by sector, rate anisotropy plots, average rate by rate-channel and sector, and number of PHA counts by PHA-ID and sector. However, the only method which has been extensively used and maintained is the count distribution method.

3.6.3. Procedure

Collecting rate count distributions for various regions or rates is the essential first step in count distribution analysis as discussed in section 2.1. All of the rate count distributions presented in this work were produced using VODATA (see 2.1 and 2.2. for examples) and thus it is necessary to know the procedures for using this program before utilizing the CDA method. The program has one input file, called .VSP (Voyager SPike), and requires the user to enter data defining the regions. As in the other sections describing programs, the run-time procedure are illustrated with an example, and subsequently described.

The following example illustrates a run which defines three regions. The time period included is 1996/001-050 for Voyager 1. The first "region" is a count distribution for CH01 including all records in the interval without any PHA or rate limitations. The second two regions divide a D1 vs. D2 PHA matrix into two regions; one includes all data records that have D1>30 and the other includes those data records that have a D1 value less than 30. The example follows, with the user-input data highlighted:

$ r vodata

program VODATA

This program reads Voyager MRT, mode 5A, UV-5A files.

Default spike limit is 10000 per 187.2 s record interval.

Vodata spike files are in counts per 187.2 s interval.

Standard vodata spike file should have the .VSP extension.

Enter Spike Limit File Name, [40 char. max/none]: none

Enter The Input (.MRT) File, [*.MRT]: filt_v1_1996.mrt

Start Time (YY,DDD,HH,MM,SS): 96,1,0,0,0

End Time (YY,DDD,HH,MM,SS): 96,51,0,0,0

Enter Number of Regions desired, [1/2/.../15/else=0]: 3

Enter Parameters for Region 1.

Enter Y-axis detector, [1=D1 or D5/2=D2/3=D3/4=D4]: 1

Enter X-axis detector, [1=D1 or D5/2=D2/3=D3/4=D4]: 2

Enter Region Name, [name/def:name (def reg)]: def:CH01 Rate Sample

Enter the Incremented Rate Channel, [CH01/.../PL05/.../EB03/.../none]: CH01

Enter the Associated Rate Channel, [CH01/.../PL05/.../EB03/...]: CH01

Enter Parameters for Region 2.

Enter Y-axis detector, [1=D1 or D5/2=D2/3=D3/4=D4]: 1

Enter X-axis detector, [1=D1 or D5/2=D2/3=D3/4=D4]: 2

Enter Region Name, [name/def:name (def reg)]: PHA Region D1<30

Enter PHA rate-channel IDs, [NO(=no more)/1A/1B/2A/2B/.../9A/9B/10/11/.../36/43]

: 1A

Channel 1A has been selected.

Enter PHA rate-channel IDs, [NO(=no more)/1A/1B/2A/2B/.../9A/9B/10/11/.../36/43]

: 1B

Channel 1B has been selected.

Enter PHA rate-channel IDs, [NO(=no more)/1A/1B/2A/2B/.../9A/9B/10/11/.../36/43]

: no

Select entire matrix? (Otherwise, define limits.) [y/Y/n/N]: n

Enter x1, [1...256]: 1

Enter x2, [1...256]: 256

Enter y1, [1...256]: 1

Enter y2, [1...256]: 30

Enter m1, [Real]: 0

Enter b1, [1...256]: 1

Enter m2, [Real]: 0

Enter b2, [1...256]: 256

Enter m3, [Real]: 0

Enter b3, [1...256]: 1

Enter m4, [Real]: 0

Enter b4, [1...256]: 256

Enter the Incremented Rate Channel, [CH01/.../PL05/.../EB03/.../none]: CH01

Enter the Associated Rate Channel, [CH01/.../PL05/.../EB03/...]: CH01

Enter Parameters for Region 3.

Enter Y-axis detector, [1=D1 or D5/2=D2/3=D3/4=D4]: 1

Enter X-axis detector, [1=D1 or D5/2=D2/3=D3/4=D4]: 2

Enter Region Name, [name/def:name (def reg)]: PHA Region D1>30

Enter PHA rate-channel IDs, [NO(=no more)/1A/1B/2A/2B/.../9A/9B/10/11/.../36/43]

: 1A

Channel 1A has been selected.

Enter PHA rate-channel IDs, [NO(=no more)/1A/1B/2A/2B/.../9A/9B/10/11/.../36/43]

: 1B

Channel 1B has been selected.

Enter PHA rate-channel IDs, [NO(=no more)/1A/1B/2A/2B/.../9A/9B/10/11/.../36/43]

: no

Select entire matrix? (Otherwise, define limits.) [y/Y/n/N]: n

Enter x1, [1...256]: 1

Enter x2, [1...256]: 256

Enter y1, [1...256]: 30

Enter y2, [1...256]: 256

Enter m1, [Real]: 0

Enter b1, [1...256]: 1

Enter m2, [Real]: 0

Enter b2, [1...256]: 256

Enter m3, [Real]: 0

Enter b3, [1...256]: 1

Enter m4, [Real]: 0

Enter b4, [1...256]: 256

Enter the Incremented Rate Channel, [CH01/.../PL05/.../EB03/.../none]: CH01

Enter the Associated Rate Channel, [CH01/.../PL05/.../EB03/...]: CH01

3 region(s) defined:

CH01 Rate Sample

PHA Region D1<30

PHA Region D1>30

Searching records.

First Record: 96/001 20:17:16

Last Record: 96/050 23:58:04

Sorting histogram distributions.

Opening file: VODATA01.DAT 11:21:57 30-JAN-98

Opening file: VODATA03.DAT 11:21:57 30-JAN-98

Opening file: VODATA07.DAT 11:21:57 30-JAN-98

Opening file: VODATA08.DAT 11:21:57 30-JAN-98

Opening file: vodata09.dat 11:21:57 30-JAN-98

Reformating sector frequencies for output.

Writing count distribution data to VODATA01.DAT

Writing count distribution data to VODATA08.DAT

Computing long-period rate averages.

Writing long-period rate averages to VODATA07.DAT

Writing Counts, Coverage, PHA totals and %PHA to VODATA09.DAT

Calculating PHA event totals

Writing PHA event totals to VODATA07.DAT

Writing anisotropy data to VODATA03.DAT

Closing data files.

The first datum requested is the name of the VSP spike file. A file must be created containing spike limit information before one can use this feature. The file format is simply a list of channel names each of which has a real count value associated with it. It is only necessary to list those rate-channels for which non-default spike limits are required; any non-listed rate-channel will retain the default value of 10,000. A short example will most quickly demonstrate the format of the .VSP file:

CH01 94.

CH03 187.

CH31 18700.

(The carriage-return-character at the end of each of these three lines and the end-of-file-character at the bottom of the list are implicit.) This VSP file would assign a spike limit of 94. counts per TAI to CH01, and a spike limit of 18700. to CH31, for example. A non-listed rate-channel, such as CH05, would be given the default spike limit value of 10000. counts per TAI. Since the user input none in the example run, all rate-channels have the default spike value.

The user entered the name of the MRT file, filt_v1_1996.mrt, in response to the request for the input file. All of the data to be analyzed must be contained in this MRT file. The next two prompts request the start and end times defining the time interval. The 96,1,0,0,0 and 96,51,0,0,0 entries for these limits imply that all records in the MRT file containing time-tags from the beginning of day 1 through the end of 50 in the year 1996 shall be included in the data set.

Next, the program requests the number of regions the user wishes to define. This user entered 3, so the program requests the limits and definitions for three separate regions. The user selected a D1 vs. D2 matrix for the first region by entering the 1 and then the 2 values. For the next part, the user has a choice of either entering a so called "default region" or specifying a normal region. For this region, by entering def:CH01 Rate Sample, the user has requested a default region. The prefix "def:" will not be included in the name of the region -- it is a flag for the default region option. A default region simply corresponds to what can be called a rate count-distribution. That is, a count distribution will be collected for a particular rate, using all records in the selected time interval (i.e., no requirements are made based on the PHA data). Since the user has entered CH01 for the associated rate (the incremented rate is irrelevant here, see below) the result will be a count distribution consisting of a histogram of the number of counts in each record from the CH01 rate. This ends the region-one definition.

Region-two is selected to be from a D1 vs. D2 matrix in the same manner as region number one. This time, the user did not wish to select a default region, as evidenced by the lack of the "def:" flag. Therefore, the name of this section is "PHA Region D1<30". In the next section, the user is prompted to enter the PHA-ID's to be included in this regional definition. All PHA-ID's except 1A and 1B will be excluded from this region. The user has entered no to indicate the termination of the PHA-ID list.

In the next section the user must enter a list of values that define the region in the above selected D1 vs. D2 matrix. The method used to define the region requires the definition of four lower-bound lines and four upper-bound lines. The region is the area in the matrix that lies between these lines. In figure 3.6-1. the general description of this eight-line method is illustrated. After the general description the specific case for region-two will be discussed.

Fig. 3.6-1. Illustration of the eight-line regional definition method used by VODATA. The four red lines represent the lower bounds and the blue lines indicate upper bounds. The two vertical-line limits are defined by the values x1 and x2. The two horizontal-line limits are defined by the y1 and y2 values. There are two lower-limit lines defined by slopes and intercepts, m1, m3, b1, and b3. The two upper-limit lines are defined by the slopes and intercepts, m2, m4, b2, and b4. The odd indices are for the lower limits while the even indices are for the upper limits.

If DX and DY are the horizontal and vertical detectors, then the following inequalities define the PHA data to be included in a given region:

x1 < DX < x2 y1 < DY < y2

m1*DX + b1 < DY < m2*DX + b2 m3*DX + b3 < DY < m4*DX + b4

For region-two above, the user has entered 1 as the minimum x-energy-channel and 256 as the maximum x-channel. The minimum y-energy-channel has been selected to be 1 while the maximum y-channel is 30. This serves, in essence, to restrict the region to only those PHA that fall below the y-channel value of 30 and above the y-channel of 1. The remaining four lines define two lower-limit lines defined by the slope of 0 and the intercept of 1 and two upper-limits defined by the slope 0 and the intercept 256. These four lines serve to make no additional limitation on the PHA data to be included in this region. The net result of all eight lines is to define a region that is limited only to PHA data points with a D1 energy-channel value less than 30 and greater than 1 and a D2 value less than 256 and greater than 1.

The next section requests the incremented and associated rate-channels. Again, as in region-one, the relevant rate-channel entry in regards to the count distribution is the "Associated Rate Channel", here entered as CH01. The "Incremented Rate Channel", also entered as CH01, refers to a label given to each region for the sole purpose of the anisotropy plots. The anisotropy feature intends to compare the rate-intensity of a defined region across each sector by calculating a normalization factor based on the PHA data and multiplying it by the rate appropriate to those PHA data; this is done individually for each of the eight sectors. The purpose of the incremented rate channel option is to deal with possible misidentification in the PHA data (see 2.1). If, for example, a region is believed not to be an incrementing region (that is, a region that includes mostly PHA data which correspond to events that did not increment the rate associated with the PHA-ID), then during normalization one would not wish to include these data. With the incrementing rate-channel feature, one could then label the regions that actually increment the rate differently than the non-incrementing region. Then, when the region of interest (with respect to analysis of the anisotropy) is calculated, it will not be affected by the bogus non-incrementing PHA data. It should be noted that the anisotropy feature has been designed as stated above, but has not been used for practical applications nor has it been extensively tested. Therefore, modifications may be required for proper utilization of this feature.

In the third region, named PHA Region D1>30, the same D1 vs. D2 matrix with PHA-ID's of 1A and 1B is selected as above. The only difference is the selection of the y1 and y2 values, which define the region with D1 greater than 30 and less than 256. Both the associated and incremented rates are selected to be CH01, as for regions 1 and 2.

Once the third region is defined the three region names are summarized in an on-screen list. The program then begins the search and collection of the count distribution histograms (as well as performing the other analysis). Some program information is then listed, such as the names of the output data files, before the program ends. The data files of interest for count distributions are VODATA08.DAT and VODATA01.DAT. The first of these files gives the count distribution data for each region, which can easily be imported into a plotting program such as KaleidaGraph using the "space 1" delimiter setting. The second of these files lists the sector-by-sector breakdown for the first two regions, plus up to three additional regions without sector analysis. Typically the first file, VODATA08.DAT, is the file of interest in regard to count distribution analysis, so an output listing from this data file, corresponding to the example detailed above, will be given below. Note the connection between the data contained in this output file with the input data given in the run-time session example above:

VODATA08.DAT 11:21:57 30-JAN-98

This is a data file of VODATA.FOR

MRT file analyzed: filt_v1_1996.mrt

Start Time, [yy/ddd hh:mm:ss]: 96/001 00:00:00

End Time, [yy/ddd hh:mm:ss]: 96/051 00:00:00

First Record, [yy/ddd hh:mm:ss]: 96/001 20:17:16

Last Record, [yy/ddd hh:mm:ss]: 96/050 23:58:04


Region # 1, CH01 Rate Sample

PHA Matrix (note: d1=d5): d1 vs. d2

All PHA Rate-Channel IDs are selected.

[ ( 0.00)(d2) + ( 0.00) ] < [ (1.)(d2) + (0.)(d1) ] < [ ( 0.00)(d2) + (256.00) ]

[ ( 0.00)(d2) + ( 0.00) ] < [ (0.)(d2) + (1.)(d1) ] < [ ( 0.00)(d2) + (256.00) ]

[ ( 0.00)(d2) + ( 0.00) ] < [ (0.)(d2) + (1.)(d1) ] < [ ( 0.00)(d2) + (256.00) ]

[ ( 0.00)(d2) + ( 0.00) ] < [ (0.)(d2) + (1.)(d1) ] < [ ( 0.00)(d2) + (256.00) ]

Associated/Incremented Channel: CH01/CH01

Region # 2, PHA Region D1<30

PHA Matrix (note: d1=d5): d1 vs. d2

[ ( 0.00)(d2) + ( 1.00) ] < [ (1.)(d2) + (0.)(d1) ] < [ ( 0.00)(d2) + (256.00) ]

[ ( 0.00)(d2) + ( 1.00) ] < [ (0.)(d2) + (1.)(d1) ] < [ ( 0.00)(d2) + ( 30.00) ]

[ ( 0.00)(d2) + ( 1.00) ] < [ (0.)(d2) + (1.)(d1) ] < [ ( 0.00)(d2) + (256.00) ]

[ ( 0.00)(d2) + ( 1.00) ] < [ (0.)(d2) + (1.)(d1) ] < [ ( 0.00)(d2) + (256.00) ]

Associated/Incremented Channel: CH01/CH01

Region # 3, PHA Region D1>30

PHA Matrix (note: d1=d5): d1 vs. d2

[ ( 0.00)(d2) + ( 1.00) ] < [ (1.)(d2) + (0.)(d1) ] < [ ( 0.00)(d2) + (256.00) ]

[ ( 0.00)(d2) + ( 30.00) ] < [ (0.)(d2) + (1.)(d1) ] < [ ( 0.00)(d2) + (256.00) ]

[ ( 0.00)(d2) + ( 1.00) ] < [ (0.)(d2) + (1.)(d1) ] < [ ( 0.00)(d2) + (256.00) ]

[ ( 0.00)(d2) + ( 1.00) ] < [ (0.)(d2) + (1.)(d1) ] < [ ( 0.00)(d2) + (256.00) ]

Associated/Incremented Channel: CH01/CH01

Region 1 = CH01 Rate Sample

Region 2 = PHA Region D1<30

Region 3 = PHA Region D1>30

"Counts" indicates the number of counts/record in the corresponding region.

UKn indicates unknown sector in region n.

n-m indicates region n, sector m.

999 in a sector indicates no such counts in region


(Frequency of records with specified number of counts/record.)

Counts Region1 Region2 Region3 Region4 Region5 Region6 Region7 Region8 Region9 Reg.#10 Reg.#11 Reg.#12 Reg.#13 Reg.#14 Reg.#15

0 11564 265 9 0 0 0 0 0 0 0 0 0 0 0 0

1 4206 97 74 0 0 0 0 0 0 0 0 0 0 0 0

2 918 24 33 0 0 0 0 0 0 0 0 0 0 0 0

3 169 5 6 0 0 0 0 0 0 0 0 0 0 0 0

4 37 3 1 0 0 0 0 0 0 0 0 0 0 0 0

5 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0

7 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0

29 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0

49 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0

185 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0

492 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0

538 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0

1508 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0

1969 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0

22646 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0

54154 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0

78769 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0

94523 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0

102400 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0

161477 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0

2016492 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0

3780923 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0

4032985 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0

11594830 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0

11846893 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0

14115446 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0

The header of this VODATA08.DAT file (up to the COUNT DISTRIBUTION ANALYSIS heading) follows the same format as that used by VODATA01.DAT. Note that, to save space, the program only lists non-zero count bins. For example, the data above indicate that there were no records in the specified time interval in which there were six countsper TAI in region-one (CH01 Rate Sample), but there were two records that had seven counts per TAI in region-one.

Part 4.

Miscellaneous Problems with LECP Data



4.1.1. Abstract 59

4.1.2. Introduction 59

4.1.3. The PHA Data Shift in the MRT Records 59

4.1.4. Supporting Evidence for the PHA Data Shift 60



4.2.1. Abstract 62

4.2.2. The First Calibration Mode 62

4.2.3. The Second Calibration Mode 62

4.2.4. Calibration Spike Removal by FILTER 62



4.3.1. Abstract 63

4.3.2. Subcommutation of Rates 63

4.3.3. Problems with the Subcommutated Rates 63

4.3.4. Evidence for the Incorrect ID Convention 64

4.3.5. The New Subcommutation Convention 64


4.4.1. Abstract 65

4.4.2. Introduction 65

4.4.3. Procedure 65



4.5.1. Abstract 66

4.5.2. Introduction 66

4.5.3. Procedure 66











In this part, miscellaneous topics concerning the procedures and format of the LECP telemetry data are discussed. As mentioned in the introduction to part 2, the CDA method properly belongs in this part since it is an example of a method useful for analyzing LECP data. The articles herein contain practical information that should be important to one who is analyzing data returned from the LECP instruments. Some of the sections are concerning problems found in the data or in the telemetry conventions, and other topics present procedures which were found to be useful.





4.1.1. Abstract

The PHA data points for Voyager 1 are misaligned with the header and rate data in the MRT records. First, this misalignment is defined and described, then, the remedy and likely cause is discussed, and finally the supporting evidence is given.

4.1.2. Introduction

The pulse height data for an analyzed particle is stored in the form of a five-byte PHA data point. There are a maximum of thirty-two such PHA data points recorded in each CR5a MRT record. Each data point is made up of five individual one-byte coordinates. The thirty-two data points are stored consecutively at the end of each record; the PHA data occupy a total of 160 bytes, from byte 809 to byte 968. (See the Cruise 5a telemetry document (Hook, memorandum, 1990) and section 1.6. for related detail). The "32nd PHA data point" is thus a shorthand for the data point that occupies bytes 964 to 968 (inclusive) of an MRT record.

4.1.3. The PHA Data Shift in the MRT Records

To remedy an error apparently introduced during processing, it is necessary to ignore the 32nd data point when analyzing voyager 1 data. This is necessary because this data point is not associated with the record in which it resides; the 32nd data point of each MRT record actually contains data which were accumulated during the TAI associated with the next MRT record.

Fig. 4.1-1. A schematic representation of the data processing error which may have caused the 32nd PHA data point to be grouped with the wrong record.

To demonstrate the misalignment of the PHA data it is useful to discuss how it might be that the 32nd PHA data point is associated with the wrong MRT record; to see this clearly it is helpful to examine figure 4.1-1. The figure shows schematically the PHA and Rate data (at the top of the figure) before they are combined into a single record. Below this, the processing stage is represented, indicated by the arrows pointing down. At the bottom of the figure, the processed MRT records are represented. When the thirty-two PHA data points from the PHA data n group are added to the end of rate data n group, the PHA data n group is shifted by one data point (five bytes) such that the first data point of the PHA data n+1 becomes grouped with the Rate Data n group instead of the Rate Data n+1 group. Thus, after processing, Record n is comprised of all of Rate Data n, plus PHA data points #2 to #32 of PHA Data n, and PHA data point #1 of PHA Data n+1.

This 32nd data point must not be included, for if it were, the flux calculations would be skewed since the calculations rely on the relationship between the rate data and the PHA data from each record. It might seem that the shifted PHA data problem would not cause much of an error if the time scale of varying flux was large compared with the 190 second TAI which corresponds to one record. This would be the case if not for the on-board calibration source which is mounted inside the sector 8 sun-shield. The high alpha particle flux (due to the source) as compared to the relatively low interplanetary He flux, presents a problem for measurements of He ions with energies similar to the alpha source; it can happen, for instance, that there is a PHA data point in a record which has no rate counts for CH05 helium ions. It is just this flux difference, however, that makes it possible to find evidence to support the theory that the PHA data points are shifted as described above.

4.1.4. Supporting Evidence for the PHA Data Shift

The LECP instrument steps through eight equal angular sectors, in the following pattern: ...3-2-1-1-2-3-4-5-6-7-8-8-7-6-5-4-3-2-1-1-2.... (The instrument remains in any given sector for the duration of one TAI.) This is important because only in a sector 7 record that is followed immediately by a sector 8 record, 7(8), would the PHA shift clearly be seen, since sector 7 will have a low interplanetary He (CH05) count rate and sector 8 has a high alpha source (CH05) rate. It is obvious upon visual inspection of a list of all 32 PHA data points per record for many consecutive records, as the sectors change, that the PHA shift best explains the data. To quantify this observation, I took a manageable sample of records and analyzed them in detail. I selected all records from days 6, 7, 8, and 9 in 1992, for the Voyager 1 spacecraft. A modified version of VOFLX_CR5a was designed (VOFLX_CR5A_V112B) to list all the CH05 PHA data points (in sectors 1-7 only) in the sampled data set. For each point, its record's time-tag was also listed, along with the sector number and other data. Using this information, and the full PHA list (provided by program INTERPLAN ) it was determined which PHA location was occupied by each data point, as well as the sector of the record following the record containing the CH05 PHA data point. Twenty records were found, each containing one CH05 PHA data point. Of these twenty, fully twelve had the attributes that they were in the 32nd PHA data point location and they were in a sector 7 record which immediately preceded a sector 8 record [i.e., sector 7(8)]. This would be an astounding coincidence if there were no PHA data shift.

The probability that this situation would occur without the PHA data shift can be calculated explicitly; but first, two reasonable assumptions are needed: First, it will be assumed that the probability to be in any one of the 32 PHA data point locations is the same, and second it will be assumed that the probability that a CH05 PHA data point is found in any one sector from 1 to 7 is the same. The second assumption is not strictly true since the particle flux could be anisotropic, but it will be seen that even a dramatic anisotropy would have no affect on our interpretation of the result. The binomial distribution gives us the probability, , of observing successes in trials when the probability of one success in one trial is exactly . We know that there are 20 trials and 12 successes, so all we need is to determine the probability, . Based on our two assumptions, it follows that the probability to be in sector 7(8) and the 32nd PHA data location is the product of the probability to be in either state separately. Thus, the probability is,


where the factor arises from the fact that there are 14 possible sector states (since sectors 8(8) and 8(7) have been excluded from the step sequence) and the factor is based on the total number of PHA data points per record. So, the probability for 12 PHA data points out of 20 to be in both the 7(8) sector state and 32nd location state is found by means of the binomial distributions to be:

It need not be emphasized that this is a vanishingly small probability. In fact, even if the anisotropy was so great that all He ions were detected in sector 7 and none in sectors 1 to 6, the probability would still be very small (). This unlikelihood and the aforementioned visual inspection of the PHA data, support the preceding description of the PHA data shift and justify the removal of the 32nd PHA data point for all Voyager 1 data showing evidence of this problem.



4.2.1. Abstract

A calibration mode exists for the LECP instrument which is not documented in the CR5a telemetry document. The circumstances of this mode's discovery are given along with the proper documentation necessary for the removal of so called "second" calibration mode records.

4.2.2. The First Calibration Mode

There is a calibration mode which is listed clearly in the CR5a telemetry document (Hook, memorandum, 1990) as being indicated by the twenty-second integer*2 word in the MRT header. When this word takes the decimal value of 11, the record corresponds to a calibration record, and thus should be eliminated from the scientific data set. This removal is done in program FILTER.

4.2.3. The Second Calibration Mode

It has been determined that there is also another calibration mode. This "second" calibration is not mentioned in the telemetry document. The mistakenly included calibration records evidenced themselves in the form of twin spikes occurring periodically in the CH01 rate of both Voyager 1 and 2 data. At first it seemed that the spikes might have a natural origin given that their period was roughly the solar rotation period. In addition, the temporal separation between spike events at Voyager 1 and Voyager 2 could be explained by a disturbance which propagates radially at the nominal solar wind speed of 400 km/s, given the radial and angular separation of the two spacecraft.

The spike events, however, seemed suspicious since the two nearly identical spikes in each pair always seemed to be separated by about 100 minutes and that the PHA associated with the spikes did not produce a known track in the PHA matrix. Motivated by these suspicions my advisor, Professor D. C. Hamilton conferred with Dr. Ed Keath of the Johns Hopkins University Applied Physics Lab. Dr. Keath was heavily involved in the construction of the LECP instrument and it was he who developed the telemetry modes. When told of the spikes, Ed Keath determined that there was a calibration mode which was identified in the MRT records by the second (22) bit in status word four. It turned out that all of the spikes occurred during intervals in which this bit was on and that none of the spikes occurred when the bit was off. Therefore it was determined that the spikes were due to the instruments calibration cycle.

4.2.4. Calibration Spike Removal by FILTER

These spikes are now removed in program FILTER (see section 3.1.), by removing all records in which iand(in_2(13),4) equals one. The argument in_2(13) indicates status word four and the argument 4 is the decimal value of a byte when only the second bit is on. The function iand is a FORTRAN function which performs a BITWISE AND between its arguments; thus iand(in_2(13),4) = 1 means that the second bit of status word four is on, and thus that this is a calibration mode record. This "second" calibration mode is labeled with the name CAL2 by FILTER, for easy identification.




4.3.1. Abstract

When one data location in the MRT record shares the rate data from two different rate-channels, (by alternating after each TAI), the two rates are said to be subcommutated with one another. This situation occurs for CR5a data presently, and there is evidence that the ID bit convention responsible for differentiating between the two rates is incorrect. The details and evidence for this assumption are discussed.

4.3.2. Subcommutation of Rates

The CR5a telemetry document indicates that the CH13 and CH17 rates may be multiplexed (or subcommutated) with CH46 and CH47, respectively. This means that unlike normal rate scalers, which record the number of counts for the same rate-channel every TAI, the subcommutated scalers can alternate between two rate-channels (e.g.., for the first record, the CH17/CH47 location contains CH17 rate data, the next contains CH47 rate data , and so on). To differentiate between the CH17 rate, say, and the CH47 rate, a specified identification (ID) bit toggles on and off to indicate which rate is being read out in a particular record.

4.3.3. Problems with the Subcommutated Rates

There are two important points concerning the potential subcommutation discussed above. The first is simply that this subcommutation is taking place in the present CR5a telemetry mode, so this multiplexing must be accounted for. The second point is that the ID bit convention listed in the CR5a telemetry document (Hook, memorandum, 1990) seems to be wrong.

The (presumed wrong) telemetry document convention states the following: When bit 1 (21) of status word six (SW6) is equal to one, the CH46 and CH47 rates are read out (symbolically, SW6(1)=1 CH46, CH47). It is believed, for reasons given below, that this convention is wrong, making the correct convention SW6(1)=1 CH13, CH17.

CH17 is a standard rate-channel, associated with its own associated PHA-ID. The channel has D5D4 logic. CH47, however, is a "singles-rate", with logic D1F2 meaning the rate scaler increments when the D1 detector is triggered above the D1F2 energy-channel threshold; no PHA data are recorded for this single-detector rate. It is true (and verifiable by direct examination of the MRT records) that the CH17 PHA data points exist for both CH17 and CH47 records. That is, for both records in which the ID bit indicates that CH17 is read out and for records in which the ID indicates CH47 is read out, there are PHA data points with the CH17 PHA-ID. By what we know about the priority scheme (see section 1.) it is clear that the number of CH17 PHA data points in a record should represent a lower bound on the number of rate-counts the CH17 rate will record; this follows since the PHA data points are a sub-set of the CH17 rate events, all of which should be counted by the CH17 scaler.

4.3.4. Evidence for the Incorrect ID Convention

When one compares the CH17 PHA data points in a record that is supposed to be a CH17 record (according to the telemetry document convention) it is found that there are many more CH17 PHA data points than CH17 rate-counts. These PHA data fall on the nominal CH17 Helium track very well, for both CH17 and CH47 records, implying that misidentification does not explain the excess of CH17 PHA data points. When one assumes that the telemetry document convention is wrong, the situation becomes consistent with expectations: there are fewer CH17 PHA data points than CH17 rate-counts and the ratio of CH17 PHA data points to CH17 rate counts is appropriate to that of other rate-channels of the same (level 3) priority. These facts represent suggestive evidence that the bit convention is backwards, since this would be the simplest explanation.

Additional support comes from comparing the two conventions by examining the He spectrum that results from the energy band associated with CH17. The spectrum forms a smooth continuous peak in this region when the new convention is used, whereas by using the old convention, the data would yield a discontinuous jump which would be unusual for such spectra. Also, the new convention yields a differential flux that roughly agrees with an independent measurement (made the CRS instrument, also on Voyager 1 and 2), while the old convention would differ substantially.

4.3.5. The New Subcommutation Convention

For the reasons given above, it has been assumed that the old convention is indeed incorrect. The new convention is presented below for clarity:

SW6(1)=1 CH13, CH17


SW6(1)=0 CH46, CH47

(Note that SW6 is the 15th integer*2 word (bytes 29-30) in the MRT header.) This corrected ID convention has been incorporated into VOFLX_CR5a_V149 version of VOFLX, produced on 16 January 1998.

Some information has come in from Dr. T. P. Armstrong (private communication) that this identification convention may alternate between being correct and incorrect for data from 1991.



4.4.1. Abstract

The procedure is given for copying and converting unreadable MRT files stored on a CD from APL to files readable by UMD software.

4.4.2. Introduction

The University of Maryland receives the Voyager LECP data from the Johns Hopkins University - Applied Physics Lab in the form of MRT files stored on compact discs. Due to peculiarities of the systems used by each institution, it is necessary to manipulate some of the file attributes in order for the APL files to be readable by the LECP programs used by the UMD Space Physics Group.

4.4.3. Procedure

Once the CD is loaded into the UMDSP CD drive, we can access its contents. The files can be copied to the Voyager data disc by use of the commands,

cd_mount/over=id cd:

set def cd:[000000]

copy *.mrt $voy:[voyager.process]

set def $voy:[voyager.process]

The following command allows us to view or change the file attributes:

set command sys$util:file_cld

To view the file attributes of an MRT file named cdfile.mrt, for example, type:

file cdfile.mrt/out

To compare this files's attributes with those of a preexisting file named, say, discfile.mrt, we enter the command,

file discfile.mrt/out

and then compare the two output lists. There should be a difference between the TYPE, MAXIMUM_RECORD_SIZE, and VERSION_LIMIT attributes. This may be corrected, thus making cdfile.mrt readable, by making the following changes:

file cdfile.mrt/maximum_record_size=968

file cdfile.mrt/type=variable

file cdfile.mrt/version_limit=0

It is allowable to use wild cards to change the file attributes of multiple files. Before removing the CD, it is necessary to dismount the CD drive as follow:

dismount cd:

With this, the file transfer will be complete and the new files should be readable by the UMD LECP software as usual.




4.5.1. Abstract

Program FILTER requires that the MRT files it reads conform to the convention outlined in Technical Note 2 of section 3.1.5. The MRT files we receive from APL sometime fail to agree with this convention and it becomes necessary to rename the files according to the FILTER convention. Here, a time-saving procedure for doing so is described.

4.5.2. Introduction

The form of MRT filename that FILTER expects is,


But, the form of the MRT files that we receive at the University of Maryland from the Applied Physics Lab is often of another form, for example,


It becomes necessary, then, to rename the files. The VMS text editor, EVE, allows a convenient means to make these changes using the editor's LEARN command.

4.5.3. Procedure

We'll assume that we want to change the names of all files in a particular directory that are listed by the command,

dir VR*.MRT

First, it is necessary to copy the names of all these files into a text file so that we may change the names. This is done, for our example, with the following command,

dire/col=1/ VR*.MRT

where is a temporary file which may be erased when the procedure is complete. Now we edit the file we just created using EVE, with the command,


In the file in the EVE-editor will appear a single column list of all the files that we wish to rename. (Each filename will appear on its own line.) To begin, we move the cursor until it is on the same line as the first filename in the list. Then we move the cursor to its left-most location at the beginning of the line. Now we must employ the LEARN command and "teach" EVE how to rename the files. We call up the EVE command-line with the following sequence, where the "gold" key will be labeled as <PF1> and the numerical-key-pad-"7" key is labeled <7>:


This should be understood to mean, hold down the <PF1> key, strike the <7> key, and then release both keys. Now at the command line prompt we type,


Once this is entered we begin teaching EVE what to do, so we must make the appropriate changes to the first filename in the list. For example if the first filename is,


then we must delete, type, copy, past, etc. in this line only, until it reads,

$ rename VR192005.MRT 19200500.MRT

It is important to make these changes without changing or manually typing the underlined characters, (the significant characters for naming the file), since these characters are different for each filename to be renamed. To do this we must COPY and PASTE the underlined characters when we make the changes on the line, so that we are teaching EVE how to rename a filename of this form in general. Now, once we are finished making the changes, we move the cursor to the left-most location on the line directly below the present line and type,



We have just finished teaching EVE and now the learned behavior is stored in the <F8> key. (A different key may be used to store this behavior, if it is desired to do so.) If we repeatedly strike the <F8> key we should see each successive line become renamed. Now we may strike <F8> until all the filenames have been renamed (or use the REPEAT command if there are many files to rename). Now we can exit and save the document with the


command. At the system prompt type:


This will run the command process and the appropriate files in the directory should be renamed. Check this by listing the directory. With this done, FILTER will be able to read in the new MRT's properly.




Brown, D. C., VOFLX Program Description, document,, University of Maryland Space Physics Group, 23 March 1988.

Hamilton, D. C., M. E. Hill, R. B. Decker, and S. M. Krimigis, Temporal and spatial variations in the spectra of low energy ions in the outer heliosphere, Proc. Int. Cosmic Ray Conf. XXV, 2, 261-264, 1997.

Hook, B. Joy, Changes to S1P for CR-5a, memorandum to E. P. Keath, Johns Hopkins University Aplied Physics Laboratory, Subject: Changes to S1P063 to Make S1P070, Reference: 618-306 Revision D, 3 April 1990.

Krimigis, S. M., T. P. Armstrong, W. I. Axford, C. O. Bostrom, C. Y. Fan, G. Gloeckler, and L. J. Lanzerotti, The Low Energy Charged Particle (LECP) experiment on the Voyager spacecraft, Space Science Reviews, 21, 329- 354, 1977.

Krimigis, S. M., R. B. Decker, D. C. Hamilton, and M. E. Hill, Energetic ions in the outer heliosphere, Proc. Int. Cosmic Ray Conf. XXV, 1, 393-396, 1997.

Peletier, D. P., S. A. Gary, and A. F. Hogrefe, Mariner-Jupiter-Saturn Low Energy Charged Particle experiment, IEEE Trans. Nucl. Sci., NS-24, No. 1, 795- 800, 1977.