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 Pre-Updaters


Updaters differ from mediation rules in that updaters are usually putting in added value data. At times an updater does filter or remove data and it's implemented as an updater because the logic may be too complicated for the mediation rule framework.

Updater

Description

SystemIdUpdater If the system ID field is null, this updater will copy the last updater source to the system ID field. The last update source is a generic category of source (e.g. AIRLINE for all types of airline sources or TBFM for all the different TBFM sources.) However, there are cases where there is only one specific system for a given update source (e.g. STDDS ASDE-X for surface surveillance).
FlightPositionMediationUpdater

The flight position mediation updater is designed to keep a flight from bouncing around on the map. This can happen because we get data from various sources and at times we may be getting position data from multiple sources at the same time. The position mediation updater uses a combination of priority and a timeout to deal with this. The priority and timeouts for each source are in the table below. The lower priority number indicates a higher priority system. The timeout ensures if we quit getting data from a source we will transition to another source if possible.

Source

Priority

Timeout

(seconds)

STDDS SMES 120 15
Airline Position 120 15
STARS 200 30
SFDPS 400 60
TBFM 400 60
TFMS 410 60

Some use cases:

If we have continuous STDDS SMES-ASDE-X data we would use that and filter out position updates from lower sources such as TFMS.

We have arrival with TFMS and TBFM data. We will favor the TBFM positions and filter out the TFMS positions unless we lose TBFM coverage.

As it nears the airport we start getting ASDE-X data, if we continue to get TBFM track hits while we are receiving ASDE-X we will filter out the TBFM track positions.

If the arrival goes on extended final and goes out of the ASDE-X coverage area, if this occurs for 15 seconds and we have another source such as TBFM we will switch to using TBFM tracks (essentially allow the TBFM tracks through the Fuser now).

For a departure we will typically start with ASDE-X. At some point we will typically pick up TBFM track hits. However, until we get out of ASDE-X coverage range for 15 seconds we will stick with the ASDE-X hits and filter the TBFM track hits. Once we get out of the ASDE-X hits for this flight for 15 seconds and we do have tracks from another source like TBFM we will switch to that source.

FlightHeadingUpdater

This updater will attempt to make sure we have the best heading possible.

  • If the message has a heading we will use it
  • If message has a position but no heading
    • If we had a previous position we will compute heading based on the current position and previous position
    • If this is the first position on the flight and the heading is not known we will compute a heading based on the
AircraftIdentificationUpdater A message may contain an aircraft registration (tail) and/or aircraft address (mode s). If one or the other is missing it's possible to populate the other with code that coverts a tail to modes and vice versa. This uses an algorithm supplied by the FAA.
AircraftTypeUpdater

The aircraft type updater does a few things

  • Uses a lookup table to for valid aircraft types. This is to deal with cases where some sources use different codes for what really are the same aircraft type codes. This lookup keeps that consistent.
  • Assigns a default aircraft type is the aircraft type is unknown. The default is UNKN
  • Assign a default Wake Turbulence Category if it's unknown. The default is LARGE
  • Sets a default engine class if it's unknown. The default is JET
AerodromeUpdater

Aerodrome is the European term for airport but also includes more than airports. Airport codes can come in the IATA, ICAO or even FAA Lookup ID depending on the source and message. Where possible this updater will attempt to fill in the missing IATA or ICAO code and keep them consistent when possible. Unfortunately due to inconsistent approaches taken across sources and the fact IATA, ICAO, and FAA Lookup ID don't map to 1 to 1 to 1 it's bit more complicated than one would think.

More details on IATA, ICAO, and FAA Lookup ID can be found here

CarrierUpdater

The carrier is not typically supplied from our current source feeds. The use of carrier or GA is used in the STBO code and decision trees in a few places. The has logic to derive a carrier from the acid.

  • Basically it looks for the last letter prior to running into a number. If that results in a 3 character airline code we use that.
  • If not we consider the flight to be a GA flight
CancellationUpdater

Logic responsible for setting the cancellation enum.

  • NOT_CANCELLED means a flight is not cancelled
  • CANCELLED means a flight is cancelled
  • UNCANCELLED is a trigger to STBO to re-model a flight

The updater will uncancel a flight if:

  • We receive track data for the flight after the cancellation
  • We receive an actual out time for the flight AFTER it was cancelled
    • But only if the actual out time is different from the value we currently have for actual out time
FacilityIdUpdater

Corrects sourceFacility:

  • Ensure sourceFacility is an ARTCC. If a sourceFacility code is disallowed, the beaconCode, sourceFacility, compuerId, and eramGufi elements are set to null.
    • Correct: 
      • Add "K" prefix if facility is a 3-letter US ARTCC and missing the "K".
      • Replace "KZAP" with the correct "PZAN", sometimes used for Anchorage.
    • Disallow: 
      • "TFMS"
      • 3-letter codes sourceFacility codes, except the ZSA (South America) and ZPA (Pacific/Australia) TFMS codes.
      • All 4-letter codes starting with "K", that are not the 20 US ARTCC codes, or the oceanic facilities "KONY" and "KOOA".

Corrects computerId

  • Pad with zeros to ensure 3-character length (if necessary)

Corrects beaconCode:

  • Pad with zeros to ensure 4-character length (if necessary)
FlightTypeAndCarrierUpdater

Sets the carrier:

  • M if a military flight : a message with sensitivity type military was received
  • GA if a general aviation flight : the ACID is a registration number (e.g. N454A)
  • First 3 letters of the ACID : if a normal ACID (e.g. AAL101)

Sets the flightType:

  • MILITARY if the sensitivity type military was received
  • SCHEDULED_AIR_TRANSPORT if a TFMS scheduled flight message was received (implies there was an OAG entry)
  • GENERAL_AVIATION if the carrier is historically a GA carrier, or the ACID is a registration number name pattern
IdacExtensionUpdater

Contains logic to make sure we have a properly set IDAC global ID needed for coordination with IDAC

  • If the IdacUpdate is fused flag is false then it's not a valid global id
  • If the Idac Global ID is the same as the UpstreamTmaId then it's not a valid global id
MeteredTimesUpdater This updater will filter out TBFM metered time (STA) values if the flight is pre departure. The times are not considered to be good pre departure and therefore we don't want to use them. We couldn't quite fit this into the mediation rule because we couldn't really add in the logic to determine if the flight was pre departure there.
ReleaseSourceUpdater Uses to set the source of an Apreq Release Time between IDAC and TBFM SWIM.
DepartureStandActualTimeUpdater If the fuser.updater.departureStandActualTime.allowAirlineTimes propery is set to true, this updater will set the departure stand actual time based on data received from either an airline message or STBO model processing of track data or controller entries. However, if the property is set to false, this updater will only set the departure stand actual time based on data from the STBO model.
SourceUpdater This updater sets the time at which the fuser is processing the flight and the update sources field. The update sources field is a string that contains all of the sources that have updated the flight and the timestamp of the last update from each source.
ControlledTimesUpdater Only allow TFMS to update a cancelled EDCT. This fixes a bug where TFMS would cancel and EDCT correctly, and then TBFM would set the EDCT back to the prior to when it was cancelled.
PreDepartureFlightPlanUpdater

Responsible for maintaining a list of pre-departure flight plans for unique sourceFacilty/computerId. Currently the primary flight plan source is TFMS messages triggered by ERAM. This updater also triggers FUSER source messages under certain conditions:

  • When the update cancels the "current" flight plan, the updater triggers a FuserFlight message to switch all flight plan data to the most recently updated one.
  • When the update changes the current sourceFacility/computerId, the updater triggers a FuserFlight message to switch all flight plan data to the data for the sourceFacility/ComputerId.

See Fuser Flight Plan Handling for more 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: May 22, 2019