Version 0.4.7 - 05/15/2023
Creates scenario files for ATCTrainer by Collin Koldoff using data from FlightAware*.
- Download and unzip the
FAST.zippackage from the link above or on this repository's releases page. - Move the
FASTfolder to a directory of your choosing. TheFAST.txtconfiguration file must be saved in theFASTfolder or in yourDownloadsfolder. - Download and install the latest version of Python.
- Download and install the latest version of Firefox or Chrome.
FASTwill automatically update files after running any file.
APP_SCRAPE.py: Generates a CSV file containing aircraft data for arrivals from a specified airport. The arrival data is specifically targeted for nearby inbound arrivals joining a final approach course. This is useful for generating S1/S2 files.
ARR_SCRAPE.py: Generates a CSV file containing aircraft data for arrivals from a specified airport. The arrival data is specifically targeted for distant inbound arrivals established on a STAR or other routing. This is useful for generating S3 files.
DEP_SCRAPE.py: Generates a CSV file containing aircraft data for IFR departures from a specified airport.
DEP_VFR.py: Generates a CSV file containing aircraft data for a specified number of VFR departures.
APP_UPLOAD.py: Uploads approach (APP_SCRAPE) CSV files to vNAS Data Admin.
ARR_UPLOAD.py: Uploads approach (ARR_SCRAPE) CSV files to vNAS Data Admin.
DEP_UPLOAD.py: Uploads departure (DEP_SCRAPE and DEP_VFR) CSV files to vNAS Data Admin.
FAST.txt: Configuration file for all FAST settings. See below for more specific information.
FAST_UPDATE.py: Updates all FAST files, merging previous configuration settings into a new configuration file.
-
The
FAST.txtconfiguration file must be saved in theFASTfolder or in yourDownloadsfolder. -
Each configuration line is composed of a key and value, separated by an equals sign (
=). e.g.AIRPORT=KSFO,AIRPORTis the key andKSFOis the value. -
Do not modify the name of any key (the part before the equals sign (
=). -
Any text after the equals sign (
=) is included in your configuration setting.
AIRPORT: the specified airport for the scenario being generated
AIRPORT=KSFO:KSFOis the specified airport
ARTCC: ARTCC that the scenario is being generated for in the vNAS Data Admin
BROWSER: the specified browser to utilize
BROWSER=Firefox:FirefoxorChromeare acceptable values (case insensitive)
SLOW_INTERNET_FACTOR: this value slows down page loading when increased, which may be necessary to download/upload data
-
SLOW_INTERNET_FACTOR=1: loads pages at the normal speed -
SLOW_INTERNET_FACTOR=2: pages load2times slower than normal
FLIGHTAWARE_USER: FlightAware username
FLIGHTAWARE_PASS: FlightAware password
SIM_USER: SIM CID
SIM_PASS: SIM password
NUM_DEP: the number of IFR departures generated, may ultimately be slightly less than this value
GATE_REPLACE: any gates listed here will be replaced by the value after the colon (:); useful when a gate may have multiple definitions
GATE_REPLACE=A1:A1V,A6:A6S: planes parking at gateA1will be assignedA1Vin the CSV output file
NUM_VFR: the number of VFR aircraft generated, cannot be greater than the number of available GA parking spots
NUM_VFR=20: 20 VFR departures will be generated (less will be generated if there are fewer than 20 available GA parking spots)
GA_PARKING: this is a list of pre-defined GA parking spots in your aircraft file, all separated by commas (,)
GA_PARKING=SIG1,SIG2,SIG3,41-1,41-2,41-3: this would indicate that GA parking is available at spotsSIG1,SIG2,SIG3,41-1,41-2, and41-3
GA_PARKING_RESERVED: these GA parking spots will not be utilized in generating VFR aircraft
GA_PARKING_RESERVED=SIG1,41-1: parking spotsSIG1and41-1would not be utilized
SPAWN_DELAY_RANGE: spawn delays (in seconds) will be randomly generated between this range of numbers, separated by a hyphen (-)
SPAWN_DELAY_RANGE=0-900: spawn delays will be a random number between0and900seconds
VFR_TYPES: a list of possible VFR departure aircraft types separated by commas (,) with each aircraft type including a weighting following the type code and a colon (:)
-
VFR_TYPES=C172:500,C182:300,P28A:200: in this example, aC172(500/1000) is 1.67 times as likely to be generated as aC182(300/1000) and 2.5 times as likely as aP28A(200/1000) -
VFR_TYPES=C172:1,C182:1,P28A:1: in this example, all aircraft are equally likely (1/3) of being generated -
The default values included in the default configuration file approximately represents common piston aircraft in the U.S.
DEP_SCENARIO: the scenario ID that has already been created in the vNAS Data Admin
-
The scenario ID can be found after
/training/scenarios/in the vNAS Data Admin URL -
DEP_SCENARIO=01GX6E5E0HQKHRR3EA0V42VWPH: the following URL would result in this configuration value,https://data-admin.virtualnas.net/training/scenarios/01GX6E5E0HQKHRR3EA0V42VWPH
DEP_CSV_FILE: the CSV file utilized for data upload, located either in your Downloads folder or the FAST folder, the .csv extension does not need to be included
DEP_CSV_FILE=SFO_DEP_IFR_230403-1530: the CSV file being utilized would beSFO_DEP_IFR_230403-1530.csv
DEP_TIME_COMPRESSION: this causes all spawn delays to be divided by the specified value
-
DEP_TIME_COMPRESSION=4: if a spawn delay was originally400seconds, it would be reduced to100seconds -
This is useful for spawning in more departures than an airport may typically see in a certain period of time for training purposes
DEP_TIME_OFFSET: all spawn delays are offset (sooner) by this amount of time in seconds; all spawn delays less than the offset spawn immediately; the offset is applied after any DEP_TIME_COMPRESSION above
-
DEP_TIME_OFFSET=600: all aircraft spawn600seconds sooner (afterDEP_TIME_COMPRESSIONis applied); an aircraft with a spawn delay of300seconds would spawn immediately; an aircraft with a spawn delay of1250seconds would spawn after650seconds -
This is useful for spawning in aircraft immediately into a file
NUM_APP: the number of IFR arrivals generated which spawn on final approach, may ultimately be slightly less than this value
APP_PATHS: a list of arrival paths to determine which runway an aircraft lands on
APP_PATHS=28L:HEMAN DUYET,28R:CEPIN AXMUL: aircraft that fly closest to the pathHEMAN DUYETwill be assumed to be landing on runway28L, aircraft that fly closest to the pathCEPIN AXMULwill be assumed to be landing on runway28R
APP_INTC: this is the lowest altitude that an aircraft will spawn at
APP_INTC=4000: the inbound aircraft's position, time, and altitude at the last data point before reaching (or going below)4000feet will be recorded
APP_DCT: a list of routing information for aircraft to join a final approach course
APP_DCT=28L:HEMAN,28R:CEPIN: all aircraft arriving runway28Lwill fly directly toHEMANand join the approach course
APP_SCENARIO: see DEP_SCENARIO above for usage
APP_CSV_FILE: see DEP_CSV_FILE above for usage
APP_TIME_COMPRESSION: see DEP_TIME_COMPRESSION above for usage
- For busy airports,
APP_TIME_COMPRESSIONshould likely be set to1
APP_TIME_OFFSET: see DEP_TIME_OFFSET above for usage
APP_TIME_OFFSET=0is the recommended value for most situations
APP_MAX_DELAY: this can be used to reduce the gap between arrivals
-
APP_MAX_DELAY=150: two aircraft will have at most a150second delay between each other -
This setting should be utilized before modifying
APP_TIME_COMPRESSIONorAPP_TIME_OFFSET
CROSS_RESTRICT: a list of crossing restrictions for inbound aircraft
CROSS_RESTRICT=HEMAN:3100,CEPIN:3000: aircraft routed viaHEMANwill cross it at3100feet and210knots
SPEED_RESTRICT: a list of speed restrictions for inbound aircraft
SPEED_RESTRICT=HEMAN:180 DUYET,CEPIN:180 AXMUL: aircraft routed viaHEMANwill maintain180knots untilDUYET(after passingHEMAN)
NUM_ARR: the number of IFR arrivals generated which spawn at a specified location on an arrival, may ultimately be slightly less than this value
ARR_PATHS: the arrival paths that will be searched for in an aircraft's route, the specified spawn in location, and the specified distance before the spawn in location, all separated by colons (:), each path is separated by a comma (,); the number sign (#) can be used as a wildcard for an arrival version number
ARR_PATHS=SERFR#:NRRLI:10,ALWYS CEDES ARCHI:ALWYS:10: aircraft on theSERFRarrival (of any version, e.g.SERFR4) will spawn in no closer than10nm beforeNRRLI; aircraft with the routeALWYS CEDES ARCHIin their flightplan will spawn in no closer then10nm beforeALWYS
NOTE: in order to use ARR SCRAPE, a Waypoints.xml file must be placed in either the FAST folder, %appdata%\vSTARS, or %localappdata%\vERAM; the script will not work without this file included in either of those locations
ARR_SCENARIO: see DEP_SCENARIO above for usage
ARR_CSV_FILE: see DEP_CSV_FILE above for usage
ARR_TIME_COMPRESSION: see DEP_TIME_COMPRESSION above for usage
- For busy airports,
ARR_TIME_COMPRESSIONshould likely be set to1
ARR_TIME_OFFSET: see DEP_TIME_OFFSET above for usage
ARR_TIME_OFFSET=0is the recommended value for most situations
ARR_MAX_DELAY: this can be used to reduce the gap between arrivals
-
ARR_MAX_DELAY=120: two aircraft will have at most a120second delay between each other -
This setting should be utilized before modifying
ARR_TIME_COMPRESSIONorARR_TIME_OFFSET
RWY_TRANSITION: runway transitions can be specified if the arrival requires one
RWY_TRANSITION=DYAMD:28R,ALWYS:19L: aircraft on theDYAMDarrival will fly the28Rtransition; aircraft on theALWYSarrival will fly the19Ltransition
* Josh Glottmann is not responsible for any misuse of this software.