Figure 1: SABER Level 1A dataflow
Download Level1A Software Design Document in pdf format
This Software Design Document (SDD) describes an overall software design plan for SABER Level 1A processing software. The software sorts and merges unpacked data (Level 0B) into events, which are defined by scan modes of the SABER instrument. The main science data events are defined by individual scans (up or down) through the Earths atmosphere. The data are converted from counts to engineering units. All data required to perform signal corrections and retrievals on an individual event will be merged into each scan event.
The SABER Level 1A data flow is shown in figure 1. The Payload Operation Center (POC) will pull one days worth of raw telemetry (Level 0A) from the TIMED Mission Data Center (MDC). Level 0A consists of raw CCSDS packets concatenated together into one daily file. The POC will then decom and unpack the data and create Level 0B files, sorted by packet type (Instrument, Housekeeping, S/C) or data type (NMC, PVAT, Solar Geomagnetic). The Level 0B files are ASCII format and are described in the Level 0B Format Document.
There are three types of Level 0B files: (1) those generated from CCSDS packets (packet-generated), (2) ancillary data and (3) status file containing record counts and error logs. The Level 0B files and their type are listed in Table 1. The packet-generated Level 0B are read into object arrays and converted to engineering units. Each Level 0B file has an associated C++ class, which has common header information containing date & time. The instrument data are processed to determine the event boundary times. Events are defined by reading in the scan mode flag and scan angle (from data collection class) and determining the beginning and ending boundary times of each defined scan event. Once the boundary times are determined, all modal objects are searched for records that fall between these times. Specific ancillary data needed to further process each event (such as NMC data, S/C attitude, and solar geomagnetic indices) are extracted from the ancillary data and loaded into an event header.
Level 0B File |
Type |
Format |
Data Collection | Packet-Generated | ASCII |
HouseKeeping | Packet-Generated | ASCII |
NMC | Ancillary | NetCDF |
PVAT | Ancillary | NetCDF |
Solar Indices | Ancillary | NetCDF |
Status (Record Count/Error Log) | Status | ASCII |
Orbit Number | Ancillary | ASCII |
Table 1: SABER Level 0B files
The Level 1A software must be able to run on SGI and Linux workstations. It must be able to read and write files across the Internet via NFS. Prior to calibration, the Level 1A package will be installed on the Space Dynamics Laboratory (SDL)s SGI network so that calibration engineers will be able to access Level 1A files. During the actual instrument calibration, GATS engineers will generate Level 1A files for both groups. This will provide thorough testing for the operational Level 1A software.
This CSCI opens and reads in Level 0B files utilizing I/O methods contained within the modal classes created for Level 0B processing. Each modal class will be defined as an object array and all data for each modal file is read into the object array. For packet-generated data, each value is time tagged. For ancillary data (NMC, PVAT, Orbit Number and Solar Indices), the files are opened and accessible until the required location is determined. The Level 0B Status file contains record counts for each packet file as well as an error log. This file must be opened and read for error tracking and record count verification.
The CSCI must open (for reading) each of the daily and previous day Level 0B files listed in Table 1. Level 0B files generated from packets must be read into time tagged records, based on the record count from the status file. The errors flagged in the status file are passed through via the quality flag defined for each record. The record structures are defined in the Level 1A format document. The ancillary Level 0B data need only be opened and accessible. The CSCI must be able to determine if a scan event began on the previous day, and include it in the current day processing.
Since the classes from Level 0B processing are reused, data can be printed out using the Level 0B output methods. The files generated by these methods can only contain data read in from the desired files, hence a point-by-point comparison can be performed between the Level 0B input files, and the data read in by the CSCI. Errors will also be implanted in Level 0B files to verify that errors are correctly detected and flagged. Test events will be generated which cross over day boundaries to ensure proper handling of events which started in the previous day.
This CSCI must determine the scan mode as a function of time so that time boundaries for the beginning and ending of each scan mode event can be determined. The CSCI must read in the instrument scan mode flag, which is contained in the Level 0B main frame header (see Level 0B format document). Once a change in the scan mode flag is detected, a new event is declared and the event is processed. Since acquisition and adaptive scans can be further differentiated into up and down scans, the scan angle velocity must be checked to determine the scan direction. The possible scan modes are listed in Table 2.
Scan Mode | Scan Mode Flag |
Scan Angle Velocity |
Scan Angle Range [mrads] |
Description |
Adaptive Down | ADPTSCAN | TBD | TBD | Nominal scan down |
Adaptive Up | ADPTSCAN | TBD | TBD | Nominal scan up |
IFC | IFCBBXXX | TBD | TBD | Stare at Internal Flight Calibrator |
Space Look | SPACLOOK | TBD | TBD | Stare at cold space |
Acquisition Down | ACQNSCAN | TBD | TBD | Acquisition scan down |
Acquisition Up | ACQNSCAN | TBD | TBD | Acquisition scan up |
Lower Baffle Look | ACQNSCAN | TBD | TBD | Mirror Scans into lower baffle |
Upper Baffle Look | ACQNSCAN | TBD | TBD | Mirror Scans into upper baffle |
TBD 1-? | SPARE1-? | TBD | TBD | Spares for future modes |
Table 2: SABER Scan Modes
The CSCI must sort through the time-ordered data collection modal file, read the scan mode flag and scan mirror angle and determine beginning and ending time boundaries for each scan event identified in Table 2. The CSCI must trap errors in scan mode flag. The CSCI must also handle scan data that crosses day boundaries by terminating the event and saving it for the next day. Therefore, the current day and previous day data are required for input to correctly identify the first event for the current day in case it begins in the previous day.
During engineering calibration, the instrument will be commanded to go into each scan mode defined in Table 2. These data will be run through Level 1A processing. Demonstration and analysis can then verify that the designated scan modes are correct. Scan mode errors will be implanted in the level 0B files to verify that scan mode errors are successfully trapped. Events will be simulated that cross over into the next day to test such events that begin in one day and end in the next.
Processing the scan events includes merging all required data for each designated scan event, determining the geometry as required, converting to Engineering Units, and writing out the data in the Level 1A format.
The requirements for processing each scan event are dependent upon the scan mode. Each scan mode defined in Table 2 requires different ancillary data. The Level 1A file will be based on Adaptive Scan events, with every other scan staring at the IFC and/or cold space. The spare event modes are reserved for any on-orbit tests that may be required to characterize the instrument, or other scan modes developed after launch which can be commanded, and will have requirements derived as needed. The individual requirements for each scan mode are listed in Table 3. The final requirement for each processed scan event is to gather all data which is required to process each Adaptive Scan event, generate the mode-dependent event header and output it along with the data for that scan event. The format is defined in the SABER Level 1A format document.
Test data will be generated (during POC testing) by commanding the instrument to go into each possible scan mode. These data will be broken into scan events, and run through Level 1A processing. The output Level 1A file can be analyzed to verify that the data were correctly processed, merged and output in the correct format for each scan mode event. Implanted errors will also be tracked to ensure correct detection and flagging. These test data will also be merged with simulated SABER data using LIMS data for testing of SABER Level 1B processing.
Scan Mode | Event Data Requirements |
Processing Requirements |
Adaptive Down | Scan Mirror Angle Channel Voltages & Gains HouseKeeping NMC Profile for tangent point location. Solar Indices for current day. PVAT. Orbit Number. Bracketing IFC events. Bracketing Space-Look events Baffle-Looks (if scanned) |
Convert to Engineering Units. Compute tangent point location. Extract NMC profile. Merge data. |
Adaptive Up | Same as Adaptive Down | Same as Adaptive Down. |
IFC | Scan Mirror Angle Channel Voltages & Gains IFC & Jones Source Temperatures |
Convert to Engineering Units. Merge data. |
Space Look | Scan Mirror Angle Channel Voltages & Gains PVAT. |
Convert to Engineering Units. Compute tangent point location. Merge data. |
Acquisition Down | Same as Adaptive Down | Same as Adaptive Down. |
Acquisition Up | Same as Adaptive Up | Same as Adaptive Up. |
Lower Baffle Look | Scan Mirror Angle Channel Voltages & Gains HouseKeeping |
Convert to Engineering Units. Merge data. |
Upper Baffle Look | Scan Mirror Angle Channel Voltages & Gains HouseKeeping |
Convert to Engineering Units. Merge data. |
Spare | Derived | Derived as needed. |
Table 3: SABER Scan Mode Processing Requirements
APID | Application Identifier |
APL | Applied Physics Laboratory |
CCSDS | Consultative Committee for Space Data Systems |
CSCI | Computer Software Configuration Item |
CVT | Current Value Table |
DLL | Dynamic Link Library |
FTP | File Transfer Protocol |
GATS | G&A Technical Software |
GSE | Ground Support Equipment |
HALOE | HALogen Occultation Experiment |
H, S & P | Health, Safety and Performance |
H/W | Hardware |
ICD | Interface Control Document |
IFC | In-Flight Calibrator |
JHAPL | John Hopkins Applied Physics Laboratory |
MDC | Mission Data Center |
MOC | Mission Operations Center |
POC | Payload Operations Center |
PVAT | Position, Velocity, Attitude and Time |
RT | Real Time |
SABER | Sounding of the Atmosphere using Broadband Emission Radiometry |
SAGE | Stratospheric Aerosol and Gas Experiment |
S/C | Spacecraft |
SDD | Software Design Document |
SDL | Space Dynamics Laboratory |
SPIS | SABER Project Information Server |
S/W | Software |
TCP/IP | Transmission Control Protocol / Internet Protocol |
TIMED | Thermosphere, Ionosphere, Mesosphere, Energetics, Dynamics |
UTP | Unshielded Twisted Pair |