Data Readers

NOTE: This capability is currently being designed.  Once the design is finalized, this notice will be removed.

GMAT provides an interface designed to read data from a source and import that data into internal data objects.  The source used by this subsystem can be a file, a shared memory location, or a database.  The data reader accesses the data in this source and loads it into memory.  It then performs any needed processing on the data and passes it to a GMAT object for use when running a mission.

The initial implementation of the data reader code will read an ASCII version of a TCOPS Vector Hold File used in the operation of the ACE spacecraft.  This page describes the design for that implementation, and shows how it fits into the DataReader class structure.  The design documented here discusses that class structure, and can be used as a starting point for the implementation of additional data readers in GMAT. 

Scripting

The initial implementation of the data readers is scripted as shown here for the ACE TCOPS Vector Hold File:

Create DataReader myReader;   % or FileReader; final syntax is TBD
myReader.Format = ACE_TVHF;  % Maybe just ASCII_TVHF - I think we can autodectect for the ACE vs standard format
myReader.Filename = 'WowSomeACEData.txt';

Create Spacecraft ACE

BeginMissionSequence

Set ACE myReader (Data = {Epoch, CartesianState});  % Default to ALL? 

Class Structure

The Data Reader subsystem is implemented as a DataInterface, a set of DataReader classes specific to the types of data sources that can be read, and a collection of commands that are used to drive the data readers in the Mission Control Sequence.