Metadata-Version: 2.4
Name: rojak_cat
Version: 1.0.1
Summary: rojak a package with a blend of features -- from turbulence diagnostics to aeroelasticity
Project-URL: repository, https://github.com/ImperialCollegeLondon/rojak
Project-URL: documentation, https://imperialcollegelondon.github.io/rojak/
Project-URL: issues, https://github.com/ImperialCollegeLondon/rojak/issues
Author-email: Hui Ling Wong <71387295+wong-hl@users.noreply.github.com>
License-File: LICENSE
Keywords: aeroelasticity,aerospace,avaiation,climate,contrails,meteorology,turbulence
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Science/Research
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Atmospheric Science
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Typing :: Typed
Requires-Python: >=3.12
Requires-Dist: crick
Requires-Dist: dask
Requires-Dist: distributed
Requires-Dist: h5netcdf[h5py]
Requires-Dist: pydantic
Requires-Dist: pyproj
Requires-Dist: pyyaml
Requires-Dist: scipy
Requires-Dist: sparse
Requires-Dist: xarray
Requires-Dist: zarr
Provides-Extra: amdar
Requires-Dist: dask-geopandas; extra == 'amdar'
Requires-Dist: geopandas; extra == 'amdar'
Requires-Dist: netcdf4; extra == 'amdar'
Requires-Dist: pyarrow; extra == 'amdar'
Provides-Extra: cli
Requires-Dist: cartopy; extra == 'cli'
Requires-Dist: cdsapi>=0.7.5; extra == 'cli'
Requires-Dist: dask-geopandas; extra == 'cli'
Requires-Dist: geopandas; extra == 'cli'
Requires-Dist: geoviews; extra == 'cli'
Requires-Dist: holoviews; extra == 'cli'
Requires-Dist: hvplot; extra == 'cli'
Requires-Dist: matplotlib; extra == 'cli'
Requires-Dist: netcdf4; extra == 'cli'
Requires-Dist: pyarrow; extra == 'cli'
Requires-Dist: pypalettes; extra == 'cli'
Requires-Dist: typer; extra == 'cli'
Provides-Extra: ecmwf
Requires-Dist: cdsapi>=0.7.5; extra == 'ecmwf'
Provides-Extra: plot
Requires-Dist: cartopy; extra == 'plot'
Requires-Dist: geoviews; extra == 'plot'
Requires-Dist: holoviews; extra == 'plot'
Requires-Dist: hvplot; extra == 'plot'
Requires-Dist: matplotlib; extra == 'plot'
Requires-Dist: pypalettes; extra == 'plot'
Description-Content-Type: text/markdown

# `rojak`: A Library and CLI Tool for Aviation Turbulence Analysis

[![CI](https://github.com/ImperialCollegeLondon/rojak/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/ImperialCollegeLondon/rojak/actions/workflows/ci.yml)
[![CD](https://github.com/ImperialCollegeLondon/rojak/actions/workflows/cd.yml/badge.svg?branch=master)](https://github.com/ImperialCollegeLondon/rojak/actions/workflows/cd.yml)
[![codecov](https://codecov.io/gh/ImperialCollegeLondon/rojak/graph/badge.svg?token=0COCM07N7R)](https://codecov.io/gh/ImperialCollegeLondon/rojak)

[![status](https://joss.theoj.org/papers/efb0bc9eab2eadeebc1203d15a3203e5/status.svg)](https://joss.theoj.org/papers/efb0bc9eab2eadeebc1203d15a3203e5)
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.17882683.svg)](https://doi.org/10.5281/zenodo.17882683)

[![python](https://img.shields.io/pypi/pyversions/rojak-cat.svg)](https://github.com/ImperialCollegeLondon/rojak)
[![Checked with pyright](https://microsoft.github.io/pyright/img/pyright_badge.svg)](https://microsoft.github.io/pyright/)
[![Formatted with ruff](https://img.shields.io/badge/code%20style-ruff-d7ff64)](https://github.com/astral-sh/ruff)
[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg)](CODE_OF_CONDUCT.md)

`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](https://doi.org/10.24381/cds.bd0915c6). 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)](https://amdar.ncep.noaa.gov/index.shtml) and [AMDAR data collected via the Met Office MetDB system](https://catalogue.ceda.ac.uk/uuid/33f44351f9ceb09c495b8cef74860726/).
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](https://aviationweather.gov/gfa/#turb).

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/](https://imperialcollegelondon.github.io/rojak/).

## Installation

 For installation instructions, please see the [Installation Guide](https://imperialcollegelondon.github.io/rojak/userguide/installguide.html#installation).
