**T****he Target Generation Facility (TGF)**

[D]{.underline}ata [R]{.underline}eduction and [A]{.underline}nalysis
[T]{.underline}oolkit

DRAT

Prepared for:

Dan Warburton

AJP - 786

AJP-78, Laboratory Services Group

AJP-786, Simulation Team

Federal Aviation Administration

William J. Hughes Technical Center

Atlantic City, NJ  08405

Prepared By:

Dana Nova Whicker

Edward Jaggard

Rhoma Gordillo

Sam Fullerton

Engility

Under:

Engility

3393 Bargaintown Road

Egg Harbor Township, NJ 08234

FAA Prime Contract No. DTFA03-99-D-00017

February 2008

The TGF Data Reduction & Analysis Toolkit

User's Manual

Created by the [Target Generation Facility]{.underline}, located at the
website

http://public.tgf.tc.faa.gov/

Table of Contents

[OVERVIEW 1](#overview)

[1. Introduction and Basic Concept 2](#introduction-and-basic-concept)

[2. Parts of the DRAT GUI 3](#parts-of-the-drat-gui)

[2.1 The Menu Bar 4](#the-menu-bar)

[2.2 The Toolbar 4](#the-toolbar)

[2.3 The Tool Configuration Workspace
5](#the-tool-configuration-workspace)

[3. The Menus 6](#the-menus)

[3.1 File 6](#file)

[3.2 Run 6](#run)

[3.3 Readers 7](#readers)

[3.4 Filters 8](#filters)

[3.5 Factories 10](#factories)

[3.6 Writers 12](#writers)

[3.7 Plotters 13](#plotters)

[3.8 Comment 14](#comment)

[3.9 Remove 14](#remove)

[3.10 Help 15](#help)

[4. The Tools 16](#the-tools)

[4.1 The Readers 16](#the-readers)

[4.1.1 Recordable Reader 16](#recordable-reader)

[4.1.2 PTT Reader 17](#ptt-reader)

[4.1.3 DART Data Reader 18](#__RefHeading___Toc191709362)

[4.1.4 French Data Reader 19](#french-data-reader)

[4.2 The Filters 20](#the-filters)

[4.2.1 Aircraft Filter 20](#aircraft-filter)

[4.2.2 Altitude Filter 20](#altitude-filter)

[4.2.3 Class Type Filter 20](#class-type-filter)

[4.2.4 First Occurrence of Name Filter
20](#first-occurrence-of-name-filter)

[4.2.5 Flying Status Filter 20](#flying-status-filter)

[4.2.6 Geographic Area Filter 20](#geographic-area-filter)

[4.2.7 Geographical Sector Filter 20](#geographical-sector-filter)

[4.2.8 HFL Handoff to Boundary Filter
20](#hfl-handoff-to-boundary-filter)

[4.2.9 OR Filter 20](#or-filter)

[4.2.10 Pilot Command Filter 20](#pilot-command-filter)

[4.2.11 Pilot Command Source 20](#pilot-command-source)

[4.2.12 Runway Filter 20](#runway-filter)

[4.2.13 Sector Filter 20](#sector-filter)

[4.2.14 Set Aircraft Sector Values 20](#set-aircraft-sector-values)

[4.2.15 Text Filter 20](#text-filter)

[4.2.16 Time Filter 20](#time-filter)

[4.2.17 Time Sampler 20](#time-sampler)

[4.2.18 Universal Flight Plan Filter 20](#universal-flight-plan-filter)

[4.3 Factories 20](#factories-1)

[4.3.1 Aircraft Field Duration Factory
20](#aircraft-field-duration-factory)

[4.3.2 Altitude and Speed Error Factory
20](#altitude-and-speed-error-factory)

[4.3.3 Distance Factory 20](#distance-factory)

[4.3.4 Distance Track Factory 20](#distance-track-factory)

[4.3.5 Data Object Count Factory 20](#data-object-count-factory)

[4.3.6 Duration Factory 20](#duration-factory)

[4.3.7 Dynamic Density Factory 20](#dynamic-density-factory)

[4.3.8 Event File Combiner Factory 20](#event-file-combiner-factory)

[4.3.9 Fuel Burn Factory 20](#fuel-burn-factory)

[4.3.10 HFL Enroute Summary Factory 20](#hfl-enroute-summary-factory)

[4.3.11 HFL Ground Factory 20](#hfl-ground-factory)

[4.3.12 HFL Visual Factory 20](#hfl-visual-factory)

[4.3.13 Distance Summary Factory 20](#distance-summary-factory)

[4.3.14 Terminal Simulation Factory 20](#terminal-simulation-factory)

[4.3.15 PTT Duration Factory 20](#ptt-duration-factory)

[4.4 The Writers 20](#the-writers)

[4.4.1 Text Writer 20](#text-writer)

[4.4.2 Delimited Writer 20](#delimited-writer)

[4.4.3 Flight Plan Writer 20](#flight-plan-writer)

[4.4.4 Plot Generator XML Writer 20](#plot-generator-xml-writer)

[4.4.5 Recordable Writer 20](#recordable-writer)

[4.4.6 Sectorizing Writer 20](#sectorizing-writer)

[4.4.7 Sim Event Writer 20](#sim-event-writer)

[4.4.8 Sp Assign File Writer 20](#sp-assign-file-writer)

[4.5 The Plotters 20](#the-plotters)

[4.5.1 Aircraft Location Plotter 20](#aircraft-location-plotter)

[4.5.2 Location Plotter 20](#location-plotter)

[4.5.3 Runway Plotter 20](#runway-plotter)

[4.5.4 XY Plotter 20](#xy-plotter)

[4.6 The TGF Simulator Input Utility
20](#the-tgf-simulator-input-utility)

[5 The DR&A Objects 20](#the-dra-objects)

[6 DRAT Report Design Descriptions 20](#drat-report-design-descriptions)

[6.1 CONFLICT REPORTS 20](#conflict-reports)

[6.1.1 STANDARD CONFLICT (SCNF) 20](#standard-conflict-scnf)

[6.1.2 STANDARD CONFLICT DURATION (SCNFD)
20](#standard-conflict-duration-scnfd)

[6.1.3 X-VALUE CONFLICT (XCNF) 20](#x-value-conflict-xcnf)

[6.1.4 X-VALUE CONFLICT DURATION (XCNFD)
20](#x-value-conflict-duration-xcnfd)

[6.1.5 WAKE VORTEX (LONGITUDINAL) CONFLICT (LCNF)
20](#wake-vortex-longitudinal-conflict-lcnf)

[6.1.6 WAKE VORTEX CONFLICT DURATION (LCNFD)
20](#wake-vortex-conflict-duration-lcnfd)

[6.1.7 PARALLEL CONFLICT (PCNF) 20](#parallel-conflict-pcnf)

[6.1.8 PARALLEL CONFLICT DURATION (PNCFD)
20](#parallel-conflict-duration-pncfd)

[6.1.9 RESTRICTED AIRSPACE CONFLICT (ASCNF)
20](#restricted-airspace-conflict-ascnf)

[6.1.10 RESTRICTED AIRSPACE CONFLICT DURATION (ASCNFD)
20](#restricted-airspace-conflict-duration-ascnfd)

[6.2 COMPLEXITY MEASUREMENT REPORTS 20](#complexity-measurement-reports)

[6.2.1 SYSTEM ACTIVITY (CMAV) 20](#system-activity-cmav)

[6.2.2 ALTITUDE CHANGE COMMAND (ALT) 20](#altitude-change-command-alt)

[6.2.3 HEADING CHANGE COMMAND REPORT (HDG)
20](#heading-change-command-report-hdg)

[6.2.4 SPEED CHANGE COMMAND REPORT (SPEED)
20](#speed-change-command-report-speed)

[6.3 NON-CONFLICT ERROR REPORTS 20](#non-conflict-error-reports)

[6.3.1 MISSED APPROACH REPORT (MISSAPP)
20](#missed-approach-report-missapp)

[6.3.2 HOLD REPORT (NDLY) 20](#hold-report-ndly)

[6.4 Activity / Task Load Reports 20](#activity-task-load-reports)

[6.4.1 Number OF FLIGHTS HANDLED (NHAND)
20](#number-of-flights-handled-nhand)

[6.4.2 Number of COMPLETED Landings (NCOMP)
20](#number-of-completed-landings-ncomp)

[6.4.3 Number of Departures (NDEPT) 20](#number-of-departures-ndept)

[6.4.4 Number of Handoffs (NHOFF) 20](#number-of-handoffs-nhoff)

[Appendix A: Glossary 20](#appendix-a-glossary)

[Appendix B: Wake Vortex Turbulence Separation
20](#appendix-b-wake-vortex-turbulence-separation)

# OVERVIEW

The TGF Data Reduction and Analysis Toolkit (DRAT) was developed to
generate reports on air traffic control simulations for data analysis. 
Researchers can use this tool to analyze and interpret various sets of
dependent variables that relate to both air traffic system performance
and individual controller performance.   Analysts will be able to
evaluate the output of the tool with statistical packages without manual
elimination of extraneous raw data. 

Analysts without any prerequisite programming skills can quickly learn
how to use the tool.  The menu-driven graphical user interface (GUI)
allows easy customization of data output and tailoring of data reports
to meet the research analysis requirements of the studies being
conducted.  The tool\'s menu-driven interface allows the selection of
TGF simulation recordings.  The analyst can select data from sets of
variables for output, process summary statistics based on
user-specifiable time blocks, and print the output generated to the
desired format.  The output can be printed to either a text format for
reading or to a comma-delimited format compatible with spreadsheet
import files such as those used by MS-Excel, Lotus 1-2-3, or Quattro
Pro.  Frequently used data output formats can be saved and are
accessible through menus.

Among the types of reports the data reduction and analysis tool is
capable of producing are system complexity measurement reports, system
activity/load measurement reports, and conflict reports on aircraft
violation of separation requirements, aircraft characteristic reports,
and navigational information reports.  Frequencies and duration of
events can be determined over the length of the simulation or over
specifiable intervals of time.  The reports can be adapted to meet the
analysts\' needs and, as such, are highly customizable.

The following documentation includes a user\'s manual that includes
illustrations of the GUI panels, descriptions of the data filters, and a
glossary of FAA simulation research terms.

# Introduction and Basic Concept

The DRAT toolkit is a modular, highly adaptable application for
extracting data from TGF simulations for the benefit of the customers'
analysts.  Since the TGF simulator records exhaustive detail on the
state of the simulation, customers that look at the simulator data want
to quickly reduce the amount of information to the set of details that
is pertinent to their particular study.  The DRAT toolkit provides tools
to select on a wide variety of data elements to construct a subset of
the simulator data that can be analyzed easily.  DRAT can also produce
summary information about a simulation.  This is all packaged with an
easily operated Graphical User Interface (GUI) interface.

The following definitions are commonly used terms for the DRAT
application:

[Configuration]{.underline} - a sequence of DRAT tools that operates on
TGF simulator data to generate (at least) one set of output. (Some types
of configurations can produce multiple output files containing different
sets of output.)  Each DRAT tool in the sequence operates on the
simulator data resulting from the previous tool in the sequence.  A
minimum of two tools is needed to produce output (a reader and either a
writer or plotter).

[Data Object]{.underline} - is a set of related information such as
aircraft information, fix information, or pilot (pseudo-pilot) command
information.  In effect, a data object can be thought of as a record
with multiple fields.

[Recording File]{.underline} - is a file containing "data objects"
detailing the initialization parameters of a TGF simulation,
second-by-second information on the state of the simulation, and
messages describing events that occurred during the simulation.

[Reader]{.underline} - allows the selection of an input file to
translate data into "data objects" that the other DRAT tools can operate
on.  Currently the only reader is the Recordable Reader, which imports
files in TGF simulator recording format.

[Filter]{.underline} - allows the selection of a subset of "data
objects" by removing objects not containing a specified characteristic
that the filter was designed to select for.

[Factory]{.underline} - combines information from existing "data
objects" to create new sets of information encapsulated in new data
objects.

[Writer]{.underline} - allows the selection of an output file in a
specific format.  Each writer generates a report to an output file,
which can be read by an editor or sent to a writer.

DRAT operates by taking a configuration of the DRAT tools, and
subjecting the TGF simulator data to each tool's process in sequence. 
The reader tools construct data objects by importing data from a file;
subsequently, the other tools select from the data received, construct
new data objects, or generate output for the user. Each tool operates on
all the data objects it receives according to its function and then
sends the resulting data objects to the next tool.  The DRAT GUI
displays the configuration in a top-to-bottom sequence that should, at
minimum, start with a reader and end with a writer or plotter. 
Frequently requested configurations have been pre-defined, and can be
loaded from the file menu. Configurations may also be constructed by the
user and, if desired, saved for future reuse.

# Parts of the DRAT GUI

# 

![](media/image1.png){width="5.9944444444444445in" height="4.23125in"}

Figure 1

Welcome to the TGF Data Reduction and Analysis Toolkit GUI. The DRAT GUI
will provide assistance in the extraction and formatting of simulation
data, for use in the analysis of simulation results.

The DRAT GUI has several main sections:  the menu bar, from which all
operations can be performed, the toolbar, which provides fast access to
the frequently used DRAT tools (for placement on the tool configuration
workspace below), and the tool configuration workspace, where the
selected tools are displayed, allowing the individual tools to be
configured.

##  The Menu Bar

![](media/image2.jpeg){width="6.0in" height="0.40625in"}

Figure 2

The menu bar is the access point for the actions and tools to be used
when operating the DRAT GUI.  Selecting a tool on one of the menus will
cause the tool to be placed after any previously selected tools in the
list displayed on the tool configuration workspace.  (Individual menus
are described Section 3: The Menus.)

## The Toolbar

![](media/image3.png){width="5.9944444444444445in"
height="0.9034722222222222in"}

Figure 3

The toolbar provides quick access to a subset of the DRAT tools.  The
icons represent the DRAT tools that are the most often used.  Selecting
any of these icons causes the same result as selecting the corresponding
tool from the dropdown menu bar.

## The Tool Configuration Workspace

![](media/image4.jpeg){width="6.0in" height="3.6145833333333335in"}

Figure 4

The tool configuration workspace is where the selected sequence of DRAT
tools is displayed and constructed to create the desired data reduction
output.  The layout of the tool configuration panels, from top to
bottom, is the order in which each tool acts upon the Data Objects
received from the previous tool.

The panels for the DRAT tools can be added by choosing a menu selection
or by selecting a button on the quick-access toolbar.  They can be
removed by selecting a Remove menu option or by right-clicking on the
panel title and selecting "Delete".

# The Menus

## File

![](media/image5.png){width="5.990972222222222in"
height="1.7159722222222222in"}

Figure 5

When File is pressed, the File Menu pops down.  The user is presented
with choices on the data reduction and analysis setup.  The user can
clear the tool configuration workspace, open a previously saved
configuration and display it on the workspace, save the current
configuration, or exit the DRAT GUI. The "Open Recent" menu option will
present the user a list of recently used configurations. The user may
choose which one configuration to load. The user may also open and
display the plotted coordinates of an XML file in the Berkeley Ptolemy
II plot format (see
[http://ptolemy.eecs.berkeley.edu/java/ptplot](http://ptolemy.eecs.berkeley.edu/java/ptplot/)),
which can be generated by a DRAT tool.

## Run 

![](media/image6.png){width="6.021527777777778in" height="0.90625in"}

Figure 6

The Run Menu allows the user to run the current configuration.  The user
can either run the current configuration from this location or click the
shortcut folder icon (shown below) that appears at the bottom of the
tool configuration workspace.

![](media/image7.jpeg){width="6.0in" height="0.5833333333333334in"}

Figure 7

## Readers

![](media/image8.png){width="5.998611111111111in"
height="1.4833333333333334in"}

Figure 8

Readers provide the ability to select an input file in an encoded
format. The Recordable Reader chooses a TGF recording file as a data
source.  When the configuration is run, the reader will read the file\'s
information and translate it into Data Objects.  The data objects
generated are sent on to the next tool in the sequence.

Selecting a tool from the Reader menu opens a reader panel inside the
GUI workspace.

  -----------------------------------------------------------------------
  -- the standard reader: reads a TGF recording file containing
  simulation data (for details, see
  ![](media/image9.wmf){width="0.3486111111111111in"
  height="0.3763888888888889in"})

  ![](media/image10.png){width="0.375in"
  height="0.37222222222222223in"}PTT Reader -- a reader that reads a PTT
  recording file containing Push to Talk data (for details see 4.1.2)

  ![](media/image11.png){width="0.3798611111111111in"
  height="0.36875in"}DART Data Reader -- a reader that reads a very
  specific formatted text file with \"track update\" information
  generated by the NAS (National Airspace System) Host DART (Data
  Analysis and Reduction Tool). (for details, see 4.1.3)

  ![](media/image12.png){width="0.375in" height="0.375in"}French Data
  Reader-- a reader that reads a text file with a very specific format,
  which TGF received from France\'s Direction Generale de l\'Aviation for
  the purpose of testing the Dynamic Density metrics. (for details see
  4.1.4)
  -----------------------------------------------------------------------

## Filters

![](media/image13.png){width="5.993055555555555in"
height="6.261111111111111in"}

Figure 9

The Filters Menu gives the user all of the filter names and their
corresponding icons.  These filter icons indicate panels that allow
selection of a subset of data.

  -----------------------------------------------------------------------
  ![](media/image14.wmf){width="0.3013888888888889in"
  height="0.2916666666666667in"}Aircraft Filter --filters on any data
  object having an associated aircraft (including second-by-second
  aircraft state data), by aircraft ID or beacon code. (For detailed
  description: see 4.2.1)

  ![](media/image15.wmf){width="0.3013888888888889in"
  height="0.3013888888888889in"}Altitude Filter - filters Data Objects
  with an altitude by the altitude range specified. (For detailed
  description: see 4.2.2)

  ![](media/image16.wmf){width="0.25in" height="0.25in"}Class Type
  Filter - filters for a specified type of Data Object. (For detailed
  description: see 4.2.3)

  ![](media/image17.wmf){width="0.24027777777777778in"
  height="0.25in"}First Occurrence of Name Filter - sends only the first
  instance of data objects with the same name (prevents state updates.
  (For detailed description: see 4.2.4)

  ![](media/image18.wmf){width="0.25in" height="0.25in"}Flying Status
  Filter - filters second-by-second information for aircraft by their
  current flying status. (For detailed description: see 4.2.5)

  ![](media/image19.wmf){width="0.2916666666666667in"
  height="0.31319444444444444in"}Geographic Area Filter - filters data
  objects with a location by a set of geographic boundary coordinates.
  (For detailed description: see 4.2.6)

  ![](media/image20.png){width="0.35625in" height="0.46875in"}
  Geographical Sector Filter-- filters data objects with location by the
  geographic coordinates of the named sectors (if known). (For detailed
  description: see 4.2.7)

  ![](media/image21.png){width="0.35833333333333334in"
  height="0.325in"}HFL Handoff to Boundary Filter- filters data for
  aircraft when the handoff is accepted to until it crossed the sector
  boundary. (For detailed description: see 4.2.8)

  ![](media/image22.png){width="0.3763888888888889in"
  height="0.36319444444444443in"}OR Filter - takes two or more filters
  and sends data that was sent from any of the filters. (For detailed
  description: see 4.2.9)

  ![](media/image23.wmf){width="0.3298611111111111in"
  height="0.32222222222222224in"}[Pilot Command Filter]{.underline} -
  filters pilot commands by their defined type (For detailed description:
  see 4.2.10)

  ![](media/image24.png){width="0.3638888888888889in"
  height="0.3923611111111111in"}Pilot Command Source -- filters pilot
  commands by their source. (For detailed description: see 4.2.11)

  ![](media/image25.wmf){width="0.24027777777777778in"
  height="0.2701388888888889in"}Runway Filter - filters by a set of
  specified runways for data objects with associated runways. (For
  detailed description: see 4.2.12)

  ![](media/image26.wmf){width="0.28125in"
  height="0.2916666666666667in"}Sector Filter - filters by a set of
  specified sectors for data objects with associated sectors. (For
  detailed description: see 4.2.13)

  ![](media/image27.png){width="0.22916666666666666in"
  height="0.3229166666666667in"}Set Aircraft Sector Values- filters by a
  set of specified sectors. (For detailed description: see 4.2.14)

  ![](media/image28.wmf){width="0.3298611111111111in"
  height="0.3298611111111111in"}[Text Filter]{.underline} - filters on
  text output that would be generated by the DRAT Text Writer. (For
  detailed description: see 4.2.15)

  ![](media/image29.wmf){width="0.3in" height="0.3in"}Time Filter -
  filters time stamped data objects by a time interval. (For detailed
  description: see 4.2.16)

  ![](media/image30.wmf){width="0.31319444444444444in"
  height="0.31319444444444444in"}Time Sampler - samples time-stamped data
  objects by only sending objects that occur at a multiple of a time
  interval. (For detailed description: see 4.2.17)

  ![](media/image31.wmf){width="0.28125in"
  height="0.3229166666666667in"}Universal Flight Plan Filter - filters on
  aircraft-related info of aircraft having a UFP field match. (For
  detailed description: see 4.2.18)
  -----------------------------------------------------------------------

##  

## Factories

![](media/image32.png){width="5.997222222222222in"
height="4.427083333333333in"}

Figure 10

The Factories Menu opens to reveal a selection of factories, or object
generators.  Generally, a factory is used to provide calculated data or
summary information, so the analyst does not need to perform the
calculations manually.

+----------------------------------------------------------------------+
| ![](media/image33.png){width="0.42916666666666664in"                 |
| height="0.41805555555555557in"}Aircraft Field Duration Factory --    |
| creates durations based on same values of selected aircraft state    |
| data. (For detailed description: see 4.3.1)                          |
+----------------------------------------------------------------------+
| ![](media/image34.png){width="0.43333333333333335in"                 |
| height="0.43333333333333335in"}Altitude and Speed Error Factory --   |
| calculates the difference between an Aircraft's desired              |
| altitude/speed and its current altitude/speed. (For detailed         |
| description: see 4.3.2)                                              |
+----------------------------------------------------------------------+
| ![](media/image35.wmf){width="0.31319444444444444in"                 |
| height="0.34305555555555556in"}Distance Factory - generates specific |
| distance information for aircraft.                                   |
|                                                                      |
| (For detailed description: see 4.3.3)                                |
+----------------------------------------------------------------------+
| ![](media/image36.wmf){width="0.28125in"                             |
| height="0.31319444444444444in"}Distance Track Factory - generates    |
| ground track distance traveled for aircraft.\                        |
| (For detailed description: see 4.3.4)                                |
+----------------------------------------------------------------------+
| ![](media/image37.wmf){width="0.2701388888888889in"                  |
| height="0.31319444444444444in"}Data Object Count Factory- generates  |
| totals and interval subtotals of data objects received. (For         |
| detailed description: see Data Object Count Factory4.3.5)            |
+----------------------------------------------------------------------+
| ![](media/image38.wmf){width="0.4097222222222222in"                  |
| height="0.37430555555555556in"}Duration Factory - generates duration |
| reports on time-stamped data received. (For detailed description:    |
| see 4.3.6)                                                           |
+----------------------------------------------------------------------+
| ![](media/image39.png){width="0.35625in" height="0.35625in"}Dynamic  |
| Density Factory- generates complexity reports by sector and time.    |
| (For detailed description: see 4.3.7)                                |
+----------------------------------------------------------------------+
| ![](media/image40.png){width="0.38333333333333336in"                 |
| height="0.39166666666666666in"}Event File Combiner Factory           |
| --combines the delimited output of combinable event types onto one   |
| comma-delimited output file. (For detailed description: see          |
| [4.3.8]{.underline})                                                 |
+----------------------------------------------------------------------+
| ![](media/image41.wmf){width="0.2798611111111111in"                  |
| height="0.4in"}Fuel Burn Factory - creates a data file to import     |
| into the fuel burn calculation tool. (For detailed description: see  |
| 4.3.9)                                                               |
+----------------------------------------------------------------------+
| ![](media/image42.png){width="0.2701388888888889in"                  |
| height="0.33055555555555555in"}HFL Enroute Summary Factory -         |
| generates summary information relating to an EnRoute simulation.     |
| (For detailed description: see 4.3.10)                               |
+----------------------------------------------------------------------+
| ![](media/image43.png){width="0.43333333333333335in"                 |
| height="0.43333333333333335in"}HFL Ground Factory -- generates       |
| information relating to a ground simulation. For detailed            |
| description: see 4.3.11)                                             |
+----------------------------------------------------------------------+
| ![](media/image44.wmf){width="0.375in"                               |
| height="0.3333333333333333in"}HFL Visual Factory - generates         |
| graphical summary data on aircraft status.\                          |
| (For detailed description: see 4.3.12)                               |
+----------------------------------------------------------------------+
| ![](media/image45.png){width="0.33611111111111114in"                 |
| height="0.3770833333333333in"}Distance Summary Factory - generates   |
| detailed information about separation violations. (For detailed      |
| description: see 4.3.13)                                             |
+----------------------------------------------------------------------+
| ![](media/image46.wmf){width="0.2701388888888889in"                  |
| height="0.34305555555555556in"}Terminal Simulation Factory -         |
| generates summary information relating to a terminal simulation.     |
| (For detailed description: see 4.3.14)                               |
+----------------------------------------------------------------------+
| ![](media/image47.png){width="0.28541666666666665in"                 |
| height="0.37569444444444444in"}[PTT Duration Factory]{.underline} -- |
| generates duration reports for PTT data received. (For detailed      |
| description: see 4.3.15)                                             |
+----------------------------------------------------------------------+

##  

## Writers

![](media/image48.jpeg){width="6.0in" height="2.9895833333333335in"}

Figure 11

Writers allow the selection of an output file in a specific format. 
Each writer generates a report to an output file that can be read by an
editor, or sent to a writer. When the Writers Menu is selected, the file
writer tools are listed for selection.  The most used writers are the
Text Writer, which produces easily readable text output for the objects
received and the Delimited Writer, which writes the data to
comma-separated format.

  -----------------------------------------------------------------------
  ![](media/image49.png){width="0.2611111111111111in"
  height="0.3736111111111111in"}Text Writer - saves output to easily
  readable text format. (For detailed description: see 4.4.1)

  ![](media/image50.wmf){width="0.2701388888888889in"
  height="0.375in"}Delimited Writer - saves output of pre-configured data
  objects to comma-delimited format. (For detailed description: see
  4.4.2)

  ![](media/image51.wmf){width="0.3013888888888889in"
  height="0.3229166666666667in"}Flight Plan Writer - recreates the flight
  plan of the current TGF recording. (For detailed description: see
  4.4.3)

  ![](media/image52.wmf){width="0.30972222222222223in"
  height="0.30972222222222223in"}Plot Generator XML Writer - writes an
  XML file with plotted comparison of one data object field to another
  (similar to XY Plotter). (For detailed description: see 4.4.4)

  ![](media/image53.png){width="0.35in"
  height="0.3368055555555556in"}Recordable Writer - stores data objects
  received back to TGF recording format. (For detailed description: see
  4.4.5)

  ![](media/image54.wmf){width="0.3in"
  height="0.4166666666666667in"}Sectorizing Writer - separates info by
  sector, writing to files named with the sector name. (For detailed
  description: see 4.4.6)

  ![](media/image55.jpeg){width="0.33055555555555555in"
  height="0.36527777777777776in"}Sim Event Writer - converts SP commands
  to SimEvents (automated command entries) and writes them to XML text
  format (.evt). (For detailed description: see 4.4.7)

  ![](media/image56.jpeg){width="0.35in" height="0.3861111111111111in"}Sp
  Assign File Writer --writes XML format file using assign commands. (For
  detailed description: see 4.4.8)
  -----------------------------------------------------------------------

## 

## Plotters

![](media/image57.png){width="5.995833333333334in"
height="1.6701388888888888in"}

Figure 12

+-----------------------------------------------------------------------+
| > ![](media/image58.png){width="0.48680555555555555in"                |
| > height="0.5215277777777778in"}Aircraft Location Plotter - plots     |
| > location points of aircraft to a visual plotter: changes color for  |
| > different beacon codes (For detailed description: see 4.5.1)        |
+-----------------------------------------------------------------------+
| > ![](media/image59.png){width="0.47847222222222224in"                |
| > height="0.4in"}Location Plotter - plots location points of objects  |
| > received to a visual plotter. (For detailed description: see 4.5.2) |
+-----------------------------------------------------------------------+
| > ![](media/image60.png){width="0.5041666666666667in"                 |
| > height="0.4in"}Runway Plotter - plots boundaries of runways         |
| > received to a visual plotter. (For detailed description: see 4.5.3) |
+-----------------------------------------------------------------------+
| > ![](media/image61.png){width="0.47847222222222224in"                |
| > height="0.4in"}XY Plotter - plots comparison of one data object     |
| > field to another (similar to Plot Generator XML Writer. (For        |
| > detailed description: see 4.5.4)                                    |
+-----------------------------------------------------------------------+

##  

## Comment

![](media/image62.png){width="6.011111111111111in"
height="0.7708333333333334in"}

Figure 13

Provides a text area in which to store notes on the DRAT configuration.

![](media/image63.png){width="5.656944444444444in" height="1.0625in"}

Figure 14

## Remove

![](media/image64.png){width="5.995138888888889in"
height="0.9416666666666667in"}

Figure 15

The Remove menu has two options:

+-----------------------------------------------------------------------+
| > ![](media/image65.wmf){width="0.375in"                              |
| > height="0.31319444444444444in"}Remove the last - allows the user to |
| > remove the last filter from the scrolling panel                     |
+-----------------------------------------------------------------------+
| > ![](media/image66.wmf){width="0.3229166666666667in"                 |
| > height="0.3333333333333333in"}Remove all - removes all the filters  |
| > that are open in the scrolling panel                                |
+-----------------------------------------------------------------------+

##  

## Help

![](media/image67.png){width="5.997222222222222in"
height="0.9166666666666666in"}

Figure 16

When the user selects the Help Menu, the DRAT user's manual (in HTML
format) opens in a new window.  The first help option displays the
user's manual in a barebones HTML viewer.  The "Select Browser" option
allows the DRAT user's manual to be displayed by a user-selected browser
or HTML editor\--a file chooser allows the user to specify the
executable to use, and the URL for the user's manual is used as a
parameter to the executable file. The "About" option displays
information about the jar file (if any) used to run the DRAT.

![](media/image68.png){width="4.499305555555556in"
height="4.413888888888889in"}

Figure 17

# The Tools

These are the DRAT tools that can be arranged together to create data
reduction and analysis output; they generate output using a modular,
sequence-dependent configuration structure.  The first tool in a
configuration must be a reader so that the following tools have data
objects to operate on.  The reader tools construct data objects by
importing data from a file; the other tools select from the data
received, construct new data objects, or generate output for the user.
Each tool operates on the set of data objects it receives according to
its function and then sends the resulting data objects to the next tool
in the top-to-bottom sequence.  (See Introduction and Basic Concept for
a more detailed description.)

## 4.1 The Readers

A reader constructs data objects from information in an input file.  The
first tool on the DRAT configuration panel should always be a reader,
since the readers are the only DRAT tools that do not need to receive
data objects from other tools.

### Recordable Reader

![](media/image69.wmf){width="0.5in" height="0.625in"}The only current
stand alone reader tool is the Recordable Reader. The Recordable Reader
provides the ability to select a TGF recording file to generate data
objects from. The output generated consists of all the data objects as
they were recorded to TGF format. See Section 5: The DR&A Objects for a
list of different types of data objects.

![](media/image70.jpeg){width="6.001388888888889in"
height="0.9972222222222222in"}

Figure 18

### PTT Reader

![](media/image10.png){width="0.5243055555555556in"
height="0.5652777777777778in"}The PTT Reader provides the ability to
select a Push to Talk (PTT) recording file to correlate controller and
pilot communications with other recorded data. A Recordable Reader must
appear before this panel because the file may contain numerous days of
PTT recordings, it is necessary to also use a TGF recording file to
properly select the desired date. The output generated consists of PTT
Data translated into data objects. See Section 5: The DR&A Objects for a
list of different types of data objects.

***Note: Must arrange with TGF to get PTT data recorded prior to
simulation to have it available for analysis.***

![](media/image71.png){width="5.997916666666667in"
height="0.8673611111111111in"}

**Figure 19**

### [[[]{#_Dart_Data_Reader .anchor}]{#__RefHeading___Toc191709362 .anchor}DART Data Reader](#_Dart_Data_Reader)

![](media/image11.png){width="0.3645833333333333in"
height="0.3645833333333333in"}The DART Data Reader provides the ability
to select a very specific formatted text file with \"track update\"
information generated by the NAS (National Airspace System) Host DART
(Data Analysis and Reduction Tool). The DART Data Reader will generate
aircraft state information that can be utilized by other DRAT tools. The
user must set the stereographic to use to translate latitude and
longitude into x and y coordinates by pressing the "MAP" button and
filling in the "Map Projection" dialog that appears.

![](media/image72.png){width="5.99375in" height="1.0131944444444445in"}

Figure 20

![](media/image73.png){width="2.876388888888889in"
height="3.001388888888889in"}

Figure 21

### French Data Reader

![](media/image12.png){width="0.3645833333333333in"
height="0.3854166666666667in"} The French Data Reader provides the
ability to select a very specific formatted text file which TGF received
from France\'s Direction Generale de l\'Aviation for the purpose of
testing the Dynamic Density metrics. The French Data Reader will
generate aircraft state information that can be utilized by other DRAT
tools.

![](media/image74.png){width="5.995833333333334in"
height="1.0152777777777777in"}

**Figure 22**

## The Filters

Filters provide the means to select a subset of received data objects,
deciding which are to be sent to the next tool based on the information
contained within the data objects.  The filters operate by eliminating
data objects that do not meet certain constraints and sending the rest
of the data objects to the next tool.  Several filters can be used in
sequence to select for several categories of criteria.

Most filters have a "Pass Through" selection option.  This field is an
option if there is a question of whether to send objects that are not
directly selected for by the filter criteria.  For example, if a sector
filter is told to select for sectors 17, 18, and 38, the filter will
always eliminate data objects that contain a sector field that is not
one of those 3 sectors.  However, data objects that do not contain an
associated sector field are not covered by this selection process;
therefore, checking the pass through field would cause data objects that
do not have sector fields to be sent on.

### Aircraft Filter

![](media/image75.wmf){width="0.39652777777777776in"
height="0.375in"}The Aircraft Filter panel filters on any data objects
with an associated aircraft (including second-by-second aircraft state
objects), by aircraft ID or beacon code. The aircraft-related data
objects to be sent to the next tool are selected by entering aircraft
IDs ore beacon codes into the parameter field. Only objects that are
associated with an aircraft matching these criteria will be passed
through the filter. If the aircraft ID/beacon code parameter field is
left blank, all aircraft associated objects are sent. Selecting Pass
Through will allow objects not associated with an aircraft ID/beacon
code to pass through the filter.

![](media/image76.png){width="5.996527777777778in"
height="1.0159722222222223in"}

Figure 23

### Altitude Filter

![](media/image77.wmf){width="0.5in" height="0.46805555555555556in"}The
Altitude Filter operates on data objects that have an associated
altitude; for example, the Aircraft State object, which represents the
second-by-second state of an aircraft, has an altitude as part of its
position information. The user can specify the minimum and maximum
altitude limits of objects the filter will allow through. Selecting Pass
Through allows data objects that do not have an associated altitude to
pass through the filter.

![](media/image78.png){width="5.995138888888889in"
height="1.023611111111111in"}

Figure 24

### Class Type Filter

![](media/image79.wmf){width="0.34305555555555556in"
height="0.4270833333333333in"}The Class Type Filter provides a generic
filter that selects a data object by type. Section 5 lists the data
object types.  This filter is used to specify the selection or
elimination of a single type of data.

![](media/image80.jpeg){width="6.001388888888889in" height="0.80625in"}

Figure 25

### First Occurrence of Name Filter

![](media/image81.wmf){width="0.35347222222222224in"
height="0.375in"}The First Occurrence of Name Filter looks for objects
that have a defined name fields and only sends through the first
occurrence of a specific name for an object type.  For example, by
selecting a configuration sequence of:

Recordable Reader (specifying input file)

Aircraft Filter (blank to indicate all aircraft; Pass Through off)

First Occurrence of Name Filter

Text Writer (specifying output file),

The result would be the aircraft state information for each aircraft's
starting second (aircraft do not have state information until they are
activated), written to text format output.  Objects that do not have a
unique name will pass through this filter.

![](media/image82.jpeg){width="6.001388888888889in"
height="1.0777777777777777in"}

Figure 26

### Flying Status Filter

![](media/image83.wmf){width="0.4486111111111111in"
height="0.40902777777777777in"}The Flying Status Filter filters objects
based on the phase of flying or the rules of flying the aircraft is
operating under.

The specific, exclusive flying states are:

+-----------------------------------------------------------------------+
| **Gate Hold** - held at gate                                          |
|                                                                       |
| **Departing** - departing, an airport but not yet at maneuver         |
| altitude                                                              |
|                                                                       |
| **Join Route** -- an aircraft is attempting to join with a route      |
|                                                                       |
| **On Route** - EnRoute aircraft initial state; aircraft is following  |
| its flight plan or returning to its flight plan                       |
|                                                                       |
| **On Vectors** - aircraft is not on route, and not meeting another    |
| state.                                                                |
|                                                                       |
| **Hold** - aircraft is in a holding pattern                           |
|                                                                       |
| **ILS Before Final** - on ILS approach and on the localizer, but not  |
| yet on final approach                                                 |
|                                                                       |
| **Non-ILS Before Final** - on Non-ILS approach and on the localizer,  |
| but not yet on final approach                                         |
|                                                                       |
| **ILS Final** - on ILS final approach                                 |
|                                                                       |
| **Non-ILS Final**- on Non-ILS final approach                          |
|                                                                       |
| **Past Threshold** -- the aircraft has passed the runway threshold    |
| and is landing                                                        |
|                                                                       |
| **Missed Approach** - aborting approach                               |
|                                                                       |
| **Landed** - touched down on arrival runway                           |
|                                                                       |
| **Terminated** -- the aircraft is no longer active in the simulation  |
|                                                                       |
| **Cockpit Controlled** - aircraft is under control of an external     |
| cockpit                                                               |
|                                                                       |
| **Dead Reckon** -- the aircraft is a dead reckoned import (not        |
| cockpit controlled).                                                  |
|                                                                       |
| **Preparing for Approach** -- the aircraft is preparing for approach  |
|                                                                       |
| **Ground Taxi** -- an aircraft is taxiing about on the ground.        |
|                                                                       |
| **Ground Hold** - aircraft is in a hold on the ground.                |
|                                                                       |
| **Takeoff Hold** -- an aircraft is on its departure runway in take    |
| off position, waiting for takeoff clearance.                          |
|                                                                       |
| **Takeoff Taxing** -- an aircraft is speeding up in order to take off |
| from departure runway                                                 |
|                                                                       |
| **Cleared for Takeoff** -- an aircraft is cleared for take off and is |
| starting to take off from its departure runway.                       |
|                                                                       |
| **Exiting Runway** -- an aircraft has just touched down & is braking  |
| before exiting runway                                                 |
|                                                                       |
| **At Gate** -- an aircraft has just reached its arrival gate.         |
|                                                                       |
| **Collision Avoidance Hold** - An aircraft on the ground is holding   |
| in order to avoid colliding with another aircraft on the ground       |
|                                                                       |
| **Follow** -- An aircraft is following another aircraft.              |
|                                                                       |
| **Group** -- An aircraft has joined a group of aircraft.              |
+-----------------------------------------------------------------------+

Certain groups of flying states are also filterable with one Flying
Status Filter:

+-----------------------------------------------------------------------+
| > **All** -- all flying statuses                                      |
| >                                                                     |
| > **Flying** - not in Gate Hold, On Ground, Landed, or Terminated     |
| > state                                                               |
| >                                                                     |
| > **Not Flying** - in Gate Hold, On Ground, Landed, or Terminated     |
| > state                                                               |
| >                                                                     |
| > **On Ground** -- in Gate Hold, Takeoff Taxi, Landed, Ground Taxi,   |
| > Ground Hold, Cleared for Takeoff, Takeoff Hold, Exit Runway, At     |
| > Gate, or Collision Avoidance state                                  |
| >                                                                     |
| > **Not On Ground** -- not in Gate Hold, Takeoff Taxi, Landed, Ground |
| > Taxi, Ground Hold, Cleared for Takeoff, Takeoff Hold, Exit Runway,  |
| > At Gate, or Collision Avoidance state                               |
| >                                                                     |
| > **On Localizer** -- in ILS or non-ILS approach, on localizer --     |
| > possibly on final                                                   |
| >                                                                     |
| > **Not On Localizer** -- not on Approach                             |
| >                                                                     |
| > **Hold Type** -- in Hold, Gate Hold, Ground Hold, Takeoff Hold, At  |
| > Gate, or Collision Avoidance state                                  |
| >                                                                     |
| > **Not Hold** -- not in Hold, Gate Hold, Ground Hold, Takeoff Hold,  |
| > At Gate, or Collision Avoidance state                               |
| >                                                                     |
| > **Landing Type** -- in Past Threshold, Prep for Approach,           |
| > ILS/Non-ILS Before final, or ILS/Non-ILS Final state                |
| >                                                                     |
| > **Not Landing** -- not in Past Threshold, Prep for Approach,        |
| > ILS/Non-ILS Before final, or ILS/Non-ILS Final state                |
+-----------------------------------------------------------------------+

![](media/image84.png){width="5.989583333333333in"
height="1.0965277777777778in"}

Figure 27

### Geographic Area Filter

![](media/image85.png){width="0.45in" height="0.40347222222222223in"}The
Geographic Area Filter filters on data objects with positions inside or
outside a geographic location specified by a polygon.  By default, all
objects within the polygon are passed to the next tool.  Selecting
\"Outside\" passes data objects that lie outside the geographic
boundaries instead.  The geographic boundaries of the polygon can be
specified with a series of either latitude and longitude positions or a
stereographic projection and x- and y-coordinates.  The last coordinate
is automatically connected back to the first coordinate to complete the
polygon.  Selecting Pass Through will allow objects that do not have an
associated position to pass through the filter.

![](media/image86.jpeg){width="5.625in" height="2.0in"}

Figure 28

### Geographical Sector Filter

![](media/image20.png){width="0.55in" height="0.7166666666666667in"}The
Geographical Sector Filter allows the filtering of objects that have a
geographical sector associated with them. Selecting Pass Through will
allow objects not associated with a geographical sector to pass through
the filter. Eliminate By Matches will filter out any objects that have a
geographical sector associated with them that matches a Sector ID in the
Sector ID field. If the Sector ID filed is left blank and "Eliminate By
Matches" is not checked then any object with a sector is filtered out.
However, if the Sector ID filed is left blank and "Eliminate By Matches"
is checked then any object with a sector is passed through to the next
tool.

![](media/image87.png){width="5.997916666666667in" height="0.95625in"}

Figure 29

### HFL Handoff to Boundary Filter

![](media/image21.png){width="0.5in" height="0.5in"}The HFL Handoff to
Boundary Filter takes the name of a HFL Handoff Accept file and sends
data for an aircraft found in the file from when the handoff is accepted
to when the aircraft crosses the sector boundary into the sector. If
pass through is checked, then data found for the aircraft not in the
file is sent.

![](media/image88.png){width="5.997916666666667in"
height="1.1493055555555556in"}

Figure 30

### OR Filter 

![](media/image22.png){width="0.5972222222222222in"
height="0.5763888888888888in"}The OR Filter takes two or more filters
and sends data that was sent from any of the filters. If the allow
duplicates button is checked, data sent by multiple filters is sent
multiple times. If the button is not checked, the data is only sent
once.

![](media/image89.png){width="5.624305555555556in"
height="1.7493055555555554in"}

Figure 31

### Pilot Command Filter 

![](media/image90.wmf){width="0.5in" height="0.4583333333333333in"}The
Pilot Command Filter filters pilot commands by the type of command.  By
default, all types of pilot commands are selected.  Selecting Pass
Through will allow non-SimPilot command objects to pass through the
filter. The following is a list of pilot command types the can be used
to filter:

+-----------------------------------------------------------------------+
| **Altitude** -- Any altitude commands                                 |
|                                                                       |
| **Heading** -- Any heading commands                                   |
|                                                                       |
| **Speed** -- Any speed commands                                       |
|                                                                       |
| **Approach** -- Any approach clearance commands                       |
|                                                                       |
| **Communication** -- Any commands dealing with communications such as |
| handoff or squawk                                                     |
|                                                                       |
| **Cross** -- Any crossing commands                                    |
|                                                                       |
| **Hold** -- Any In Air Hold commands such as Hold Present Position    |
|                                                                       |
| **Ground Hold** -- Any Ground Holds commands                          |
|                                                                       |
| **Missed Approach** -- Any Missed Approach commands                   |
|                                                                       |
| **Prompt** -- Any text sent to the SimPilot Workstation using prompt  |
| command                                                               |
|                                                                       |
| **Route** -- Any route commands such as Star or Direct                |
|                                                                       |
| **Simulation Report** -- Any command that causes a report about an    |
| aircraft's state in the simulation to be issued                       |
|                                                                       |
| **Start** -- Any Start commands                                       |
|                                                                       |
| **Takeoff** -- Any Takeoff Commands                                   |
|                                                                       |
| **Taxi** -- Any Taxi Commands                                         |
|                                                                       |
| **Reroute** -- Any Reroute Commands                                   |
|                                                                       |
| **Terminated** --Any command to terminate an aircraft from the        |
| simulation                                                            |
|                                                                       |
| **Then** -- Any Then commands                                         |
|                                                                       |
| **Voice Command** -- Any commands issued by voice recognition that do |
| not have a TGF equivalent                                             |
|                                                                       |
| **Ground Other** -- Any command that can only be issued to aircraft   |
| on the ground that is not covered by an above category such as Exit   |
| Runway                                                                |
|                                                                       |
| **Other** -- Any command not covered by an above category such as     |
| Prep for Approach                                                     |
+-----------------------------------------------------------------------+

![](media/image91.png){width="5.997222222222222in"
height="3.3604166666666666in"}

Figure 32

### Pilot Command Source

![](media/image24.png){width="0.5333333333333333in" height="0.575in"}The
Pilot Command Source Filter filters pilot commands by the source of the
command. By default all SimPilot commands are passed through the filter.
The user can select to filter commands based on a single source.

The following is a list of exclusive sources:

+-----------------------------------------------------------------------+
| **Aircraft prompt method** -- Prompt sent to SPW by internal prompt   |
| method.                                                               |
|                                                                       |
| **Approach Command** -- internal command issued by approach command.  |
|                                                                       |
| **AtVoice** -- command issued by TGF's ATVoice Interface.             |
|                                                                       |
| **Cockpit** -- command issued by external cockpit simulator.          |
|                                                                       |
| **Datalink Message** -- command issued by Datalink message.           |
|                                                                       |
| **Datalink Equipment** -- command issued by an Aircraft's Datalink    |
| Equipment.                                                            |
|                                                                       |
| **Maintain Command** -- internal command issued by maintain command.  |
|                                                                       |
| **Remote Eco GUI** -- command issued by remote Eco GUI.               |
|                                                                       |
| **RNAV Approach Command** - internal command issued by RNAV approach  |
| command.                                                              |
|                                                                       |
| **Route Command** -- internal command issued by route Command.        |
|                                                                       |
| **Runway Command** -- internal command issued by runway command.      |
|                                                                       |
| **Sector Sp Command** -- command issued to all aircraft on a specific |
| sector.                                                               |
|                                                                       |
| **Sim Event File** -- command issued due to an event in a Sim Event   |
| file loaded into the simulation.                                      |
|                                                                       |
| **Simulation Action Viewer** -- command issued from Diagnostic Tool   |
| attached to Eco GUI.                                                  |
|                                                                       |
| **Sp Command Receiver** -- command issued from a remote source such   |
| as a SPW or Desiree.                                                  |
|                                                                       |
| **Sp Command Service** -- command issued from a remote source using   |
| the TGF's SpCommandService Interface.                                 |
|                                                                       |
| **Star Command** -- Internal command issued by star command.          |
|                                                                       |
| **Unknown** -- command issued by a source not covered above.          |
+-----------------------------------------------------------------------+

The follow is a list of inclusive sources

+-----------------------------------------------------------------------+
| **Datalink** -- command was issued either by Datalink Equipment or a  |
| Datalink Message.                                                     |
|                                                                       |
| **Eco** -- command was issued by either the Remote Eco GUI or the     |
| Simulation Action Viewer.                                             |
|                                                                       |
| **Internal** -- command was issued internally by TGF.                 |
|                                                                       |
| Sp Service -- command was issued by either the Sp Command Service or  |
| from a Sp Command Receiver.                                           |
+-----------------------------------------------------------------------+

The Rest of Source field uses a regular expression to narrow the source.
Selecting Filter Commands will filter out unsuccessful commands.
Selecting Pass Through will allow non-SimPilot command objects to pass
through the filter.

### 

![](media/image92.png){width="5.997916666666667in"
height="1.1805555555555556in"} Figure 33

### 

### Runway Filter

![](media/image93.wmf){width="0.5in" height="0.4583333333333333in"}The
Runway Filter passes aircraft objects (e.g. Aircraft State data objects)
that have an associated runway.  The runways are specified by
airport/runway ID, for example; BWI/07L, BWI/27R. 

Selecting the following will produce a list of all aircraft landing at
Baltimore International Airport on Runway 7 Left with state information
for their first active second:

Recordable Reader

Aircraft Filter (blank to select all aircraft; Pass Through off)

Runway Filter (BWI/07L; "Arrival runways only")

First Occurrence of Name Filter

Text Writer

![](media/image94.jpeg){width="5.625in" height="1.0208333333333333in"}

Figure 34

### Sector Filter

![](media/image95.wmf){width="0.4583333333333333in"
height="0.4798611111111111in"}The Sector Filter allows the filtering of
objects that have sectors associated with them. Selecting Pass Through
will allow objects not associated with a sector to pass through the
filter. If "Eliminate By Matches" is selected then all objects with a
sector matching any specified in the Sector ID field will be filtered
out. If the Sector ID filed is left blank and "Eliminate By Matches" is
not checked then any object with a sector is filtered out. However, if
the Sector ID filed is left blank and "Eliminate By Matches" is checked
then any object with a sector is passed through to the next tool.

![](media/image96.png){width="5.997222222222222in"
height="1.0756944444444445in"}

Figure 35

### Set Aircraft Sector Values

![](media/image27.png){width="0.34652777777777777in"
height="0.48819444444444443in"}The Set Aircraft Sector Values Filter
allows the correction of recordings run with incorrect sector
information. In addition, this filter allows null sectors to be set to a
given value. It can also be used to update old recordings to match
updated/modified sectors.

![](media/image97.png){width="5.99375in" height="1.0479166666666666in"}

Figure 36

### Text Filter

![](media/image98.wmf){width="0.43680555555555556in"
height="0.5201388888888889in"}The Text Filter filters objects based on
the text output they would generate for Text Writer.  The user is
allowed to select a search template to look for in the data object
text.  The template for the search text is expressed in regular
expression format; to access an explanation of the regular expression
format, click the question mark icon on the panel.

![](media/image99.jpeg){width="5.625in" height="1.125in"}

Figure 37

### Time Filter

![](media/image100.wmf){width="0.39652777777777776in"
height="0.39652777777777776in"}The Time Filter allows for the filtering
of events that occur within a set time frame.  The events occurring
before the start time and after the stop time are discarded.

![](media/image101.jpeg){width="5.625in" height="0.9791666666666666in"}

Figure 38

### Time Sampler

![](media/image102.wmf){width="0.3701388888888889in"
height="0.3701388888888889in"}The Time Sampler samples time-stamped data
objects by only sending the objects that occur at a multiple of a time
interval.  The start time is the first point in time for which
time-stamped data objects are sent, and the interval indicates how long
it is between subsequent samplings of the time-stamped data objects. 
For example, if the specified start time is 2 and the specified interval
is 10, the filter will send all data objects with timestamps of 0:00:02,
0:00:12, 0:00:22, 0:00:32, etc.  Data objects without timestamps are
sent if the Pass Through box is checked. If the "Remove Only Aircraft"
box is checked then only data objects associated with an aircraft are
filtered out.

![](media/image103.png){width="5.997916666666667in" height="1.19375in"}

Figure 39

### Universal Flight Plan Filter

![](media/image104.wmf){width="0.36527777777777776in"
height="0.43680555555555556in"}The Universal Flight Plan Filter filters
on objects based on the data in the Universal Flight Plan (UFP).  The
UFP is a TGF simulator input that describes the initial flight
characteristics of an aircraft: the UFP field details are accessible
from the [TGF documentation web
site](http://www.tgf.act.faa.gov/doc/ufp/ufp7.html):
<http://www.tgf.act.faa.gov/doc/ufp/ufp7.html>.  The user is allowed to
select a search template to filter on for the UFP field.  The template
for the search text is in regular expression format; to access an
explanation of the regular expression format, click the question mark
icon on the panel.

![](media/image105.jpeg){width="6.001388888888889in"
height="1.0493055555555555in"}

Figure 40

## Factories

## 

A factory creates a new type of data object from other data objects
received.  A data object is a set of related information such as
aircraft information, fix information, or pilot command information.  A
factory combines information from existing data objects and then
generates new sets of information or, new data objects.

Most factories have a "Pass Through" selection option.  This field is an
option if there is a question of whether to send objects that are not
generated by this factory.

### Aircraft Field Duration Factory

![](media/image33.png){width="0.5166666666666667in"
height="0.5083333333333333in"}The Aircraft Field Duration Factory
creates duration information based on same values of the selected
aircraft state data. The Min duration field contains the minimum
duration to report, while the Max duration field contains the maximum
duration to report. Clicking on the Aircraft Field Selector button
displays a list of field value to select from. The default field value
is Sector. If Pass Through is selected then Non-Aircraft State objects
are passed through the factory.

![](media/image106.png){width="5.997916666666667in"
height="2.8291666666666666in"}

Figure 41

### Altitude and Speed Error Factory

![](media/image34.png){width="0.5166666666666667in"
height="0.5166666666666667in"}The Altitude and Speed Error Factory
generates per second information about the difference between an
Aircraft's current altitude/indicated airspeed/mach/altitude rate and
the Aircraft's desired altitude/indicated airspeed/mach/altitude rate.
If Pass Through is checked then non-Aircraft objects are passed through.

![](media/image107.png){width="5.997916666666667in"
height="1.0506944444444444in"}

Figure 42

### Distance Factory

![](media/image108.png){width="0.4486111111111111in"
height="0.46875in"}The Distance Factory generates distance information
about an aircraft and another object.  The other object must have a
location such as a fix, another aircraft, or a runway.  Objects are
selected by the choice box:

VIOLATE_SEP -- all pairs of aircraft violating specified separation

VORTEX_SEP -- aircraft violating ATC wake vortex separation

CLOSEST_AC -- closest aircraft to specified aircraft for each second

SITE_DIST -- closest aircraft to a specified site for each second.

Selecting Pass Through will allow all objects received to pass through
the factory (including the objects the distances are calculated from).
The "Aircraft passed through" choice box enables filtering of objects
associated with an aircraft:

NO_AIRCRAFT -- filter out any objects associated with an aircraft

ALL_AIRCRAFT -- pass through any object associated with an aircraft

DISTANCE_MATCH -- filter out only objects associated with an aircraft
that do not match the minimum distance specified.

![](media/image109.png){width="5.9944444444444445in"
height="1.2006944444444445in"}

Figure 43

### Distance Track Factory

![](media/image110.wmf){width="0.4583333333333333in" height="0.5in"}The
Distance Track Factory calculates the ground track distance traveled and
adds the data to aircraft state objects, allowing the XY Plotter and the
Plot Generator XML Writer to compare that value to other values in the
aircraft state.  The Distance Track Factory also produces summary data
objects for each aircraft ID that contain the total time the aircraft
was active, totals of both the ground track distance and the actual
distance the aircraft travels through the air, and brief information on
the aircraft starting state and ending state. If filter values are
selected, Distance Track summary objects are not created for aircraft
that traveled a distance not within the specified range.

![](media/image111.jpeg){width="6.001388888888889in"
height="1.0673611111111112in"}

Figure 44

### Data Object Count Factory

![](media/image112.wmf){width="0.39652777777777776in"
height="0.4270833333333333in"}The Data Object Counter counts objects
over a specified interval.  Objects can be selected by type, by name, or
both at the same time.  Selecting Pass Through allows the data objects
being counted to pass through the factory (possibly to provide a frame
of reference).  If the box Count Name Once is checked (turned on) then
violations spanning more than one interval are not counted more than
once.

![](media/image113.jpeg){width="5.989583333333333in" height="1.2in"}

Figure 45

### Duration Factory

![](media/image114.wmf){width="0.36527777777777776in"
height="0.39652777777777776in"}The Duration Factory generates duration
information on types of objects that occur every second.  Both minimum
and maximum duration can be specified.  Selecting Pass Through allows
data objects not generated by the duration factory to pass through
(possibly to provide a frame of reference).

![](media/image115.jpeg){width="6.0in" height="1.0715277777777779in"}

Figure 46

### Dynamic Density Factory

### 

***NOTE: Dynamic Density is an experimental measure of the airspace
complexity of a sector which is still under development by various
interested parties. The Dynamic Density definition is not complete; in
addition, the coding of the calculations of the last set of suggested
metrics is incomplete. Therefore, we do not currently guarantee the
Dynamic Density metrics. However, we would appreciate feedback on the
current Dynamic Density output.***

![](media/image39.png){width="0.45in" height="0.5in"}The Dynamic Density
Factory generates the Dynamic Density airspace complexity metrics. Input
data can be filtered by sector IDs and selected using time parameters. A
stereographic projection can be created by specifying the latitude and
longitude of the point of tangency.

![](media/image116.png){width="5.7555555555555555in"
height="0.9833333333333333in"}

Figure 47

### Event File Combiner Factory

![](media/image40.png){width="0.45in" height="0.6166666666666667in"}The
Event File Combiner Factory combines input from several delim writable
objects into one comma-delimited output file. For example, Flight
Terminated and Flight Activated Events would be combined into one file.

![](media/image117.png){width="5.9944444444444445in"
height="0.9666666666666667in"}

Figure 48

### Fuel Burn Factory

![](media/image118.wmf){width="0.31319444444444444in"
height="0.49027777777777776in"}The Fuel Burn Factory generates data
object that can be written as text that can be imported into a fuel burn
calculation tool.  This was a special use tool requested by a customer.

![](media/image119.jpeg){width="6.001388888888889in"
height="1.0756944444444445in"}

Figure 49

### HFL Enroute Summary Factory

![](media/image120.wmf){width="0.36527777777777776in"
height="0.43680555555555556in"}The HFL Enroute Summary Factory provides
statistics on simulation complexity for a sector over intervals of time,
including several types of violations: standard separation violation
(report abbreviation: secnf), a user defined separation violation
(ecnf), between sector standard violations (bscnf), and NTZ area
boundary violations (ascnf); number (N) and duration (D) of these
outputs are provided, along with hold delays (htdly), takeoff delays
(stdly), and other information.

The inputs to the HFL Enroute Summary Factory include the interval of
time to count the summary data for and the start time of the first
interval (if the interval start is "5:00" and the interval is "10:00",
the summary information will count over the intervals: 5-15 min, 15-25
min, 25-35 min, 35-45 min, etc.).  The "HFL" titled fields are all
simulation identifiers requested by the Human Factors Lab.  Horizontal
and vertical separation are for the user defined separation outputs. 
Zero or more NTZ conflict zones can be specified, either in
latitude/longitude or in x-/y-coordinates with a stereographic map
projection.  Pass Through is not provided as an option: the only data
objects sent by this factory are the ones it has constructed. 

If the user wishes to precede this factory with filters to limit the
data that is counted toward the aggregate, care must be taken not to
remove too much information, since a wide range of data objects is
utilized to construct the summary data objects.

![](media/image121.jpeg){width="6.0in" height="1.582638888888889in"}

Figure 50

### HFL Ground Factory

![](media/image43.png){width="0.6in" height="0.6in"}The HFL Ground
Factory provides reports which contain the following information about a
ground simulation:

-   Duration of Taxi Time In for each aircraft-- time from when an
    aircraft lands to when it terminates out of the simulation.

-   Duration Taxi Time Out for each aircraft -- the time from when
    aircraft initially starts to taxi to when an aircraft takes off.

-   Duration of the delay for each aircraft.

-   Duration of the time to initial taxi clearance for each aircraft--
    time from initial activation in the simulation to first movement:
    this is only applies to departures.

-   A total number of aircraft with a delay time, which is the taxi time
    out minus the minimum delay to report.

-   Total number of departures.

-   Total number of arrivals.

-   Total number of delayed aircraft

-   A total of the following commands issued by Desiree/Datalink:

    -   Takeoff

    -   Hold Short

    -   Stop

    -   Taxi

    -   Taxi into Position and hold

    -   Frequency Change

    -   Speed

    -   Altitude

    -   Heading

Min Delay Duration is the minimum delay duration in seconds to report.
If Filter Cmds is checked then unsuccessful SimPilot Commands are
filtered out. If Pass Through is checked than all objects are passed
through the filter. To include a SimPilot Workstation (SPW) whose host
name was not known at the time of the Simulation or does not contain SP
simply click on the Edit SPW List and type the SPW's address or host
name into the field provided.

![](media/image122.png){width="5.997916666666667in"
height="1.4409722222222223in"}

Figure 51

![](media/image123.png){width="5.997222222222222in"
height="1.4694444444444446in"}

Figure 52

### HFL Visual Factory

![](media/image124.png){width="0.3645833333333333in"
height="0.38472222222222224in"}The HFL Visual Factory provides a visual
summary of aircraft distances traveled and sectors used over the time of
the simulation.  Run number, sample, and condition are identifiers for
the type of simulation, and start time and end time tell the time frame
to produce the graph for.  Pass Through is not provided as an option:
the only data objects sent by this factory are the ones it has
constructed. 

If the user wishes to precede this factory with filters to limit the
data that is counted toward the aggregate, care must be taken not to
remove too much information, since a wide range of data objects is
utilized to construct the visual summary text.

The writer following this factory must be a **Text Writer**; the data
objects constructed by the factory do not have an output process that is
accessible by a Delimited Writer.

![](media/image125.jpeg){width="6.001388888888889in"
height="1.0763888888888888in"}

Figure 53

### Distance Summary Factory

![](media/image126.wmf){width="0.36527777777777776in"
height="0.38472222222222224in"}The Distance Summary Factory provides
some detail on separation violations that have occurred.  The output
info for each violation consists of aircraft IDs of the aircraft
involved, time, distance between aircraft, aircraft position and sector
information, at the first second of the violation, at the last second,
and at the closest point of approach.  The separation violation can be
either for a defined distance and altitude (including standard
violations) or for a wake vortex check (following in trail).  The
duration field tells the durations of the violations to look for.

![](media/image127.png){width="5.986805555555556in" height="2.00625in"}

Figure 54

### Terminal Simulation Factory

![](media/image128.wmf){width="0.375in"
height="0.4166666666666667in"}The Terminal Simulation Factory provides
statistics on simulation complexity for a sector over intervals of time,
including several types of violations: standard separation violation
(report abbreviation: stcnf), a user defined separation violation
(tcnf), between sector standard violations (bscnf), and NTZ area
boundary violations (ascnf); number (N) and duration (D) of these
outputs are provided, along with longitudinal wake vortex violations
(lcnf), and parallel violations (pcnf). Other terminal-related
information includes the number and duration of aircraft handled
(N/Dhand), the number of aircraft completed (Ncomp) and the number of
handoffs (Nhoff). The input fields are the same as those of the HFL
Enroute Summary Factory. Pass Through is not provided as an option: the
only data objects sent by this factory are the ones it has constructed.

If the user wishes to precede this factory with filters to limit the
data that is counted toward the aggregate, care must be taken not to
remove too much information, since a wide range of data objects is
utilized to construct the summary data objects.

![](media/image129.jpeg){width="5.997222222222222in"
height="1.6409722222222223in"}

Figure 55

### PTT Duration Factory

![](media/image47.png){width="0.3798611111111111in"
height="0.4097222222222222in"}The PTT Duration Factory generates
duration information on PTT Recordable objects. A PTT Reader must be in
the DRAT configuration for this to work. (Please see Section 4.1.2 for
more information on the PTT Reader.) Both the minimum and the maximum
duration can be specified. Selecting Pass Through allows data objects
not generated by the PTT duration factory to pass through (frequently
used to provide a frame of reference).

![](media/image130.png){width="5.988888888888889in"
height="1.3916666666666666in"}

Figure 56

## The Writers

Writers allow the selection of an output file in a specific format. 
Each writer generates a report to an output file that can be read by an
editor, or sent to a writer.  The writers send everything they receive
to the next tool, if there is one.  Either a writer or a plotter should
be the last object in the DRAT tool configuration workspace, because the
other tools do not generate an output format.

Nearly all data objects have an output process that is accessible by a
Text Writer, which produces easily readable text output for the objects
received.  Most data objects have an output process that is accessible
by a Delimited Writer, which writes the data to comma-separated format. 
All data objects can be written by the Recordable Writer, which stores
data objects in the same format that is read in by a Recordable Reader
and certain other TGF utilities such as The TGF Simulator Input Utility
(see section 4.6).

When the Writers Menu is selected, the file writer tools are listed for
selection. 

### Text Writer

![](media/image131.wmf){width="0.31319444444444444in"
height="0.43680555555555556in"}The Text Writer writes easily readable
text-format output to a file.  The text output is generally in the
format "TITLE.  Field: \<value\>  Field2: \<value2\>, ..."  If
xy-coordinates are desired instead of latitude/longitude, the XY box
should be checked and a stereographic point of tangency specified.

![](media/image132.png){width="5.99375in" height="1.2909722222222222in"}

Figure 57

### Delimited Writer

![](media/image133.wmf){width="0.3333333333333333in"
height="0.46875in"}The Delimited Writer generates output in
character-delimited format.  If requested, a header line with field
names can be included.  If desired, a properties file to specify the
units of the output fields can be specified, using the format "\<field
name\>=\<unit ID\>".  If xy-coordinates are desired instead of
latitude/longitude, the XY box should be checked and a stereographic
point of tangency specified. "Data Line Prefix" adds given data to the
beginning of all comma separated data in the output file. If "Data Line
Prefix" is checked and there is no text in the "Data Line Prefix" field
then the defaults of data run, and name are used. Otherwise, User
Defined# is used where \# is a number. Separate multiple prefixes by a
",".

![](media/image134.png){width="5.9944444444444445in"
height="1.3819444444444444in"}

Figure 58

Example of a set of entries that could be in a Delimited Writer
properties file:

> IAS=Knots
>
> TAS=Knots
>
> Lat=deg
>
> Lon=deg
>
> Alt=ft
>
> AltRate=FtPerMin
>
> Hdg=deg
>
> TurnRate=DegPerSec
>
> TotalWeight=lbs

### Flight Plan Writer

![](media/image135.wmf){width="0.38472222222222224in"
height="0.4166666666666667in"}The Flight Plan Writer is a special-use
writer that generates the flight plan file that was used to define the
initial characteristics of the aircraft in a simulation.

 

![](media/image136.jpeg){width="5.645833333333333in" height="0.875in"}

Figure 59

### Plot Generator XML Writer

![](media/image137.wmf){width="0.4166666666666667in"
height="0.34305555555555556in"}The Plot Generator creates a XML file
that can be used as an input into the Berkeley plotting tool, Ptplot,
comparing pre-selected field values to each other. This writer is very
similar to the XY Plotter in capabilities, except that the XY Plotter
actually displays the plot created, while the Plot Generator creates a
Ptplot input file that can be used if the plot not to be displayed at
the time it is created or if it is to be viewed multiple times.

The Plot Generator needs an input file describing the variables that are
to be used for the x and y-axes of the plot; the input file is in
XML-format and is described by the XSD description in:
faa\\tg\\dra\\gui\\config\\plotXml\\plotter.xsd. The input XML file can
be edited, if necessary.  The color to use for the plotted points can be
specified in case multiple XML plot files are to be imported into one
Ptplot display, so that the different inputs can be distinguished. "Plot
color" allows a specific color to be used to plot data. Specify Offset
allows the Plot Generator to modify the values stored for display
purposes, to add a fixed spacing to the x-coordinate if there is a break
in the x-coordinate sequence. This can be useful when comparing certain
types of repeated sequences within a plot. If "Connect Points" is
checked then the points on the plot will be connected. The style of the
point used to mark a data point can be specified using the "MarkStyle"
choice box which allows the following specifications:

> **Various** -- use various shapes to mark a data point on the plot.
>
> **Pixels** -- use a very small dot (a single pixel) to mark a data
> point on the plot.
>
> **Points** -- use a slightly larger dot (about a two by two pixel box)
> to mark a data point on the plot.
>
> **Dots** -- use a slightly larger dot (about a four by four pixel box)
> to mark a data point on the plot.
>
> **None** -- use nothing to mark a data point on the plot

![](media/image138.png){width="5.993055555555555in"
height="1.4715277777777778in"}

Figure 60

 

### Recordable Writer

![](media/image139.png){width="0.4166666666666667in"
height="0.4486111111111111in"}The Recordable Writer writes the data
objects it receives back to a TGF recording file format.  It can be used
to select a subset of data from a TGF recording and save it to a file
that can be acted on later by other DRAT tools.

![](media/image140.jpeg){width="5.572916666666667in" height="1.0in"}

Figure 61

### Sectorizing Writer

![](media/image141.wmf){width="0.34305555555555556in"
height="0.4798611111111111in"}The Sectorizing Writer collates the data
objects it receives by sector and writes each set of sector information
to separate output files.  The output filenames of the sector-separated
files is the specified template name with the sector name inserted
before the filename extension.  The type of writer selected in the panel
determines the type of the output files generated: the Text Writer
selection will write the data objects as text, the Delimited Writer
selection will write the data as comma-separated values, and the
Recordable Writer selection will write the data back to the TGF
recording format

![](media/image142.jpeg){width="5.614583333333333in"
height="0.8958333333333334in"}

Figure 62

### Sim Event Writer

![](media/image143.wmf){width="0.40694444444444444in"
height="0.43680555555555556in"}The Sim Event Writer is a special-use
writer that takes the Sim Pilot (pseudo-pilot) commands entered during
the simulation and converts them to a SimEvent file.  A SimEvent file is
an XML file read by the TGF simulator containing pre-prepared Sim Pilot
commands to automate actions taken by the aircraft. If "Remove Commands
From Route" is checked than commands that were issued from an Aircraft's
route are filtered out. If "Remove Unsuccessful Commands" is checked
then failed commands are filtered out.

![](media/image144.png){width="5.99375in" height="1.0965277777777778in"}

Figure 63

### Sp Assign File Writer

![](media/image143.wmf){width="0.40694444444444444in"
height="0.43680555555555556in"}The SpAssignFile Writer is a special-use
writer that listens for successful assign command results and places
them into an XML format. These files are in the format that the
SimpilotManager is expecting. The purpose of this object is to ensure
that the pilots are assigned the same aircraft they were in the
recording file in future runs.

![](media/image145.png){width="6.001388888888889in"
height="0.8097222222222222in"}

Figure 64

## The Plotters

The plotters open a window containing a plot (using the Berkeley Ptolemy
II Ptplot tool:
[http://ptolemy.eecs.berkeley.edu/java/ptplot](http://ptolemy.eecs.berkeley.edu/java/ptplot/))
of the relationship of two variables to each other.  Either a writer or
a plotter should be the last object in the DRAT tool configuration
workspace, because the other tools do not generate an output format.

### Aircraft Location Plotter

![](media/image146.wmf){width="0.49027777777777776in" height="0.5in"}The
Aircraft Location Plotter plots the location in x- and y-coordinates of
all aircraft received giving a top view of their ground tracks.  If
there is more than one aircraft, the color will change for every
different beacon code received. The user must press the button on the
panel to specify how an Aircraft's latitude and longitude are converted
to X Y values.

![](media/image147.png){width="5.989583333333333in"
height="1.0479166666666666in"}

Figure 65

### Location Plotter

![](media/image148.wmf){width="0.5097222222222222in"
height="0.375in"}The Location plotter plots the location in x- and y-
coordinates of all the data objects it receives. The user must press the
button on the panel to specify how an Aircraft's latitude and longitude
are converted to X Y values.

![](media/image149.png){width="5.997916666666667in"
height="1.1243055555555554in"}

Figure 66

### Runway Plotter

![](media/image150.wmf){width="0.5097222222222222in"
height="0.35347222222222224in"}The Runway Plotter reads in the location
of the runways of the airspace, and draws a rectangle describing the
runway layout for each Runway data object\
received.

![](media/image151.jpeg){width="5.65625in"
height="0.9166666666666666in"}

Figure 67

### XY Plotter

![](media/image152.wmf){width="0.5in" height="0.36527777777777776in"}The
XY Plotter creates a plot window (using the Berkeley Ptplot tool) that
compares pre-selected field values to each other. This plotter is very
similar to the Plot Generator XML Writer in capabilities, except that
the XY Plotter actually displays the plot created, while the Plot
Generator creates a Ptplot input file to display independently of its
creation (e. g., for a plot that should not be displayed when it is
created or for a plot that will be viewed multiple times).

The XY Plotter needs an input file describing the variables that are to
be used for the x- and y-axes of the plot; the input file is in
XML-format and is described by the XSD description in:
faa\\tg\\dra\\gui\\config\\plotXml\\plotter.xsd. The input XML file can
be edited, if necessary.

![](media/image153.jpeg){width="6.002083333333333in"
height="0.9993055555555556in"}

Figure 68

## The TGF Simulator Input Utility

The TGF Simulator is capable of displaying radar tracks of aircraft that
are derived from a file in the TGF recording format. The TGF recording
file does not have to be directly from the TGF simulator, it can be
derived from the aircraft data objects selected by a DRAT configuration
that includes the Recordable Writer tool. The TGF simulator input
utility is accessed through the TGF simulator, which allows a recording
file to be selected as input.  Since the aircraft are not "flying"
according to TGF simulator flight dynamics, these aircraft will have a
flying status of "Dead Reckoned", the designation for aircraft displayed
by TGF that were generated by a non-cockpit simulator.

# The DR&A Objects

# 

A data object is a set of data that describes one feature of a
simulation.  The data objects recorded by TGF encapsulate details about
the simulation that are designed to be easily manipulated by the DRAT
toolkit, whether by selecting the data objects of interest to the
analysts or by extracting data for a summary.  Data objects recorded by
the simulator are described in this section, plus some data objects
constructed by the DRAT tools that describe aspects of the simulation
not directly recorded.  The data objects indicated by an asterisk are
those constructed by a DRAT factory or filter tool.

**[Airport]{.underline}** -- contains airport information.

**[Aircraft Event\*]{.underline}** -- a data object created by the event
combiner factory.

**[Aircraft Type Profile]{.underline}** -- a data object that contains
information about an aircraft's type.

**[Aircraft State]{.underline}** -- a data object containing state
information about an aircraft at a specific second. Here is an example
of the Text Writer output format for Aircraft State:

AIRCRAFT: UAL466  Time: 00:03:13  AC type: A320  Start time: 00:00:05

  Bcn: 2174  Sector: NORTH_ARR  Freq: 128.400  SP: NO_SPW  FS:
ILS_BEF_FINL

  Lat: 39-45-04.519N  Long: 075-48-28.184W  Alt: 7788.7 ft  Hdg:
74.69501 deg

  TAS: 279.482  IAS: 249.998 knots  Alt rate: -0.565 ft/m  TurnR: 0.086
deg/s

  Filed: WINGO.NUGGY\[CMD=CLA\]..PHL

Time -- current simulation time (0:00:01 is the start of the simulation)
in HH:MM:SS

Bcn -- beacon code

Start time -- simulation time at which the aircraft became active in the
simulation

FS - flying status: current phase of navigation of the aircraft.  The
possible flying statuses are: Gate hold, Departing, On route (following
the filed flight plan), On vectors (not on filed flight plan, but not in
another specified state), Hold (circling around a fix), ILS before final
(on ILS, on localizer but not yet on final approach), Non-ILS before
final (not on ILS, on localizer but not yet on final approach), ILS
final approach, Non-ILS final approach, Past threshold (aircraft has
passed the runway threshold and is landing), Missed approach, Landed
(aircraft has touched down), Terminated (the aircraft is no longer
active in the simulation), Cockpit controlled (with a cockpit
simulator), Dead reckoned (designation for aircraft displayed by TGF
that were generated by another simulator).

Alt rate -- rate of change in altitude: positive is climbing, negative
is descending

Turn rate -- rate of change in heading: positive is turning right,
negative is turning left

Filed -- the filed flight plan of the aircraft

Additional aircraft dynamics information that is available on request
is: desired altitude, desired heading, desired IAS, and desired roll
rate.

**[Altitude Speed Error\*]{.underline}** - an object created by the
Altitude Speed Error Filter that contains second by second information
about the differences between aircraft's current altitude/indicated
airspeed/mach/altitude rate and the aircraft's desired
altitude/indicated airspeed/mach/altitude rate.

**[At Maneuver Altitude]{.underline}** -- a data object marking when an
aircraft taking off from its departure maneuver altitude.

**[Bad Match\*]{.underline}** - a data object created by Sim Diff
utility: describes the differences between equivalent objects (of the
same type that occur at the same simulation time) from two comparable
recording files for Verification and Validation.

**[Crossed Runway Threshold]{.underline}** -- a data object that marks
when a landing aircraft has crossed its arrival runway's threshold.

[]{#DistSec .anchor}**[Distance Second\*]{.underline}** -- a data object
constructed by the Distance Factory containing distance information
derived from the positions of an aircraft and another object.  

A sample of the Distance Second text output produced by Text Writer
consists of:

Time: 00:22:19 Distance: 2.79006 nm Horizontal dist: 2.7693 nm Risk API:
0.0%

  Ac1: AWE179 Lat: 39-58-26.368N Long: 084-48-30.606W Alt: 30980.2
ft Sector: 98

  Ac2: N885Q Lat: 39-57-35.232N Long: 084-45-05.074W Alt: 29035.9
ft Sector: 88

Time -- time the distance measurement was made

Distance -- slant distance from the aircraft to the object

Horizontal distance - distance between the aircraft not including
altitude differences

Risk API - aircraft proximity index (risk measurement)

Ac1 -- ACID, position and sector of the first aircraft (paired
alphabetically)

Ac2 -- ACID, position and sector of the second aircraft

**[Distance Sector\*]{.underline}** -- a constructed data object that
contains Distance Second information about the sectors of two objects.
See [Distance Second](#DistSec) for more information.

**[Distance Summary\*]{.underline}** - a constructed object that
contains a summary of distance information.

**[Distance Track\*]{.underline}** -- a data object created by the
Distance Track Factory that is used to define an object containing
distance track information on a single Movable object; in addition, if
the objects\' type is Aircraft State and the ground track info for the
aircraft\'s states are available, the ground track traveled between the
two states is provided.

**[DR&A Count\*]{.underline}** -- a data object constructed by the DRA
Counter containing totals and interval counts of data objects received. 
Contains the interval of time the objects were counted for, the total
counted to this point, the total for the current interval, and the
interval number.

**[Duration Ac\*]{.underline}** - a data object created by the Duration
Factory containing more Duration Second information about the duration
second information about an aircraft. See [Duration Second](#DurSec) for
more information.

[]{#DurSec .anchor}**[Duration Second\*]{.underline}** -- a data object
constructed by the Duration Factory containing duration information on a
sequence of one type of data object. Duration contains the start time of
the consecutive states, the end time, the first event of the sequence,
and the last event of the sequence.

**[Dynamic Density\*]{.underline}** -- a data object created by the
Dynamic Density Factory that contains per sector per interval summary
information of airspace complexity.

**[Dynamics Change]{.underline}** -- defines a data object that marks
when an aircraft switches from using ground dynamics to air dynamics to
move the aircraft or visa versa.

**[End of Epoch]{.underline}** -- records an update of the simulation
time (adds one second).

**[End of Route]{.underline}** -- defines a data object that marks when
an aircraft has reached the end of its current route.

**[Exercise Ready]{.underline}** -- defines a data object that marks
when the simulation was ready to run.

**[Fix]{.underline}** -- (includes Waypoint and VORTAC). defines an
object containing fix information.

**[Flight]{.underline}** -- contains initial information on a flight of
one or more aircraft following a single flight plan that has been added
to the simulation. Flight contains the aircraft ID, the start time, the
starting frequency, and the filed flight plan.

**[Flight Activated]{.underline}** -- defines an object containing
information about a flight going from a pending state to an active
state.  This contains the flight initialization data sent to a SimPilot
Workstation (SPW) when the flight was assigned to an operator.

**[Flight Proposed]{.underline}** -- defines an object containing
information about a flight that was loaded into a simulation.

**[Flight Terminated]{.underline}** - defines an object containing
information about a flight that goes from an active state to a
terminated state.

**[Flying Status Change]{.underline}** - records the change of a
flight's status or phase of flight.

**[Frequency Change]{.underline}** - records the change of the frequency
used by a flight. A Frequency Change contains the aircraft ID, the
simulation time, the aircraft type, the new frequency, the old
frequency, and the location of the change.

**[Gate Hold]{.underline}** - records the application of a gate hold to
a flight. A Gate Hold contains the aircraft ID, the simulation time, the
SimPilot ID, the frequency, the filed start time, and the runway.

**[Gate Hold Duration\*]{.underline}** -- a constructed data object that
contains totals and interval counts of gate holds and releases received.
Contains the time a gate hold was started, and the time a gate hold was
released.

**[Gate Hold Release]{.underline}** - records the release of a gate hold
on a flight. A Gate Hold Release contains the aircraft ID, the
simulation time, the SimPilot ID, the frequency, the start time, the
filed start time, and the runway.

**[Geo Sector]{.underline}** -- a data object marking the geographical
boundary of a sector. For more information see [Sector](#Sector).

**[Ground Fix Connection]{.underline}** -- a data object marking one way
connection between to fixes on the ground.

**[Ground Route Type]{.underline}** -- a data object marking the ground
route as one of the following types:

1.  **EXIT** -- a ground route that can be used to taxi off of a runway

2.  **PROPOSED EXIT** -- a planned exit that should not be used to taxi.

3.  **CLOSED EXIT** -- an exit that is closed and therefore can not be
    used to taxi off a runway.

4.  **GATE** -- a route that can be used to taxi to a terminal gate

5.  **PROPOSED GATE** - a planned gate that should not be used to taxi.

6.  **CLOSED GATE** - a gate that is closed and therefore can not be
    used.

7.  **RUNWAY** -- a route that marks a runway.

8.  **PROPOSED RUNWAY** -- a route that marks a planned runway.

9.  **CLOSED RUNWAY** -- a route that marks a runway that is closed and
    therefore can not be used movement.

10. **TAXI** -- a taxiway that can be used for ground movement.

11. **PROPOSED TAXI** -- a planned taxiway that should not be used to do
    ground movement.

12. **CLOSED TAXI** -- a closed taxiway that can not be used for ground
    movement.

13. **TERMINAL** -- a ground route that is in the terminal area of an
    airport that can be used for ground movement.

14. **PROPOSED TERMINAL** -- a planned ground route that is in the
    terminal area and should not be used for ground movement.

15. **CLOSED TERMINAL** -- a closed ground route in the terminal area
    and therefore can not be used for ground movement.

**[Handoff Accept]{.underline}** - records when the handoff of an
aircraft was accepted by a controller. Handoff Accept contains the
aircraft ID, the sector ID and the Simulation time.

**[HFL Enroute Summary\*]{.underline}** - defines an object containing
summary statistics of measures involving the simulation complexity for a
sector over intervals of time. The data contained includes several types
of violations: standard separation violation (report abbreviation:
secnf), a user defined separation violation (ecnf), between sector
standard violations (bscnf), and NTZ area boundary violations (ascnf);
number (N) and duration (D) of these outputs are provided, along with
hold delays (htdly), takeoff delays (stdly), along with aircraft handled
(hand), aircraft completed (comp), aircraft handed off (hoff), and other
information.  An example of the HFL Enroute Summary text output produced
by Text Writer is:

HFL ENROUTE. Date: 2003-06-03  Condition:   Subj#: s00  Sector:
NORTH_DEP

  Interval: 600-1199  Nsecnf: 4  Dsecnf: 274  Necnf: 3  Decnf: 167

  Nbscnf: 36  Dbscnf: 1188  CPA: 6729 ft  Horiz CPA: 6728 ft  Vert CPA:
107 ft

  API: 31.7  Nascnf: 0  Dascnf: 0  CMAV: 9.08  Alt cmds: 34  Hdg cmds: 0

  Spd cmds: 0  Nhtdly: 0  Dhtdly: 0  Nstdly: 0  Dstdly: 0  Nptt: NA

  Dptt: NA  Nhand: 13  Dhand: 6169  Dist flown: 476.9 nm  Ncomp: 0 
Nhoff: 0

**[HFL Ground Duration\*]{.underline}** -- defines a created object
containing information about the following durations:

1.  **Taxi time in** -- the time from when an aircraft touches down on
    its arrival runway to when it is terminated out of the simulation.

2.  **Taxi time out** -- the time from aircraft's first movement on the
    ground to when it takes off from its departure runway.

3.  **Initial Delay** -- the time from when an aircraft on the ground is
    first generated to when its first ground movement occurs (only
    applies to departing ground aircraft).

The following information is generated about each duration:

1.  Whether the duration relates an initial delay, taxi time out, or
    taxi time in.

2.  The ID of the aircraft the duration is for

3.  The length of the duration

4.  The Simulation Time of the start and end of the duration.

**[HFL Ground Summary\*]{.underline}** -- defines a created object
containing the following summary information about a ground simulation:

1.  The total number of arrivals.

2.  The total number of departures.

3.  The minimum delay to report.

4.  The total number of aircraft with a delay time, taxi time out minus
    minimum report.

5.  The System Time of the start and end of the simulation

6.  The Simulation Time of the start and end of the simulation

**[HFL Sp Command\*]{.underline}** -- defines a created object
containing total number of times a certain commands issued during a
ground simulation including Heading, Speed, Missed Approach, and Taxi.
The totals are separated into four groups:

1.  **All** -- commands issued from any source.

2.  **Datalink** -- commands issued either from Datalink equipment or a
    Datalink message.

3.  **SPW** -- commands issued from a TGF SimPilot Workstation (SPW).

4.  **Total Datalink & SPW** -- the total number of commands issued from
    either Datalink or from an SPW.

**[HFL Visual Graph\*]{.underline}** -- defines a created object
containing HFL information about an aircraft in a DRA file. It stores
the distance that the aircraft traveled as well as a graph of the
sectors that the aircraft was in each minute of the flight.

**[HFL Visual Status\*]{.underline}** -- defines a created object
containing HFL information about an aircraft in a DRA file. It stores
the times that the aircraft went on a new navigation status, as well as
the start and end times of the aircraft\'s flight. In addition the
aircraft\'s sector history.

**[Initial Taxi Start]{.underline}** -- a data object marking when an
aircraft on the ground has started to taxi for the first time. Applies
only to departing ground aircraft.

**[Message]{.underline}** -- a scenario status message or alert.  The
types of message are:

-   *Info Message* -- status message on the state of the scenario.

-   *Warning Message* -- alert of an unexpected occurrence in the
    simulation, which may or may not indicate a problem.

-   *Error Message* -- report of a problem in the simulation, which may
    affect the validity of the simulation.

**[Missed Approach]{.underline}** -- a data object marking when a
landing aircraft has executed a missed approach.

**[On Localizer]{.underline}** -- a data object marking when an aircraft
on approach to land on a runway is on that approach's localizer.

**[Over Route Node]{.underline}** -- a data object marking when an
aircraft is over a fix/waypoint on its current route.

**[Passed Outer Marker]{.underline}** -- a data object marking when an
aircraft on approach land on a runway has passed that approach's outer
marker.

**[PTT Recordable]{.underline}** -- an object that indicated a
controller or pilot microphone has been keyed on or off (Push-to-Talk).
It is created by the PTT Reader from Push to Talk Data.

**[PTT Statistic\*]{.underline}** -- an object that is created by the
PTT Duration Factory containing durations that microphones were keyed
during controller/pilot communications.

**[Recordable Data]{.underline}** -- an object that is used to store any
data not stored elsewhere.

**[Route]{.underline}** -- a data object that defines a Jet route, a SID
route or a Victor route.

**[Route Captured]{.underline}** -- a data object marking an aircraft's
transition to following a route.

**[Runway]{.underline}** -- defines a data object containing information
about a runway. 

**[Scenario State]{.underline}** -- contains information about the
scenario that the simulation run including the flight plan, audio file,
and event files used during the simulation.

**[Scenario Start State]{.underline}** -- contains information about the
setup and environment of the simulation scenario.

[]{#Sector .anchor}**[Sector]{.underline}** -- contains information
about a NAS sector of the simulation.  Unless geographic sector
boundaries were specifically provided to the TGF simulator for a
recording, the sector's physical location is not known, and sector
fields in other data objects will correspond to the aircraft's
frequency.

**[Separation Detail\*]{.underline}** -- a data object constructed by
the Separation Violation Factory containing details about a separation
violation. Fields of the separation violation object include: its
duration, start time, end time, and details about the first second, the
last second, and the closest point of approach of the violation.

SEPARATION VIOLATION. DURATION: 14  Start time: 00:22:19  End time:
00:22:32  Name: AWE179_N885Q

 1ST Time: 00:22:19  Distance: 2.79006 nm  Horizontal dist: 2.7693 nm 
Risk API: 0.0%

  Ac1: AWE179  Lat: 39-58-26.368N  Long: 084-48-30.606W  Alt: 30980.2
ft  Sector: 98 128.775

  Ac2: N885Q  Lat: 39-57-35.232N  Long: 084-45-05.074W  Alt: 29035.9 ft 
Sector: 88 120.575

 LAST Time: 00:22:32  Distance: 4.94718 nm  Horizontal dist: 4.93393 nm 
Risk API: 0.0%

  Ac1: AWE179  Lat: 39-58-17.104N  Long: 084-50-39.553W  Alt: 31144.1
ft  Sector: 98 128.775

  Ac2: N885Q  Lat: 39-58-51.386N  Long: 084-44-17.114W  Alt: 29572.7 ft 
Sector: 88 120.575

 CPA Time: 00:22:19  Distance: 2.79006 nm  Horizontal dist: 2.7693 nm 
Risk API: 0.0%

  Ac1: AWE179  Lat: 39-58-26.368N  Long: 084-48-30.606W  Alt: 30980.2
ft  Sector: 98 128.775

  Ac2: N885Q  Lat: 39-57-35.232N  Long: 084-45-05.074W  Alt: 29035.9 ft 
Sector: 88 120.575

**[Sim Event State]{.underline}** -- a data object marking the condition
of a Sim Event fired during the simulation. The Sim Event State is used
primarily to create Sim Event XML files.

**[Sim Paused]{.underline}** -- a data object marking when a simulation
was paused.

**[Sim Terminated]{.underline}** -- a data object marking the end of a
simulation.

**[Sp Command Result]{.underline}** -- a data object containing
information about a command entered by a SimPilot (pseudo-pilot) and the
result of the command.

**[Star Route]{.underline}** - defines an object containing Standard
Terminal Arrival (STAR) route information.

**[Takeoff Start]{.underline}** -- a data object marking the time an
aircraft starts to takeoff from its departure runway.

**[Touchdown]{.underline}** -- a data object marking the time an
aircraft touched down on the runway.

**[Terminal Airport Summary\*]{.underline}** - defines an object
containing summary statistics of measures involving the simulation
complexity for an airport over intervals of time.  The data contained
includes: the airport ID, the time interval in seconds, the number of
departures, the number of delayed departures, the cumulative delay of
departures, the number of gate holds and releases, the cumulative
duration of the gate holds, the average time between departures, and the
average time between landings.  An example of the Terminal Airport
summary is:

TERM AIRPORT: PAR  Interval: 600 - 1199  NDept: 12  NDptDly: 1  DDptDly:
50

  NGateHolds: 1  NGateReleas: 1  DGateHolds: 30  AvDeptTime: 180 
AvLandTime: 0

**[Terminal Summary\*]{.underline}** - defines an object containing
summary statistics of measures involving the simulation complexity for a
sector over intervals of time.  The data contained includes several
types of violations: standard separation violation (report abbreviation:
stcnf), a user defined separation violation (tcnf), between sector
standard violations (bscnf), NTZ area boundary violations (ascnf),
longitudinal conflicts (lcnf), and parallel conflicts (pcnf); number (N)
and duration (D) of these outputs are provided, along with aircraft
handled (hand), aircraft completed (comp), aircraft handed off (hoff),
and counts of pilot commands.

A sample of the Terminal Summary text output produced by Text Writer
consists of:

TERM SIM. Date: 2003-06-03  Condition:   Subject #: s00  Sector: 78

  Interval: 600-1199  Nstcnf: 3  Dstcnf: 141  Ntcnf: 0  Dtcnf: 0

  Nbscnf: 7  Dbscnf:  301  CPA:   Horiz CPA:   Vert CPA:

  API: 0  Nascnf: 1  Dascnf: 21  CMAV: 4.63  Alt cmds: 13  Hdg cmds: 1

  Spd cmds: 1  Nlcnf: 0  Dlcnf: 0  Npcnf: 0  Dpcnf: 0

  Nhand: 70  Dhand: 39056  Dist flown: 3637.4 nm  Ncomp: 41  Nhoff: 8

# DRAT Report Design Descriptions

These report design descriptions are provided to explain how certain
frequently requested reports are generated using the DRAT tools.

The variables in the reports that follow will be described in as much
detail as necessary or additional documents will be cited as
references.  Variable names are arbitrary and may or may not have been
used in previous research efforts.  Variable concepts, however, have for
the most part been employed in earlier work.  Once a concept is
explained, such as the principle of accumulating time duration of
conflicts, it may or may not be repeated in similar variable
descriptions.

## 

## CONFLICT REPORTS

Conflict reports are reports of separation violation between pairs of
aircraft. "Conflicts" are not the same as the conflict alert warnings
produced by NAS for controller assistance.  Conflict reports include an
Aircraft Proximity Index (API) calculation.  The API is a measure of
conflict severity developed by Mr. Lee Paul of the FAA Technical
Center.  Conflict report output also states the horizontal and vertical
separations between the aircraft.  All conflict variables assume a
technical violation of minimum separation between pairs of aircraft
flying in controlled airspace. 

### STANDARD CONFLICT (SCNF)

For safety reasons, aircraft should maintain a horizontal distance of at
least 5 nautical miles (nm) from each other.  The vertical safe distance
depends on the altitude of the aircraft.  For an altitude of less than
29,000 feet, the vertical separation minimum is 1,000 feet.  For
altitudes greater than 29,000 feet, the vertical minima increases to
2,000 feet.  If two aircraft come within the horizontal and the vertical
restriction of each other, they are in separation violation.

The best DRAT tool sequence to produce this report is: Recordable
Reader, Separation Violation Factory, and either Text Writer or
Delimited Writer.  Data objects are imported from the TGF recording file
by Recordable Reader, which sends them to the Separation Violation
Factory.  The Separation Violation Factory should be set to VIOLATE_SEP,
have Pass Through turned off, have the minimum distance setting of 5 nm
and have the minimum altitude setting of -1 feet. The altitude setting
of -1 feet indicates a standard conflict, causing the filter to use the
two altitudes of 1,000 feet below 29,000 feet and 2,000 feet above
29,000 feet.  The type of writer determines the type of output, and the
file name specified is the output file.  One data object per separation
violation will result.

Another possible DRAT tool sequence to produce this report is:
Recordable Reader, Distance Factory, and either Text Writer or Delimited
Writer.  The Distance Factory would have the same settings as the
Separation Violation Factory of the previous sequence. This
configuration would generate separation violation distances for every
second of the violation.

### STANDARD CONFLICT DURATION (SCNFD)

The duration of the standard conflicts as reported by the SCNF process
in Section 6.1.1, over intervals of the simulation.

The DRAT tool sequence for this report is: Recordable Reader, Distance
Factory, Data Object Count Factory, and either Text Writer or Delimited
Writer.  The parameters for the Distance Factory should be set to
VIOLATE_SEP, have Pass Through turned off, have the minimum distance
setting of 5 nm and have the minimum altitude setting of -1 feet to
indicate a standard conflict (see Section 6.1.1).  The Data Object Count
Factory should specify the interval desired by the user (or a very high
number so one interval encompasses the entire length of the simulation),
with Count Name Once turned on so that violations spanning more than one
interval are not counted more than once, and no value for Classname and
Name.

If number and duration of conflicts per interval per sector is desired,
this DRAT tool sequence can be used: Recordable Reader, HFL Enroute
Factory (or Terminal Simulation Factory, if for terminal airspace), and
either Text Writer or Delimited Writer.

### X-VALUE CONFLICT (XCNF)

This measure allows a user specified input of data instead of the
standard separation values.

The DRAT tool sequence for this report would be the same sequence used
for the SCNF process in 6.1.1; Recordable Reader, Separation Violation
Factory (or Distance Factory), and either Text Writer or Delimited
Writer.  The only panel parameters that would differ are the Separation
Violation Factory (or Distance Factory) Minimum Distance and Minimum
Altitude values, which would instead be set to the values desired by the
user.

### X-VALUE CONFLICT DURATION (XCNFD)

This is the cumulative duration for XNCF.  The cumulative duration is
then recorded in time blocs for examination after the simulation has
concluded.

The DRAT tool sequence for this report would be either one of the tool
sequences that were given for the SCNFD process in 6.1.2; with the
parameters only changed in that the minimum distance and altitude would
be values selected by the user.

### WAKE VORTEX (LONGITUDINAL) CONFLICT (LCNF)

When aircraft enter the designated region known as the terminal area,
they must observe a change in the separation minima.  The horizontal
separation minimum decreases to 3 nm, while the vertical minimum remains
at 1,000 feet.  The significant difference is the addition of wake
vortex separation restrictions when an aircraft is on a final approach
sequence.  Wake vortexes are produced by aircraft wings disrupting the
airflow behind the aircraft; details are defined in
[7110.65L](#_Appendix_B:_Wake) (see Appendix B: Wake Vortex Turbulence
Separation). Standard separation is 3 nm, unless the wake vortex
criteria apply.  The criteria of the wake vortex takes into account the
type of aircraft, size, and overall weight.

The DRAT tool sequence for this report is: Recordable Reader, Separation
Violation Factory (or Distance Factory), and either Text Writer or
Delimited Writer.  Data objects are imported from the TGF recording file
by Recordable Reader, which sends them to the Distance Factory.  The
Separation Violation Factory (or Distance Factory) should be set to
VORTEX_SEP with Pass Through turned off.  The type of writer determines
the type of output, and the file name specified is the output file.  If
Separation Violation Factory is used, one data object per separation
violation will result; if Distance Factory is used, one separation
violation distance for every second of every violation will result.

### WAKE VORTEX CONFLICT DURATION (LCNFD)

The duration of the wake vortex (longitudinal) conflicts as reported by
the LCNF process in 6.1.5, over intervals of the simulation.

The DRAT tool sequence for this report is: Recordable Reader, Distance
Factory, Data Object Count Factory, and either Text Writer or Delimited
Writer.  The parameters for the Distance Factory should be set to
VORTEX_SEP and have Pass Through turned off.  The Data Object Count
Factory should specify the interval desired by the user (or a very high
number so one interval encompasses the entire length of the simulation),
with Count Name Once turned on so that violations spanning more than one
interval are not counted more than once, and no value for Classname and
Name.

If number and duration of conflicts per interval per sector is desired,
this DRAT tool sequence can be used: Recordable Reader, Terminal
Simulation Factory, and either Text Writer or Delimited Writer.

### PARALLEL CONFLICT (PCNF)

This measure is implemented in order to evaluate conflicts that result
when aircraft approaching the airport are on a simultaneous parallel
approach vector.  A simultaneous approach occurs when two aircraft are
side-by-side on final approach to parallel runways.  The data must be
user-specified, since it is only used to examine the possibility of an
accident.

The DRAT tool sequence to produce this report is: Recordable Reader,
Altitude Filter, Separation Violation Factory (or Distance Factory), and
either Text Writer or Delimited Writer. Data objects are imported from
the TGF recording file by Recordable Reader, which sends them to the
Altitude Filter.  The Altitude Filter's minimum altitude is set to 0
feet and the maximum altitude is set to the maximum altitude to track
the aircraft on final approach at.  The Separation Violation Factory (or
Distance Factory) should be set to VIOLATE_SEP, have Pass Through turned
off, have a minimum distance setting slightly greater than the distance
of the parallel runways, and have a minimum altitude setting of 500
feet. The type of writer determines the type of output, and the file
name specified is the output file.  If Separation Violation Factory is
used, one data object per separation violation will result; if Distance
Factory is used, one separation violation distance for every second of
every violation will result.

### PARALLEL CONFLICT DURATION (PNCFD)

The duration of the standard conflicts as reported by the PCNF process
in Section 6.1.7, over intervals of the simulation.

The DRAT tool sequence for this report is: Recordable Reader, Distance
Factory, Data Object Count Factory, and either Text Writer or Delimited
Writer.  The parameters for the panels are the same as in the above PCNF
process in Section 6.1.7, with the addition of the Data Object Count
Factory with the interval desired by the user (or a very high number so
one interval encompasses the entire length of the simulation), with
Count Name Once turned on so that violations spanning more than one
interval are not counted more than once, and no value for Classname and
Name.

If number and duration of conflicts per interval per sector is desired,
this DRAT tool sequence can be used: Recordable Reader, Terminal
Simulation Factory, and either Text Writer or Delimited Writer.

### RESTRICTED AIRSPACE CONFLICT (ASCNF)

Restricted airspace is a defined area in which the flight of aircraft is
restricted in accordance with special conditions.  This measure collects
the frequency of aircraft deviations into the restricted airspace.  To
allow flexibility, the user can specify the boundary and enter it into
the software.

The DRAT tool sequence for this report is: Recordable Reader, Geographic
Area Filter, Data Object Count Factory, and either Text Writer or
Delimited Writer.  A Geographic Area Filter is used to determine all the
instants at which an aircraft is within the boundaries of the given
restricted zone.  The Data Object Count Factory is set to count names
once, so every instant of airspace violation is not counted separately,
to determine the frequency.

### RESTRICTED AIRSPACE CONFLICT DURATION (ASCNFD)

The cumulative durations of the conflicts reported by the ASCNF process
in Section 6.1.9 in subtotaled time blocks.

The DRAT tool sequence for this report is: Recordable Reader, Geographic
Area Filter, Duration Factory, and either Text Writer or Delimited
Writer.  The parameters for the panels are the same as in the above
ASCNF process in Section 6.1.9, with the addition of the Duration
Factory with minimum duration of zero and maximum duration a high
number.

If number and duration of conflicts per interval per sector is desired,
this DRAT tool sequence can be used: Recordable Reader, HFL Enroute
Factory (or Terminal Simulation Factory, if for terminal airspace), and
either Text Writer or Delimited Writer.

## COMPLEXITY MEASUREMENT REPORTS

All the following complexity measurement reports are available in counts
per sector, per interval using the following configuration: Recordable
Reader, HFL Enroute Factory (or Terminal Simulation Factory, if for
terminal airspace), and either Text Writer or Delimited Writer.  The
intervals for the factory will need to be set.

### SYSTEM ACTIVITY (CMAV)

This is a measure of the average number of aircraft within a certain
distance of each other.  The software allows manual input of the
distance between the aircraft. The typical test number is 10 nm.  The
sampling rate of data is taken once every 10 seconds.

### ALTITUDE CHANGE COMMAND (ALT)

These reports include all messages sent from the controller to the
aircraft advising the aircraft on altitude changes.   The messages are
counted over the simulation or for a specified time block.

### HEADING CHANGE COMMAND REPORT (HDG)

These reports include all messages sent from the controller to the
aircraft involving heading instructions.  They are counted over the
entire run, or for a pre-specified period of time.

### SPEED CHANGE COMMAND REPORT (SPEED)

These reports include all messages sent from the controller to the
aircraft involving speed instructions.  They are counted over the entire
run, or for a pre-specified period of time.

## NON-CONFLICT ERROR REPORTS

### MISSED APPROACH REPORT (MISSAPP)

When an aircraft cannot complete an approach due to some event, it is
called a \'missed approach\'.  In the simulation, the frequency of
missed approaches is generated within the terminal control area.  This
area includes the primary airport and any satellite airport to which
approaches are being controlled.

The DRAT tool sequence for this report is: Recordable Reader, Flying
Status Filter, Data Object Count Factory, and either Text Writer or
Delimited Writer.  The flying status selected by the Flying Status
Filter will be "MISSED_APPROACH" with the "Last instance of status"
unchecked.  The Data Object Count Factory will be set to the interval
desired (or a very high number so one interval encompasses the entire
length of the simulation), with Count Name Once turned on so that missed
approaches spanning more than one interval are not counted more than
once, and no value for Classname and Name.

### HOLD REPORT (NDLY)

This report measures the frequency and duration of hold messages that
are sent to different aircraft.  This value can be an indication of the
complexity of a simulation or of the existence of other problems.

The DRAT tool sequence for this report is: Recordable Reader, Flying
Status Filter, Data Object Count Factory, and either Text Writer or
Delimited Writer.  The flying status selected by the Flying Status
Filter will be "HOLD" with the "Last instance of status" unchecked.  The
Data Object Count Factory will be set to the interval desired (or a very
high number so one interval encompasses the entire length of the
simulation), with Count Name Once turned on so that missed approaches
spanning more than one interval are not counted more than once, and no
value for Classname and Name.

If number and duration of conflicts per interval per sector is desired,
this DRAT tool sequence can be used: Recordable Reader, HFL Enroute
Factory (or Terminal Simulation Factory, if for terminal airspace), and
either Text Writer or Delimited Writer.

## Activity / Task Load Reports

All the following complexity measurement reports are available in counts
per sector, per interval using the following configuration: Recordable
Reader, Terminal Simulation Factory, and either Text Writer or Delimited
Writer.  (All but the number of departures is also available using HFL
Enroute Factory instead of Terminal Simulation Factory). The intervals
for the factory will need to be set.

### Number OF FLIGHTS HANDLED (NHAND)

This is the total number of flights that are handled by the controller
for a given period of time.  The report can be based on the entire
simulation or on specified time blocks.

### Number of COMPLETED Landings (NCOMP)

This is the number of landings completed during final approach in a
terminal environment.  The report can be based on the entire simulation
or on specified time blocks.  .

### Number of Departures (NDEPT)

This is the number of departures completed by a controller in a terminal
environment.  The report is based on specified time blocks or the entire
run of the simulation. 

### Number of Handoffs (NHOFF)

This is the number of successfully completed handoffs by the controller
to adjacent sectors or facilities.  It applies to both en route and
terminal environments.

# Appendix A: Glossary

**ALT** - HFL designation for a report on the frequency of altitude
change messages sent from controller to aircraft.

**API** - Aircraft Proximity Index.

**ATC** - Air Traffic Control.

**ATWIT** - Air Traffic Workload Input Technique.

**CMAV** - HFL designation for a report on the average number of
aircraft within X miles of one another.

**Configuration** - a sequence of DRAT tools that operates on TGF
simulator data to generate (at least) one set of output. (Some types of
configurations can produce multiple output files containing different
sets of output.)  Each DRAT tool in the sequence operates on the
simulator data resulting from the previous tool in the sequence, with a
minimum of two tools needed to produce output (a reader and a writer).

**CPA** - the closest point of approach between two aircraft in
separation violation.

**Data Object** - is a set of related information such as aircraft
information, fix information, or pilot (pseudo-pilot) command
information.  A data object can be thought of as a record with multiple
fields.

**DASCNF** - HFL designation for a report on the cumulative durations of
"airspace conflicts", the frequency of aircraft entering restricted
airspace.

**DBSCNF** - HFL designation for a report of the cumulative durations of
between sector conflicts (separation violations).

**DECNF** - HFL designation for a report of the cumulative duration of
EnRoute sector conflicts (separation violations) for separation
distances that are user-specified.

**DEPART** - HFL designation for a report on the duration of departures
in a terminal environment.

**DHAND** - HFL designation for a report on the duration of flights
handled by the controller over a given period of time.

**DHTDLY** - HFL designation for a report on the duration of aircraft
put in a holding pattern (to delay traffic) over a given period of time.

**DLCNF** - HFL designation for a report on the cumulative durations of
longitudinal conflicts (separation violations of pairs of aircraft on
final approach that are in-trail of one another).

**DPCNF** - HFL designation for a report on the cumulative durations of
parallel conflicts (separation violations of pairs of aircraft in
terminal airspace).

**DPTT** - HFL designation for a report on the duration of push-to-talks
keyed by a controller over a given period of time.

**DR&A** - Data Reduction and Analysis.

**DSECNF** - HFL designation for a report of the cumulative durations of
standard EnRoute sector conflicts (separation violations).

**DSTCNF** - HFL designation for a report of the cumulative durations of
standard terminal airspace sector conflicts (separation violations).

**DSTDLY** - HFL designation for a report on the duration of gate hold
delays between the scheduled and actual takeoff times over a given
period of time.

**DTCNF** - HFL designation for a report of the cumulative duration of
terminal airspace sector conflicts (separation violations) for
separation distances that are user-specified.

**EN** - Designates en route airspace.

**Filter** - DRAT tool that allows the selection of a subset of "data
objects", by removing objects not containing a specified characteristic
that the filter was designed to select for.

**Factory** - DRAT tool that combines information from existing "data
objects" to create new sets of information or new data objects.

**GUI** - Graphical User Interface.

**HDG** - HFL designation for a report on the frequency of heading
instructions to aircraft.

**HFL** - Human Factors Laboratory.

**Interval** - A period of time measurement; often used to specify the
length of time for each subtotal in an aggregate measurement.

**MISSAPP** - HFL designation for a report on the frequency of missed
approaches in the terminal control area.

**NASCNF** - HFL designation for a report on "airspace conflicts", the
frequency of aircraft entering restricted airspace.

**NBSCNF** - HFL designation for a report on the number of between
sector conflicts (separation violations).

**NCOMP** - HFL designation for a report on the number of flights
completed (landed) by the controller over a given period of time.

**NECNF** - HFL designation for a report on the number of EnRoute sector
conflicts (separation violations) for separation distances that are
user-specified.

**NHAND** - HFL designation for a report on the number of flights
handled by the controller over a given period of time.

**NHOFF** - HFL designation for a report on the number of handoffs of
aircraft from one sector to another over a given period of time.

**NHTDLY** - HFL designation for a report on the number of aircraft put
in a holding pattern (to delay traffic) over a given period of time.

**NLCNF** - HFL designation for a report on the number of longitudinal
conflicts (separation violations of pairs of aircraft on final approach
that are in-trail of one another).

**NPCNF** - HFL designation for a report on the number of parallel
conflicts (separation violations of pairs of aircraft in terminal
airspace).

**Nm** - Nautical mile = 6080 ft or 1.85 kilometers.

**NPTT** - HFL designation for a report on the number of push-to-talks
keyed by a controller over a given period of time.

**NSECNF** - HFL designation for a report on the number of standard
EnRoute sector conflicts (separation violations).

**NSTCNF** - HFL designation for a report on the number of standard
terminal airspace sector conflicts (separation violations).

**NSTDLY** - HFL designation for a report on the number of gate hold
delays between the scheduled and actual takeoff times over a given
period of time.

**NTCNF** - HFL designation for a report on the number of terminal
airspace sector conflicts (separation violations) for separation
distances that are user-specified.

**Pass Through** -- An option in many of the DRAT tools that determines
whether the next tool received data objects that are not specifically
sent or eliminated.

For example, an Aircraft ID Filter will receive three categories of data
objects:

> 1)      Data objects that are specified by the tool's Aircraft ID
> list,
>
> 2)      Data objects that are not included in the tool's Aircraft ID
> list, and
>
> 3)      Data objects that do not have an associated aircraft ID.

Data objects in category 3) are sent if Pass Through is enabled
(checked), and are not sent if Pass Through is disabled (not checked). 
In contrast, data objects in category 1) are always sent and data
objects in category 2 are never sent. 

**Push To Talk (PTT)** -- data concerning when a pilot or controller
trigged a press or release on their communication channel.

**Reader** - DRAT tool that allows the selection of an input file
(generally encoded in TGF simulator recording format) to translate data
into "data objects" that the other DRAT tools can operate on.

**Recording File** - is a file containing second-by-second information
on the condition of a TGF simulation.

**SPD** - HFL designation for a report on the frequency of speed
instructions to the aircraft.

**TCA** - Terminal Control Area.

**TERM** - Designates terminal airspace.

**TGF -** Target Generator Facility.

**VOIDUR** - HFL designation for a report containing the cumulative
time, in seconds, that the controller in transmitting to the aircraft
under his/her control.

**VOIFREQ** - HFL designation for a report on the frequency of voice
communications between controllers and the aircraft.

**Wake Vortex** - The unstable pocket of air that is created behind an
aircraft in flight.

**Writer** - DRAT tool that allows the selection of an output file in a
specific format.  Each writer generates a report to an output file,
which can be read by an editor or sent to a writer.

# Appendix B: Wake Vortex Turbulence Separation

7110.65L Section 5. RADAR Separation (2/26/98)

**          5.5.3 Minima**

Wake Turbulence Application -- paragraph d.

Separate aircraft operating directly behind, or directly behind and less
that 1,000 feet below, or following an aircraft conducting an instrument
approach by:

***NOTE***-Consider parallel runways less that 2,500 feet apart as a
single runway because of the possible effects of wake turbulence.

Heavy behind heavy - *4 miles*.

Large/heavy behind B757 - *4 miles*.

Small behind B757 - *5 miles*.

Small/large behind heavy - *5 miles*.

Wake Turbulence Application -- paragraph e. Terminal:

In addition to subpara d., separate an aircraft landing behind another
aircraft on the same runway, or one making a touch-and-go, stop-and-go,
or low approach by ensuring the following minima will exist at the time
the preceding aircraft is over the landing threshold:

***NOTE**-Consider parallel runways less than 2,500 feet apart as a
single runway because of the possible effects of wake turbulence.*

1.      Small behind large - *4 miles*.

2.      Small behind B757 - *5 miles*.

3.      Small behind heavy - *6 miles*.