Basics

Real world ATC is all about efficiency – runway space at major airports is limited, so ATC aims to use the existing runways, taxiways, and airspace in the most efficient manner to arrive and depart as many planes per hour as possible. The “flow” system in WED/X-Plane aim to model real world procedures that were designed for real world efficiency.

An airport ATC “flow” defines how the runways in an airport are used. Each flow tells ATC:

  • Which runways are used, and in which directions
  • Whether the runway is used for takeoffs, landings, or both
  • What kinds of planes use which runways.

Real world flows are often named after the direction of traffic, e.g. “east flow” and “west flow” but these names are never exposed to pilots. In the same manner, WED’s flows are named for reference and log output only and are never displayed to X-Plane users.

Flows are picked based on wind and weather conditions so aircraft can land and take off into the wind. They are also sometimes based on noise abatement – the route the aircraft flies may be restricted to not fly over residential areas at low altitude and high power.

Only one “flow” is used at an airport at a single time – each flow is designed so that all of the runways used in the flow can be used at the same time safely to have maximum efficiency at the airport.

While X-Plane doesn’t move as many airplanes as KORD, we support the same kinds of rules for realistic routings and flow.

A detailed example: KBOS

Boston Logan has five runways that it uses for major operations: two parallel runways (4L/4R), two near-parallel runways (33L and 32) and one additional runway (9). The airport also has a noise restrictions: no aircraft ever land on runway 14 or depart on runway 32.

Based on this, KBOS has four possible main flows:

“Northeast” VFR flow:
Jets land on 4R
Jets depart 4L and 9
Heavy jets depart 4R
Props land and depart 4L

“Southwest” flow:
Jets land on 27
Jets depart 22R
Heavy jets depart 22L
Props land 22L and hold short of 27

“Northwest” flow
Jets depart 27
Heavy jets depart 33L
Props depart 27
Jets land 33L and 27
Props land 34

“Southeast” flow
Jets land 15R
Props land 15R and 15L (15L is tiny)
Jets depart 15R
Props depart 14

These flows are ordered from most efficient to least efficient for the airport. The southeast flow is a huge bottleneck because KBOS can’t land on runways 9 or 14; all planes have to land on one runway. It is also hard for ATC to land a prop behind a jet because of wake turbulence rules and the difference in speeds. By comparison the northeast flow provides the highest operations rate, with jets landing parallel to props (with each stream of aircraft packed tightly) and room for completely independent departures on runway 9.

Flows in WED & X-Plane

Selection Rules and Priority

The main rules for flow selection in X-Plane are:

  • Only one flow may be running at a time.
  • X-Plane will evaluate each of your flows in the order they appear in WED – the top flow in the hierarchy is evaluated first.
  • The first flow in which all of its rules “pass” is selected.

This means flows should be arranged in WED so that the ideal, most-used flow is first. It will be picked the majority of the time and will only be bypassed if it absolutely cannot be used. In our KBOS example, you would want to arrange the flows in WED in the order they’re listed above (ordered by high to low efficiency).

It is important that for any conditions at least one flow be selected; given bad enough weather conditions in real life the airport might be shut down, but in X-Plane the airport must remain open. So it may make sense to have your last flow have no rules, so it is a “catch-all”.

Flow basics & rules

Each airport in WED can have one or more flows – if no flow is provided, X-Plane just makes one up.

Flows contain two kinds of data:

  • Runway use rules tell which runways will be used.
  • Restrictions that control whether the flow can be used at any given time in the sim (time & wind rules).

Runway Use Rules

Each flow has one or more “runway use” that describes a particular runway with use restrictions.

Runway use rules describe:

  • The end of the runway to start from
  • Departure frequency for aircraft departing from this runway using this rule
  • Whether it is used for arrivals, departures, or both
  • The type of aircraft operations
  • Departure direction range
  • Initial assigned heading range

Flows also have a “pattern” runway for VFR traffic patterns, but X-Plane ignores the Pattern Runway and Pattern Direction fields on flows because we don’t support VFR traffic patterns yet. You must still include a runway use – just having the traffic pattern runway will not make that runway used. (The VFR pattern runway on the flow doesn’t tell us what kinds of planes use the runway, etc.)

The runway use rule for the pattern runway should include both arrivals and departures. But do not set a flow to allow arrivals (or departures) on both ends of a runway, or you risk head on collisions! For example, do NOT arrive on 4R AND arrive on 22L. In the majority of cases, if a runway allows arrivals and departures at the same time they will go the same direction and use the same runway.

It is okay to have a runway in a flow more than once – you might need this for complex rules.

Example:

KBOS north flow:
4R – arrivals, jets + heavies
4R – departures, heavies

In this case we need to use the 4R runway use twice. For arrivals jets and heavies land 4R, but for departure, ONLY heavies use 4R. The logic behind this case is the heavies need the long runway 4R for departure, but the jets can depart runway 9 for more operations.

You can set this example up in WED two different ways with the same result.

Option 1:
Create a use rule and set traffic type to Jets & Heavy Jets
Set Operations to Arrivals only
Create another use rule
Set traffic type to Heavy Jets
Set operations to departures

Option 2:
Create a use rule
Set traffic type to Heavy Jets
Set operations to departures & arrivals
Create a new rule
Set traffic to Jets
Set operations to arrivals only

The departure frequency field is required but is not fully implemented in X-Plane. Unless you have created a custom ATC frequency file, this field will be rewritten by X-Plane to match its 23 ATC frequency sectors. (ATC departure frequencies can be specified in WED but will only appear on the local map as pilot reference. They are not actually in use by X-Plane at this time.)

Runway uses also include the departure direction range. This is the rough direction from the airport that the aircraft will fly (e.g. if we depart KBOS for San Francisco, our direction is west). This is specified in the Legal on-course hdg min/max in WED. Given two runways that can both depart an aircraft, X-Plane will pick a runway based on departure direction when possible. This lets you specify things like “north departures use 27R, south departures use 27L”, to avoid aircraft crossing in-air.

Runway uses also contain an initial heading. These are the ATC Assigned hdg min/max fields in WED. This is the heading that ATC will assign the aircraft off of the runway – it can be a range so that ATC can “fan out” aircraft for faster departures. This is another case where two runway uses can be used, e.g. from our example KBOS northeast flow:

9 – departures – jets, initial heading 090, departure heading 000 – 360
9 – departure – props, initial heading 150, departure heading 090 – 180
4L – departure – props, initial heading 360, departure heading 180 – 090

In other words, most props will depart runway 4L and head directly north. But props departing to the south or east will depart runway 9 and immediately turn south-east, getting out of the way of jets. Jets will take off runway 9 and go straight.

(The southeast runway 9 heading lets small airplanes going to cape cod go straight out toward their destination – the jets fly straight to get out over water and to not make noise over the city of Boston.)

Note that departure direction and initial direction do not have to match. E.g. at KBOS a jet whose departure direction is West might still get an initial direction of East – this means the plane initially flies the wrong way (usually for noise abatement) and is then turned around.

Time, wind and visibility rules

Flow rules come in three flavors:

  • Time rules define during what times of day the flow may be used.
  • Wind rules define under what wind conditions the flow may be used.
  • Visibility rules define what visibility is required to use the flow.

You can have more than one wind and time rule for a flow; if you do, the flow will pass if any of the rules of that type pass. In other words, you can do this:

Flow “northeast”
Wind < 4 knots, 0-360
Wind < 15 knots, 270 – 090
Flow “southwest”
Wind < 15 knots, 090 – 270

In other words, if the wind is less than four knots or the wind is coming from the north, we use the northeast flow. This “or” behavior is useful because often airports will use the most efficient flow when the wind is very low.

Similarly, the time rules can have more than one time, e.g. for two peak periods.

For all weather-related rules (wind, visibility), you specify the ICAO code of a METAR reporting station. For major airports, this is the airport’s ICAO, but for small satellite airports, you can use the ICAO code of a larger nearby airport. This is for cases where a small GA airport’s runway use must be changed to affect the runway use of the neighboring large airport, or where several airports must adjust their runway uses all at once due to proximity.

Typically an airport with multiple runways will have higher priority “VFR” flows with higher visibility requirements and multiple runways in use, and then lower priority “IFR” flows with no visibility requirements. This lets X-Plane’s ATC use more runways in good conditions and just one runway in bad conditions.

Debugging Flows and Flow Changes

When the weather changes, X-Plane will wait one minute before beginning to change flows. When it starts to change flows, the sim goes through three phase:

  • Departure drain. All new departures are held, but existing departures are allowed to depart using the old flow. All arrivals continue to arrive using the old flow.
  • Arrival drain. Once the number of non-held departures falls to zero, all arrivals not on final are re-routed to the new flow. Existing arrivals are allowed to land on the old flow.
  • Complete change-over. Once the existing legacy arrivals have landed, the new flow is fully in effect and the ground hold is lifted.

Note that if the weather changes back to the old flow in phase 1, the old flow is resumed; if the weather changes back in phase 2, we continue to the new flow.

The logic behind step 1 is: we have to let all taxiing departures depart on the old runway because there might not be enough room for aircraft to turn around on the pavement. While this is happening we don’t re-route arrivals to avoid a head-on collision. The logic behind step 2 is: as long as pending arrivals are arriving in the old runway, we can’t release the gate hold because the departing aircraft might block the arrivals’ route to the gate.

By default the ATC system logs some information about flow changes to Log.txt, but you can turn on advanced and detailed logging by setting the art control atc/debug/rwy_flow to 1. Detailed logging starts after the art control is set. Log.txt can be viewed in real-time using the “developer console” menu item in the Special menu.

You can also view more details about runway selection by setting the art control atc/debug/rwy_selection to 1.

16 comments on “ATC Flow Authoring in WED

  1. In the new updates of x plane the atc has changed. It used to be a box that allows you to click on frequencies and to read back messages or request things too. Now when i updated x plane and started a flight a pressed enter to open up my atc menu but instead it just came up with a long bar and a blue mark flashing in it waiting for you to type something, how do you use this and what do you type ? Its way more complicated than the old atc which i found more easy and simple to use

    1. That’s not a change to ATC – you have a multiplayer session enabled, so that sends text to the other multiplayer players. Reset your network settings or delete all multiplayer connections under networking and you’ll have ATC back.

  2. Hello! Great Laminar Research team!
    Question: Is ti possible to close a rwy for takeoff and the opossite for ladings?
    Thanks a lot.

  3. As someone trying to put in flows for the first time, I’d really appreciate some specific instructions on how to enter visibility rules; but they’re only mentioned, not described, in this article. Is there another source for such information?

    1. You enter visibilities and ceiling in the property fields named accordingly, the units in use are displayed by WED.

      If your question is about what these mean and how to determine what to put in – please refer to pilot training materials or web sources like //www.aviationweather.gov/cva/help
      //www.universalweather.com/blog/aviation-weather-tips-all-you-need-to-know-about-ceilings/
      //www.aopa.org/news-and-media/all-news/2008/april/flight-training-magazine/basic-vfr

  4. Hello!

    I keep getting a couple of warnings when exporting an airport:

    Warning: Wind Rules in flow ‘Northeasterly flow’ allow Runway 23 to be used with up to 35 kts tailwind component @ 35kts winds

    Warning: Wind Rules in flow ‘Souththeasterly flow’ allow Runway 05 to be used with up to 35 kts tailwind component @ 35kts winds

    I have only one wind rule on rwy 05:

    WIND 999@135-315

    Runway heading is 045. I have tried different configurations such as 134-316 / 136-314 and none have cleared the warnings.

    Would this be a bug or is there a way around this?

    1. If wind is coming from somewhere between 135° and 315° and your runway heading is 45° it IS a tailwind.
      Say wind is 50kts @ 225° – this fits your rule but I wouldn’t want to land with that tailwind. Try changing the rule to 5@135-315 which allows a light tailwind on that runway.

  5. Hi All,

    i also got the same warnings although I entered the same data as per tutorials in the Xplane org Youtube videos. Could not understand at all. Because the videos were made during X-Plane 9 or 10 version time.

  6. From what i understand, xplane is designed so we can land under any conditions, So on top of your standard rules, you need to have a catch all, that will allow your plane to land in any conditions, ie 0 visibilty and no altitude restriction. So for a single runway you need to include a rule that fits those condition for either end as a catch all. IE current conditions dont fit your normal rules. ie have winds set to 100kt, Than that warning will go away. Xplane will always use rules in order but if your rules dont fit condition it will use the catch all.

  7. Hi
    In my real life airport UAAR there is only one ATC tower frequency. But when I add ATC Flow on WED, I need detent ATC Departure frequency. What I can do in this case, if I have only tower freq?

  8. Flow rules are the most confusing thing about airport creation. There have been so many changes to how they are implemented in different versions of X-Plane that it’s hard to follow what instructions go with what. On top of that the instructions in the WED manual and in notes such as this are cryptic, a lot could be done to improve this. It seems like an entire manual is needed on this subject, with more examples and clarifications that are updated regularly; detailed definition of the various fields in the rules and examples of how they’re used, and better explanation of what all the nonsensical warnings mean. That last one goes for all of WED but most specially for the flow rules.

  9. I’m having trouble creating a “simple” flow rule for KRDU that says never use runways 32/14. ATC keeps choosing this short runway for heavies no matter the weather condition. I created an ATC flow for 14 and 32. Then I created a runway use rule for both 14 and 32 setting the allowed “Traffic Type” and “operations” options to “NONE.” These are the only flows listed for KRDU. In almost every case, ATC sets the active to 32 no matter the wind direction, even if there is a better runway available. I’ve tried other variations but with no luck. Only way to (sometimes) get ATC to select the correct runway is to delete all AI aircraft then put them back in.

    Any suggestions to resolve this?

    Thanks,
    James

    1. You need to set up a rule for runways 5L/R and 32L/R. X-Plane is using 14/32 because that is the only flow specified.

Leave a Reply

Your email address will not be published. Required fields are marked *

Please do not report bugs in the blog comments.
Only bugs reported via the X-Plane Bug Reporter are tracked.