Atmosphere
Atmosphere module.
- pyBADA.atmosphere.ISATemperatureDeviation(temperature, pressureAltitude)[source]
Calculates ISA temperature deviation at a given pressure altitude. Supports Python scalars, numpy arrays, pandas Series/DataFrame, xarray DataArray; handles broadcasting between inputs.
- Parameters:
temperature – Air temperature in Kelvin.
pressureAltitude – Pressure altitude in meters.
- Returns:
ISA temperature deviation in Kelvin, wrapped to original type.
- pyBADA.atmosphere.aSound(theta)[source]
Calculates the speed of sound based on the normalized air temperature.
- Parameters:
theta – Normalized temperature [-]. Can be scalar, numpy array, pandas Series/DataFrame, or xarray.DataArray.
- Returns:
Speed of sound in meters per second (m/s)
- pyBADA.atmosphere.atmosphereProperties(h, DeltaTemp)[source]
Calculates atmospheric properties: normalized temperature, pressure, and density ratios based on altitude and temperature deviation from ISA. Vectorized for xarray.DataArray, pandas Series/DataFrame, and numpy arrays/scalars.
- Parameters:
h (float or array-like or xarray.DataArray or pandas Series/DataFrame) – Altitude in meters (m). Can be scalar, numpy array, pandas Series/DataFrame, or xarray.DataArray.
DeltaTemp (float or array-like or xarray.DataArray or pandas Series/DataFrame) – Deviation from ISA temperature in Kelvin (K). Same type as h.
- Returns:
List of [theta_norm, delta_norm, sigma_norm], each matching the type of input.
- pyBADA.atmosphere.cas2Mach(cas, theta, delta, sigma)[source]
Converts calibrated airspeed (CAS) to Mach number, vectorized for xarray.DataArray, pandas Series/DataFrame, and numpy arrays/scalars.
- Parameters:
cas (float or array-like or xarray.DataArray or pandas Series/DataFrame) – Calibrated airspeed in meters per second (m/s). Can be scalar, numpy array, pandas Series/DataFrame, or xarray.DataArray.
theta (float or array-like or xarray.DataArray or pandas Series/DataFrame) – Normalized air temperature [-]. Same type as cas.
delta (float or array-like or xarray.DataArray or pandas Series/DataFrame) – Normalized air pressure [-]. Same type as cas.
sigma (float or array-like or xarray.DataArray or pandas Series/DataFrame) – Normalized air density [-]. Same type as cas.
- Returns:
Mach number [-].
- pyBADA.atmosphere.cas2Tas(cas, delta, sigma)[source]
Converts calibrated airspeed (CAS) to true airspeed (TAS), vectorized for xarray.DataArray, pandas Series/DataFrame, and numpy arrays/scalars.
- Parameters:
cas (float or array-like or xarray.DataArray or pandas Series/DataFrame) – Calibrated airspeed in meters per second (m/s). Can be scalar, numpy array, pandas Series/DataFrame, or xarray.DataArray.
delta (float or array-like or xarray.DataArray or pandas Series/DataFrame) – Normalized air pressure [-]. Same type as cas.
sigma (float or array-like or xarray.DataArray or pandas Series/DataFrame) – Normalized air density [-]. Same type as cas.
- Returns:
True airspeed in meters per second (m/s).
- pyBADA.atmosphere.convertSpeed(v, speedType, theta, delta, sigma)[source]
Calculates Mach, true airspeed (TAS), and calibrated airspeed (CAS) based on input speed and its type. Vectorized for xarray.DataArray, pandas Series/DataFrame, and numpy arrays/scalars.
- Parameters:
v – Airspeed value, depending on the type provided (M, CAS, TAS) [-, kt, kt]. Can be scalar, numpy array, pandas Series/DataFrame, or xarray.DataArray.
speedType – Type of input speed: “M” (Mach), “CAS”, or “TAS”.
theta – Normalized air temperature [-]. Same type as v.
delta – Normalized air pressure [-]. Same type as v.
sigma – Normalized air density [-]. Same type as v.
- Returns:
[Mach number, CAS (m/s), TAS (m/s)] each matching the type of input.
- pyBADA.atmosphere.crossOver(cas, Mach)[source]
Calculates the cross-over altitude where calibrated airspeed (CAS) and Mach number intersect, vectorized for xarray.DataArray, pandas Series/DataFrame, and numpy arrays/scalars.
- Parameters:
cas (float or array-like or xarray.DataArray or pandas Series/DataFrame) – Calibrated airspeed in meters per second (m/s). Can be scalar, numpy array, pandas Series/DataFrame, or xarray.DataArray.
Mach (float or array-like or xarray.DataArray or pandas Series/DataFrame) – Mach number [-]. Same type as cas.
- Returns:
Cross-over altitude in meters (m).
- pyBADA.atmosphere.delta(h, DeltaTemp)[source]
Normalized pressure according to the ISA model, vectorized for xarray.DataArray, pandas Series/DataFrame, and numpy arrays/scalars.
- Parameters:
h (float or array-like or xarray.DataArray or pandas Series/DataFrame) – Altitude in meters (m). Can be scalar, numpy array, pandas Series/DataFrame, or xarray.DataArray.
DeltaTemp (float or array-like or xarray.DataArray or pandas Series/DataFrame) – Deviation from ISA temperature in Kelvin (K). Same type as h.
- Returns:
Normalized pressure [-].
- pyBADA.atmosphere.mach2Cas(Mach, theta, delta, sigma)[source]
Converts Mach number to calibrated airspeed (CAS), vectorized for xarray.DataArray, pandas Series/DataFrame, and numpy arrays/scalars.
- Parameters:
Mach (float or array-like or xarray.DataArray or pandas Series/DataFrame) – Mach number [-]. Can be scalar, numpy array, pandas Series/DataFrame, or xarray.DataArray.
theta (float or array-like or xarray.DataArray or pandas Series/DataFrame) – Normalized air temperature [-]. Same type as Mach.
delta (float or array-like or xarray.DataArray or pandas Series/DataFrame) – Normalized air pressure [-]. Same type as Mach.
sigma (float or array-like or xarray.DataArray or pandas Series/DataFrame) – Normalized air density [-]. Same type as Mach.
- Returns:
Calibrated airspeed in meters per second (m/s).
- pyBADA.atmosphere.mach2Tas(Mach, theta)[source]
Converts Mach number to true airspeed (TAS), vectorized for xarray.DataArray, pandas Series/DataFrame, and numpy arrays/scalars.
- Parameters:
Mach (float or array-like or xarray.DataArray or pandas Series/DataFrame) – Mach number [-]. Can be scalar, numpy array, pandas Series/DataFrame, or xarray.DataArray.
theta (float or array-like or xarray.DataArray or pandas Series/DataFrame) – Normalized air temperature [-]. Same type as Mach.
- Returns:
True airspeed in meters per second (m/s).
- pyBADA.atmosphere.pressureAltitude(pressure, QNH=101325.0)[source]
Calculates pressure altitude based on air pressure and reference pressure (QNH), vectorized for xarray.DataArray, pandas Series/DataFrame, and numpy arrays/scalars.
- Parameters:
pressure (float or array-like or xarray.DataArray or pandas Series/DataFrame) – Air pressure in Pascals (Pa). Can be scalar, numpy array, pandas Series/DataFrame, or xarray.DataArray.
QNH (float) – Reference sea-level pressure in Pascals (Pa). Default 101325 Pa.
- Returns:
Pressure altitude in meters (m).
- pyBADA.atmosphere.sigma(h=None, DeltaTemp=None, theta=None, delta=None)[source]
Normalized density according to ISA, vectorized for xarray.DataArray, pandas Series/DataFrame, and numpy arrays/scalars.
- You can either provide:
h (pressure altitude) and DeltaTemp (temperature deviation) to compute normalized temperature and pressure internally;
Or precomputed theta (normalized temperature) and delta (normalized pressure) directly to avoid recomputation.
- Parameters:
h (float or array-like or xarray.DataArray or pandas Series/DataFrame) – pressure altitude AMSL [m], required if theta is None.
DeltaTemp (float or array-like or xarray.DataArray or pandas Series/DataFrame) – Temperature deviation from ISA at sea level [K], required if theta is None.
theta (float or array-like or xarray.DataArray or pandas Series/DataFrame) – Precomputed normalized temperature [-], optional.
delta (float or array-like or xarray.DataArray or pandas Series/DataFrame) – Precomputed normalized pressure [-], optional.
- Returns:
Normalized air density [-]
- pyBADA.atmosphere.tas2Cas(tas, delta, sigma)[source]
Converts true airspeed (TAS) to calibrated airspeed (CAS), vectorized for xarray.DataArray, pandas Series/DataFrame, and numpy arrays/scalars.
- Parameters:
tas (float or array-like or xarray.DataArray or pandas Series/DataFrame) – True airspeed in meters per second (m/s). Can be scalar, numpy array, pandas Series/DataFrame, or xarray.DataArray.
delta (float or array-like or xarray.DataArray or pandas Series/DataFrame) – Normalized air pressure [-]. Same type as tas.
sigma (float or array-like or xarray.DataArray or pandas Series/DataFrame) – Normalized air density [-]. Same type as tas.
- Returns:
Calibrated airspeed in meters per second (m/s)
- pyBADA.atmosphere.tas2Mach(v, theta)[source]
Converts true airspeed (TAS) to Mach number, vectorized for xarray.DataArray, pandas Series/DataFrame, and numpy arrays/scalars.
- Parameters:
v (float or array-like or xarray.DataArray or pandas Series/DataFrame) – True airspeed in meters per second (m/s). Can be scalar, numpy array, pandas Series/DataFrame, or xarray.DataArray.
theta (float or array-like or xarray.DataArray or pandas Series/DataFrame) – Normalized air temperature [-]. Same type as v.
- Returns:
Mach number [-].
- pyBADA.atmosphere.theta(h, DeltaTemp)[source]
Normalized temperature according to the ISA model, vectorized for xarray.DataArray, pandas Series/DataFrame, and numpy arrays/scalars.
- Parameters:
h (float or array-like or xarray.DataArray or pandas Series/DataFrame) – Altitude in meters (m). Can be scalar, numpy array, pandas Series/DataFrame, or xarray.DataArray.
DeltaTemp (float or array-like or xarray.DataArray or pandas Series/DataFrame) – Deviation from ISA temperature in Kelvin (K). Same type as h.
- Returns:
Normalized temperature [-].