Terra Spacecraft Ephemeris and Attitude Data … Revision 01 Terra Spacecraft Ephemeris and Attitude...

80
500-EMD-001 Revision 01 Terra Spacecraft Ephemeris and Attitude Data Preprocessing Technical Paper February 2004 Prepared Under Contract NAS5-03098 RESPONSIBLE ENGINEERS Robert Kummerer /s/ 2/17/04 Robert Kummerer Date ECS Maintenance and Development Project SUBMITTED BY Desryn Duncan /s/ 2/19/04 Desryn Duncan, DPS Manager Date ECS Maintenance and Development Project Raytheon Systems Company Upper Marlboro, Maryland

Transcript of Terra Spacecraft Ephemeris and Attitude Data … Revision 01 Terra Spacecraft Ephemeris and Attitude...

500-EMD-001 Revision 01

Terra Spacecraft Ephemeris and Attitude Data Preprocessing

Technical Paper

February 2004

Prepared Under Contract NAS5-03098

RESPONSIBLE ENGINEERS

Robert Kummerer /s/ 2/17/04 Robert Kummerer Date ECS Maintenance and Development Project

SUBMITTED BY

Desryn Duncan /s/ 2/19/04 Desryn Duncan, DPS Manager Date ECS Maintenance and Development Project

Raytheon Systems Company Upper Marlboro, Maryland

This page intentionally left blank.

500-EMD-001 iii

Abstract

This document describes the operations performed by the Drop 6A Terra (formerly AM-1) DPREP (Data Pre-Processing), versions 3.2.10 and later, to produce the Terra SDP Toolkit ephemeris and attitude granules. The SDP Toolkit EPH tools, in deriving ephemeris and attitude for the Terra platform, use these granules.

The audience for this document includes the Instrument Teams, DAAC operators, Test Team, and Toolkit Team. Keywords: Drop 6A, DPREP, Terra

500-EMD-001 iv

This page intentionally left blank.

500-EMD-001 v

Contents

Abstract

Acknowledgments

1. Data Preprocessing

1.1 DPREP ........................................................................................................................... 1-1

1.1.1 Overview............................................................................................................ 1-1 1.1.2 DPREP Data Throughput................................................................................... 1-1

1.2 Terra DPREP ................................................................................................................. 1-3

1.2.1 Terra DPREP Data Quality Analysis................................................................. 1-4 1.2.2 Terra Data Replacement .................................................................................. 1-16

1.3 DPREP Data Products.................................................................................................. 1-16

1.3.1 Granule Format ................................................................................................ 1-17 1.3.2 Granule Header ................................................................................................ 1-17 1.3.3 Universal References ....................................................................................... 1-18 1.3.4 Orbit Metadata ................................................................................................. 1-18 1.3.5 Metadata Files.................................................................................................. 1-20 1.3.6 Local Granule ID Format................................................................................. 1-22

1.4 DPREP Processing Scenario........................................................................................ 1-23

1.4.1 DPREP PGE Profiles ....................................................................................... 1-24 1.4.2 Current DPREP Production Rules ................................................................... 1-25 1.4.3 Non-Time-Ordered DPREP Processing........................................................... 1-26 1.4.4 Ephemeris Data Replacement Processing Scenario......................................... 1-27

2. EDOS Ephemeris and Attitude Preprocessing

3. FDD Attitude Preprocessing

500-EMD-001 vi

4. FDD Ephemeris Preprocessing

5. Interface Between Toolkit Granules and Data Processing Software

6. DPREP and the DAAC Operator

6.1 Running DPREP ............................................................................................................ 6-1

6.2 DPREP Boot-Up at Mission Start and After Data Dropout........................................... 6-1

6.3 Replacement Granule Subscription ............................................................................... 6-2

6.3.1 Replacement of EDOS-Supplied Ephemeris Data............................................. 6-2 6.3.2 Replacement of FDD-Supplied Attitude Data ................................................... 6-3 6.3.3 Replacement of FDD-Supplied Ephemeris Data ............................................... 6-4

6.4 DPREP Failed-PGE Subscription.................................................................................. 6-4

6.5 Determining the Source of Ephemeris Data .................................................................. 6-4

List of Figures

1-1. Terra DPREP Processing Data Flow.................................................................................. 1-4

1-2. Ephemeris and Attitude Data Quality Flags.................................................................... 1-14

1-3. Orbit - Granule Timelines ............................................................................................... 1-20

1-4. Terra DPREP Standard Ephemeris Processing Scenario ................................................. 1-23

1-5. Terra DPREP Standard Attitude Processing Scenario ..................................................... 1-24

1-6. Terra DPREP Replacement Ephemeris Processing Scenario.......................................... 1-27

1-7. Terra Ephemeris and Attitude Timelines ........................................................................ 1-29

2-1. Terra DPREP EDOS L0 Ancillary Processing Data Flow................................................ 2-1

2-2. Terra DPREP EDOS L0 Ancillary Processing Internal Data Flow .................................. 2-2

3-1. Terra DPREP FDD Attitude Processing Data Flow.......................................................... 3-1

4-1. Terra DPREP FDD Ephemeris Processing Data Flow...................................................... 4-1

List of Tables

1-1. Terra Data Quality Flag Bit Description ............................................................................ 1-6

500-EMD-001 vii

1-2. DPREP Metadata............................................................................................................. 1-21

2-1. Terra DPREP EDOS L0 Ancillary Processing PCF Logical IDs...................................... 2-3

3-1. Terra DPREP FDD Attitude Processing PCF Logical IDs ............................................... 3-2

4-1. Terra DPREP FDD Ephemeris Processing PCF Logical IDs............................................ 4-3

Appendix A. DPREP Error Codes

Abbreviations and Acronyms

500-EMD-001 viii

This page intentionally left blank.

ix 500-EMD-001

Acknowledgments

Many thanks are extended to Dr. Peter Noerdlinger for his invaluable contributions towards the completion of this document.

x 500-EMD-001

This page intentionally left blank.

1-1 500-EMD-001

1. Data Preprocessing

1.1 DPREP

1.1.1 Overview DPREP is the generic term for a product generation executable (PGE) that converts spacecraft ephemeris and attitude data to standard form for use by the EOSDIS Science Data Processing (SDP) Toolkit. DPREP has a standard set of functionality requirements that must be met, regardless of platform (i.e. Terra), namely at a minimum, the following items:

1. Produce ephemeris and attitude granules in Toolkit and HDF format (Sections 1.3, 1.4, 2, 3, and 4), for use by the SDP Toolkit and, thus, eventually by the Science PGEs (Section 5).

2. Perform platform-generic data quality analyses on the ephemeris and attitude data streams (Section 1.2.1). The time-order of data records is verified; records cannot be out of order, be at duplicate times, or fall outside the processing time-range. (Section 1.2.1.1). DPREP also verifies that each ephemeris and attitude data point falls within the acceptable range (Section 1.2.1.3), checks for the presence of spikes (Section 1.2.1.2), checks for the presence of data gaps (Section 1.2.1.4), and checks for continuity across data segment (Section 1.2.1.5). DPREP also assures the integrity of the QA analysis process (Section 1.2.1.6).

3. Repair ephemeris and attitude records that have been flagged for data quality violations thus filling short gaps in the ephemeris and attitude data streams. Terra requires that only the ephemeris data stream be repaired (Section 1.2.1.7).

4. Perform platform-specific data quality analyses on the ephemeris and attitude data streams (Section 1.2.1.8).

5. Set quality flags in each ephemeris and attitude data record generated by DPREP to denote the quality of data contained therein (Section 1.2.1.9).

6. Place a request for replacement data if data quality analysis discovers an unacceptable number of violations (Sections 1.2.2 and 6.3).

7. Produce metadata, including QA summary metadata (Section 1.2.1.10) and orbit metadata (Section 1.3.4).

8. Recover from failed DPREP PGE processing (Section 6.4) and resume processing after a period of data dropout (Section 6.2).

9. Process replacement ephemeris and attitude data (Sections 4 and 6.3). 10. QA consistency checking (Section 1.2.1.1).

1.1.2 DPREP Data Throughput Generally, DPREP provides the means for transforming a wide variety of raw ephemeris and attitude formats from various spacecraft to a standard format for use by the SDP Toolkit EPH tools. This implies that DPREP has to be tailored, or even partly rewritten, for new spacecraft as they are added to the program. Thus far, DPREP software has been written for TRMM, Terra,

1-2 500-EMD-001

Aqua (now operational), and Aura (to be launched in 2004). At a minimum the SDP Toolkit EPH tools expect:

1. Ephemeris and attitude granules in Toolkit or HDF format. 2. Position and velocity vectors in the Mean-of-J2000 reference frame, 3. Euler angles in the instantaneous orbital reference frame. Euler angles are in radians, in

the order given by the Euler angle order in the metadata (the order is in the granule header).

4. Position vectors in meters. 5. Velocity vectors in meters per second. 6. Projection of the spacecraft angular velocity in the Mean-of-J2000 inertial reference

frame on the body axes, in radians per second. The order is roll rate, pitch rate, yaw rate.1 These data are sometimes loosely called “attitude rates,” though they are not the rates of change of the Euler angles.

7. Each ephemeris and attitude record, tagged with Toolkit-format timestamps. 8. The quality of each Toolkit ephemeris and attitude record evaluated and summarized in

its data quality flags, one for ephemeris and one for attitude. 9. A set of granule metadata for each Toolkit ephemeris and attitude granule generated.

DPREP produces three data streams, one for ephemeris and, in parallel, two for attitude data, from two different sources (see Section 1.2 and Figure 1-1). The ephemeris and attitude granules are produced in two formats, Toolkit and HDF format. Toolkit and HDF-formatted granules conform to the internal format defined for use by the Toolkit EPH tools, namely PGS_EPH_EphemAttit and PGS_EPH_EphAtt_unInterpolate. The HDF-format granules allow, in principle, transport of ephemeris and attitude data between hardware platforms.

The Toolkit and HDF ephemeris and attitude granule timestamps are in TAI93 format, the elapsed time in seconds from January 1, 1993, 0h UTC, including leap seconds. The resolution of this time is better than a microsecond; thus the accuracy limit is the Terra clock. The reference frame for the ephemeris granule position and velocity vectors is Mean-of-J2000. When necessary, position and velocity vectors are transformed to Mean-of-J2000 using SDP Toolkit CSC routines as required; Euler angles are referenced to orbital coordinates. Refer to Figure 6-3 in Section 6.3.3 of the SDP Toolkit User’s Guide. For Terra, the position and velocity are received in Mean-of-J2000 so no change of frame is needed.

See EOSDIS Spacecraft Ephemeris and Attitude Data Specification: Contents and Structure (P. Noerdlinger et al, 1999) for a description of the Toolkit file content and format, data quality flags content and format, and required granule metadata. This document is available on the World Wide Web at http://newsroom.gsfc.nasa.gov/sdptoolkit/appendl.html and is summarized in the Release 6A.07 SDP Toolkit User’s Guide for the ECS Project, Appendix L (document number 333-CD-605-003, April 2003 draft and later).

1 This applies to TERRA and later spacecraft; for TRMM the angular velocity was defined in the orbital reference

frame.

1-3 500-EMD-001

1.2 Terra DPREP Terra DPREP has three sources of ephemeris and attitude data. These sources are:

1. EDOS-supplied on-board ephemeris and attitude from spacecraft L0 ancillary data. 2. FDD-supplied attitude from spacecraft housekeeping data. 3. FDD-supplied ephemeris as replacements in case the EDOS data might have a gap too

long for DPREP to repair. The incoming and processed data files from these three sources need not be in synchrony as to their start and stop times, except that source (3) will involve whole file replacements of ephemeris from source (1) when this is necessary. Data stream (1) and (2) will preserve original spacecraft clock times, whose nominal data interval is 1.024 seconds and 0.512 seconds respectively. Data source (3) will have data on one-second time intervals and, therefore, does not provide an exact point-by-point replacement of the original granule. DPREP does not alter Terra data record times other than by translation of format to TAI93 (for times within records and certain metadata) or to CCSDS standard ASCII format A, when required for metadata. See EOSDIS Spacecraft Ephemeris and Attitude Data Specification: Contents and Structure for details. This document can be found on the World Wide Web at http://newsroom.gsfc.nasa.gov/sdptoolkit/appendl.html and is summarized in the Release 6A.07 SDP Toolkit User’s Guide for the ECS Project, Appendix L (document number 333-CD-605-003, April 2003 draft and later).

Terra DPREP uses three PGEs to convert the data from ephemeris and attitude data streams identified above to SDP Toolkit-format ephemeris and attitude granules. The DPREP PGEs, respective of data stream, comprise:

1. EcDpPrAm1EdosEphAttDPREP_PGE (EDOS L0 Ancillary) 2. EcDpPrAm1FddAttitudeDPREP_PGE (FDD Attitude) 3. EcDpPrAm1FddEphemerisDPREP_PGE (FDD Replacement Ephemeris)

The first PGE produces both ephemeris and attitude data. The attitude data from the first PGE is not sure to be of good enough quality for science data processing, however. The second PGE processes attitude data from FDD that is of good enough quality for science data processing. If the data quality analysis performed by the first PGE indicates that the quality of the ephemeris from the spacecraft is poor, DPREP initiates, by subscription placement, the request for replacement ephemeris data from FDD. This replacement ephemeris is processed by the third PGE. Figure 1-1 presents basic DPREP data flow.

1-4 500-EMD-001

EcDpPrAm1EdosEphAttDPREP_PGE

EcDpPrAm1FddEphemerisDPREP_PGE

EcDpPrAm1FddAttitudeDPREP_PGE

Terra FDD Attitude (AM1ATTF)

Terra HDF Attitude (AM1ATTHF)

Terra Toolkit Attitude (AM1ATTNF)

Terra FDD Ephemeris (AM1EPHF)

SciencePGE

Terra L0 Ancillary (AM1ANC)

Terra HDF Attitude (AM1ATTH0)

Terra Toolkit Attitude (AM1ATTN0)

Terra Toolkit Ephemeris (AM1EPHN0)

Terra HDF Ephemeris (AM1EPHH0)

(user option of attitude source)

Figure 1-1. Terra DPREP Processing Data Flow

At the user’s discretion, EDOS-supplied attitude data can be used in place of FDD-supplied attitude data in science data processing. The Science PGE ODL (for PDPS) or the template PCF (for S4PM) must be changed prior to PGE registration in order to use attitude from ESDT AM1ATTN0.

1.2.1 Terra DPREP Data Quality Analysis DPREP performs data quality analysis (QA) using moving windows that independently scan the ephemeris and attitude data streams. The QA window defines the set of data used in QA analysis; these are the data on which statistical analyses are performed when determining data quality. The QA window must contain at least a user-specified minimum number of data records and no more than a maximum number of records. The minimum and maximum number of records differs for the ephemeris and attitude data streams. Table 2-1, Table 3-1, and Table 4-1 outline the QA analysis parameters used by each DPREP PGE.

1-5 500-EMD-001

The QA window always contains an odd number of records, with the record in the middle of the window undergoing QA analysis. During normal QA analysis 1) the QA window moves one record down the data stream, 2) QA analysis is performed on that record, and 3) QA results get recorded in the data quality flag for that record. The process repeats for each record in the data stream.

DPREP fills the QA window with as many records as possible according to the following criteria:

1. The time span between the QA window’s mid-data record and the last data record cannot exceed the nominal time spanned by these records. The nominal time is defined as the time spanned by one-half the maximum number of records permitted in the QA window (i.e. 1.024 * [(maximum number of records allowed)/2]). According to this criterion, a QA window that is filled with the maximum allowed number of records only contains consecutive records. Failure to meet this criterion may lead to criterion 2 not being met. In this case, an inadequate number of records are collected with which to perform QA analysis, and the record being QA checked is flagged for “failure of QA analysis”. See Section 1.2.1.6.

2. The QA window must contain at least the minimum number of required records. QA analysis is performed on all data contained within the record and the data quality flag in that record summarizes the results. For example, an ephemeris record’s timestamp, position vector, and velocity vector all undergo QA analysis. Both the position and velocity are subject to the same QA analyses (limit and range) that result in red high/low and/or yellow high/low violations. Quality flag design permits the recording of red high/low and/or yellow high/low violations only; position and velocity violations, as well as, limit and range violations cannot be distinguished. The quality flag can only note that a violation has occurred, but not the type of violation (limit and range) or in which data element (position or velocity) the violation has occurred. The same holds for the Euler angles and angular velocities found in the attitude record. For Terra EDOS-supplied ephemeris (but possibly not for later spacecraft), users may never see red or yellow flag bits set, because short sequences of questionable or bad data are “repaired” (Section 1.2.1.7). Data gap flags remain in the ephemeris timeline regardless of data repair performed by DPREP. Because DPREP cannot reset a gap flag in the preceding granule when a repaired gap bridges segment boundaries, DPREP does not reset the gap flags that bound any repaired data gap. If non-repairable (long) sections exist, FDD replacement data is obtained. The FDD-supplied data streams (ephemeris as well as attitude) have had a certain amount of preprocessing performed. These data streams are, therefore, expected to be error free and remain non-flagged. Quality flags Table 1-1 outlines the data quality flag bit description as defined for the Terra platform.

Parameters controlling QA analysis are specified in the PCF and saved in the header of all DPREP products. See Table 2-1, Table 3-1, and Table 4-1 for a description of PCF parameters recognized by each DPREP PGE. EOSDIS Spacecraft Ephemeris and Attitude Data Specification: Contents and Structure (P. Noerdlinger et al, 1999) describes where in the DPREP products, and in what order, the QA analysis parameters are saved. This document can be found on the World Wide Web at http://newsroom.gsfc.nasa.gov/sdptoolkit/appendl.html and is summarized in the Release 6A.07 SDP Toolkit User’s Guide for the ECS Project, Appendix L

1-6 500-EMD-001

(document number 333-CD-605-003, April 2003 draft and later). The values of these parameters are suggested and can be changed, if so desired, by the Science Team. To change the value of a QA analysis parameter, it must be changed in the DPREP PGE ODL (for PDPS) or in the DPREP template PCF (for S4PM) prior to PGE registration.

The QA summary metadata reflect the percentage of missing, repaired, and out-of-bounds records within granules produced by DPREP. See Section 1.2.1.10 for more information regarding QA summary metadata.

Table 1-1. Terra Data Quality Flag Bit Description Bit Bit Assignment Description

0 Overall Quality Summary Set if any quality check is failed; unset for ideal data. Data point can still be useful even if this bit is set; scrutiny of the other bits would be required however. Bits 1 and 16 are unset in this instance of ideal data.

1 Data State Summary Set if any generic data quality bit is set (bits 2 - 11) 2 Red Limit Low Exceeded Low red limit has been exceeded. 3 Yellow Limit Low Exceeded Low yellow limit has been exceeded. 4 Yellow Limit High Exceeded High yellow limit has been exceeded. 5 Red Limit High Exceeded High red limit has been exceeded. 6 Long Data Gap Follows A significant data gap originally followed this data point. 7 Short Data Gap Follows A minor data gap originally followed this data point. 8 Short Data Gap Precedes A minor data gap originally preceded this data point. 9 Long Data Gap Precedes A significant data gap originally preceded this data point. 10 Point is a repaired data point Used for points inserted by DPREP prior to Toolkit use

(interpolated). 11 Quality flag problem Quality data not available (bits 0-5 not meaningful) 12 No data available SDP Toolkit unable to find data at the requested timestamp. 13 Unassigned Reserved for SDP Toolkit use. 14 Interpolated data point SDP Toolkit interpolation used to derive data point. 15 Unassigned Reserved for SDP Toolkit use. 16 Platform-Specific Fatal Flag Set if any fatal platform-specific quality bit is set. 17 Safe Mode Flag Spacecraft has initiated Spacecraft Safe Mode; data are

unusable. Not relevant to FDD-supplied ephemeris and attitude data.

18-31 Unassigned Available for other platform-specific data – quality or other. When performing QA analysis on records close to a granule boundary, the QA window extends into the preceding or following granules as circumstances dictate. This explains DPREP’s dependency on data from segments preceding and following the segment being processed. Records contributed to QA analysis from a preceding granule always come from the SDP Toolkit-format granule produced by the preceding DPREP process. Only those records that passed QA analysis are accepted from the preceding granule. On the other hand, records

1-7 500-EMD-001

contributed by the following granule always come from the raw granule to be processed next by DPREP. As a consequence, DPREP processing lags one granule behind the most recently available granule that can be processed by DPREP; therefore DPREP processing must lag two hours behind “real-time” processing.

Initialization of QA analysis occurs on the very first mission granule or on the first granule following data dropout. This “boot-up” process is required whenever a preceding granule is unavailable with which to arrange quality checks across granule boundaries. The boot-up process requires QA analysis to be performed on each record found in the first half of the QA window immediately after window initialization. Only after the quality of the mid-record is determined can the QA window start moving down the data stream; the record undergoing QA analysis will always be in the middle of the QA window from this time onwards (ideally until the end of the mission). Of course the same situation occurs when terminating QA analysis at the end of the mission. The boot-up procedure can be chosen at any time during the mission, however (e.g. following a long period of data dropout). Boot-up is selected by scheduling Profile 2 of the DPREP PGE to be run (Profile 2 initializes DPREP processing following a period of data dropout. Profile 1 is for nominal DPREP operation. Profile 3 terminates DPREP processing prior to a period of data dropout. Profile 4 is for processing isolated granules.). See Sections 0 and 0 for more information.

1.2.1.1 Consistency Checking DPREP performs consistency checks to ensure the integrity of the raw input data. These checks do not result in the setting of any data quality flags, however. On finding an inconsistency, DPREP aborts with an error message, which invokes the Failed PGE subscription. A manual request for replacement data is placed with FDD once it is determined that DPREP aborted due to a consistency check failure. See Sections 6.3 and 6.4.

DPREP confirms that the following are true and aborts if any of the conditions fail: 1. Timestamps are time ordered. 2. Duplicate times do not exist. 3. Timestamps lie within the processing time-range. 4. The first and last data records match the start and end times recorded in the granule

header. This check applies to FDD-supplied attitude and FDD-supplied replacement ephemeris data processing only.

5. The actual size of the FDD-supplied attitude granule matches its calculated size. The calculated file size is based on the number of records reported in the granule header.

6. The satellite ID in the FDD-supplied replacement ephemeris matches the expected value found in the PCF. Furthermore, the product ID (“EPHEM”), tape ID “STANDARD”, and source ID (“GTDS” or “AMPT”) must match expected values.

1.2.1.2 Limit Analysis (Checking for Spikes)

Limit analysis assesses the severity (yellow or red limits) and direction (low or high) of a data spike relative to the overall trend of the data. An outlying data point can be flagged for a yellow low limit violation (bit 3 in the attitude data quality field), a yellow high limit violation (bit 4), a red low limit violation (bit 2), or a red high limit violation (bit 5). Red limit violations are more

1-8 500-EMD-001

severe than yellow limit violations. Any data point failing limit analysis should not be used in science data processing. Data quality summary bits 0 (overall QA summary) and 1 (data state summary) are set as well.

1.2.1.2.1 Limit Analysis of Ephemeris Data Limit analysis of ephemeris data consists of performing a quadratic least-squares fit to the data found in the QA window, deriving a fitted value at the mid-data point, and determining the quality of the mid-data point based on the closeness of fit between the actual and fitted values. The closeness of fit can be evaluated in absolute or statistical terms.

DPREP solves the following system of equations to determine the coefficients of fit:

=0C

1C

2C[ ] ∑ Y

∑ XY

∑ YX 2[ ]N

∑ X

∑ 2X

∑ 2X

∑ 3X

∑ 4X

∑ X

∑ 2X

∑ 3X[ ]

Here X is time (number of seconds elapsed from the first data point in the QA window) and Y can be the magnitude of either the position or velocity vector. N is the number of data points in the QA window. The summations run over the N points.

The absolute difference approach simply requires the actual value to lie within so many absolute data units of the fitted value to remain non-flagged. The statistical approach requires the actual value to lie within so many standard deviations of the fitted value to remain non-flagged. The evaluation is relative to the scatter of all data points from a quadratic least-squares fit to data in the QA window. It is assumed that the scatter follows a Student-t distribution. The yellow limit should be set such that no more than one point per thousand be flagged for a yellow limit violation, and no more than one point in ten thousand be flagged for a red limit violation.

Limit analysis is performed only on the EDOS ephemeris data stream (EDOS ephemeris is the primary source for ephemeris and must be thoroughly checked, while EDOS attitude is not the primary attitude source, but is superseded by FDD attitude. FDD products, both attitude and ephemeris, have been smoothed and, consequently, do not need to undergo limit analysis.).

PCF logical Ids 5004 through 5007 specify the red and yellow limits for the position and velocity vectors. PCF logical ID 5025 selects the method for evaluating the closeness of fit; 1 selects thresholds in absolute data units, whereas 0 selects thresholds in standard deviations. Statistical limit analysis is the preferred method.

DPREP can repair ephemeris data flagged in limit analysis. See Section 1.2.1.7.

1-9 500-EMD-001

1.2.1.2.2 Limit Analysis of Attitude Data Unlike the limit analysis performed on ephemeris data, the limit analysis of attitude data does not require deriving a fitted value at the mid-data point in the QA window, and determining the quality of the mid-data point based on the closeness of fit between the actual and fitted values. Attitude data (e.g. Euler angles) are recorded as differences from the commanded attitude. These differences are in effect relative to a zero baseline, the attitude that was commanded. This obviates the need for fitting a baseline to the attitude data in limit analysis. Therefore limit analysis of attitude data simply verifies that the data fall within yellow and red limit thresholds specified in absolute data units. A consequence of this approach leads to the flagging of all attitude data from a spacecraft maneuver for limit violations.

Limit analysis of the FDD-supplied attitude data is of particular importance. FDD uses the predicted ephemeris when deriving Euler angles for the Terra platform. The Euler angles are therefore of a lesser accuracy than they would normally be if the definitive ephemeris were used in FDD processing. Limit analysis identifies these intervals of lesser accuracy.

PCF logical IDs 5010 through 5021 specify the red and yellow limits for the Euler angles and angle rates about the spacecraft axes.

DPREP does not repair attitude data. See Section 1.2.1.7.

1.2.1.3 Range Analysis The magnitude of position and velocity vectors, as well as the attitude roll, pitch, and yaw angles and corresponding angle rates, must fall within a specific range of values in order to be valid. Data points that fall outside of the acceptable range get flagged for violating both red and yellow limits. These data points should not be used in science data processing. Data points that exceed the maximum limit are failed for red and yellow high limit violations (bits 4 and 5 in the data quality flag). Likewise, data points that fall short of the minimum limit are failed for red and yellow low limit violations (bits 2 and 3 in the data quality flag). Data quality summary bits 0 (overall QA summary) and 1 (data state summary) are set as well.

For Terra, the magnitude of the position vector must fall between 6,500,000 and 7,380,000 meters inclusive in order to be valid. The magnitude of the velocity vector must fall between 6,850 and 8,300 meters per second inclusive. Roll and yaw angles must fall between –π and +π inclusive while the pitch angle must fall between -π/2 and +π/2 inclusive. All angle rates must fall between -0.005236 and 0.005236 radians per second (-0.3 to 0.3 degrees per second) inclusive.

Range analysis is performed on all data streams processed by DPREP, except the EDOS attitude data stream (EDOS attitude is superseded by FDD attitude and, consequently, is not subject to thorough QA analysis). PCF logical IDs 5030 through 5033 specify the range limits for position and velocity vectors. Logical IDs 5040 through 5047 specify attitude angle range limits, and logical IDs 5036 and 5037 specify attitude angle rate range limits.

DPREP can usually repair ephemeris data flagged in range analysis. See Section 1.2.1.7.

1-10 500-EMD-001

1.2.1.4 Data Gap Analysis Data gap checking looks for short and long data gaps that precede and follow the data record undergoing QA analysis. Hence a record can be flagged for short gap precedes (bit 8 in the attitude data quality field), short gap follows (bit 7), long gap precedes (bit 9), and long gap follows (bit 6). Typically a record is flagged for only one of the preceding conditions; an isolated record can be flagged for gap precedes and gap follows, however. Records that are flagged for gap precedes and/or follows can be used in science data processing. Data quality summary bits 0 (overall QA summary) and 1 (data state summary) are also set in the event that any of bits 6 through 9 are set.

Gap checks also bridge data segment boundaries. Consequently, DPREP processing depends on the availability of the raw input granule that follows the one being processed. Furthermore, DPREP depends on DPREP output produced from processing the segment immediately preceding the segment being processed.

In the EDOS ephemeris timeline, a gap of 57 records (59.392 seconds) or less is considered a short data gap and is subsequently repaired by DPREP. A data gap that is 58 records or longer is considered to be a long data gap.

In the EDOS attitude timeline, a gap that is longer than 1.024 seconds gets flagged as a long data gap. Consequently, all gaps are considered long data gaps in the attitude timeline (the data interval in the EDOS attitude timeline is 1.024 seconds; hence any missing data constitutes a long gap).

In the FDD attitude timeline, a gap of 3.584 seconds (6 records) or longer gets flagged as a long data gap (the data interval in the FDD attitude timeline is 0.512 seconds). In the FDD replacement ephemeris timeline, a gap longer than two seconds gets flagged as a long gap; any missing data constitutes a long gap.

DPREP repairs short gaps in the EDOS ephemeris timeline. Short gaps that are repaired remain flagged as short gaps, however. The records that bound the repair interval remain flagged as short gap follows and short gap precedes. Consequently, an interval flagged as a short gap always remains flagged as a short gap, even if the interval had been successfully repaired. Records that fill the repair interval are flagged as having been repaired (bit 10 in the data quality field).

As a general rule, the presence of a long gap causes DPREP to request replacement data from FDD via the Spatial Subscription Server. Replacement data is requested as needed for all ephemeris or attitude data streams processed by DPREP, with the exception of the EDOS attitude data stream. In this instance FDD is the primary source for attitude, and FDD attitude is routinely ingested and processed by DPREP, regardless of the outcome of data gap analysis performed on EDOS attitude.

Because DPREP can process granules that are not in time-order, non-existent long gaps might be accidentally flagged in the ephemeris and attitude timelines. In order to consistency check across granule boundaries, DPREP depends on DPREP output produced from processing the segment immediately preceding the segment being processed. If the immediately preceding granule is not

1-11 500-EMD-001

available, DPREP accepts the most recently available granule, up to seven days (or one day, for Terra DPREP processing at the LDAAC) in the past. A long gap can be flagged between the segment being processed and the preceding segment. If the gap is filled by a subsequent delivery of the missing granule, a long gap is erroneously flagged.

Similarly, DPREP can fail to flag gaps that are actually present in the ephemeris and attitude timelines. If data from the following segment is not immediately available, DPREP processing continues without input from the following segment. Consequently, a gap that follows the segment that is being processed goes undetected if the following granule is not available. See Section 1.4 for more on the DPREP processing scenario.

Subsequent data reprocessing corrects improper gap flagging at the segment boundaries: gap flags erroneously introduced as well as those that went undetected.

1.2.1.5 Continuity Checking DPREP checks the continuity of the ephemeris and attitude data streams across data segments: the segment that is being processed and the immediately preceding and following segments. DPREP does this by performing consistency, limit, and data gap checks that bridge segment boundaries. The aforementioned checks are initiated using data from the end of the immediately preceding segment and completed using data from the immediately following segment.

1.2.1.6 Failure of QA Analysis If any process that supports QA analysis fails, the record undergoing quality analysis gets flagged for having failed to establish its quality. Such ephemeris and attitude records should not be used in science data processing. Bit 11 is set when QA analysis fails. Data quality summary bits 0 (overall QA summary) and 1 (data state summary) are set as well.

Currently, QA analysis can fail for the following reasons: 1. The QA window does not contain the minimum number of records required for limit

analysis. 2. The quadratic least-squares fit performed in limit analysis fails to determine the

coefficients of fit because the system of equations being solved produced a singular matrix.

Failure of QA analysis can only occur when performing limit analysis. Stress testing has failed to reveal any likely limit analysis failure modes.

1.2.1.7 Terra Data Repair Data quality analysis identifies short and long data gaps, as well as limit, range, failure of QA analysis, and instrument safe mode violations, in the EDOS ephemeris data stream. DPREP attempts to repair all short data gaps and limit, range, failure of QA analysis, and safe mode violations. Because the TONS ephemeris is already smoothed on arrival at EDOS, it is anticipated that data repair will seldom need to be invoked, and even more seldom (perhaps once a year) would a replacement granule be required because there occurred a gap too long to be repaired.

1-12 500-EMD-001

1.2.1.7.1 Data Repair Algorithm Data repair is performed only on the EDOS-supplied ephemeris data stream. The data repair algorithm performs a least squares fit of a fourth order Legendre polynomial to the magnitude of the position and velocity vectors, using five records on either side of the interval or record to be repaired (see Section 1.2.1.7.2). Intervals up to 59.392 seconds (57 records) in duration, the maximum short data gap duration, may be repaired.

1.2.1.7.2 Successful Data Repair Criteria The following criteria determine whether or not a data interval can be repaired:

1. Data records used in repair must be distinct, original records, which meet all limit and range checks imposed by DPREP, i.e. that are considered valid records.

2. Ten data records must be available in order to use the repair software. These records must be from the original (TONS) granule, and must be comprised of five records on either side of the gap, i.e. five before and five after.

3. The difference between the outer-most time-tags of the records used to repair a data interval (times[0] and times[9]) must be less than the long data gap threshold plus the time spanned by ten consecutive records (five consecutive records on each side of the repair interval). In short

times[9] - times[0] <= (long_gap_threshold + 8) * 1.024 where long_gap_threshold is the minimum number of consecutive missing records required for a long data gap (currently 58 records). The interval between consecutive records is nominally 1.024 seconds in the EDOS ephemeris timeline.

According to criterion (2), when repairing the largest interval that can possibly be repaired (currently 57 records), the five records bounding each side of the repair interval must be consecutive. It also follows that when repairing intervals less than 57 records long, the five records that bound the data gap do not have to be consecutive. A set of five bounding records can themselves be interspersed with short data gaps so long as criterion 3 is not violated.

In order to accomplish data repair, DPREP makes two passes through the ephemeris data: the first pass performs the QA analysis that identifies data to be repaired while the second pass does the actual repair. DPREP invokes the repair process regardless of the data quality found in QA analysis. All repaired ephemeris records are flagged as having been repaired (bit 10 of the data quality flag is set). Bits signifying a limit and range analysis violation (bits 2-5) are unset as well, on completion of a successful repair. Records that bound a successfully repaired short data gap remain flagged as short data gap precedes and/or short data gap follows, however. Because DPREP cannot reset the short-gap-follows bit in the preceding Toolkit-format ephemeris granule if a short data gap should occur across granule boundaries, DPREP does not unset any gap flag bits in that case.

When repairing a data gap between granule boundaries, DPREP assigns the repaired records to the granule that follows the gap. DPREP can therefore generate a granule that spans more than the standard two-hour interval assumed for Terra granules. Such repaired granules cannot exceed the two-hour interval by more than one minute, however. This design does not interfere with the

1-13 500-EMD-001

resolution of ephemeris granule dependencies for users of DPREP ephemeris products (i.e. MODIS PGE01).

Failure to meet the above criteria prevents the data repair software from being exercised. Consequently, short data gaps, as well as limit, range, failure of QA analysis, and safe-mode-flagged records, can remain in the ephemeris data stream.

1.2.1.8 Terra Platform-Specific QA Analyses All QA analyses discussed thus far are standard analyses that should be conducted by all invocations of DPREP, past, present, and future. How these analyses are achieved varies from platform to platform, but they nevertheless constitute analyses that should be performed, regardless of platform.

The data quality flag allows DPREP to indicate platform-specific data quality conditions, however. Bits 16 through 31 of the data quality flag are reserved for platform-specific quality analyses. DPREP developers, as requirements dictate, decide upon the meanings of bits 17 through 31. Bit 16, the Platform-Specific Fatal Flag, summarizes the activity of the remaining bits 17 through 31. The Platform-Specific Fatal Flag is set if and only if any of bits 17 through 31 are considered fatal for use in science data processing, and are themselves set.

The only platform-specific data quality condition checked for Terra in incoming data is the instrument safe-mode state. Safe mode indicates that Terra initiated Spacecraft Safe Mode. Safe mode data are unusable in science data processing. Bit 17 is set when safe mode is initiated. Bit 16, the Platform-Specific Fatal flag, is also set. The safe mode QA check is applicable only to the EDOS-supplied ephemeris and attitude data streams.

The instrument safe-mode state can be found only in the EDOS-supplied L0 Ancillary granule. Hence, it is meaningful to check the instrument safe-mode flag only when using EDOS-originated ephemeris and attitude data in science data processing.

1.2.1.9 Interpretation of the Data Quality Flag in Data Processing The design of the data quality flag permits the recording of detailed QA analysis information, and at the same time allows rapid interpretation of the information contained therein. The data quality flag encompasses a typical long integer (32 bit) word and is divided into three major sections:

1. Overall Summary Bit (Bit 0). 2. Platform-Generic Quality Bits. 3. Platform-Specific Quality Bits.

Figure 1-2 outlines the data quality flag. This map coincides with the Terra data quality flag bit descriptions provided in Table 1-1.

1-14 500-EMD-001

0 Platform-Generic Quality Bits Platform-Specific Quality Bits 0

1

2

3

4

5

6

7

8

9

10

1

2

3

4

5

6

7

8

9

20

1

2

3

4

5

6

7

8

9

30

1

Bit 0 Least Significant Bit 31 Most Significant

Figure 1-2. Ephemeris and Attitude Data Quality Flags

The Overall Summary Bit, bit 0, summaries the contents of the entire flag; bit 0 remains clear if and only if all bits within the quality flag remain clear after QA.

The Platform-Generic Quality Bits, bits 1 through 15, summarize the outcome of the QA analyses described in Sections 1.2.1.1 through 1.2.1.7. These analyses encompass the standard set of analyses that all versions of DPREP are encouraged to adopt. For this reason, bits 1 through 15 are called the Platform-Generic Quality Bits. Bit 1, called the Data State Summary Bit, summarizes the outcome of all platform-generic analyses. Bit 1 is set if any of bits 2 through 15 are set. Likewise, if the Data State Summary Bit is set, then the Overall Summary Bit is set also.

The Platform-Specific Quality Bits summarize the outcome of QA analyses specific to the platform in question. Section 1.2.1.8 describes quality analyses specific to the Terra platform. Bit 16, the Platform-Specific Summary Bit, summarizes the outcome of platform-specific analyses and is set if any of bits 17 through 31 are set.

Just because a bit had been set within the data quality flag, it does not mean that a fatal QA condition had been encountered. For example, the two records that bound a short data gap are flagged for “short gap follows” and “short gap precedes”, respectively. These records are still considered useful. Furthermore, the summary bits do not indicate that a fatal condition has been encountered. The summary bit simply indicates that a bit has been set within the section of the data quality flag governed by the summary bit. Summary bits are intended for quick-look purposes only, and indicate that examination of the respective section’s quality bits is warranted.

Bits 12 through 15 are reserved for use by the SDP Toolkit; of these, bits 12 and 14 are currently used. Bit 12 indicates that PGS_EPH_EphemAttit was unable to derive ephemeris or attitude data at the requested timestamp. Conditions under which bit 12 can be set are many; examples include failure to read the Toolkit ephemeris and attitude granules or failure to interpolate data at the requested timestamp. Whenever the timestamp for which ephemeris and attitude are requested does not coincide with an existent timestamp in the ephemeris or attitude timeline, PGS_EPH_EphemAttit interpolates to the requested timestamp. PGS_EPH_EphemAttit can successfully interpolate across gaps up to 60 seconds in duration. Bit 14 is set to indicate that the data have been successfully interpolated. PGS_EPH_EphemAttit cannot interpolate across gaps longer than 60 seconds, and returns a warning whenever asked to do so. The interpolated ephemeris and attitude values are set to error values (e.g. PGSd_GEO_ERROR_VALUE, currently set to 1.0E+50) that indicate the interpolation could not be done, and bit 12 is set as well. It is left to the Science PGE to decide the course of action whenever this happens. Contrary

1-15 500-EMD-001

to DPREP QA analysis standards, the Toolkit does not set the Data State Summary Bit or the Overall Summary Bit when it sets bits 12 and/or 14.

The interpolation used to repair the EDOS-supplied ephemeris data stream differs from that performed by the SDP Toolkit, with respect to methodology and intent. Data repair restores useful data to the EDOS-supplied ephemeris data stream at the nominal data interval only (i.e. 1.024 seconds). Science data processing requires (more often than not) ephemeris and attitude data at times that are not represented in ephemeris or attitude timelines. PGS_EPH_EphemAttit interpolation provides ephemeris and attitude data at inter-record times. Data quality flag bits 10 and 14 are used to distinguish these data. Bit 10 indicates that repair has been performed on the nominal timeline; bit 14 indicates that PGS_EPH_EphemAttit interpolated to an inter-record time. When the Toolkit interpolates, it performs a logical “or” on the quality flags on either side of the interpolated point to derive its quality flag.

Bits 2, 5, 11, 12, 16, and 17 signal conditions that Terra science data processing should consider fatal. It is strongly recommended that data processing not use ephemeris or attitude records flagged for these conditions.

PGS_EPH_ManageMasks provides the means for managing the masks by which ephemeris and attitude are selected by data quality. See Section 5 for additional information.

1.2.1.10 QA Summary Metadata QA summary metadata summarize the quality of ephemeris and attitude data processed by DPREP. This metadata can be found in the Toolkit and HDF-format granule header and within metadata that is archived in the Science Data Server along with the DPREP data products. All versions of DPREP (regardless of platform) document three QA summaries: 1) percent-interpolated data, 2) percent-missing data, and finally 3) percent-out-of-bounds data. The percent-interpolated QA summary metadata documents the percentage of records repaired in a nominal two-hour granule. The percent-missing QA summary metadata documents the percentage of records missing from a nominal two-hour granule. The percent-out-of-bounds QA summary metadata documents the percentage of records that were flagged for a limit or range violation in a nominal two-hour granule.

Most importantly, the percent-missing data gets set to one-percent or more in the processing of EDOS-supplied ephemeris or attitude data whenever a long data gap is encountered. A long gap is a gap of 58 or more ephemeris records. Percent-missing data is set to at least one-percent when a long gap is encountered in the ephemeris timeline (58 missing records out of the maximum possible 7032 records in a two-hour segment constitutes one percent missing data).

The QA summary metadata has three main uses. First of all, this metadata allows Science PGEs to make rapid decisions regarding the acceptability of ephemeris and attitude for science data processing (i.e. a Science PGE can be selected to run only if the percent-missing ephemeris data are below a specified threshold). Secondly, DPREP can have a subscription for replacement FDD data placed based on QA summary results (i.e. DPREP places a subscription for replacement FDD ephemeris data whenever a long data gap spans one-percent or more of the EDOS-supplied L0 Ancillary granule). Finally, Science PGE processing can be made to wait for

1-16 500-EMD-001

FDD replacement ephemeris by setting the percent-missing data threshold to one-percent or less on the EDOS-supplied ephemeris data (ESDT AM1EPHN0).

If a short gap occurs between granules and this gap is successfully repaired, the percent-interpolated QA summary for the latter granule accounts for all records repaired between the granules, even if some of those records should belong to the preceding granule time-wise. This approach was adopted because DPREP assigns repaired records to the latter granule when repairing gaps between granules in the EDOS-supplied ephemeris data stream.

DPREP also sets a granule level QA flag, the automatic QA flag, in the metadata generated by DPREP. This flag receives a value of either "Passed" or "Failed" along with an explanation of the failure reason. Any DPREP-generated granule that has a long data gap or a range violation has the automatic QA flag set to "Failed".

1.2.2 Terra Data Replacement DPREP performs data quality analyses on all of the ephemeris and attitude data streams that DPREP processes. If DPREP finds too many problems with a data stream, DPREP requests replacement data from FDD by way of the Spatial Subscription Server. The conditions under which DPREP makes a replacement request depends on the data stream being processed. DPREP is least discriminating when assessing the quality the EDOS-supplied ephemeris data stream because DPREP can repair this data stream and places a subscription for replacement data only as a last resort. DPREP requests a replacement for EDOS-supplied ephemeris data if and only if the number and types of problems encountered are severe enough to warrant replacement. Currently DPREP requests replacement of EDOS-supplied ephemeris data whenever there is one percent or more data missing from the EDOS L0 Ancillary granule. Consequently, a replacement request occurs whenever a long gap or a sufficient number of irreparable short gaps are present. Conversely, DPREP is most discriminating when assessing the quality of FDD data streams, both attitude and ephemeris. The FDD-supplied data streams have had a certain amount of preprocessing performed and are, therefore, expected to be error free. Any problem encountered (with the exception of short data gaps) results in a request for replacement from FDD. Consequently, DPREP requests replacement of the FDD-supplied attitude and ephemeris granules whenever a long data gap is present or range analysis fails. Section 0 describes the data replacement operational scenario.

Whenever a gap bridges granule boundaries in the EDOS-supplied ephemeris data, the gap is filled by the piecemeal replacement of two granules: the granule in which the gap begins and the granule in which the gap ends.

1.3 DPREP Data Products Standard DPREP processing produces three ephemeris and attitude product data streams: 1) the EDOS-supplied Toolkit ephemeris data stream (ESDT short names AM1EPHN0 and AM1EPHH0), 2) the EDOS-supplied Toolkit attitude data stream (AM1ATTN0 and AM1ATTH0), and 3) the FDD-supplied Toolkit attitude data stream (AM1ATTNF and AM1ATTHF). The short name that ends with a penultimate “H” stands for HDF format while “N” stands for native (or Toolkit) format.

1-17 500-EMD-001

For the discussion that follows, the reader is referred to EOSDIS Spacecraft Ephemeris and Attitude Data Specification: Contents and Structure for details regarding the contents of Toolkit-format ephemeris and attitude granules and the metadata contained therein. This document can be found on the World Wide Web at http://newsroom.gsfc.nasa.gov/sdptoolkit/appendl.html and is summarized in the Release 6A.07 SDP Toolkit User’s Guide for the ECS Project, Appendix L (document number 333-CD-605-003, April 2003 draft and later). HDF documentation can be found on the World Wide Web at http://hdf.ncsa.uiuc.edu/.

1.3.1 Granule Format The basic structure is the same for the Toolkit and HDF-format ephemeris granules: Header Record Universal Reference Records Data Records Orbit Metadata Records An ephemeris granule consists of a single header record followed by three multi-record sections that contain the universal references (URs), the ephemeris data, and the orbit metadata. The number of records in each multi-record section can be found in the header record. Header fields nURs, nRecords, and nOrbits specify the number of records found in each section, respectively.

An attitude granule consists of only the first three sections shown above. The formats of records found in the each section differ between the attitude and ephemeris granules, of course, but the record lengths remain the same.

As for the HDF-format ephemeris and attitude granules, each section is written as a single Vdata table using standard HDF (except for the header and universal reference sections, which have been combined into a single Vdata table). Vdata table field names are the same as those found in the record structures provided by the SDP Toolkit for the Toolkit-format granules. Spare fields used to pad the Toolkit record structures to fixed lengths are not included in the Vdata tables, however.

1.3.2 Granule Header SDP Toolkit and DPREP design require that each version of DPREP provide a standard set of metadata within the header of the Toolkit and HDF-format ephemeris and attitude granules. This metadata is considered common to all versions of DPREP (regardless of platform) and must therefore be supplied in the standard Toolkit format.

Each platform also has the option of adding platform-specific metadata to the ephemeris and attitude granule headers as required by the design of DPREP for that platform. Space for the platform-specific metadata is taken from spares that pad the Toolkit-format granule header out to 512 bytes. Any platform-specific metadata can be added to the header as long as the platform-generic header metadata as well as the length of the header (e.g. 512 bytes) are preserved.

1-18 500-EMD-001

1.3.3 Universal References SDP Toolkit and DPREP design are also driven by project requirements. All versions of DPREP are required to save the universal reference of all inputs used in deriving a DPREP data product within the product itself. The list of universal references follows the header in each Toolkit and HDF-format ephemeris and attitude granule, the number of which can be found in the granule header.

1.3.4 Orbit Metadata

1.3.4.1 Orbit Metadata Records Orbit metadata include the following items that are generated for each orbit encountered in the Terra ephemeris data stream:

1. True-of-Date (TOD) Orbit number. 2. Descending TOD node crossing time in TAI93. 3. Terrestrial longitude at the descending node crossing, in radians. 4. Ascending TOD node crossing time in TAI93; this metatdata is recorded in the ephemeris

data products but not in the inventory metadata. Every ephemeris granule produced by DPREP is tagged with one orbit metadata record for each orbit “touched” in the time interval spanned by that granule. Orbit metadata records follow the ephemeris data in the Toolkit and HDF-format ephemeris granules. For Terra, a standard two-hour ephemeris granule may be tagged with either two or three orbit metadata records depending on how the orbits are encountered. Orbit metadata get archived along with other DPREP metadata.

Orbit metadata are calculated from the ascending and descending node crossings that are encountered in the EDOS and FDD-supplied ephemeris data streams. Position vectors are rotated from Mean-of-J2000 to True-of-Date prior to detecting node crossings and computing the orbit metadata.

For DPREP an orbit goes from one TOD ascending node to the next (FDS orbits work the same, but in Mean-of-J2000). Counting out ascending node crossings from the beginning of the mission generates orbit numbers. An initial orbit number must be supplied whenever the boot-up procedure (Profile 2) of DPREP PGEs EcDpPrAm1EdosEphAttDPREP_PGE or EcDpPrAm1FddEphemerisDPREP_PGE is used. S4PM prompts for an initial orbit number when the bootstrap procedure is invoked. In PDPS, failure to provide an initial orbit number on boot-up causes DPREP to abort (see Section 6.2 for details). DPREP counts orbits from the initial value supplied by PCF logical ID 998. For consistency with FDD procedure, the first (partial) orbit after launch is orbit 0.

Nominal DPREP processing (Profile 1) resumes orbit counting at the last orbit that had been encountered in the ephemeris data stream. DPREP resumes counting at the orbit number found in the last orbit metadata record of the preceding Toolkit-format ephemeris granule. Profile 1 processing depends on a preceding granule in order to determine where orbit counting is to resume. Profile 1 does not require the immediately preceding granule to be available, however.

1-19 500-EMD-001

DPREP accepts the most recent granule, up to as much as seven days (or one day, for Terra DPREP processing at the LDAAC) in the past. If the preceding granule does not immediately precede the processing interval, DPREP calculates the number of orbits that have elapsed from the last known orbit to decide on where to resume counting.

Ascending and descending node-crossing times are determined by first detecting when the Z component of the position vector changes sign. Whenever Z changes sign from minus to plus, Terra crosses the ascending node. Whenever Z changes from plus to minus, Terra crosses the descending node. Linearly interpolating the times bracketing a node crossing to when Z is zero determines the node crossing time. The descending longitude is the difference between the right ascension of Terra and the Greenwich apparent sidereal time. Refer to Generation of Orbit Number and Equator Crossing Time and Longitude for EOSDIS (P. Noerdlinger, SAC, November 12, 1995) for more information on generating orbit metadata. This document can be found on the World Wide Web at http://newsroom.gsfc.nasa.gov/sdptoolkit/orbitgen.html.

In order to generate orbit metadata for node crossings missing from the ephemeris data stream, DPREP first determines the orbital period of Terra from two successive ascending or descending node crossings found in the data segment being processed. If an orbital period cannot be determined from two successive node crossings, then the orbital period from the first available preceding granule (up to seven days in the past) is used. If a preceding granule is not available, then DPREP calculates orbital elements from ephemeris data in the segment being processed. From the orbital elements the period is then calculated. The orbital period is used to "project" node-crossing times for ascending and descending node crossings not detected in the ephemeris data stream. The orbital period is also used to "project" descending node longitudes for missing descending node crossings.

Figure 1-3 aids in the visualization of how orbits may fall within the two-hour L0 Ancillary and FDD replacement ephemeris granules. This figure is not intended in any way to reflect actual events but to merely aid visualization. Orbits go from successive TOD ascending nodes crossings, A, with an intervening descending node, D. A new orbit starts at each ascending node; the incremented orbit number reflects this. With one Terra orbital period expected to last approximately 99 minutes, either two or three orbits can span the two-hour granules. For example, two orbits span granule 4h to 6h (orbits 342 and 343) while three orbits span granule 6h to 8h (orbits 343 through 345). Because an orbit often touches neighboring granules, neighboring granules are tagged with the duplicate orbit metadata.

The ascending node crossing time of the first orbit and the descending node crossing time of the last orbit that span a granule do not always bracket the start and end times of the granule. For example, the first ascending node and last descending node crossing time do bracket granule 2h to 4h (as well as granule 6h to 8h), but do not bracket granule 4h to 6h. The last descending node crossing time for granule 4h to 6h occurs well before the end of the granule. DPREP does not always provide orbit metadata that temporally bracket the granule interval.

1-20 500-EMD-001

341 342 343 344 345 A D A D A D A D A 2h 4h 6h 8h

Figure 1-3. Orbit - Granule Timelines

1.3.4.2 Orbital Elements Included in the orbit metadata are the orbital elements of the Terra platform. The orbital elements can be found, along with the reference frame and epoch to which they pertain, in the header record of the Toolkit and HDF-format ephemeris granules.

Because the orbital elements of the Terra platform are not provided in the EDOS-supplied ephemeris data, DPREP calculates them. DPREP selects the first five ephemeris data points that pass data quality analysis, computes orbital elements from each of the five ephemeris data points, and then averages the five orbital elements together for the final result. The time stamp of the first ephemeris data point from which orbital elements are successfully calculated becomes the epoch of the orbital elements. Orbital elements are defined in the Mean-of-J2000 ECI frame.

The FDD provides orbital elements and the epoch to which they pertain in replacement ephemeris granules. Consequently, DPREP does not calculate orbital elements when processing replacement ephemeris granules. The FDD-supplied orbital elements are defined in the Mean-of-J2000 ECI frame.

1.3.5 Metadata Files For each Toolkit and HDF-format ephemeris and attitude granule produced by DPREP, DPREP generates an accompanying metadata file. The Science Data Server (SDSRV) requires metadata to be provided along with the granule being archived in order for archiving to be completed successfully. In general, this metadata is ESDT-specific and is provided to the SDSRV via the metadata file. The metadata that are documented in Table 1-2 describe all Terra DPREP generated ESDTs: AM1EPHN0, AM1EPHH0, AM1ATTN0, AM1ATTH0, AM1ATTNF, and AM1ATTHF.

The metadata, once archived, become searchable. Both S4PM and PDPS use the time range of DPREP products in scheduling their use by Science PGEs. Furthermore, qualified subscriptions can be placed on the archived metadata, as is done when placing a subscription on the QAPercentMissingData metadata to achieve replacement of EDOS-supplied ephemeris data (Section 6.3).

More information about metadata can be found in Release B Science Data Processing Segment (SDPS) Database Design and Database Schema Specifications for the ECS Project (document number 311-CD-008-001).

1-21 500-EMD-001

Table 1-2. DPREP Metadata (1 of 2) Metadata Name Set By2 Description

AutomaticQualityFlag PGE The granule level flag set by the PGE to access the quality of the granule produced by the PGE.

AutomaticQualityFlagExplanation PGE Text explaining the Automatic Quality Flag. EquatorCrossingDate PGE The date of the descending equator crossing. EquatorCrossingLongitude PGE The terrestrial longitude under the descending equator

crossing. EquatorCrossingTime PGE The time of the descending equator crossing. InputPointer PGE The logical reference to a data granule. LocalGranuleID PGE Unique product identifier for locally produced granules. LocalVersionID PGE Unique product version identifier for locally produced

granules whose use is defined by the science data provider; currently unused by DPREP.

OperationalQualityFlag PGE The granule level flag set by the DAAC QA process to access the operational quality of the granule.

OperationalQualityFlagExplanation PGE Text explaining the contents of the Automatic Quality Flag.

OrbitalModelName PGE The orbital model to used in determining the platform geo-location.

OrbitNumber PGE The orbit number to which the data pertain. ParameterName PGE Used to name characteristics of the granule which have

not been included in the core set of metadata attributes. ProductionDateTime TK Date and time when the granule was generated. QAPercentInterpolatedData PGE Percentage of records generated via data repair in

granule. QAPercentMissingData PGE Percentage of records that are missing from granule. QAPercentOutofBoundsData PGE Percentage of records that are limit and/or range

flagged in granule. RangeBeginningDate PGE The year, month, and day when the temporal coverage

period being described began. RangeBeginningTime PGE The hour, minutes, and seconds of the temporal

coverage period being described began. RangeEndingDate PGE The year, month, and day when the temporal coverage

period being described ended. RangeEndingTime PGE The hour, minutes, and seconds of the temporal

coverage period being described ended. ReprocessingActual MCF States what reprocessing has been performed on this

granule.

2 DP stands for Data Producer which means instrument team, PI or other qualified person. PGE stands for Product

Generation Executive, the science software that produces most of the granule level metadata. PLS stands for Planning Subsystem that provides plans and reports to the database. DPS stands for Data Processing Subsystem that supports the operation, integration, and test of science software. DSS stands for Data Server Subsystem that provides database pointers or references to archived data objects. DAAC stands for Distributed Active Archive Center where operations staff assists the DP in the population process.

1-22 500-EMD-001

Table 1-2. DPREP Metadata (2 of 2) Metadata Name Set By Description

ReprocessingPlanned MCF States what reprocessing may be performed on this granule.

ScienceQualityFlag DP The granule level flag set by the Science Team QA process to access the scientific quality of the granule.

ScienceQualityFlagExplanation DP Text explaining the contents of the Science Quality Flag. ShortName MCF The ECS Technical Baseline product names used in

identifying the contents of the granule. SizeMBECSDataGranule DSS The volume of data contained in the granule.

(Megabytes). StartOrbitNumber PGE The orbit number at the start of the granule. StopOrbitNumber PGE The orbit number at the end of the granule. VersionID MCF Version identifier of the granule.

1.3.6 Local Granule ID Format

DPREP generates a local granule ID for each granule it produces according to the naming convention described here. The local granule ID can be found in the metadata associated with each DPREP product, and it is this name that granules are given in distribution.

The DPREP-generated local granule ID has the format

ESDT.PlatformCodeYYYYDDD.HHMM.Version.YYYYDDDHHMMSS.Extension

where

ESDT The ESDT to which the granule pertains (i.e. AM1EPHN0).

PlatformCode A single-character code pertaining to the platform with which the data are associated (i.e. A for Terra).

YYYYDDD The year and day-of-year to which the data pertain.

HHMM The hour and minute of the start time of the data segment to which the data pertain.

Version The version number of the ESDT to which the granule pertains.

YYYYDDDHHMMSS The time at which the data were produced.

Extension The file extension that denotes the internal format of the data, hdf for HDF-format data or NULL for Toolkit-format data.

Because of the substantial impact on users of DPREP data products, it is highly unlikely that the format of the local granule ID will ever change from that described above.

1-23 500-EMD-001

1.4 DPREP Processing Scenario DPREP processing is granule-oriented; the processing interval selects data granules from the archive for DPREP to process, which then get processed to completion. All data that are processed by DPREP arrive in two-hour segments. Therefore, processing intervals must be selected in multiples of two hours. Figure 1-4 diagrams standard DPREP ephemeris processing while Figure 1-5 diagrams standard DPREP attitude processing.

D ay N

6 h 8h 10 h 1 2h 14 h

E cD p P rA m 1 E d o sE p h A ttD P R E P _ P G EP ro file 2

B o o t-U p P ro cess in g

E cD p P rA m 1 E d o sE p h A ttD P R E P _ P G EP ro file 1

A M 1 A T T H 0

A M 1 A T T N 0

A M 1E PH H 0

A M 1E PH N 0

E cD p P rA m 1 E d o sE p h A ttD P R E P _ P G EP ro file 1

A M 1 A T T H 0

A M 1 A T T N 0

A M 1E PH H 0

A M 1E PH N 0

A M 1 A T T H 0

A M 1 A T T N 0

A M 1 E PH H 0

A M 1 E PH N 0

A M 1 A N C A M 1 A N C A M 1 A N CA M 1 A N C

E D O S-S up p lied L 0 A nc illa ry T im e lin e

Figure 1-4. Terra DPREP Standard Ephemeris Processing Scenario

1-24 500-EMD-001

6h 8h 10h 12h 14h

Day N AM1ATTF AM1ATTF AM1ATTFAM1ATTF

EcDpPrAm1FddAttitudeDPREP_PGEProfile 2

Boot-Up Processing

EcDpPrAm1FddAttitudeDPREP_PGEProfile 1

AM1ATTHF

AM1ATTNF

EcDpPrAm1FddAttitudeDPREP_PGEProfile 1

AM1ATTHF

AM1ATTNF

AM1ATTHF

AM1ATTNF

FDD-Supplied Attitude Timeline

Figure 1-5. Terra DPREP Standard Attitude Processing Scenario

Standard processing produces three ephemeris and attitude product data streams: 1) the EDOS-supplied Toolkit ephemeris data stream, 2) the EDOS-supplied Toolkit attitude data stream, and 3) the FDD-supplied Toolkit attitude data stream. The EDOS-supplied Toolkit ephemeris and FDD-supplied Toolkit attitude are recommended for use in science data processing; the EDOS-supplied Toolkit attitude is available for use at the user’s discretion.

The processing of EDOS-supplied L0 Ancillary data (the source of data streams (1) and (2) mentioned above) occurs daily, as does the processing of FDD-supplied attitude data (the source of data stream (3)). The processing of L0 Ancillary data is independent of the processing of FDD attitude data.

Because DPREP’s data quality analysis includes checks for continuity across granule boundaries, EDOS ephemeris and attitude processing must lag at least two hours behind “real-time”. DPREP expects the EDOS-supplied L0 Ancillary granule that follows the segment being processed to be available for continuity checking. Hence the processing lag. Similarly, FDD-supplied attitude granule processing lags at least two hours behind "real-time".

1.4.1 DPREP PGE Profiles Processing of the EDOS ephemeris and attitude data stream and the FDD attitude data stream must be initialized with a boot-up process that runs on the first mission granule (or the first granule that follows data dropout). Profile 2 of PGE EcDpPrAm1EdosEphAttDPREP_PGE performs the boot-up of EDOS ephemeris and attitude processing. Similarly, Profile 2 of PGE EcDpPrAm1FddAttitudeDPREP_PGE performs boot-up of FDD attitude processing. Profile 1

1-25 500-EMD-001

assumes processing thereafter, in both the EDOS ephemeris and attitude data streams and the FDD attitude data stream. Processing of the EDOS-supplied ephemeris data occurs independently of the FDD-supplied attitude data. The processing of these data occurs daily.

Because EDOS-supplied ephemeris processing begins after several orbits have elapsed at the very beginning of the mission, the initial orbit number must be requested from the Flight Operations Team (FOT) and supplied to DPREP prior to scheduling Profile 2 processing. The FOT must be asked to supply a re-starting orbit number when booting-up after data dropout. See Section 6.2 for details.

In order for DPREP to successfully perform QA analysis, DPREP depends on DPREP output produced from processing the segment immediately preceding the segment being processed. Likewise, DPREP processing depends on the availability of the raw input granule that follows the one being processed. Therefore, EDOS L0 Ancillary data processing requires the preceding segment’s Toolkit-format ephemeris and attitude granules, as well as the following segment’s EDOS L0 Ancillary granule. By the same token, FDD Attitude data processing requires the preceding segment’s Toolkit-format attitude granule, as well as the following segment’s FDD Attitude granule. This arrangement is typical of Profile 1 processing. Profile 2 processing does not depend on DPREP output from the preceding segment (a preceding granule would not exist in the situation that Profile 2 is intended to run). “Day N”, as depicted in Figure 1-4 and Figure 1-5, indicates the beginning of mission or the resumption of processing following an interval of data dropout. Profile 2 processes the first segment, the segment that spans hours 6 to 8 in this example. Profile 1 assumes processing responsibility from 8 hours of day N through the end of the mission (or the next data dropout). This is true of both the EDOS L0 Ancillary and the FDD Attitude data streams.

In addition to Profiles 1 and 2, DPREP recognizes Profiles 3 and 4. It is unlikely that these profiles will be scheduled operationally, however, in PDPS. Profile 3 terminates DPREP processing prior to the end of the mission or an interval of data dropout. Unlike Profiles 1 and 2, Profile 3 does not depend on the following segment. Profile 4 processes isolated segments. Therefore, Profile 4 does not depend on the preceding or following segments.

1.4.2 Current DPREP Production Rules Even though Profile 1 processing of EDOS-supplied L0 Ancillary data depends on a preceding granule being available, Profile 1 does not require the granule to be supplied by the segment that immediately precedes the segment being processed. Both S4PM and PDPS begin by looking at the segment that immediately precedes the segment being processed. If the granule is available, processing begins. If it is not available, they wait up to four hours for the granule to appear. If it appears during those four hours, processing starts immediately. If at the end of four hours the granule from the immediately preceding segment is still not available, the wait period expires. S4PM and PDPS then look up to seven days (or one day, for Terra DPREP processing at the LDAAC) into the past for the most recently available granule. If no preceding segment's granule is available from the past seven days, S4PM and PDPS halt DPREP processing. Profile 2 boot-up processing must then be arranged in order for processing to proceed (see Section 6.2 for

1-26 500-EMD-001

information on initiating Profile 2 DPREP processing). These production rules could change in order to keep pace with processing demands.

Profile 1 processing of FDD-supplied attitude data depends on, but does not require, the availability of a preceding granule. Instead of looking up to seven days into the past for a preceding granule after the four-hour wait period ends, processing starts immediately without a preceding granule. In this case, Profile 1 processing reverts to Profile 2 processing (Profile 2 does not depend on output from a preceding data segment).

Similarly, Profile 1 depends on, but does not require, the raw input granule from the segment that immediately follows the segment being processed. If this granule does not become available after the four-hour wait period, DPREP reverts to Profile 3 processing (Profile 3 does not depend on the raw input granule from the segment that follows). Unlike the processing scenario outlined above for preceding granules, S4PM and PDPS never halt DPREP processing if the following granule does not become available.

Profile 1 behaves in this manner so that DPREP processing can proceed with minimal operator intervention if input granules do not arrive in time-order or if some granules do not arrive at all. Given the processing flexibility of Profile 1, neither the scheduling of Profile 3 nor the scheduling of Profile 4 is envisioned operationally.

1.4.3 Non-Time-Ordered DPREP Processing For the following reasons, it is advantageous to process DPREP in time-order. DPREP uses granules from the immediately preceding segment to

1. Initialize the data quality analysis of the current segment. 2. Consistency check data across granule boundaries. 3. Determine where to resume orbit counting when processing orbit metadata.

If time-ordered processing is not possible, DPREP readily accepts granules from the most recently available preceding segment, up to seven days (or one day, for Terra DPREP processing at the LDAAC) in the past. If the preceding granule does not immediately precede the processing interval, DPREP calculates the number of orbits that have elapsed from the last known orbit to decide on where to resume counting. Data quality analyses are re-initialized also when the immediately preceding granule is unavailable.

Because DPREP can process granules that are not in time-order, non-existent long gaps might be accidentally flagged in the ephemeris and attitude timelines. A long gap can be flagged between the current and preceding segments if the preceding segment does not immediately precede the current. If the gap is filled by a subsequent granule delivery, a long gap is erroneously flagged.

Similarly, DPREP can fail to flag data gaps if processing does not occur in time-order. If data from the following segment is not immediately available, DPREP processing continues without input from the following segment. Consequently, gap checking between the current and following segments is not performed. A gap that follows the current processing segment will go undetected.

1-27 500-EMD-001

1.4.4 Ephemeris Data Replacement Processing Scenario If EDOS ephemeris processing indicates that an FDD-supplied ephemeris replacement granule is required, special DPREP processing is invoked to process the replacement ephemeris. As with standard DPREP processing, ephemeris replacement processing performs consistency checks at the granule boundaries between the replacement segment and the neighboring segments. Given that the L0 Ancillary granule following the replacement segment is itself subject to replacement, replacement processing accepts either an FDD-supplied ephemeris granule or an L0 Ancillary granule as the following granule with which to consistency check. Both S4PM and PDPS wait up to four hours for the FDD-supplied ephemeris granule from the following data segment to appear. If after the four-hour wait period the FDD-supplied ephemeris granule does not appear, DPREP uses the L0 Ancillary granule from the following data segment. The FDD-supplied ephemeris granule, if available, is used in preference to the L0 Ancillary granule. Figure 1-6 diagrams DPREP replacement ephemeris processing.

AM1ATTH0

AM1ATTN0

AM1EPHH0

AM1EPHN0

AM1ATTH0

AM1ATTN0

AM1EPHH0

AM1EPHN0

AM1EPHH0

AM1EPHN0

Day N

6h 8h 10h 12h 14h

EcDpPrAm1EdosEphAttDPREP_PGEProfile 1

(Replacement FDD ephemerisrequested)

AM1ANC AM1ANC AM1ANCAM1ANC

EDOS-Supplied L0 Ancillary Timeline

AM1EPHF

EcDpPrAm1FddEphemerisDPREP_PGEProfile 1

8h 10hFDD-Supplied Ephemeris

AM1ATTH0

AM1ATTN0

AM1EPHH0

AM1EPHN0

EcDpPrAm1EdosEphAttDPREP_PGEProfile 1

EcDpPrAm1EdosEphAttDPREP_PGEProfile 2

(Boot-Up Processing)

Figure 1-6. Terra DPREP Replacement Ephemeris Processing Scenario

The presence of a long data gap (i.e. 58 or more records) in the EDOS-supplied ephemeris timeline causes DPREP to request a replacement ephemeris granule from FDD via the Spatial

1-28 500-EMD-001

Subscription Server. PGE EcDpPrAm1FddEphemerisDPREP_PGE processes the FDD-supplied replacement ephemeris granule, generates Toolkit ephemeris granules, and inserts the granules into the EDOS-supplied Toolkit ephemeris data stream. The nominal interval between records in the EDOS-supplied ephemeris timeline is 1.024 seconds while the nominal interval between records in the FDD-supplied ephemeris timeline is one second. Because of the differing data intervals, the replacement granule will not provide an exact point-by-point replacement of the original granule. Optimally the replacement granule should fill the interval being replaced, however. The interval between records at the boundary between a replacement granule and neighboring granules are not to exceed two seconds (the long data gap threshold), however, and data gaps should not exist. Furthermore, a replacement granule is not to overlap its neighbors. To ensure that gaps and overlaps do not exist, DPREP performs consistency checks at the replacement boundaries. Consistency checking uses the Toolkit-format ephemeris granule generated by the preceding DPREP run (which, by the way, processed either EDOS L0 Ancillary or FDD Ephemeris data) and the segment to be processed by the following DPREP run.

FDD replacement ephemeris granule processing makes use of four profiles. Profile functionality for FDD ephemeris replacement parallels that previously described for the other DPREP PGEs. Profile 1 does nominal replacement processing. Profile 2 does replacement processing of the first granule following data dropout or at mission start-up. Profile 3 does replacement processing prior to data dropout or at the end of the mission. Replacement of an isolated granule using Profile 4 (where neither a preceding nor following granule is available) is not envisioned operationally.

The net result of DPREP processing, by way of continuing the examples used above, is outlined in Figure 1-7.

1-29 500-EMD-001

AM1EPHF

Day N

6h 8h 10h 12h 14h

6h 8h 10h 12h 14h

Day N AM1ATTF AM1ATTF AM1ATTFAM1ATTF

AM1ANC AM1ANC AM1ANCAM1ANC

AM1EPHN0 AM1EPHN0 AM1EPHN0AM1EPHN0

AM1ATTN0 AM1ATTN0 AM1ATTN0AM1ATTN0

AM1ATTF0 AM1ATTF0 AM1ATTF0AM1ATTF0

EDOS-Supplied L0 Ancillary Timeline

FDD-Supplied Attitude Timeline

FDD-Supplied Attitude Timeline in Toolkit Format

EDOS-Supplied Ephemeris Timeline in Toolkit Format

EDOS-Supplied Attitude Timeline in Toolkit Format

FDD-Supplied Replacement Ephemeris

Figure 1-7. Terra Ephemeris and Attitude Timelines

Even though only the replacement of EDOS-supplied ephemeris data was depicted above, any data quality problem encountered in either an FDD Attitude or FDD Ephemeris granule results in an FDD replacement request and subsequent DPREP processing. Only the replacement of ephemeris data requires a special processing scenario, however.

Given the nature of replacement processing, replacement processing occurs on an as-needed basis. If it is known in advance that two or more consecutive segments are to undergo replacement processing, processing can be postponed until all replacement granules arrive. All segments can then be scheduled for replacement processing in a single processing plan within PDPS. The circumstance of data replacement (e.g. replacement of the first mission granule) dictates which DPREP PGE profile(s) is used complete replacement processing.

1-30 500-EMD-001

This page intentionally left blank.

2-1 500-EMD-001

2. EDOS Ephemeris and Attitude Preprocessing

PGE EcDpPrAm1EdosEphAttDPREP_PGE processes the EDOS-supplied L0 Ancillary granules to produce the Toolkit and HDF-format EDOS ephemeris and attitude data streams. Figure 2-1 highlights the flow of data during EDOS L0 Ancillary data processing.

EcDpPrAm1EdosEphAttDPREP_PGE

EcDpPrAm1FddEphemerisDPREP_PGE

EcDpPrAm1FddAttitudeDPREP_PGE

Terra FDD Attitude (AM1ATTF)

Terra HDF Attitude (AM1ATTHF)

Terra Toolkit Attitude (AM1ATTNF)

Terra FDD Ephemeris (AM1EPHF)

SciencePGE

Terra L0 Ancillary (AM1ANC)

Terra HDF Attitude (AM1ATTH0)

Terra Toolkit Attitude (AM1ATTN0)

Terra Toolkit Ephemeris (AM1EPHN0)

Terra HDF Ephemeris (AM1EPHH0)

(user option of attitude source)

Figure 2-1. Terra DPREP EDOS L0 Ancillary Processing Data Flow

This PGE consists of a script that coordinates three DPREP executables: 1. EcDpPrAm1EdosAncillary 2. EcDpPrAm1EdosEphemerisRepair 3. EcDpPrAm1ToolkitToHdf

Executable (1) processes the EDOS L0 Ancillary granule into Toolkit and HDF-format EDOS ephemeris and attitude granules and, in doing so, identifies data to be repaired in the ephemeris data stream. The ephemeris granules are written by executable (1) as temporary granules, not as

2-2 500-EMD-001

Product Data Sets. If executable (1) determines that the ephemeris data stream had repairable data quality problems, executable (2) performs data repair on the temporary Toolkit-format ephemeris granule to produce the repaired granule. Executable (3) completes the process by generating an HDF-format EDOS ephemeris from the repaired Toolkit-format EDOS ephemeris granule. The granules produced by executables (2) and (3) are written as Product Data Sets. Temporary granules do not get archived, but do remain in the run-time directory for a short period of time in case they should need to be examined. To ensure access to the run-time directory and the temporary granules, the DPR should be put "on-hold" in the post-processing phase in Autosys. Figure 2-2 shows the flow of data internal to PGE EcDpPrAm1EdosEphAttDPREP_PGE.

Terra L0 Ancillary (AM1ANC)

Terra HDF Attitude (AM1ATTH0)

Terra Toolkit Attitude (AM1ATTN0)

TemporaryTerra Toolkit Ephemeris (AM1EPHN0)

TemporaryTerra HDF Ephemeris

(AM1EPHH0)

Terra HDF Ephemeris (AM1EPHH0)

EcDpPrAm1EdosAncillary

EcDpPrAm1EdosEphemerisRepair

Terra Toolkit Ephemeris (AM1EPHN0)

EcDpPrAm1ToolkitToHdf

Figure 2-2. Terra DPREP EDOS L0 Ancillary Processing Internal Data Flow

The data quality analyses performed by DPREP on the EDOS-supplied ephemeris and attitude data streams differ. Because the EDOS-supplied attitude data are not sure to be good enough for science data processing, EDOS attitude data have minimal quality checks performed. Only the continuity, consistency, and data gap checks are performed. Any gap longer than the nominal data interval of 1.024 seconds gets flagged as a long gap. Because the data interval is 1.024

2-3 500-EMD-001

seconds, all data gaps get flagged as long gaps in the attitude timeline. FDD-supplied attitude data are considered the primary source of Terra attitude. EDOS attitude data never undergo data repair nor are replacement data ever requested due to quality problems. These data are “own risk” data and users are advised to use instead the FDD attitude data routinely preprocessed by DPREP.

EDOS-supplied ephemeris data are the primary source of ephemeris for Terra and, therefore, get the full complement of data quality analyses performed. DPREP continuity-checks and consistency-checks, and performs limit, range, and data gap analysis on the ephemeris data stream. DPREP repairs short data gaps as well as ephemeris records that fail QA analysis (red and yellow limit, failure of QA analysis, and safe mode failed records). If a long gap is present, DPREP requests a replacement granule from FDD, again via the Spatial Subscription Server. Refer to Sections 1.2.1 and 1.2.2 for details concerning data quality analysis, data repair, and granule replacement.

This PGE signals three exit conditions: success, failure, and data replacement required. Status code 0 indicates successful completion. Status code 200 indicates that a fatal error occurred. All downstream processing (i.e. Science PGEs) halts. Status code 216 indicates that replacement data must be requested from FDD. Processing continues in this instance.

Table 2-1 describes the run-time parameters used in processing the EDOS L0 Ancillary data. The table indicates the default value associated with the logical ID and which DPREP Profile uses the logical ID. Many of these run-time parameters control the data quality analyses performed on the ephemeris data stream.

Table 2-1. Terra DPREP EDOS L0 Ancillary Processing PCF Logical IDs (1 of 3) PCF Logical ID Description Default Profile ID 1 2 3 4 950 Spacecraft name. EOSAM1 Y Y Y Y 955 Platform indicator. A Y Y Y Y 970 Logical ID of the preceding ephemeris granule

(1700 - 1783). 0 Y N Y N

980 Logical ID of the preceding attitude granule (1800 - 1883).

0 Y N Y N

990 PGE version number. None Y Y Y Y 998 Initial orbit number. -1 N Y N Y 999 Profile ID. None Y Y Y Y 1000 L0 Ancillary granule to be processed. None Y Y Y Y 1001 Toolkit-format attitude granule file name. None Y Y Y Y 1010 L0 Ancillary granule following the one being

processed. None Y Y N N

1100 HDF-format attitude granule file name. None Y Y Y Y

2-4 500-EMD-001

Table 2-1. Terra DPREP EDOS L0 Ancillary Processing PCF Logical IDs (2 of 3) PCF Logical ID Description Default Profile ID 1 2 3 4 1151 Toolkit-format ephemeris granule file name. None Y Y Y Y 1152 HDF-format ephemeris granule file name. None Y Y Y Y 1255 Toolkit-format attitude metadata ID. 1001:1 Y Y Y Y 1256 Toolkit-format ephemeris metadata ID. 1151:1 Y Y Y Y 1700 - 1783 Toolkit ephemeris granule from the preceding

DPREP run. None Y N Y N

1800 - 1883 Toolkit attitude granule from the preceding DPREP run.

None Y N Y N

5000 Maximum size of ephemeris data quality queue in number of data records.

75 Y Y Y Y

5001 Minimum size of ephemeris data quality queue in number of data records.

23 Y Y Y Y

5004 Position vector yellow limit threshold in meters or SD.

8.610 SD Y Y Y Y

5005 Position vector red limit threshold in meters or SD. 15.544 SD Y Y Y Y 5006 Velocity vector yellow limit threshold in meters or

SD. 8.610 SD Y Y Y Y

5007 Velocity vector red limit threshold in meters or SD. 15.544 SD Y Y Y Y 5008 Minimum number of consecutive missing data

records required for a long ephemeris data gap. 58 Y Y Y Y

5009 Minimum number of consecutive missing data records required for a long attitude data gap.

1 Y Y Y Y

5025 Limit thresholds in absolute data unit (1) or SD (0).

0 Y Y Y Y

5028 Generate attitude granule flag (0=false, 1=true). 1 Y Y Y Y 5029 Generate ephemeris granule flag (0=false,

1=true). 1 Y Y Y Y

5030 Maximum distance from ECI center in meters. 7380000 Y Y Y Y 5031 Minimum distance from ECI center in meters. 6500000 Y Y Y Y 5032 Maximum velocity about ECI center in meters per

second. 8300 Y Y Y Y

5033 Minimum velocity about ECI center in meters per second.

6850 Y Y Y Y

5038 Ignore definitive ephemeris request (0=false, 1=true).

0 Y Y Y Y

5039 Euler angle order; first angle (1=X, 2=Y, 3=Z). 3 Y Y Y Y 5040 Euler angle order; second angle (1=X, 2=Y, 3=Z). 1 Y Y Y Y 5041 Euler angle order; third angle (1=X, 2=Y, 3=Z). 2 Y Y Y Y 5050 Expected data interval (seconds). 1.024 Y Y Y Y 5053 Maximum orbital period (seconds). 6420 Y Y Y Y

2-5 500-EMD-001

Table 2-1. Terra DPREP EDOS L0 Ancillary Processing PCF Logical IDs (3 of 3) PCF Logical ID Description Default Profile ID 1 2 3 4 5054 Minimum orbital period (seconds). 5250 Y Y Y Y 5057 AM1 clock epsilon (seconds). 0.002 Y Y Y Y 5058 Data segment duration (seconds). 7200 Y Y Y Y EDOS L0 Ancillary processing must run at least two hours behind “real-time”. DPREP consistency checks across granule boundaries and requires the L0 ancillary granule that follows the current L0 ancillary granule in order to perform the consistency check. Refer to Section 1.4 for more information on the DPREP processing scenario.

In addition to the standard set of metadata supplied in the Toolkit and HDF-format ephemeris and attitude granule header, each ephemeris granule is tagged with orbit metadata. One set of orbit metadata is supplied for each orbit spanned by the ephemeris granule. Refer to Section 1.3.4 for a discussion of orbit metadata and to EOSDIS Spacecraft Ephemeris and Attitude Data Specification: Contents and Structure (P. Noerdlinger et al, 1999) for a discussion of granule header contents. This document can be found on the World Wide Web at http://newsroom.gsfc.nasa.gov/sdptoolkit/appendl.html and is summarized in the Release 6A.07 SDP Toolkit User’s Guide for the ECS Project, Appendix L (document number 333-CD-605-003, April 2003 draft and later).

Information about the Terra L0 Ancillary granule can be found in the General Instrument Interface Specification: EOS-AM Project (document number GSFC 420-03-02). In this design, the December 1, 1992, Revision A draft was used as reference.

2-6 500-EMD-001

This page intentionally left blank.

3-1 500-EMD-001

3. FDD Attitude Preprocessing

PGE EcDpPrAm1FddAttitudeDPREP_PGE processes the FDD Attitude granules to produce the FDD Toolkit attitude data stream. Two granules are produced from each FDD attitude granule that is processed: the Toolkit and HDF-format FDD attitude granules. Figure 3-1 highlights the flow of data during FDD Attitude data processing.

EcDpPrAm1EdosEphAttDPREP_PGE

EcDpPrAm1FddEphemerisDPREP_PGE

EcDpPrAm1FddAttitudeDPREP_PGE

Terra FDD Attitude (AM1ATTF)

Terra HDF Attitude (AM1ATTHF)

Terra Toolkit Attitude (AM1ATTNF)

Terra FDD Ephemeris (AM1EPHF)

SciencePGE

Terra L0 Ancillary (AM1ANC)

Terra HDF Attitude (AM1ATTH0)

Terra Toolkit Attitude (AM1ATTN0)

Terra Toolkit Ephemeris (AM1EPHN0)

Terra HDF Ephemeris (AM1EPHH0)

(user option of attitude source)

Figure 3-1. Terra DPREP FDD Attitude Processing Data Flow

Because the FDD attitude data are extensively preprocessed by FDD prior to processing by DPREP, DPREP performs minimal data quality checking on the FDD Attitude data stream. The data quality analyses include continuity, consistency, limit, range, and data gap checking which are intended mainly to catch transmission errors. DPREP does not perform data repair and normally would not perform limit analysis were it not for a shortcoming in FDD processing of Terra attitude (see Section 1.2.1.2.2.). Range checking confirms that Euler angles and rates fall

3-2 500-EMD-001

within the permissible range: the roll and yaw angles range from -π to π radians while the pitch angle ranges from -π/2 to π/2 radians inclusive; angle rates range from -0.005236 to 0.005236 radians per second (–0.3 to 0.3 degrees per second) inclusive. Data gaps of 3.584 seconds (6 records) or longer are flagged as long gaps. Any failure of data quality analysis (with the exception of short data gaps) results in entering a subscription for a replacement granule from FDD. The replacement granule is in the same format as the original FDD Attitude granule and requires no special preprocessing by DPREP. Refer to Section 0 for a discussion of the data quality analyses performed by DPREP.

This PGE signals three exit conditions: success, failure, and data replacement required. Status code 0 indicates successful completion. Status code 200 indicates that a fatal error occurred. All downstream processing (i.e. Science PGEs) halts. Status code 216 indicates that processing completed successfully but replacement data must be requested from FDD. Processing continues in this instance.

Table 3-1 describes the run-time parameters used in processing the FDD attitude data. The table indicates the default value associated with the logical ID and which DPREP Profile uses the logical ID. Many of these run-time parameters control the data quality analyses performed on the attitude data stream.

Table 3-1. Terra DPREP FDD Attitude Processing PCF Logical IDs (1 of 2) PCF Logical ID Description Default Profile ID 1 2 3 4 950 Spacecraft name. EOSAM1 Y Y Y Y 955 Platform indicator. A Y Y Y Y 990 PGE version number. None Y Y Y Y 999 Profile ID. None Y Y Y Y 1000 FDD Attitude granule to be processed. None Y Y Y Y 1001 Toolkit-format attitude granule file name. None Y Y Y Y 1010 FDD Attitude granule following the one being

processed. None Y Y N N

1100 HDF-format attitude granule file name. None Y Y Y Y 1255 Toolkit-format attitude metadata ID. 1001:1 Y Y Y Y 1800 Toolkit attitude granule from the preceding

DPREP run. None Y N Y N

5009 Minimum number of consecutive missing data records required for a long attitude data gap.

6 Y Y Y Y

5010 Roll angle yellow limit threshold in radians. 0.00007 Y Y Y Y 5011 Pitch angle yellow limit threshold in radians. 0.00007 Y Y Y Y 5012 Yaw angle yellow limit threshold in radians. 0.00007 Y Y Y Y 5013 Roll angle red limit threshold in radians. 0.0002 Y Y Y Y

3-3 500-EMD-001

Table 3-1. Terra DPREP FDD Attitude Processing PCF Logical IDs (2 of 2) PCF Logical ID Description Default Profile ID 1 2 3 4 5014 Pitch angle red limit threshold in radians. 0.0002 Y Y Y Y 5015 Yaw angle red limit threshold in radians. 0.0002 Y Y Y Y 5016 X-axis angle rate red limit threshold in radians

per second. 0.0002 Y Y Y Y

5017 Y-axis angle rate red limit threshold in radians per second.

0.00125 Y Y Y Y

5018 Z-axis angle rate red limit threshold in radians per second.

0.0002 Y Y Y Y

5019 X-axis angle rate yellow limit threshold in radians per second.

0.00007 Y Y Y Y

5020 Y-axis angle rate yellow limit threshold in radians per second.

0.00112 Y Y Y Y

5021 Z-axis angle rate yellow limit threshold in radians per second.

0.00007 Y Y Y Y

5036 Maximum angle rate in radians per second. 0.005236 Y Y Y Y 5037 Minimum angle rate in radians per second. -0.005236 Y Y Y Y 5038 Ignore FDD attitude request (0=false, 1=true). 0 Y Y Y Y 5039 Euler angle order; first angle (1=X, 2=Y, 3=Z). 3 Y Y Y Y 5040 Euler angle order; second angle (1=X, 2=Y,

3=Z). 1 Y Y Y Y

5041 Euler angle order; third angle (1=X, 2=Y, 3=Z). 2 Y Y Y Y 5042 Maximum roll angle in radians. π 3 Y Y Y Y 5043 Minimum roll angle in radians. -π Y Y Y Y 5044 Maximum pitch angle in radians. π/2 4 Y Y Y Y 5045 Minimum pitch angle in radians. -π/2 Y Y Y Y 5046 Maximum yaw angle in radians. π Y Y Y Y 5047 Minimum yaw angle in radians. -π Y Y Y Y 5050 Expected data interval (seconds). 0.512 Y Y Y Y 5057 AM1 clock epsilon (seconds). 0.002 Y Y Y Y 5058 Data segment duration (seconds). 7200 Y Y Y Y FDD attitude processing must run at least two hours behind “real-time”. DPREP consistency checks across granule boundaries and requires the FDD Attitude granule that follows the current FDD Attitude granule to perform the consistency check. Refer to Section 1.4 for more information on the DPREP processing scenario.

3 Numerically, π is 3.141592654. This is the value that will be specified in the PCF. 4 Numerically, π/2 is 1.5707964. This is the value that will be specified in the PCF.

3-4 500-EMD-001

Information about Terra FDD attitude can be found in the Earth Observing System (EOS) AM-1 Flight Dynamics System (FDS)/EOSDIS Core System (ECS) Interface Control Document (ICD), (document number 552-FDD-96/010R0UD0). In this design, the December 1998, Revision 5 draft was used as reference.

4-1 500-EMD-001

4. FDD Ephemeris Preprocessing

PGE EcDpPrAm1FddEphemerisDPREP_PGE preprocesses the FDD Ephemeris granule to produce the FDD Toolkit ephemeris replacement granule. This granule replaces a Toolkit-format EDOS ephemeris granule directly within the EDOS Toolkit ephemeris data stream. Consequently, FDD ephemeris processing does not generate an ESDT that stands apart from the Toolkit-format EDOS ephemeris ESDT, but instead produces a different “flavor” of ephemeris data within the Toolkit-format EDOS ephemeris data stream. Again, two granules are produced from each preprocessed FDD-supplied ephemeris granule: the Toolkit and HDF-format FDD ephemeris granules. Figure 4-1 highlights the flow of data during FDD Ephemeris data processing.

EcDpPrAm1EdosEphAttDPREP_PGE

EcDpPrAm1FddEphemerisDPREP_PGE

EcDpPrAm1FddAttitudeDPREP_PGE

Terra FDD Attitude (AM1ATTF)

Terra HDF Attitude (AM1ATTHF)

Terra Toolkit Attitude (AM1ATTNF)

Terra FDD Ephemeris (AM1EPHF)

SciencePGE

Terra L0 Ancillary (AM1ANC)

Terra HDF Attitude (AM1ATTH0)

Terra Toolkit Attitude (AM1ATTN0)

Terra Toolkit Ephemeris (AM1EPHN0)

Terra HDF Ephemeris (AM1EPHH0)

(user option of attitude source)

Figure 4-1. Terra DPREP FDD Ephemeris Processing Data Flow

The ESDT short names for the granules derived from EDOS-supplied ephemeris data are AM1EPHN0 and AM1EPHH0, Toolkit and HDF format respectively. These ESDT short names

4-2 500-EMD-001

apply as well to granules derived from FDD-supplied ephemeris data. The EDOS-originated data can be distinguished from the FDD-originated data by examining either the contents of the source field in the granule header or the InputPointer metadatum. The source field in the granule header contains “On-Board” if the data originated from EDOS while the source field contains “GSFC FDD” if the data originated from FDD. The InputPointer metadatum lists the universal reference (UR) of all granules used in generating the data product with which the InputPointer metadatum is associated. Within this list is the UR of the raw ephemeris granule which DPREP preprocessed. Imbedded within this UR is the ESDT ShortName of the raw ephemeris granule. ESDT ShortName AM1ANC is imbedded if the data originated from EDOS, or ESDT ShortName AM1EPHF is imbedded if the data originated from FDD. Refer to Section 6.5 for more information.

The data interval of the replacement ephemeris does not match the interval of the EDOS ephemeris being replaced. The data interval in the EDOS ephemeris is nominally 1.024 seconds while the interval in replacement ephemeris is nominally one second. Data replacement within the EDOS ephemeris timeline is such that neither data gaps nor overlaps will occur between the replacement granule and those granules bounding the replacement interval. The interval between records at either boundary will differ from the nominal interval of EDOS ephemeris data as well as FDD replacement ephemeris data. These non-nominal intervals will not prevent the SDP Toolkit EPH tools from providing accurate ephemeris to science data processing.

Because of the preprocessing that is performed by FDD on replacement data, DPREP performs minimal replacement ephemeris data quality checking. The data quality analyses include continuity, consistency, range, and data gap checking which are intended mainly to catch transmission errors. DPREP does not perform limit (spike) checking or data repair on replacement ephemeris. In addition to the standard consistency checks described in Section 1.2.1.1, replacement ephemeris granule processing requires a match between the expected satellite ID (9906801 for Terra) and the satellite ID found in the replacement granule header. The expected satellite ID is retrieved from the PCF as a run-time parameter. Range checking confirms that the magnitude of the position and velocity vectors fall within the permissible range: the geocentric distance can range from 6,500,000 to 7,380,000 meters while the velocity can range from 6,850 to 8,300 meters per second. Data gaps greater than two seconds are flagged as long gaps. Consequently all data gaps are flagged as long gaps. If data quality analysis indicates a problem, or if a data gap or overlap occurs between the replacement granule and its bounding granules, another replacement request is sent to FDD. Refer to Section 0 for a discussion of the data quality analyses performed by DPREP.

This PGE signals three exit conditions: success, failure, and data replacement required. Status code 0 indicates successful completion. Status code 200 indicates that a fatal error occurred. All downstream processing (i.e. Science PGEs) halts. Status code 216 indicates that replacement data must be requested from FDD. Processing continues in this instance.

Table 4-1 describes the run-time parameters used in processing the FDD ephemeris data. The table indicates the default value associated with the logical ID and which DPREP Profile uses the logical ID. Many of these run-time parameters control the data quality analyses performed on the replacement granule.

4-3 500-EMD-001

Table 4-1. Terra DPREP FDD Ephemeris Processing PCF Logical IDs PCF Logical ID Description Default Profile ID 1 2 3 4 950 Spacecraft name. EOSAM1 Y Y Y Y 955 Platform indicator. A Y Y Y Y 960 Logical ID of the following granule (1010 or

1020) None Y Y N N

990 PGE version number. None Y Y Y Y 998 Initial orbit number. -1 N Y N Y 999 Profile ID. None Y Y Y Y 1000 FDD Ephemeris granule to be processed. None Y Y Y Y 1001 Toolkit ephemeris granule from the preceding

DPREP run. None Y N Y N

1010 L0 Ancillary granule following the FDD granule being processed.

None Y Y N N

1020 FDD–supplied ephemeris granule following the granule being processed.

None Y Y N N

1100 Toolkit-format ephemeris granule file name. None Y Y Y Y 1101 HDF-format ephemeris granule file name. None Y Y Y Y 1200 FDD Satellite ID. 9906801 Y Y Y Y 1202 Process the entire FDD ephemeris granule

regardless of the length of interval spanned by the granule (0) or process the first 24 hours (1). For Terra, the FDD ephemeris granule always spans 2 hours.

0 Y Y Y Y

1256 Toolkit-format ephemeris metadata ID. 1100:1 Y Y Y Y 5008 Minimum number of consecutive missing data

records required for a long ephemeris data gap. 2 Y Y Y Y

5030 Maximum distance from ECI center in meters. 7380000 Y Y Y Y 5031 Minimum distance from ECI center in meters. 6500000 Y Y Y Y 5032 Maximum velocity about ECI center in meters per

second. 8300 Y Y Y Y

5033 Minimum velocity about ECI center in meters per second.

6850 Y Y Y Y

5050 Expected data interval (seconds). 1 Y Y Y Y 5053 Maximum orbital period (seconds). 6420 Y Y Y Y 5054 Minimum orbital period (seconds). 5250 Y Y Y Y 5057 AM1 clock epsilon (seconds). 0.002 Y Y Y Y 5058 Data segment duration (seconds). 7200 Y Y Y Y Every ephemeris granule produced by replacement processing is tagged with orbit metadata, as is done in standard DPREP ephemeris processing. One set of orbit metadata is supplied for each orbit spanned by the ephemeris granule. Refer to Section 1.3.4 for a discussion of orbit metadata and to EOSDIS Spacecraft Ephemeris and Attitude Data Specification: Contents and Structure

4-4 500-EMD-001

(P. Noerdlinger et al, 1999) for a discussion of granule header contents. This document is available on the World Wide Web at http://newsroom.gsfc.nasa.gov/sdptoolkit/appendl.html and is summarized in Release 6A.07 SDP Toolkit User’s Guide for the ECS Project, Appendix L (document number 333-CD-605-003, April 2003 draft and later).

Flight Dynamics Division (FDD) Generic Data Products Formats Interface Control Document, (document number 553-FDD-91/028) provides a detailed description of the FDD ephemeris granule. In this design, the June 1991 draft was used as reference.

5-1 500-EMD-001

5. Interface Between Toolkit Granules and Data Processing Software

The following SDP Toolkit EPH tools provide the interface between the ephemeris and attitude granules, either Toolkit or HDF-format, and the science data processing software:

1. PGS_EPH_EphemAttit Provides access to ephemeris and attitude data for a given spacecraft and set of times, interpolating the ephemeris and attitude to the specified times.

2. PGS_EPH_EphAtt_unInterpolate Provides access to ephemeris and attitude data for a given spacecraft and time range, returning non-interpolated ephemeris and attitude.

3. PGS_EPH_ManageMasks Retrieve and/or set the ephemeris and attitude quality flag mask values.

4. PGS_EPH_GetEphMET Returns the orbit metadata associated with ephemeris data for a given spacecraft and set of times.

These tools are described in detail in Release 6A.07 SDP Toolkit User’s Guide for the ECS Project, Chapter 6 (document number 333-CD-605-003, April 2003 draft and later).

The basis for the SDP Toolkit geolocation algorithms is described in Theoretical Basis of the SDP Toolkit Geolocation Package for the ECS Project (document number 445-TP-002-002).

5-2 500-EMD-001

This page intentionally left blank.

6-1 500-EMD-001

6. DPREP and the DAAC Operator

The following sections provide descriptions (or directs the reader to the source) of DPREP operational procedures, procedures for both invoking DPREP and recovering DPREP in various situations.

6.1 Running DPREP Mission Operation Procedures for the ECS Project (document number 611-CD-600-001), Section 26.12.2, outlines the DPREP operational procedures for processing EDOS-supplied ephemeris and attitude data, FDD-supplied attitude data, and FDD-supplied replacement ephemeris data.

6.2 DPREP Boot-Up at Mission Start and After Data Dropout Special DAAC (Distributed Active Archive Center) operator action is required to boot-up DPREP at the start of the mission or after a period of EDOS-supplied L0 Ancillary data dropout. The boot-up procedure establishes the orbit number at which PGE EcDpPrAm1EdosEphAttDPREP_PGE resumes orbit counting. The orbit number must be queried by telephoning the Flight Operations Team and requesting the orbit number that coincides with the timestamp where telemetry resumes.

When the data stream resumes after data dropout, and the first L0 Ancillary granule is ingested and archived, the operator runs the Dataserver Database Viewer (EcCoDbViewer) to determine the “Granule Details” RangeBeginningTime of the L0 Ancillary granule. The operator then telephones the FOT, asks to speak with the on-line engineer, and requests the orbit number at the RangeBeginningTime or at the time when the data segment being processed begins if the granule is truncated due to a leading long data gap. Once the orbit number is determined, the operator invokes the Production Request Editor (if running PDPS) or S4PM. In the Production Request Editor, the operator selects Profile 2 of PGE EcDpPrAm1EdosEphAttDPREP_PGE for scheduling, and sets the initial orbit number in the PGE Parameters list to the orbit number just received from the FOT. Boot-up processing is then scheduled on the first L0 Ancillary granule in the data stream that resumes after data dropout. Profile 1 processing is scheduled on L0 Ancillary granules thereafter. In S4PM, the operator terminates the job requiring boot-up processing, selects Bootstrap processing on the job just terminated, and types-in the orbit number requested from the FOT at the DPREP Bootstrap GUI prompt. Profile 1 processing is resumed on FDD ephemeris granules thereafter. Both of these procedures, one for PDPS and the other for S4PM, inform DPREP where orbit counting is to resume.

In PDPS, if the boot-up procedure is invoked without specifying an initial orbit number, the default initial orbit number (-1) is used. This, however, causes DPREP to abort due to its being an invalid orbit number. The processing request must be deleted and rescheduled with the correct initial orbit number.

6-2 500-EMD-001

A discussion on how to use the Production Request Editor can be found in Section 4.8.1 of document Release 4 Operations Tools Manual for the ECS Project (document number 609-CD-003-004). A discussion on how to use S4PM can be found on the World Wide Web at http://daac.gsfc.nasa.gov/INTERNAL/s4pm.

6.3 Replacement Granule Subscription Data replacement can be requested for any data stream processed by DPREP. The most important data stream to undergo replacement is the EDOS-supplied ephemeris data stream. The discussion that follows, therefore, focuses on attaining replacement of EDOS-supplied ephemeris data.

6.3.1 Replacement of EDOS-Supplied Ephemeris Data The DAAC operator enters a qualified subscription on the Toolkit-format ephemeris granule (ESDT short name AM1EPHN0) produced from EDOS-supplied L0 Ancillary. The DAAC operator sets the subscription when PGE EcDpPrAm1EdosEphAttDPREP_PGE is registered and should be set to expire one year hence (one year is the maximum duration for which a subscription can be set). The qualification is set on the QAPercentMissingData threshold at which a replacement subscription is to be triggered. Currently this threshold is one percent. DPREP can accurately fill a data gap up to 57 records long. Gaps of 58 or more records cannot be filled by DPREP and are flagged as long data gaps. 58 missing records out of the maximum possible 7032 records in a two-hour segment constitutes one percent missing data (QAPercentMissingData is saved as an integer value and, therefore, is set to the nearest whole integer). A discussion on how to use the Spatial Subscription Server GUI can be found in Section 4 of document Operational Instructions for Synergy III Utilities and GUIs (document number 300-TP-001-001).

The presence of a long data gap (or a sufficient number of irreparable short gaps) is reflected in the Toolkit-format ephemeris granule’s QAPercentMissingData metadata. Insertion of the granule in the archive triggers the subscription. The operator gets e-mail indicating that replacement FDD ephemeris is required. The e-mail contains the universal reference (UR) of the Toolkit-format ephemeris granule to be replaced. The operator uses the database ID, which is imbedded in the UR, to look-up the RangeBeginningDateTime and RangeEndingDateTime of the granule using the Dataserver Database Viewer (EcCoDbViewer). The operator uses this time span to place a manual replacement request to FDD. Finally, the operator enters a data production request for PGE EcDpPrAm1FddEphemerisDPREP_PGE using the same time span.

Because the EDOS-supplied ephemeris data does not keep the same timeline as the FDD replacement ephemeris data (due to the different data intervals in these data streams), the time span of the EDOS-supplied data granule to be replaced does not constitute an accurate FDD ephemeris data replacement request time span. DPREP does report the exact data replacement request time span in the SDP Toolkit status log file. However, there exists no mechanism by which the operator can retrieve the replacement request time span from the production history (where the status log file is preserved) given the UR of the Toolkit-format ephemeris granule.

6-3 500-EMD-001

Using the insertion time of the Toolkit-format ephemeris granule into the archive can narrow the search for the appropriate DPREP production history.

In order for the replacement ephemeris subscription to trigger whenever a long data gap is encountered, the QAPercentMissingData threshold must be synchronized with the long data gap threshold used to identify long data gaps by PGE EcDpPrAm1EdosEphAttDPREP_PGE. PCF logical ID 5008 specifies the minimum number of consecutive missing data records required for flagging a long data gap (currently 58 records). This therefore determines how many records constitute a long gap and in turn determines what the QAPercentMissingData threshold must be if the presence of a long gap drives data replacement. As explained before, a gap of 58 or more records coincides with a QAPercentMissingData threshold of one percent. Because the SDP Toolkit can successfully interpolate across gaps of no more than 60 seconds, it is highly recommended that the long data gap threshold not exceed 58 records.

DPREP can also repair range analysis violations. But any range analysis violation that remains triggers data replacement. As before, the DAAC operator enters a qualified subscription on the Toolkit-format ephemeris granule (ESDT short name AM1EPHN0) produced from EDOS-supplied L0 Ancillary. The qualification is set on the QAPercentOutOfBoundsData threshold at which a replacement subscription is to be triggered. Currently this threshold is one percent. Upon receiving a replacement notification, the operator determines the replacement time span, places a manual replacement request to FDD, and enters a data production request for PGE EcDpPrAm1FddEphemerisDPREP_PGE, as described above.

6.3.2 Replacement of FDD-Supplied Attitude Data

Replacement of the FDD-supplied attitude data is achieved in a manner similar to that just described for EDOS-supplied ephemeris data. The DAAC operator enters a qualified subscription on the Toolkit-format attitude granule (ESDT short name AM1ATTNF) produced from the FDD-supplied attitude granule. The subscription is set when PGE EcDpPrAm1FddAttitudeDPREP_PGE is registered and should be set to expire one year hence. The qualification is set on the threshold at which QAPercentMissingData and QAPercentOutOfBoundsData are to trigger data replacement. Currently this threshold is one percent. This causes replacement of the FDD-supplied attitude data whenever a gap or range analysis violation is present. A discussion on how to use the Spatial Subscription Server GUI can be found in Section 4 of document Operational Instructions for Synergy III Utilities and GUIs (document number 300-TP-001-001).

The RangeBeginningDateTime and RangeEndingDateTime of the granule whose archive insertion triggered the replacement subscription (this is also the granule that coincides with the UR in the DAAC operator’s e-mail notification that data replacement is necessary) are the times the operator should use when placing the data replacement request with FDD. The data replacement request time span is also reported by DPREP in the SDP Toolkit status log file saved in DPREP’s production history.

6-4 500-EMD-001

6.3.3 Replacement of FDD-Supplied Ephemeris Data Replacement of the FDD-supplied ephemeris data is similar to that described for FDD-supplied attitude data. A qualified subscription is set on the Toolkit-format ephemeris granule (ESDT short name AM1EPHN0) produced from the FDD-supplied ephemeris data. The subscription is set when the DAAC operator registers PGE EcDpPrAm1FddEphemerisDPREP_PGE and should be set to expire one year hence. The qualification is set on the threshold at which QAPercentMissingData and QAPercentOutOfBoundsData are to trigger data replacement. Currently this threshold is one percent. A discussion on how to use the Spatial Subscription Server GUI can be found in Section 4 of document Operational Instructions for Synergy III Utilities and GUIs (document number 300-TP-001-001).

The RangeBeginningDateTime and RangeEndingDateTime of the granule whose archive insertion triggered the replacement subscription (this is also the granule that coincides with the UR in the DAAC operator’s e-mail notification that data replacement is necessary) are the times the operator should use when placing the data replacement request with FDD. The data replacement request time span is also reported by DPREP in the SDP Toolkit status log file saved in DPREP’s production history.

6.4 DPREP Failed-PGE Subscription The DAAC operator enters a qualified subscription to either send an e-mail notification of the failed DPREP PGE and/or FTP push the failed DPREP PGE tar-file to the specified location. The DAAC operator sets the subscription when each DPREP PGE is registered. The FailedPGEName and FailedPGEVersion must qualify the subscription. The subscription should be set to expire one year hence (one year is the maximum duration for which a subscription can be set). The qualification is set on the insert of a failed PGE tar-file into the archive. A discussion on how to use the Spatial Subscription Server GUI can be found in Section 4 of document Operational Instructions for Synergy III Utilities and GUIs (document number 300-TP-001-001).

When a DPREP PGE fails (signaled by exit code 200 in PDPS), S4PM and PDPS post-processing creates a tar-file that contains the PCF as well as the SDP Toolkit status log and report files. The tar-file is archived in the failed PGE ESDT (ESDT short name FAILPGE). Once the tar-file is archived, the Spatial Subscription Server completes the subscription by sending an e-mail notification and/or FTP pushing the tar-file to the specified location.

6.5 Determining the Source of Ephemeris Data Both the EDOS-supplied and FDD-supplied ephemeris data are preprocessed into a single ESDT. ESDT AM1EPHN0 receives all Toolkit-format ephemeris data regardless of where the ephemeris data originated. As a result, the ESDT ShortName of the preprocessed ephemeris product cannot be used to determine whether EDOS or FDD supplied the ephemeris data. However, the source of ephemeris data can be determined by examining the ESDT ShortName of the granule from which the ephemeris data were preprocessed. DPREP preprocesses EDOS-

6-5 500-EMD-001

supplied ephemeris data from ESDT AM1ANC while DPREP preprocesses FDD-supplied ephemeris data from ESDT AM1EPHF.

Every DPREP ephemeris product is tagged with the URs of all granules used in generating the product. The InputPointer metadatum contains this list of URs. If the granule from which ephemeris were preprocessed was supplied by EDOS, ESDT ShortName AM1ANC is imbedded within the UR list. If the ephemeris granule was supplied by FDD, ESDT ShortName AM1EPHF is imbedded within the UR list.

The Client Driver (EcTsDsClientDriverStart) retrieves granules and associated metadata file from the archive, and the metadata file contains the InputPointer list that needs to be examined when determining the source of ephemeris data. The metadata file, once retrieved, is opened with a text editor (e.g. view) and the InputPointer list located. Either AM1ANC or AM1EPHF is imbedded within one of the URs in this list. The UR of the AM1EPHN0 granule whose source is to be determined identifies the granule and metadata to be retrieved by the Client Driver.

Typically the UR of the AM1EPHN0 granule is not immediately known for use in the Client Driver. Instead the Client Driver is first used to retrieve a geolocated science product (i.e. a PGE01 MOD03 granule) whose InputPointer list contains the AM1EPHN0 UR. Successive calls to the Client Driver traces back from the geolocated science product to the source of ephemeris data used in geolocation. The first call retrieves the geolocated science product metadata (to get the UR of the AM1EPHN0 granule used in geolocation), and the second call retrieves the preprocessed DPREP ephemeris metadata (to determine the source of the ephemeris data). More calls to the Client Driver may be required depending on where in the processing chain trace-back from the geolocated science product begins.

6-6 500-EMD-001

This page intentionally left blank.

A-1 500-EMD-001

Appendix A. DPREP Error Codes

Error Code5 Explanation

DPREP_E_ABORT Announces an unsuccessful completion status of the DPREP run. Follows messages that indicate an actual problem.

DPREP_E_ADVANCE_PKT_VEC Error returned by DPREP routine DpPrAdvanceVector. Follows messages that indicate the actual problem.

DPREP_E_BAD_EPHEMERIS Failed to retrieve good ephemeris data for EVERY attitude data point processed in this data segment. Indicates ephemeris data were not generated for this data segment or PCF does not specify the required ephemeris granules.

DPREP_E_BAD_INPUT_PARAM An invalid user-specified run-time parameter has been encountered in the PCF. Confirm that the QA window sizes are odd, positive integers, the maximum window size is greater than the minimum, Euler angle order indices range from 1 to 3, Euler angles do not consecutively repeat in the sequence.

DPREP_E_BAD_QUATERNION The sum of squares of the quaternion components was not within the acceptable tolerance (e.g. 1.0E-07) of one.

DPREP_E_BAD_QUATERNION_ERROR A bad quaternion was encountered while processing the EMOS-supplied attitude granule.

DPREP_E_BAD_TIME_CONVERSION Signals a fatal error has been returned from an SDP Toolkit time conversion routine. Probably follows more informative error messages. Could indicate that a corrupted granule is being processed.

DPREP_E_CANT_CREATE_OBJ Indicates that memory allocation failed while creating an object in C++.

DPREP_E_CANT_INIT_PKT_VECTOR Error returned by DPREP routine DpPrInitVector. Follows messages that indicate the actual problem.

DPREP_E_CANT_OPEN_FDD_FILE Could not open the FDD Attitude granule using SDP Toolkit routine PGS_IO_Gen_Open. Likely follows error messages that indicate the actual problem.

DPREP_E_CANT_PARSE_FDD_HEADER Indicates that C++ routine sscanf failed to extract information such as granule start and end times from the FDD Attitude granule header. Could indicate that a corrupted granule is being processed.

DPREP_E_CANT_READ_FDD_HEADER Indicates that C++ routine fread failed to read the FDD Attitude granule header. Could indicate that a corrupted granule is being processed.

5 Error level meaning: “_S_” stands for success, “_A_” stands for action, “_M_” stands for message, “_U_” stands

for user information, “_N_” stands for notice, “_W_” stands for warning, “_E_” stands for error, and “_F_” stands for fatal. For more information, refer to Release 6A.07 SDP Toolkit User’s Guide for the ECS Project, Appendix B (document number 333-CD-605-003, April 2003 draft and later).

A-2 500-EMD-001

Error Code5 Explanation DPREP_E_CANT_READ_PKT Could not read the EDOS L0 Ancillary granule using SDP Toolkit

routine PGS_IO_L0_GetPacket. Likely follows error messages that indicate the actual problem.

DPREP_E_CANT_READ_PROD_TIME Failed to read the data production time from the temporary file used to pass the production time between multi-executable DPREP PGEs.

DPREP_E_CANT_READ_RECORD Could not read the FDD attitude granule using C++ I/O routines. Likely follows error messages that indicate the actual problem.

DPREP_E_CANT_WRITE_PROD_TIME Failed to write the data production time to the temporary file used to pass the production time between multi-executable DPREP PGEs.

DPREP_E_CARRYOUT_DATA_DUP_ERR Duplicate data has been encountered while processing the EMOS-supplied attitude granule.

DPREP_E_CARRYOUT_DATA_ERROR An error within the data packets of the EMOS-supplied attitude granule has been encountered. Details regarding the specific error are provided in the SDP Toolkit status log file.

DPREP_E_CARRYOUT_HEADER_ERROR An error within the header of the EMOS-supplied attitude granule has been encountered. Indicates that a required mnemonic has not been specified in the granule header.

DPREP_E_CARRYOUT_READ_ERROR An error has been encountered while reading or parsing the EMOS-supplied attitude granule from the current data segment. Indicates a corruption in the EMOS-supplied attitude granule,

DPREP_E_CHKSTATWORD_ERROR An error has been encountered within the EMOS-supplied attitude granule while searching for status words that bracket the attitude to be processed.

DPREP_E_CLOSE_DATASET Unable to close a Toolkit-format ephemeris or attitude granule being generated by DPREP.

DPREP_E_CLOSE_L0_DATASET Indicates that SDP Toolkit routine PGS_IO_L0_Close failed to close the EDOS L0 Ancillary granule.

DPREP_E_CONVERT_HEADER_TIME An error has been encountered while converting the header time found in the EMOS-supplied attitude granule to TAI93.

DPREP_E_CURHDF_WRITE_ERROR A problem occurred while writing a record (header, data, or metadata record) to the current HDF-format ephemeris or attitude granule being created by DPREP. Could indicate any number of problems: file/directory protection violation, disk quota, etc.

DPREP_E_CURNAT_OPEN_ERROR A problem was encountered while opening the current Toolkit-format ephemeris or attitude granule for write access. Could indicate any number of problems: file/directory protection violation, disk quota, etc. in addition to being unable to parse the file name from the PCF.

DPREP_E_CURNAT_SEEKTO_ERROR A problem occurred with a SeekTo function on the current Toolkit-format ephemeris or attitude granule being created by DPREP. No failure reasons can be suggested.

A-3 500-EMD-001

Error Code5 Explanation DPREP_E_CURNAT_WRITE_ERROR A problem occurred while writing a record (header, data, or

metadata record) to the current Toolkit-format ephemeris or attitude granule being created by DPREP. Could indicate any number of problems: file/directory protection violation, disk quota, etc.

DPREP_E_CURR_CARRYOUT_OPEN An error has been encountered while opening the EMOS-supplied attitude granule from the current data segment.

DPREP_E_DATA_SETFIELDS_ERROR A problem was encountered while attempting to VSsetfields on fields being established in the data Vdata. No failure reasons can be suggested.

DPREP_E_DATA_VSATTACH_ERROR A problem was encountered while attempting to VSattach to the data Vdata containing the ephemeris or attitude data. No failure reasons can be suggested.

DPREP_E_DATATYPE_PARAMID_ERROR Failed to read a Data Type from the header record in an EMOS-supplied attitude granule. Indicates that the field was empty.

DPREP_E_EMOS_PARAMID_ERROR Failed to read an EMOS Parameter ID from the header record in the EMOS-supplied attitude granule. Indicates that the field was empty.

DPREP_E_EOF_PRIOR_EODS End-of-file was encountered prior to the end-of-granule in the FDD ephemeris granule. The sentinel flag that marks the end-of-granule was not encountered. Could indicate that a corrupted granule is being processed.

DPREP_E_ERROR Indicates that an error was encountered in the DPREP routine that is named in the message text. Follows error messages that indicate the actual problem.

DPREP_E_FDD_DATA_ERROR Indicates that an error was encountered while consistency checking the FDD Attitude granule header. The message text gives an explanation of the actual problem.

DPREP_E_FDD_EPHEM_READ_ERROR A problem was encountered while reading an EPHEM-format record from an FDD ephemeris granule. Could indicate that a corrupted granule is being processed.

DPREP_E_FDD_HEADER1_READ_ERROR A problem was encountered while reading the first header record from an FDD ephemeris granule. Could indicate that a corrupted granule is being processed.

DPREP_E_FDD_HEADER2_READ_ERROR A problem was encountered while reading the second header record from an FDD ephemeris granule. Indicates that a corrupted granule is being processed.

DPREP_E_FDD_LO_OVERLAP The FDD Ephemeris replacement granule overlaps the EDOS L0 Ancillary granule that follows.

DPREP_E_FDD_OPEN_ERROR A problem was encountered while opening the current FDD ephemeris or attitude granule for read access. Could indicate any number of problems: file/directory protection violation, disk quota, etc. in addition to being unable to parse the file name from the PCF.

DPREP_E_FDD_TIME_CONV_DATE An invalid date field was encountered in the FDD ephemeris granule. Indicates that a corrupted granule is being processed.

A-4 500-EMD-001

Error Code5 Explanation DPREP_E_FDD_TIME_CONV_DAYS An invalid days field was encountered in the FDD ephemeris

granule. Indicates that a corrupted granule is being processed. DPREP_E_FDD_TIME_CONV_ERROR Failed to convert a time field in the FDD ephemeris granule to

TAI93 format. Likely follows error messages that indicate the actual problem.

DPREP_E_FDD_TIME_CONV_SECDAY An invalid seconds-of-day field was encountered in the FDD ephemeris granule. Indicates that a corrupted granule is being processed.

DPREP_E_FILE_ACCESS An error was encountered while reading the preceding Toolkit-format ephemeris and attitude granule. A Rogue-Wave Read, Write, or SeekTo function failed. Could indicate that a corrupted granule is being processed.

DPREP_E_GAPFILL_INTERP_ERROR An error occurred during the repair of EDOS-supplied ephemeris data. Likely follows error messages that indicate the actual problem.

DPREP_E_GEN_EPHEM_REPORT Indicates that DpPrGenerateEphemerisReport returned an error condition. Follows messages that indicate the actual problem.

DPREP_E_GEN_TOOLKIT A problem has been encountered by a SDP Toolkit routine. Currently used to indicate problems with using coordinate conversion routine PGS_CSC_J2000toTOD.

DPREP_E_GET_FDD_UREF_ERROR Error returned by Toolkit routine PGS_PC_GetUniversalRef while attempting to get the FDD ephemeris granule universal reference. No failure reasons can be suggested.

DPREP_E_GET_L0ANC_UREF_ERROR Error returned by Toolkit routine PGS_PC_GetUniversalRef while attempting to get the L0 Ancillary granule universal reference. No failure reasons can be suggested.

DPREP_E_GET_NUMFILES_ERROR Error returned by Toolkit routine PGS_PC_GetNumberOfFiles. No failure reasons can be suggested.

DPREP_E_GET_PRENAT_UREF_ERROR Error returned by Toolkit routine PGS_PC_GetUniversalRef while attempting to get the preceding Toolkit-format ephemeris granule universal reference. No failure reasons can be suggested.

DPREP_E_GRANULE_TIMES An error occurred while determining the predicted granule start and end times.

DPREP_E_HDF_ADD_HEADER Error returned by DPREP routine DpPrAddHdfHeader. Follows messages that indicate the actual problem.

DPREP_E_HDF_ADD_RECORD Error returned by DPREP routine DpPrAddHdfRecord that writes records to HDF-format ephemeris and attitude granules. Follows messages that indicate the actual problem.

DPREP_E_HDF_DEFINE_VDATA A problem was encountered while initializing a Vdata table in an HDF-format ephemeris or attitude granule produced by DPREP. Either HDF routine Vsfdefine or VSsetfields failed. No failure reasons can be suggested.

DPREP_E_HDF_OPEN A problem was encountered while opening an HDF-format ephemeris or attitude granule for write access. Could indicate any number of problems: file/directory protection violation, disk quota, etc. in addition to being unable to parse the file name from the PCF.

A-5 500-EMD-001

Error Code5 Explanation DPREP_E_HDF_OPEN_ERROR A problem was encountered while opening an HDF-format

ephemeris or attitude granule for write access. Could indicate any number of problems: file/directory protection violation, disk quota, etc. in addition to being unable to parse the file name from the PCF.

DPREP_E_HDF_VSATTACH A problem was encountered while attaching to a newly created Vdata or an existing Vdata table to be rewritten with VSattach. No failure reasons can be suggested.

DPREP_E_HDF_WRITE A problem occurred while writing a record (header, data, or orbit metadata) to an HDF-format ephemeris or attitude granule being created by DPREP. Could indicate any number of problems: file/directory protection violation, disk quota, etc.

DPREP_E_HDFSD_OPEN_ERROR A problem was encountered while connecting to the HDF-format ephemeris or attitude granule for Science Data access with Sdstart. No failure reasons can be suggested.

DPREP_E_HEADER_SETFIELDS_ERROR A problem was encountered while attempting to VSsetfields on fields being established in the header Vdata. No failure reasons can be suggested.

DPREP_E_HEADER_VSATTACH_ERROR A problem was encountered while attempting to VSattach to the header Vdata containing the ephemeris or attitude granule header information. No failure reasons can be suggested.

DPREP_E_IN_TOOLKIT_OPEN_ERROR A problem was encountered while opening the Toolkit-format ephemeris granule undergoing data repair for read access with Rogue-Wave. Could indicate any number of problems: file/directory protection violation, disk quota, etc. in addition to being unable to parse the file name from the PCF.

DPREP_E_IN_TOOLKIT_READ_ERROR Could not read the Toolkit-format ephemeris granule undergoing data repair using Rogue-Wave. Likely follows error messages that indicate the actual problem.

DPREP_E_INITIALIZE_DATASET A problem was encountered while initializing an HDF-format ephemeris or attitude granule Vdata table. Also associated with failing to retrieve the universal reference via SDP Toolkit routine PGS_PC_GetUniversalRef.

DPREP_E_INVALID_ORBNUM An invalid initial orbit number was parsed from the PCF. No failure reasons can be suggested.

DPREP_E_INVALID_PROCESS_MODE An invalid FDD ephemeris granule-processing mode was parsed from the PCF. No failure reasons can be suggested.

DPREP_E_INVALID_PROFILE_ID An invalid PGE profile ID was parsed from the PCF. No failure reasons can be suggested.

DPREP_E_INVALID_SCNM An invalid spacecraft name was encountered during DPREP processing. No failure reasons can be suggested.

DPREP_E_INVALID_VEC_SIZE Attempted to create a data quality analysis window of an invalid length, using either an even number of points or fewer points than allowed. Could indicate a problem with the DPREP ODL, design, or code.

A-6 500-EMD-001

Error Code5 Explanation DPREP_E_L0_CORRUPTED Indicates that the buffer size is too small to hold an APID 4 L0

Ancillary granule ephemeris/attitude packet returned by SDP Toolkit routine PGS_IO_L0_GetPacket. The L0 Ancillary granule is likely corrupted.

DPREP_E_L0_DATA_ERROR Indicates that a general problem occurred with SDP Toolkit routine PGS_IO_L0_Open or PGS_IO_L0_SetStart. Likely follows error messages that indicate the actual problem.

DPREP_E_LO_OVERLAP The EDOS L0 Ancillary granule that is being processed overlaps the granules produced by the preceding DPREP run.

DPREP_E_LOAD_PM1RECORDS An error has been encountered while reading the EMOS-supplied attitude granule from the current data segment. Typically indicates a corruption in the EMOS-supplied attitude granule,

DPREP_E_LOAD_PREV_PM1RECORDS An error has been encountered while reading the EMOS-supplied attitude granule from the preceding data segment. Typically indicates a corruption in the EMOS-supplied attitude granule,

DPREP_E_LOAD_REC_ERROR Error returned by DPREP routine DpPrLoadAm1Record. Follows messages that indicate the actual problem.

DPREP_E_MEM_ALLOCATION Indicates that memory allocation failed while creating an object in C++.

DPREP_E_MET_INIT Could not initialize the ASCII metadata file using SDP Toolkit routine PGS_MET_Init. Likely follows error messages that indicate the actual problem.

DPREP_E_MET_SETATTR Could not fill a metadata into the metadata file template using SDP Toolkit routine PGS_MET_SetAttr. Likely follows error messages that indicate the actual problem.

DPREP_E_MET_WRITE Could not write the metadata file template from memory to disk using SDP Toolkit routine PGS_MET_Write. Likely follows error messages that indicate the actual problem.

DPREP_E_META_SETFIELDS_ERROR A problem was encountered while attempting to VSsetfields on fields being established in the orbit metadata Vdata. No failure reasons can be suggested.

DPREP_E_META_VSATTACH_ERROR A problem was encountered while attempting to VSattach to the orbit metadata Vdata containing the ephemeris granule orbit metadata information. No failure reasons can be suggested.

DPREP_E_MISMATCH_DOY_ERROR The day-of-year found in the EMOS-supplied attitude granule header time differs from that in the first data packet. Indicates a corruption in the EMOS-supplied attitude granule,

DPREP_E_MISMATCH_YEAR_ERROR The year found in the EMOS-supplied attitude granule header time differs from that in the first data packet. Indicates a corruption in the EMOS-supplied attitude granule,

DPREP_E_NATIVE_ADD_HEADER A problem was encountered while writing (or rewriting) the Toolkit-format ephemeris or attitude granule header. Also associated with failing to retrieve the universal reference via SDP Toolkit routine PGS_PC_GetUniversalRef.

DPREP_E_NATIVE_ADD_RECORD Error returned by DPREP routine DpPrAddNativeRecord that writes records to Toolkit-format ephemeris and attitude granules. Follows messages that indicate the actual problem.

A-7 500-EMD-001

Error Code5 Explanation DPREP_E_NATIVE_OPEN A problem was encountered while opening a Toolkit-format

ephemeris or attitude granule for write access. Could indicate any number of problems: file/directory protection violation, disk quota, etc. in addition to being unable to parse the file name from the PCF.

DPREP_E_NATIVE_REW A problem was encountered while rewinding the Toolkit-format ephemeris or attitude granule in preparation for rewriting the granule header.

DPREP_E_NATIVE_WRITE A problem occurred while writing a record (header, data, or metadata record) to a Toolkit-format ephemeris or attitude granule being created by DPREP. Could indicate any number of problems: file/directory protection violation, disk quota, etc.

DPREP_E_NEXT_CARRYOUT_READ An error has been encountered while reading the EMOS-supplied attitude granule from the following data segment. Indicates a corruption in the EMOS-supplied attitude granule,

DPREP_E_NO_MATCHING_APID Indicates that an APID 4 data packet could not be retrieved from the L0 Ancillary granule. Probably not processing an L0 Ancillary granule or the L0 Ancillary granule does not have any APID 4 packets within.

DPREP_E_NO_NODE_CROSSINGS Indicates that no ascending or descending node crossings were encountered in the L0 Ancillary granule being processed. A replacement FDD ephemeris granule should be requested.

DPREP_E_NODE_NUM_ERROR Indicates that the ascending and descending node-crossing lists built by DPREP have an equal number of node crossings. Indicates a coding error in DPREP software.

DPREP_E_NOT_FDD The FDD ephemeris granule input for processing is not an FDD ephemeris granule. No failure reasons can be suggested.

DPREP_E_NXTFDD_OPEN_ERROR A problem was encountered while opening the following FDD ephemeris or attitude granule for read access. Could indicate any number of problems: file/directory protection violation, disk quota, etc. in addition to being unable to parse the file name from the PCF.

DPREP_E_OPEN_PREV_ATT_DATA A problem was encountered while opening the preceding Toolkit-format attitude granule. Could indicate that the incorrect DPREP profile was invoked.

DPREP_E_OPEN_PREV_EPHEM_DATA A problem was encountered while opening the preceding Toolkit-format ephemeris granule. Could indicate that the incorrect DPREP profile was invoked.

DPREP_E_ORB_ELEM_ERROR Unable to deduce orbital elements from position and velocity vectors.

DPREP_E_ORB_MET_INIT A problem was encountered while initializing orbit metadata processing. Follows error messages that indicate the actual problem.

DPREP_E_OUT_TOOLKIT_OPEN_ERROR A problem was encountered while opening the repaired Toolkit-format ephemeris granule for write access with Rogue-Wave. Could indicate any number of problems: file/directory protection violation, disk quota, etc. in addition to being unable to parse the file name from the PCF.

A-8 500-EMD-001

Error Code5 Explanation DPREP_E_OUT_TOOLKIT_WRITE_ERROR Could not write the repaired Toolkit-format ephemeris granule

using Rogue-Wave. Could indicate any number of problems: file/directory protection violation, disk quota, etc.

DPREP_E_OVERLAP_EPHEM_TIMELINE An overlap between the replacement FDD ephemeris granule and the granule from the preceding or following segment was encountered.

DPREP_E_PARAMMNEMON_READ_ERROR An error has been encountered while loading the EMOS-supplied attitude granule parameter mnemonics from the PCF.

DPREP_E_PARAMMNEMONIC_ERROR Failed to read a Parameter Mnemonic from the header record in an EMOS-supplied attitude granule. Indicates that the field was empty.

DPREP_E_PARSE_PCF_CEPS_ERROR An error was encountered while parsing the clock epsilon from the PCF. No failure reasons can be suggested.

DPREP_E_PARSE_PCF_CSP_ERROR An error was encountered while parsing the collection stop time from the PCF. No failure reasons can be suggested.

DPREP_E_PARSE_PCF_CST_ERROR An error was encountered while parsing the collection start time from the PCF. No failure reasons can be suggested.

DPREP_E_PARSE_PCF_CURHDF_ERROR An error was encountered while parsing the name of the output HDF-format ephemeris granule from the PCF. No failure reasons can be suggested.

DPREP_E_PARSE_PCF_CURNAT_ERROR An error was encountered while parsing the name of the output Toolkit-format ephemeris granule from the PCF. No failure reasons can be suggested.

DPREP_E_PARSE_PCF_DINT_ERROR An error was encountered while parsing the expected data interval from the PCF. No failure reasons can be suggested.

DPREP_E_PARSE_PCF_FDD_ERROR An error was encountered while parsing the name of the FDD ephemeris granule from the PCF. No failure reasons can be suggested.

DPREP_E_PARSE_PCF_LNGGAP_ERROR An error was encountered while parsing the ephemeris long data gap threshold from the PCF. No failure reasons can be suggested.

DPREP_E_PARSE_PCF_MAXPOS_ERROR An error was encountered while parsing the maximum allowed satellite distance from the ECI center from the PCF. No failure reasons can be suggested.

DPREP_E_PARSE_PCF_MAXVEL_ERROR An error was encountered while parsing the maximum allowed satellite velocity about the ECI center from the PCF. No failure reasons can be suggested.

DPREP_E_PARSE_PCF_MINPOS_ERROR An error was encountered while parsing the minimum allowed satellite distance from the ECI center from the PCF. No failure reasons can be suggested.

DPREP_E_PARSE_PCF_MINVEL_ERROR An error was encountered while parsing the minimum allowed satellite velocity about the ECI center from the PCF. No failure reasons can be suggested.

DPREP_E_PARSE_PCF_NXTFDD_ERROR An error was encountered while parsing the name of the following FDD ephemeris granule from the PCF. No failure reasons can be suggested.

DPREP_E_PARSE_PCF_ORBMAX_ERROR An error was encountered while parsing the maximum allowed satellite orbital period from the PCF. No failure reasons can be suggested.

A-9 500-EMD-001

Error Code5 Explanation DPREP_E_PARSE_PCF_ORBMIN_ERROR An error was encountered while parsing the minimum allowed

satellite orbital period from the PCF. No failure reasons can be suggested.

DPREP_E_PARSE_PCF_ORBNUM_ERROR An error was encountered while parsing the initial orbit number from the PCF. No failure reasons can be suggested.

DPREP_E_PARSE_PCF_OUTHDF_ERROR An error was encountered while parsing the name of the repaired HDF-format ephemeris granule from the PCF. No failure reasons can be suggested.

DPREP_E_PARSE_PCF_PGEVER_ERROR An error was encountered while parsing the PGE version number from the PCF. No failure reasons can be suggested.

DPREP_E_PARSE_PCF_PMODE_ERROR An error was encountered while parsing the replacement ephemeris granule processing mode flag from the PCF. No failure reasons can be suggested.

DPREP_E_PARSE_PCF_PPID_ERROR An error was encountered while parsing the PGE profile ID from the PCF. No failure reasons can be suggested.

DPREP_E_PARSE_PCF_PREID_ERROR An error was encountered while parsing the alternate inputs logical ID of the preceding Toolkit-format ephemeris granule from the PCF. No failure reasons can be suggested.

DPREP_E_PARSE_PCF_PRENAT_ERROR An error was encountered while parsing the name of the preceding Toolkit-format ephemeris granule from the PCF. No failure reasons can be suggested.

DPREP_E_PARSE_PCF_SCID_ERROR An error was encountered while parsing the FDD spacecraft ID from the PCF. No failure reasons can be suggested.

DPREP_E_PARSE_PCF_SCNM_ERROR An error was encountered while parsing the spacecraft name from the PCF. No failure reasons can be suggested.

DPREP_E_PARSE_PCF_SDUR_ERROR An error was encountered while parsing the data segment duration from the PCF. No failure reasons can be suggested.

DPREP_E_PARSE_PCF_TMPNAT_ERROR An error was encountered while parsing the name of the temporary Toolkit-format ephemeris granule undergoing data repair from the PCF. No failure reasons can be suggested.

DPREP_E_PCF_FUNC_READ_ERROR Failed to read required quantities from the PCF. No failure reasons can be suggested.

DPREP_E_PCF_ID_ERROR A problem was encountered while parsing information from the DPREP PCF using SDP Toolkit routine PGS_PC_GetConfigData. Probably indicates a mismatch between the DPREP ODL and DPREP executables.

DPREP_E_PCF_READ_ERROR A problem was encountered while parsing information from the DPREP PCF using SDP Toolkit routine PGS_PC_GetReference. Probably indicates a version mismatch between the DPREP ODL and DPREP executables.

DPREP_E_PGS_ECI_TO_ORB_ERROR Could not rotate the quaternion found in the EMOS-supplied attitude granule from the ECI to orbital reference frame using PGS_CSC_getECItoORBquat. No failure reasons can be suggested.

DPREP_E_PGS_EPHEM_ERROR Failed to retrieve ephemeris data for attitude data processing using PGS_EPH_EphemAttit. No failure reasons can be suggested.

A-10 500-EMD-001

Error Code5 Explanation DPREP_E_PGS_ERROR An error was encountered in a Toolkit routine. The offending Toolkit

routine is named in the error message. Likely follows error messages that indicate the actual problem.

DPREP_E_PGS_QUATMULT_ERROR Failed to multiply two quaternions together using PGS_CSC_quatMultiply. No failure reasons can be suggested.

DPREP_E_PGS_QUATTOEULER_ERROR Failed to obtain Euler angles from a quaternion using PGS_CSC_QuatToEuler. No failure reasons can be suggested.

DPREP_E_PKT_BUF_SIZE_TOO_SMALL The buffer to receive the L0 Ancillary granule header is too small. Could indicate a corrupt L0 Ancillary granule or the granule being processed is not an L0 Ancillary granule.

DPREP_E_PM_TO_TAI_ERROR Error converting from TAI58 time to TAI93 time using DPREP_EOSPMtoTAI. No failure reasons can be suggested.

DPREP_E_PRENAT_DATA_READ_ERROR A problem was encountered while reading an ephemeris data record from the preceding Toolkit-format ephemeris granule. Could indicate that a corrupted granule is being processed.

DPREP_E_PRENAT_HEAD_READ_ERROR A problem was encountered while reading the header record from the preceding Toolkit-format ephemeris granule. Could indicate that a corrupted granule is being processed.

DPREP_E_PRENAT_META_READ_ERROR A problem was encountered while reading an orbit metadata record from the preceding Toolkit-format ephemeris granule. Could indicate that a corrupted granule is being processed.

DPREP_E_PRENAT_OPEN_ERROR A problem was encountered while opening the preceding Toolkit-format ephemeris set for read access. Could indicate any number of problems: file/directory protection violation, disk quota, etc. in addition to being unable to parse the file name from the PCF.

DPREP_E_PRENAT_SEEKTO_ERROR A problem occurred with a SeekTo function on the preceding Toolkit-format ephemeris or attitude granule being read by DPREP. No failure reasons can be suggested.

DPREP_E_PREV_CARRYOUT_READ An error has been encountered while reading the EMOS-supplied attitude granule from the preceding data segment. Indicates a corruption in the EMOS-supplied attitude granule,

DPREP_E_PREV_FILE_PCF_ID_ERROR An error was encountered while parsing the name of the preceding Toolkit-format ephemeris or attitude granule from the PCF. No failure reasons can be suggested.

DPREP_E_PREV_TOOLKIT_OPEN_ERROR A problem was encountered while opening the preceding Toolkit-format ephemeris set for read access. Could indicate any number of problems: file/directory protection violation, disk quota, etc. in addition to being unable to parse the file name from the PCF.

DPREP_E_PROCESS_RANGE_ERROR A packet/record was encountered whose timestamp falls outside the time range requested for processing. No failure reasons can be suggested.

DPREP_E_READ_COUNT_ERROR A mismatch exists between the number of ephemeris data records read for data repair and the number that should have been read (as determined from the number stored in the Toolkit-format ephemeris granule. Could indicate that a corrupted granule is being processed.

A-11 500-EMD-001

Error Code5 Explanation DPREP_E_READ_WRITE_COUNT_ERROR A mismatch exists between the number of ephemeris data records

processed during data repair and the number that have been written to the product granule. Indicates a problem in the DPREP source code.

DPREP_E_RECORD_COUNT The number of data or orbit metadata records written does not match the number specified in the Toolkit (or HDF) format ephemeris or attitude granule header. Indicates a coding error in DPREP software.

DPREP_E_RECORD_NOT_IN_FILE The record number of the record to be read does not coincide with a record in the Toolkit-format ephemeris or attitude granule. Could be referencing the incorrect Toolkit-format granule or the Toolkit-format file is corrupt.

DPREP_E_RECORD_ORDER_ERROR Records in the granule being processed (L0 Ancillary, FDD Attitude, or FDD Ephemeris) are not in time order. Indicates a corrupt granule.

DPREP_E_SC_PARAMID_ERROR Failed to read an Spacecraft Parameter ID from the header record in an EMOS-supplied attitude granule. Indicates that the field was empty.

DPREP_E_TMP_CLOSE A problem was encountered while closing the temporary Toolkit-format ephemeris granule. Could indicate any number of problems: file/directory protection violation, disk quota, etc.

DPREP_E_TMP_OPEN A problem was encountered while opening the temporary Toolkit-format ephemeris granule for write access. Could indicate any number of problems: file/directory protection violation, disk quota, etc.

DPREP_E_UNEXPECT_RUNTIME_ERROR A problem was encountered with a try-catch block. The try-catch block is typically used when allocating memory for arrays internal to DPREP. No failure reasons can be suggested.

DPREP_E_UNKNOWN_SWITCH_ELEMENT A problem was encountered while trying to find a match between a switch statement argument and one in the recognized element list. No failure reasons can be suggested.

DPREP_E_UNKNOWNSATELLITE A problem was encountered while trying to find a match between a satellite platform requested for processing and one in the recognized platform list. No failure reasons can be suggested.

DPREP_M_BEGIN Signals the beginning of a DPREP run. DPREP_M_DATA_FILLED States the number of records that were generated while filling data

gaps in the EDOS ephemeris data stream. DPREP_M_DATA_FILLED_REPAIRED States the number of records that were generated while filling data

gaps and the number that were repaired in the EDOS ephemeris data stream.

DPREP_M_DATA_REPAIRED States the number of records that were repaired in the EDOS ephemeris data stream.

DPREP_M_END Signals the termination of a DPREP run. DPREP_M_PROCESS_TIMES States the beginning and ending times of the interval requested for

processing by DPREP. DPREP_M_QA_SUMMARY Signals the accompanying QA analysis summary.

A-12 500-EMD-001

Error Code5 Explanation DPREP_N_INVALID_STATWORD An invalid Status Word 2 value has been encountered in an EMOS-

supplied attitude granule. DPREP_N_INVALID_STATWORD_ERROR DPREP routine FindPm1StatusWord has encountered an invalid

Status Word 2 value in an EMOS-supplied attitude granule. DPREP_N_NEXT_CARRYOUT_OPEN An error has been encountered while opening the EMOS-supplied

attitude granule from the following data segment. DPREP_N_NEXT_CARRYOUT_READ An error has been encountered while reading the EMOS-supplied

attitude granule from the following data segment. Indicates a corruption in the EMOS-supplied attitude granule,

DPREP_N_NOTICE A general notification message with specific information imbedded within the message text.

DPREP_N_PREV_CARRYOUT_OPEN An error has been encountered while opening the EMOS-supplied attitude granule from the preceding data segment.

DPREP_S_SUCCESS Announces successful completion of the DPREP run. DPREP_W_BAD_DATA_FIT DPREP routine DpPrLeastSquaresFit failed to perform a quadratic

least-squares fit to data in the QA window in preparation for a limit check. Likely follows error messages that indicate the actual problem. The specified data packet will be flagged for failure of QA analysis.

DPREP_W_BAD_STATUS_WORD The Status Word 2 retrieved from the preceding or following EMOS-supplied attitude granule indicates an attitude mode other than fine pointing.

DPREP_W_BEGIN_PROJECT_ORBIT

Indicates that DPREP has found a long data gap in the ephemeris timeline that spans one or more node crossings, and is preparing to extrapolate orbit metadata across the gap. DPREP uses the orbital period and descending node propagation from the last available segment or those determined from the current ephemeris granule with which to extrapolate orbit metadata.

DPREP_W_CALC_NODE_PROP Failed to determine the descending node propagation. Indicates a DPREP coding problem.

DPREP_W_CALC_ORB_PERIOD Failed to determine the orbital period. Indicates a DPREP coding problem.

DPREP_W_CANT_CHECK_POS_VEL DPREP routine DpPrLeastSquaresFit failed to perform a quadratic least-squares fit to position and velocity vectors in the QA window in preparation for a limit check. Likely follows error messages that indicate the actual problem. The specified data packet will be flagged for failure of QA analysis.

DPREP_W_CANT_CHK_ANGLE DPREP routine DpPrLeastSquaresFit failed to perform a quadratic least-squares fit to Euler angle data in the QA window in preparation for a limit check. Likely follows error messages that indicate the actual problem. The specified data packet will be flagged for failure of QA analysis.

DPREP_W_CANT_CHK_ANGLE_RATE DPREP routine DpPrLeastSquaresFit failed to perform a quadratic least-squares fit to angle rate data in the QA window in preparation for a limit check. Likely follows error messages that indicate the actual problem. The specified data packet will be flagged for failure of QA analysis.

A-13 500-EMD-001

Error Code5 Explanation DPREP_W_CANT_CHK_DATA An error occurred while performing a quadratic least-squares fit to

data found in the QA window. Likely follows error messages that indicate the actual problem.

DPREP_W_CANT_CHK_POS DPREP routine DpPrLeastSquaresFit failed to perform a quadratic least-squares fit to position data in the QA window in preparation for a limit check. Likely follows error messages that indicate the actual problem. The specified data packet will be flagged for failure of QA analysis.

DPREP_W_CANT_CHK_VEL DPREP routine DpPrLeastSquaresFit failed to perform a quadratic least-squares fit to velocity data in the QA window in preparation for a limit check. Likely follows error messages that indicate the actual problem. The specified data packet will be flagged for failure of QA analysis.

DPREP_W_CONT_MISSING_PKTS A long data gap has been found in the data. Indicates that a replacement granule that spans the specified time interval is necessary.

DPREP_W_END_PROJECT_ORBIT

Indicates that DPREP has found a long data gap in the ephemeris timeline that spans one or more node crossings, and has completed extrapolating orbit metadata across it. DPREP uses the orbital period and descending node propagation from the last available segment or those determined from the current ephemeris granule with which to extrapolate orbit metadata.

DPREP_W_EPHEM_QA_ERROR Encountered ephemeris data with poor data quality thereby making the ephemeris unusable for processing attitude data.

DPREP_W_EST_ORBIT_PERIOD Indicates that the orbital period that was determined by examining the node crossings that were found in the ephemeris data stream was questionable. The orbital period taken from the preceding Toolkit-format ephemeris granule header, or calculated from the current ephemeris granule, was used instead.

DPREP_W_FDD_END_OF_DATASET The end-of-granule has been reached on the FDD Attitude granule. This condition is never signaled in the SDP Toolkit status log file.

DPREP_W_FLAGGED_DATA_REMAINS Non-repaired ephemeris data remains in the EDOS ephemeris data stream. There were an insufficient number of ephemeris data points available with which the data repair could be achieved.

DPREP_W_HIGH_RED_EXCEEDED Indicates that a red high limit or range violation occurred in the specified data stream. The specified data packet will be flagged accordingly.

DPREP_W_HIGH_YELLOW_EXCEEDED Indicates that a yellow high limit or range violation occurred in the specified data stream. The specified data packet will be flagged accordingly.

DPREP_W_INSUFFICIENT_POINTS Indicates that DPREP was unable to populate the QA window with the minimum required number of data packets. The specified data packet will be flagged for failure of QA analysis.

DPREP_W_INVALID_CARRYOUT_STATUS An error within the data packets of the EMOS-supplied attitude granule has been encountered. Details regarding the specific error are provided in the SDP Toolkit status log file.

DPREP_W_L0_FILE_WARNING Indicates a potential corruption of the EMOS-supplied L0 Ancillary granule.

A-14 500-EMD-001

Error Code5 Explanation DPREP_W_LONG_GAP_END Indicates that a long data gap ended at the specified time. The

specified data packet will be flagged accordingly. DPREP_W_LONG_GAP_FOLLOWS Indicates that a long data gap began at the specified time. The

specified data packet will be flagged accordingly. DPREP_W_LOW_RED_EXCEEDED Indicates that a red low limit or range violation occurred in the

specified data stream. The specified data packet will be flagged accordingly.

DPREP_W_LOW_YELLOW_EXCEEDED Indicates that a yellow low limit or range violation occurred in the specified data stream. The specified data packet will be flagged accordingly.

DPREP_W_MISSING_DATA Indicates that at least one data packet was found missing in the timeline being analyzed. Data repair will be performed if the missing packet was found in the EDOS-supplied ephemeris timeline. Otherwise, data replacement will be requested from FDD via the Spatial Subscription Server.

DPREP_W_MISSING_STATUS_WORD An attitude record at the specified timestamp has been flagged because a bracketing Status Word 2 packet is missing from the Status Word 2 timeline.

DPREP_W_NEXT_PROFILE_CHANGE The profile used in DPREP processing was changed due to the unavailability of a granule from the following data segment. The granule did not become available within the wait period. The original and newly assumed profiles are displayed by this message.

DPREP_W_NO_ORBITAL_ELEMENTS None of the orbital elements that were calculated by routine ECS_Get_Orbital_Elements describe an ellipse or circle. Unable to estimate orbital elements.

DPREP_W_NO_OUTPUT_GEN Indicates that neither ephemeris and attitude data were requested for production when processing the EDOS L0 Ancillary data.

DPREP_W_NOT_ELLIPSE_OR_CIRCLE Some of the orbital elements calculated by routine ECS_Get_Orbital_Elements do not describe an ellipse or circle.

DPREP_W_PREV_PROFILE_CHANGE The profile used in DPREP processing was changed due to the unavailability of a granule from the preceding data segment. The granule did not become available within the wait period. The original and newly assumed profiles are displayed by this message.

DPREP_W_RANGE_VIOLATION Data range violations found in the data. Indicates that a replacement granule that spans the specified time interval is necessary.

DPREP_W_SAFE_MODE Indicates that a safe-mode-flagged record was encountered at the specified time in the EMOS data stream. The specified data packet will be flagged accordingly.

DPREP_W_SHORT_GAP_END Indicates that a short data gap ended at the specified time. The specified data packet will be flagged accordingly.

DPREP_W_SHORT_GAP_FOLLOWS Indicates that a short data gap began at the specified time. The specified data packet will be flagged accordingly.

DPREP_W_SHORT_GAP_REMAINS A short data gap remains in the EDOS ephemeris data stream. There were an insufficient number of ephemeris data points available with which the gap-fill could be achieved.

A-15 500-EMD-001

Error Code5 Explanation DPREP_W_SINGULAR_MTRX Indicates that a singular matrix was encountered while solving the

quadratic least-squares fit to the QA window. The data packet undergoing QA will be flagged for failure of QA analysis.

DPREP_W_USING_DEFAULT_ORBIT Indicates that DPREP is using the 'default' orbital period and descending node propagation in orbit metadata projection. This follows from having failed to find two consecutive ascending or descending node crossings from which to calculate these quantities. The 'defaults' are taken from the last available segment or calculated from the current ephemeris granule.

A-16 500-EMD-001

This page intentionally left blank.

AB-1 500-EMD-001

Abbreviations and Acronyms

AM-1 EOS AM Project Spacecraft 1, morning spacecraft series – ASTER, CERES, MISR, MODIS and MOPITT instruments

AMPT Automated Maneuver Planning Tool

APID Application Process ID

ASCII American Standard Code for Information Interchange

CCSDS Consultative Committee for Space Data Systems

CSC Coordinate System Conversion

DAAC Distributed Active Archive Center

DP Data Processing

DPREP Data Preprocessing

ECI Earth Centered Inertial

EDOS EOS Data Operations System

EOS Earth Observing System

EOS-AM EOS AM Project (morning equator crossing spacecraft series)

EOSDIS Earth Observing System Data and Information System

ESDT Earth Science Data Type

FDD Flight Dynamics Division (GSFC Code 550)

FDS Flight Dynamics Systems

FOT Flight Operations Team

FTP File Transfer Protocol

GSFC Goddard Space Flight Center

GTDS Goddard Trajectory Tracking System

HDF Hierarchical Data Format

J2000 Mean Celestial Reference Frame at JD 2451545.0 TDT (2451545.0 is noon, not midnight, and is equivalent to 2000-01-01T11:58:55.816 UTC)

JD Julian Date (days from noon, 4713 BC)

JD (in TDT) JD (in UTC) plus cumulative leap seconds plus 32.184 seconds

L0 Level 0 (zero)

AB-2 500-EMD-001

MCF Metadata Control File

ODL Object Description Language

PCF Process Control File

PDPS Planning and Data Production System

PGE Product Generation Executable

QA Quality Assurance

S4PM Simple Scalable Script-based Science Processor for Missions

SDP Science Data Processing

SDSRV Science Data Server

tar UNIX term derived from "tape archive"

Terra EOS AM Project Spacecraft 1, morning spacecraft series – ASTER, CERES, MISR, MODIS and MOPITT instruments; formerly AM-1

TAI Temps Atomique International (International Atomic Time)

TDT Terrestrial Dynamical Time

TK Toolkit

TOD True-of-Date

TONS TDRSS On-board Navigation System

TDRSS Tracking and Data Relay Satellite System

UR Universal Reference

UTC Coordinated Universal Time

Vdata A framework for storing customized data tables in HDF files