Skip to main content

rojak: A Library and CLI Tool for Aviation Turbulence Analysis

CI CD codecov

status DOI

python Checked with pyright Formatted with ruff Contributor Covenant

rojak is a distributed python library and command-line tool for using meterological 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 European Centre for Medium-Range Weather Forecasts's (ECMWF) ERA5 reanalysis on pressure levels. Moreover, it is easily extendable to support other types of meteorological data.
  2. Retrieving and processing turbulence observations from Aircraft Meteorological Data Relay (AMDAR) data archived at National Oceanic and Atmospheric Administration (NOAA) and AMDAR data collected via the Met Office MetDB system.
  3. Computing 27 different turbulence diagnostics, such as the three-dimensional frontogenesis equation, turbulence index 1 and 2, negative vorticity advection, and Brown's Richardson tendency equation.
  4. Converting turbulence diagnostic values into the eddy dissipation rate (EDR) --- the International Civil Aviation Organization's (ICAO) official metric for reporting turbulence.

[!NOTE] This repository is under active development. As a result,

  1. The API is subject to change and may not be stable
  2. The documentation is incomplete and will be updated as development progresses.

We appreciate your understanding and encourage you to check back for updates.

Rojak is also a salad with Javanese origins. Colloquially (in Singlish), it means a mixture of things. This package is for a traditionally unconventional mixture of aviation meteorology (turbulence diagnostics) and (coming soon) aeroelasticity.

What could I use rojak for?

If you're an aviation meteorologist, rojak can be used to computing the various turbulence diagnostics and converting it into EDR like this map from the Aviation Weather Center.

Or if you're a researcher and you'd like to understand how turbulence is impacted by climate change, rojak can be used to compute the probability of encountering turbulence and examining how that has changed over time.

Documentation

Learn more about rojak at imperialcollegelondon.github.io/rojak/.

Installation

For installation instructions, please see the Installation Guide.

Metadata

Release files for rojak-cat 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for rojak-cat 1.0.1
File Size Uploaded Provenance Actions
rojak_cat-1.0.1.tar.gz 399.5 kB With provenance Details for rojak_cat-1.0.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for rojak-cat 1.0.1
File Interpreter ABI Platform Actions
rojak_cat-1.0.1-py3-none-any.whl Python 3 none any Details for rojak_cat-1.0.1-py3-none-any.whl

Total release size: 532.3 kB

Release files / rojak_cat-1.0.1.tar.gz

Download URL rojak_cat-1.0.1.tar.gz
Size 399.5 kB
Tags Source
SHA-256 checksum
How to use checksums
8a52cfe686e77aa6f9891325f222540bf03497334ea64876690f55d4fb0fffa6
BLAKE2b-256 checksum
How to use checksums
3f84e91b1a3278334e97966d917ed2c496112a099e2feaaea6683f2a0da831b3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 20, 2026.

Transparency log

Release files / rojak_cat-1.0.1-py3-none-any.whl

Download URL rojak_cat-1.0.1-py3-none-any.whl
Size 132.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b2973d89a9e2040a80b1f7f2cad610466923b372c4fcae3dce697a6bdc6c3fc8
BLAKE2b-256 checksum
How to use checksums
cf0547b7d934ca87d7106aea33391e88755fe2c4515f53ac106e1d353f00d701
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 20, 2026.

Transparency log

Security for rojak-cat 1.0.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for rojak_cat-1.0.1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 20, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page