NASA - National Aeronautics and Space Administration
Follow this link to skip to the main content
+ Visit NASA.gov
+ Contact NASA
ABOUT NASA LATEST NEWS MULTIMEDIA MISSIONS MY NASA WORK FOR NASA
ATD-2 Concept graphic

NASA Airspace Technology Demonstration 2 (ATD-2) Industry Workshop


ATD-2 Industry Workshop Documentation Outline


Fuser Database to TTP Operational Metrics Message


This page documents the mapping between the ATD-2 Fuser Database and the NASA TFDM TTP Operational Metrics Messages which are available for consumption via FAA SWIM. This mapping was developed using the TFDM specification and is meant to follow the TFDM specification as closely as possible. Due to constraints of operating in a prototype environment, not all data elements specified by TFDM are published by ATD-2. The schema used is a combination of the native TFDM Operational Metrics schema and the Flight Information Exchange Model (FIXM) version 4.0 with NAS Extension. Below are two separate tables for each schema. The  For more information, review the NASA TTP documentation on the NSRR.


To convert data stored in the Fuser DB into TFDM TTP messages, the Metrics Services listens for Flight Creation, Flight Update, and Flight Remove events from the Fuser via the Fuser Client API prior to sending the data to the TFDM SWIM Engine. The TFMS SWIM Engine transforms the metrics data into a FIXM message and a TTP Operational Metrics Message is published out to FAA SWIM. The calculations performed by the TFDM SWIM Engine and Metrics Service are listed in the Notes/Calculations column. 


Fuser DB Element TTP DB Element Corresponding TFDM Element Notes/Calculations
aerodrome
OperationalMetricsType.aerodrome Set by the TFDM SWIM Engine.
airport_canceled_departure_demand surface_flight_state OperationalMetricsType.canceledDepartureDemand
airport_mode_missed_departure_opportunities_count
OperationalMetricsType.kpiMissedDepartureOpportunities.airportModeMissedDepartureOpportunitiesCount Total count of missed runway opportunities.
airport_mode_missed_departure_opportunities_time_duration
OperationalMetricsType.kpiMissedDepartureOpportunities.airportModeMissedAirprtDepartureOpportunitiesTimeDuration Total duration of missed runway opportunities.
airport_throughput_arrival_count arrival_stand_actual_time OperationalMetricsType.kpiAirportThroughput.airportThroughputArrivalCount If arrival_stand_actual_time is in the time window for the metrics calculation, it is included in the count.
airport_throughput_departure_count departure_runway_actual_time OperationalMetricsType.kpiAirportThroughput.airportThroughputWeightedDepartureCount If departure_runway_actual_time is in the time window for the metrics calculation, it is included in count.
airport_throughput_runway_counts
OperationalMetricsType.kpiAirportThroughput.runwayThroughputList If arrival_stand_actual_time or departure_runway_actual_time is in the time window for the metrics calculation, it is included in counts broken down by runway.
airport_throughput_total_count arrival_stand_actual_time
departure_runway_actual_time
OperationalMetricsType.kpiAirportThroughput.airportThroughputTotalCount If arrival_stand_actual_time or departure_runway_actual_time is in the time window for the metrics calculation, it is included in the count.
airport_throughput_weighted_departure_count departure_runway_actual_time OperationalMetricsType.kpiAirportThroughput.airportThroughputWeightedDepartureCount If departure_runway_actual_time is in the time window for the metrics calculation, it is included in count (all weighted counts set to 1 currently).
mean_metering_ready_time_compliance
OperationalMetricsType.kpiMeteringReadyTimeCompliance Average of compliance times for all flights in flight metrics list.
mean_metering_time_compliance
OperationalMetricsType.kpiMeteringTimeCompliance Average of compliance times for all flights in flight metrics list.
metering_ready_time_compliance_parameter
OperationalMetricsType.kpiMeteringTimeCompliance.meteringReadyTimeComplianceParameter
metering_ready_time_departures_in_compliance_window

OperationalMetricsType.kpiMeteringTimeCompliance.numberOfDeparturesWithinComplianceWindow

Sum of flight in flight metrics list that departed within compliance window.
metering_time_compliance_departures
OperationalMetricsType.kpiMeteringTimeCompliance.numberOfDepartures Sum of flight in flight metrics list that departed.
metering_time_departures_in_compliance_window
OperationalMetricsType.kpiMeteringTimeCompliance.numberOfDeparturesWithinComplianceWindow Sum of flight in flight metrics list that departed within compliance window.
runway_mode_missed_departure_opportunities
OperationalMetricsType.kpiMissedDepartureOpportunities.runwayModeMissedDepartureOpportunities There is one of these per runway. This is also only measured when metering is on. 

Within the Operational Metrics message, a flight list is included which provides flight information in the FIXM 4.0 NAS Extension for flights affected by TMIs. This flight list is added as a child to the "OperationalMetricsType.kpiMeteringTimeCompliance". The table below has all elements available in this flight list along with their mapping to the FIXM schema.

Fuser DB Element TTP DB Element Corresponding FIXM Element Notes/Calculations
acid acid NasMessage.flight.flightIdentification.@aircraftIdentification
departure_movement_area_actual_time actual_metering_control_arrival_time NasMessage.flight.additionalFlightInformation.ACT_METER_CNTRL_TME=
departure_movement_area_actual_time actual_movement_area_entry_cleared_time NasMessage.flight.additionalFlightInformation.ACT_MA_ENT_CLRD_TME=
departure_runway_actual_time actual_take_off_time NasMessage.flight.departure.runwayDepartureTime.actual
source_facility cid_creator_unit NasMessage.flight.flightIdentification.IdCreatorUnit
computer_id computer_id NasMessage.flight.flightIdentification.@computerId
departure_aerodrome_icao_name departure_point NasMessage.flight.departure.@departurePointText
arrival_aerodrome_icao_name destination_point NasMessage.flight.destination.@destinationPointText
eram_gufi eram_gufi NasMessage.flight.flightPlan.@identifier

flight_initialization_lead_time_points NasMessage.flight.departure.@flightInitializationLeadTimePoints Difference between Fuser DB departure stand initial time and creation time.

Sliding scale for points:
240 or more minutes prior to Initial Off Block Time (IOBT) 15 credits
240-121 minutes prior to IOBT 10 credits
120-61 minutes prior to IOBT 5 credits
Less than 60 minutes prior to IOBT 0 credits

inbound_movement_area_hold_time_duration NasMessage.arrival.taxiOperationsMetrics.@inboundMovementAreaHoldTimeDuration Set as 0 for now since we do not have a movement area hold time to use for this calculation.

inbound_movement_area_taxi_time_duration NasMessage.arrival.taxiOperationsMetrics.@inboundMovementAreaTaxiTimeDuration Calculation: MatmFlight: getArrivalRunwayActualTime() - getArrivalStandActualTime()

inbound_ramp_taxi_time_duration NasMessage.arrival.taxiOperationsMetrics.@inboundRampTaxiTimeDuration Calculation: MatmFlight: getArrivalStandActualTime() - getArrivalMovementAreaActualTime()
departure_stand_initial_time initial_gate_time_of_departure NasMessage.flight.departure.offBlockTime.initial

metering_hold_length NasMessage.flight.additionalFlightInformation.METER_HOLD_LENGTH= This value is not be populated for flights with EDCTs or release times. 

metering_ready_time_compliance NasMessage.flight.additionalFlightInformation.METER_RDY_TME_CMPLNC= This calculation takes into consideration flights that entered the AMA in the last 15 minutes (departureMovementAreaActualTime) and then compute some stats on those flights.
- numberOfDepartures = number of flights with TMAT
- numberOfDeparturesWithinComplianceWindow = number of metering ready time compliant flights
- numberOfDeparturesMarkedAsExceptions = 0 (not applicable in ATD-2)
- meanMeteringReadyTimeCompliance = mean of difference computed in the per flight metric
- meteringReadyTimeComplianceParameter = 5 minutes 

metering_time_change_timestamp NasMessage.flight.additionalFlightInformation.TMAT_CHG_TIMESTAMP=

metering_time_compliance NasMessage.flight.additionalFlightInformation.METER_TME_CMPLNC=

This calculation takes into consideration flights that entered the AMA in the last 15 minutes (departureMovementAreaActualTime) and then compute some stats on those flights.
- numberOfDepartures = number of flights with TMAT
- numberOfDeparturesWithinComplianceWindow = number of metering ready time compliant flights
- numberOfDeparturesMarkedAsExceptions = 0 (not applicable in ATD-2)
- meanMeteringTimeCompliance = mean of difference computed in the per flight metric
- meteringTimeComplianceParameter = 5 minutes 


outbound_movement_area_hold_time_duration NasMessage.departure.taxiOperationsMetrics.@outboundMovementAreaHoldTimeDuration Set as 0 for now since we do not have a movement area hold time to use for this calculation.

outbound_movement_area_queuing_time_duration NasMessage.departure.taxiOperationsMetrics.@outboundMovementAreaQueuingTimeDuration Calculation: getDepartureRunwayActualTime() - getDepartureQueueEntryActualTime()

outbound_movement_area_taxi_time_duration NasMessage.departure.taxiOperationsMetrics.@outboundMovementAreaTaxiTimeDuration Calculation: getDepartureQueueEntryActualTime() - getDepartureMovementAreaActualTime()
Double check that queue entry time is being populated.

outbound_ramp_taxi_time_duration NasMessage.departure.taxiOperationsMetrics.@outboundRampTaxiTimeDuration Calculation: getDepartureMovementAreaActualTime() - getDepartureStandActualTime()
departure_runway_actual_time
departure_queue_entry_actual_time
departure_runway_target_time
departure_runway_undelayed_time
queue_waiting_time_accuracy NasMessage.flight.additionalFlightInformation.QUEUE_WAIT_TME_ACC= Calculation: (departure_runway_actual_time - departure_queue_entry_actual_time) - (departure_runway_target_time - departure_runway_undelayed_time)
departure_runway_undelayed_time
departure_movement_area_undelayed_time
departure_queue_entry_actual_time
departure_movement_area_actual_time
spot_to_queue_taxi_time_prediction_accuracy NasMessage.flight.additionalFlightInformation.SPOT_Q_TAXI_TME_ACC= Calculation: (departureRunwayUndelayedTime - departureMovementAreaUndelayedTime) - (departureQueueEntryActualTime - departureMovementAreaActualTime)
departure_runway_actual_time
departure_runway_target_time
take_off_time_accuracy NasMessage.flight.additionalFlightInformation.TO_TME_ACC=
departure_movement_area_surface_metered_time target_movement_area_entry_time NasMessage.flight.additionalFlightInformation.TMAT_CHG_TIMESTAMP= Records every tmat change.
departure_movement_area_surface_metered_time target_movement_area_entry_time_change_reason NasMessage.flight.additionalFlightInformation.TMAT_CHG_REASON=
departure_movement_area_surface_metered_time target_movement_area_entry_time_changes_total_time NasMessage.flight.additionalFlightInformation.TMAT_CHG_TOTL_TME=
departure_movement_area_surface_metered_time target_movement_area_entry_time_difference NasMessage.flight.additionalFlightInformation.TMAT_TME_DIFF=
departure_movement_area_surface_metered_time target_movement_area_entry_time_new NasMessage.flight.additionalFlightInformation.TMAT_NEW=
departure_movement_area_surface_metered_time target_movement_area_entry_time_prior NasMessage.flight.additionalFlightInformation.TMAT_PRIOR=
departure_movement_area_surface_metered_time target_movement_area_entry_time_number_of_changes NasMessage.flight.additionalFlightInformation.TMAT_NUM_CHANGES=

tfdm_id_creator_airport NasMessage.flight.additionalFlightInformation.TFDMID_CREATOR= Set by TFDM SWIM Engine.
gufi tfdm_id NasMessage.flight.additionalFlightInformation.TFDMID=

timely_provision_of_actual_off_block_time_compliance_points NasMessage.departure.@timelyProvisionOfActualOffBlockTimeCompliancePoints Difference between AOBT and departure stand actual received time (in derived extension)

Scale for Points:
Provided within 5 minutes of AOBT 15 credits
Provided more than 5 minutes after AOBT 5 credits
Not Provided 0 credits

off_block_time_accuracy_points NasMessage.departure.@offBlockTimeAccuracyPoints Difference between EOBT and AOBT (departure stand actual time)
EOBT is defined as the best available out time following this order; intended, earliest, airline, estimated, proposed, scheduled, initial

Scale for points:
Time before AOBT Accuracy(Difference between EOBT and AOBT) Credits
Between 240 and 121 minutes +/- 20 minutes + 5
Between 120 and 61 minutes +/- 15 minutes + 10
Between 60 and 31 minutes +/- 10 minutes + 10
Between 30 and 1 minutes +/- 5 minutes + 10
At AOBT +/- 5 minutes + 15
Total Credits Minimum of 0, Maximum of 50

data_comprehensiveness_points NasMessage.@dataComprehensivenessPoints At time of departure/arrival (Fuser DB arrival/departure runway actual time), a check is performed that gate assignment and tail number were provided. For cancellation information, confirmed that a cancelled flight really did not fly and that a departure does not have the cancelled flag set to true.

Scale for points:
Provided Gate Assignment 10 credits
Provided Tail Number 10 credits
Provided Cancellation Information 20 credits (when flight does not operate and flight operator provides cancellation information)
FirstGov - Your First Click to the US Government
+ Freedom of Information Act
+ Budgets, Strategic Plans and Accountability Reports
+ The President's Management Agenda
+ NASA Privacy Statement, Disclaimer,
and Accessibility Certification

+ Inspector General Hotline
+ Equal Employment Opportunity Data Posted Pursuant
to the No Fear Act

+ Information-Dissemination Priorities and Inventories
NASA - National Aeronautics and Space Administration
Curator: Victoriana Delossantos
NASA Official: Al Capps
Last Updated: July 23, 2019