AirTrafficSim: An open-source web-based air traffic simulation platform.

Air traffic management (ATM) research traditionally focuses on the macroscopic aspect of air transportation such as airspace design, traffic flow management, airport planning and scheduling, and more (Wu & Caves, 2002). Recently, with the new development of aerial vehicle concepts, including urban air mobility (UAM) and unmanned aircraft system (UAS), there has been a growing interest in performing ATM research, for example, conflict resolution using reinforcement learning (Wang et al., 2022), 4D-trajectory optimization (Tian et al., 2020), and even unmanned traffic management (UTM). Eurocontrol U-space (Barrado et al., 2020) and FAA/NASA UTM project (Kopardekar et al., 2016) are some examples of existing efforts in the industry to perform such research.


Statement of need
Air traffic management (ATM) research traditionally focuses on the macroscopic aspect of air transportation such as airspace design, traffic flow management, airport planning and scheduling, and more (Wu & Caves, 2002). Recently, with the new development of aerial vehicle concepts, including urban air mobility (UAM) and unmanned aircraft system (UAS), there has been a growing interest in performing ATM research, for example, conflict resolution using reinforcement learning (Wang et al., 2022), 4D-trajectory optimization (Tian et al., 2020), and even unmanned traffic management (UTM). Eurocontrol U-space (Barrado et al., 2020) and FAA/NASA UTM project (Kopardekar et al., 2016) are some examples of existing efforts in the industry to perform such research.
To facilitate microscopic ATM research, an agent-based simulation and visualization software is needed. However, most ATM simulation tools are commercial products aimed at training air traffic controllers and airspace planning. ATM simulation tools for research purposes that are easily accessible and open-source, such as BlueSky (Hoekstra & Ellerbroek, 2016), are still scarce. In addition, the weather impact study in air transportation is mostly location dependent, such that the weather influence factors differ for different climate conditions . Therefore, we developed AirTrafficSim to assist researchers to perform ATM research with an easy-to-use and comprehensive software environment to simulate air traffic movement and visualize the results. Compared to existing solutions, AirTrafficSim provides weather integration, a modern UI, and an easy-to-use API to control the aircraft with external modules. It is an open-source package that welcomes everyone to access and contribute. AirTrafficSim is a web-based air traffic simulation software written in Python and JavaScript. It is designed to visualize historical and research data, perform microscopic studies of air traffic movement with the integration of a weather database, and evaluate the performance of ATM algorithms. Figure 1 shows the architecture of AirTrafficSim.

Summary
AirTrafficSim contains a web-based frontend written in JavaScript using the Ionic React framework (Ionic, 2023) to provide an easy-to-use user interface (UI) to visualize both historical, such as ADS-B data from FlightRadar24 (Flightradar24, 2023) and OpenSky Network (Schäfer et al., 2014), and simulated air traffic and other data in a browser. The 3D modelling of the globe is supported by the CesiumJS library (CesiumJS, 2023) to stream high-resolution maps, terrains, and 3D building data. The library also provides a rich API to visualize dynamic geospatial data obtained from performing simulations. The UI can also plot aircraft parameters using the Plotly.js library (Plotly.js, 2023).
Meanwhile, the backend of AirTrafficSim has a Python web server using the Flask framework (PalletsProjects, 2023) to communicate with the UI using the WebSocket protocol. It also contains several modules, namely navigation, weather, autopilot, performance, and flight route detection, to simulate flight trajectories. The details of each module will be explained briefly below. Figure 2 showcases some of the key features of AirTrafficSim UI. The navigation module provides global airports, waypoints, navigation aids and fixes, airways, Standard Instrument Departures (SIDs), Standard Terminal Arrival Routes (STARs), and approach procedure information using the navigation database from X-Plane 11 (Laminar Research, 2022).
The weather module provides weather information including multi-level wind, pressure, temperature, and single-level surface precipitation data from the ECMWF ERA5 weather database (Hersbach et al., 2020). It also processes radar images provided by users as a source of high-resolution convective weather information, one example is the publicly available 256km rainfall radar image in Hong Kong (Lui et al., 2020).
The autopilot module processes the assigned flight plan and controls the aircraft to follow the plan from take-off to landing. It can also control the movement of aircraft with functions simulating ATC commands, enabling traffic flow simulation with user-designed algorithms. Non-standard manoeuvres that are sometimes used by air traffic controllers such as vectoring and holding can also be commanded.
The performance module calculates the aircraft state, such as speed, heading, vertical rate, and fuel consumption, for each time step. Currently, AirtrafficSim makes use of the licensed BADA performance model data from Eurocontrol (Nuic et al., 2010) but it is extensible to other performance models such as the open-source OpenAP model (Sun et al., 2020).
The flight route detection module detects the flight route including origin and destination airports, SIDs, and STARs from historical flight data and generates a flight plan for simulation.
AirTrafficSim can be applied flexibly for different ATM research settings. One of the recent works is to simulate and validate the solutions to an arrival sequencing problem in the Hong Kong International Airport by applying a mixed-integer linear programming algorithm (Nguyen et al., 2022). The software can also be used to tackle conflict resolution problems, route coordination and optimization problems, contingency management problems, and more.