rojak: A Python library and tool for aviation turbulence diagnostics
File(s) 10.21105.joss.09282.pdf (890.46 KB)
Published version
Author(s)
Wong, Hui Ling
Palacios, Rafael
Gryspeerdt, Edward
Type
Journal Article
Abstract
Aviation turbulence is atmospheric turbulence occurring at length scales large enough (ap proximately 100m to 1km) to affect an aircraft (Sharman, 2016). According to the National Transport Safety Board (NTSB), turbulence experienced whilst onboard an aircraft was the
leading cause of accidents from 2009 to 2018 (NTSB, 2021). Clear air turbulence (CAT) is a form of aviation turbulence which cannot be detected by the onboard weather radar. Thus, pilots are unable to preemptively avoid such regions. In order to mitigate this safety risk, CAT diagnostics are used to forecast turbulent regions such that pilots are able to tactically avoid
them.
rojak is a parallelised Python library and command-line tool for using meteorological data to forecast CAT and evaluating the effectiveness of CAT diagnostics against turbulence observations. Currently, it supports,
1. Computing turbulence diagnostics on meteorological data from the European Centre
for Medium-Range Weather Forecasts’s (ECMWF) ERA5 reanalysis on pressure levels
(Hersbach, 2023). Moreover, it is easily extendable through a software update to support
other types of meteorological data.
2. Retrieving and processing turbulence observations from Aircraft Meteorological Data
Relay (AMDAR) data archived at the National Oceanic and Atmospheric Administration
(NOAA)(NCEP Meteorological Assimilation Data Ingest System (MADIS), 2024) and
AMDAR data collected via the Met Office MetDB system (Met Office, 2008)
3. Computing 27 different turbulence diagnostics, such as the three-dimensional fronto genesis equation (Bluestein, 1993), turbulence index 1 and 2 (Ellrod & Knapp, 1992),
negative vorticity advection (Sharman et al., 2006), and Brown’s Richardson tendency
equation (Brown, 1973).
4. Converting turbulence diagnostic values into the eddy dissipation rate (EDR) — the International Civil Aviation Organization’s (ICAO) official metric for reporting turbulence (Meteorological Service for International Air Navigation, 2010)
These features not only allow users to perform operational forecasting of CAT but also to interrogate the intensification in frequency and severity of CAT due to climate change (Kim et al., 2023; Storer et al., 2017; Williams, 2017), such as by analysing the climatological distribution of the probability of encountering turbulence at different severities (e.g. light turbulence or moderate-or-greater turbulence) for each turbulence diagnostic. These applications involve high-volume datasets, ranging from tens to hundreds of gigabytes, necessitating the use of parallelisation to preserve computational tractability and efficiency, while substantially reducing execution time. As such, rojak leverages Dask to process larger-than-memory data and to run in a distributed manner (Dask Development Team, 2016).
The name of the package, rojak, is inspired by its wide range turbulence diagnostics and its applications. While rojak refers to a type of salad, it is also a colloquial term in Malaysia and Singapore for an eclectic mix, reflecting the diverse functionality of the package.
leading cause of accidents from 2009 to 2018 (NTSB, 2021). Clear air turbulence (CAT) is a form of aviation turbulence which cannot be detected by the onboard weather radar. Thus, pilots are unable to preemptively avoid such regions. In order to mitigate this safety risk, CAT diagnostics are used to forecast turbulent regions such that pilots are able to tactically avoid
them.
rojak is a parallelised Python library and command-line tool for using meteorological data to forecast CAT and evaluating the effectiveness of CAT diagnostics against turbulence observations. Currently, it supports,
1. Computing turbulence diagnostics on meteorological data from the European Centre
for Medium-Range Weather Forecasts’s (ECMWF) ERA5 reanalysis on pressure levels
(Hersbach, 2023). Moreover, it is easily extendable through a software update to support
other types of meteorological data.
2. Retrieving and processing turbulence observations from Aircraft Meteorological Data
Relay (AMDAR) data archived at the National Oceanic and Atmospheric Administration
(NOAA)(NCEP Meteorological Assimilation Data Ingest System (MADIS), 2024) and
AMDAR data collected via the Met Office MetDB system (Met Office, 2008)
3. Computing 27 different turbulence diagnostics, such as the three-dimensional fronto genesis equation (Bluestein, 1993), turbulence index 1 and 2 (Ellrod & Knapp, 1992),
negative vorticity advection (Sharman et al., 2006), and Brown’s Richardson tendency
equation (Brown, 1973).
4. Converting turbulence diagnostic values into the eddy dissipation rate (EDR) — the International Civil Aviation Organization’s (ICAO) official metric for reporting turbulence (Meteorological Service for International Air Navigation, 2010)
These features not only allow users to perform operational forecasting of CAT but also to interrogate the intensification in frequency and severity of CAT due to climate change (Kim et al., 2023; Storer et al., 2017; Williams, 2017), such as by analysing the climatological distribution of the probability of encountering turbulence at different severities (e.g. light turbulence or moderate-or-greater turbulence) for each turbulence diagnostic. These applications involve high-volume datasets, ranging from tens to hundreds of gigabytes, necessitating the use of parallelisation to preserve computational tractability and efficiency, while substantially reducing execution time. As such, rojak leverages Dask to process larger-than-memory data and to run in a distributed manner (Dask Development Team, 2016).
The name of the package, rojak, is inspired by its wide range turbulence diagnostics and its applications. While rojak refers to a type of salad, it is also a colloquial term in Malaysia and Singapore for an eclectic mix, reflecting the diverse functionality of the package.
Date Issued
2025-12-13
Date Acceptance
2025-12-01
Citation
Journal of Open Source Software, 2025, 10 (116)
ISSN
2475-9066
Publisher
Journal of Open Source Software
Journal / Book Title
Journal of Open Source Software
Volume
10
Issue
116
Copyright Statement
Authors of papers retain copyright and release the work under a Creative Commons Attribution 4.0 International License (CC BY 4.0).
License URL
Publication Status
Published
Article Number
9282
Date Publish Online
2025-12-13
