Skip to content

Latest commit

 

History

History
105 lines (90 loc) · 3.54 KB

spawnPatternReadme.md

File metadata and controls

105 lines (90 loc) · 3.54 KB

Spawn Patterns

In version 3.3.0 we completely changed how aircraft coming into the system are defined. We introduced Spawn Patterns. Spawn Patterns provide a simple, consistent way to describe aircraft coming into the system. Spawn Patterns are used for both arrivals and departures. The shape of the data is exactly the same for both, all keys are expected to be passed all the time.

Lets look at some examples before we continue:

// Departures
{
     "origin": "KLAS",
     "destination": "",
     "category": "departure",
     "route": "KLAS.BOACH6.HEC",
     "altitude": "",
     "speed": "",
     "method": "random",
     "rate": 5,
     "airlines": [
         ["aal", 10],
         ["ual", 10],
         ["ual/long", 3]
     ]
 }

// Arrivals
{
    "origin": "",
    "destination": "KLAS",
    "category": "arrival",
    "route": "BETHL.GRNPA1.KLAS",
    "altitude": [30000, 40000],
    "speed": 320,
    "method": "cyclic",
    "rate": 17.5,
    "period": 75,
    "offset": 25,
    "airlines": [
        ["aal", 10],
        ["ual", 10],
        ["ual/long", 3]
    ]
}

// Overflights
{
    "origin": "",
    "destination": "",
    "category": "overflight",
    "route": "DAG.V21.MLF",
    "altitude": 9000,
    "speed": 320,
    "method": "random",
    "rate": 8,
    "airlines": [
        ["aal", 10],
        ["ual", 10],
        ["ual/long", 3]
    ]
}

Key descriptions

  • (*) denotes a required field
  • All keys are required to be present and can be left as an empty string when not used by a particular pattern. ex "destination": "" for an arrival pattern.

airlines*

List of airlines, and their spawn weight. A higher weight will increase the frequency that a particular airline is chosen. Airline selections are random based on weight. Typically, you should use the approximate number of flights that airline would have on that route in a given day.

  • Should always be a two-dimensional array
  • Should always have a shape of either:
    • [AIRLINE_ID, FREQUENCY_WEIGHT]
    • [AIRLINE_ID/AIRLINE_FLEET, FREQUENCY_WEIGHT]

origin (* for departures only)

  • ICAO identifier of the origin airport

destination (* for arrivals only)

  • ICAO identifier of the destination airport

category*

  • Must be arrival, departure, or overflight.

route*

  • Should be in the shape of a routeString.
    • For direct routes: FIXXA..FIXXB..FIXXC..FIXXD
    • For complex routes: FIXXA..FIXXB..ENTRY.PROCEDURE_ID.EXIT
    • Prepend a fix name with @ to hold at that fix [email protected]
    • Prepend a three digit heading with # to fly that heading until given further instructions

altitude (* for arrivals and overflights)

Altitude an aircraft spawns at. If a min/max is provided an aircraft will spawn at a random altitude within the range, rounded to the nearest 1,000ft. This should be a number (eg. 18000), not a string (eg "18000").

  • Should be a number in MSL altitude.
  • Should always have a shape of either:
    • a single number
    • an array of [MIN_ALTITUDE, MAX_ALTITUDE]

speed (* for arrivals)

Speed an aircraft spawns at, expressed in knots of indicated airspeed. This should be a number (eg. 320), not a string (eg "320").

method*

Defines the method used to calculate delay between aircraft spawns.

  • Should always be one of: cyclic, random, surge, wave

See spawnPatternMethodReadme.md for more information

rate*

Rate at which aircraft spawn expressed in ACPH (aircraft per hour). This should be a number (eg. 15), not a string (eg "15").