A VIDF Constant Definition consists of 5 coupled fields which together comprise the definition of a fixed reference value associated with the UDF sensors. In general they are used to define pointing directions, acceptance windows, an the like. Each defined UDF sensor may be given a unique value of the constant within the constant definition block. The constant definition blocks are always placed at the end of the VIDF after the table definitions.
Some constant definitions require predefined reference frames. The UDF uses a generic reference frame in which +Z axis points along the angular momentum vector and X and Y form a set of orthogonal axes. In this reference frame elevation or polar angles are measured from the +Z axis. Azimuth angles run from 0 to 360 degrees with 0 degrees occurring when the +X axis passes through a predefined line of sight (sun, earth, etc).
A scalar field which provides an identification tag to the defined constant. This field allows both the UDF kernel and other UDF based software to easily search the VIDF for required or optional values.
The UDF kernel software makes use of several constants definitions if found but does not require them to be present with the exception of the three constants which define the normal vectors to the UDF sensors. These must exist if the computation of pitch angles has been enabled. If they are not found the pitch angle computation is disabled within UDF kernel and pitch angles are not produced. For a discussion on the VIDF Constant ID's used by the UDF kernel and what they are used for see the section on: UDF KERNEL CONSTANT USAGE
The list of defined constant id's is shown shown in the following table.
| CONSTANT ID DEFINITIONS | |
|---|---|
| VALUE | DEFINITION |
| 0 | Generic |
| 1 | Center Elevation Angle (referenced to UDF +Z generic axis or if coning information is present to the coning axis). |
| 2 | Sensor Center Azimuthal Offset Angle From +X Generic Axis. |
| 3 | Azimuthal Field of View (FWHM). |
| 4 | Start Elevation Angle (referenced to UDF +Z generic axis or if coning information is present to the coning axis). |
| 5 | Stop Elevation Angle (referenced to UDF +Z generic axis or if coning information is present to the coning axis). |
| 6 | X Component of Sensor Normal Vector (referenced to the same coordinate system as the magnetic field vector used in the pitch angle comutation. |
| 7 | Y Component of Sensor Normal Vector (referenced to the same coordinate system as the magnetic field vector used in the pitch angle comutation. |
| 8 | Z Component of Sensor Normal Vector (referenced to the same coordinate system as the magnetic field vector used in the pitch angle comutation. |
| 9 | Elevation Field of View (FWHM) |
| 10 | Center Mass Value (amu) [-1 reserved for electron] |
| 11 | Beginning Mass Range (amu) |
| 12 | Ending Mass Range (amu) |
| 13 | Mass Range (FWHM) |
| 14 | Center Charge Value (electron = -1) |
| 15 | Beginning Charge Value (electron = -1) |
| 16 | Ending Charge Value (electron = -1) |
| 17 | Charge Value (FWHM) |
| 18 | Center Energy Value (eV) |
| 19 | Beginning Energy Value (eV) |
| 20 | Ending Energy Value (eV) |
| 21 | Charge Energy (FWHM) |
| 22 | Center Frequency Value (Hz) |
| 23 | Beginning Frequency Value (Hz) |
| 24 | Ending Frequency Value (Hz) |
| 25 | Charge Frequency (FWHM) |
| 28 | Ending Azimuth (Phase) (Degrees) |
| 29 | Sensor Center Azimuthal Offset Angle From +X Generic Axis. Angle Used in Recomputing Elevation Angles In the Presence of Coning. Omit if Identical to Constant Id 1. |
| 30 | Azimuth Offset of Angular Momentum from +X. This is used if there is shift in the original angular momentum vector. |
| 31 | Elevation Offset of Angular Momentum from +Z. If positive, this angle is taken to be a coning angle. If negative this angle is taken to indicate a change in the elevation of the original angular momentum vector. |
The field begins with the line format id b followed by an integer specifying the constant id. An optional comment field may follow.
Sample CONSTANT ID field:b 2 /* ID is Azimuthal Offset */
A scalar field specifying the number of lines of comments in the constant comment field.
The field begins with the line format id s followed by an integer specifying the number of comment lines. An optional comment field may follow.
Sample NUMBER OF COMMENT LINES field:s 6 /* Num Comments */
An array field of length Number Of Comment Lines, this field is a set of free-form text lines which make up the Constant Comments. Each element in the array is a line of text not to exceed 79 characters in length. If the number of comment lines has been declared to be 0 then this field is undefined and is entered in the VIDF as a null line.
The constant comment field begins with the array designation line: m followed by the input N 1. N is the total number of entries and is set to the value of the Number Of Comment Lines field and 1 indicates that each element in the array will occupy its own line. Each of the following N lines begins with the line format t followed by a line of text not to exceed 79 characters. An optional comment field may be added to the end of each line.
Sample CONSTANT COMMENT field:m 6 1 /* Comments */ t CONSTANT 00 /* C00 */ t /* C01 */ t This is the instrument azimuthal offset. The instrument is /* C02 */ t mounted 43.25 degrees clockwise from the satellite +X axis. /* C03 */ t Zero degrees in the satellite frame is defined to occur when /* C04 */ t when the +X axis points at the Earth. /* C05 */ s 6 /* Num Comments */
An array field of length equal to the Constant Values field to convert them from integer to real values. There is a 1-1 correspondence between the values in this field and the values in the constant value field. The scaling values are power of 10 scaling values. They are applied as
The constant value scale field begins with the array designation line: m followed by the input N M. N is the total number of entries and is set to the value of the number of sensors field and M is the number of entries given on each line. Each of the following N lines begins with the line format s followed by M entries (except the last line which may have less). An optional comment field may be added to the end of each line.
Sample CONSTANT VALUE SCALE field:m 5 5 /* Constant Scale Factors */ b -2 -2 -2 -2 -2 /* 00-04 */
This is an array field with a length equal to the length of the above Constant Value Scale field or to the number of sensors field and M is the the number of entries given on each line. Each of the following N lines begins with the line format s followed by M entries (except the last line which may have less). An optional comment field may be added to the end of each line.
Sample CONSTANT VALUE field:m 5 5 /* Constant Values */ l 4325 4325 4325 4325 4325 /* 00-04 */
The UDF kernel software makes active use of several of the VIDF constant fields if they are present. The constants and how they are used are described below.
The UDF kernel software tracks the azimuthal position of the UDF generic +X axis and returns its position at each data acquisition. When array or matrix data are being read the azimuthal position is for every array element or matrix row respectively. The computation used is:
| AZ | is the computed azimuth |
|---|---|
| A0 | is azimuth offset angle (VIDF Constant with ID=1) |
| T | is the time of the measurement |
| T0 | is the time the prdetermined location on the satellite is at 0 degrees |
| SP | is the satellite spin period |
If there is no VIDF constant with ID 2 present in the VIDF then A0 is set to 0.0 in the computation and the returned azimuths are relative to the UDF defined +X axis. The offset allows the returned azimuth to be the relative azimuthal position of the measurement in the spin and not that of the +X axis.
The UDF kernel returns the elevation angle range (minimum and maximum) at each data read. When array or matrix data are being accessed the elevation angle range is is returned for each array element or matrix row respectively. The input used to determine these angles is obtained from one or more of the VIDF elevation constants of which there are four. If there is no elevation information present in the VIDF constant block both the minimum and maximum elevation angles are defaulted to -500.0 degrees.
There are two possible senarios.
When only a single elevation constant is defined the VIDF, the value given for the sensor associated with the returned measurement is used as both the start and stop elevation angle.
When two or more of the elevation constants are listed in the VIDF, the UDF kernel takes the first two encountered and constructs the start and stop elevation angles from these. The formula used depends on the Elevation Constants read. The formula are given below.
Given:| CONSTANT ID 1 | = C |
|---|---|
| CONSTANT ID 4 | = L |
| CONSTANT ID 5 | = U |
| CONSTANT ID 9 | = W |
| Using C and L: | Elower = L Eupper = 2.0 * C - L |
|---|---|
| Using C and E: | Elower = 2.0 * C - E Eupper = E |
| For C and W: | Elower = C - W/2.0 Eupper = C + W/2.0 |
| For L and W: | Elower = L Eupper = L + W |
| For U and W: | Elower = U - W Eupper = U |
| For L and U: | Elower = L Eupper = U |
When a definition for Constant ID 31 is found in the VIDF, the UDF kernel software will modify the returned start and stop elevation angles for instrument coning. There are two separate formulas used depending on whether the value is positive or negative.
This represents the case where there has been a shift in the position of the spin axis but no shift in the angular momentum vector. The spin axis is coning about the original angular momentum vector direction. The formula requires the coning angle and the azimuthal offset of the measurement relative to the satellite 0 degree location as inputs. The measurement offset azimuth is obtained from either ID 29 if present or from ID 2 if 29 is not present.
This represents the case where there has been a shift in the position of angular momentum vector and the spin axis is not coning about that new angular moomentum vector. The required inputs are the elevation (ID 31) and azimuth (ID 30) of the new angular momentum vector in terms of the UDF spacecraft coordinates. The measurement offset azimuth is obtained from either ID 29 if present or from ID 2 if 29 is not present.