easyclimate.physics.temperature

Submodules

Functions

calc_equivalent_potential_temperature(→ xarray.DataArray)

Calculate equivalent potential temperature using Bolton (1980) approximation.

calc_equivalent_potential_temperature_davies_jones2009(...)

Calculate equivalent potential temperature using Robert Davies-Jones (2009) approximation.

calc_potential_temperature(→ xarray.DataArray)

Calculate the potential temperature for dry air.

calc_potential_temperature_vertical(→ xarray.DataArray)

Calculate the potential temperature for vertical variables.

calc_virtual_temperature(→ xarray.DataArray)

Calculate virtual temperature.

calc_virtual_temperature_Hobbs2006(→ xarray.DataArray)

Calculate virtual temperature.

Package Contents

easyclimate.physics.temperature.calc_equivalent_potential_temperature(pressure_data: xarray.DataArray, temperature_data: xarray.DataArray, dewpoint_data: xarray.DataArray, pressure_data_units: Literal['hPa', 'Pa'], temperature_data_units: Literal['celsius', 'kelvin', 'fahrenheit'], dewpoint_data_units: Literal['celsius', 'kelvin', 'fahrenheit']) xarray.DataArray

Calculate equivalent potential temperature using Bolton (1980) approximation.

Parameters

pressure_data: xarray.DataArray.

The pressure data set.

temperature_data: xarray.DataArray.

Atmospheric temperature.

dewpoint_data: xarray.DataArray.

The dew point temperature.

pressure_data_units: str.

The unit corresponding to pressure_data value. Optional values are hPa, Pa.

temperature_data_units: str.

The unit corresponding to temperature_data value. Optional values are celsius, kelvin, fahrenheit.

dewpoint_data_units: str.

The unit corresponding to dewpoint_data value. Optional values are celsius, kelvin, fahrenheit.

Returns

Equivalent potential temperature ( \(\mathrm{K}\) ).

xarray.DataArray.

See also

easyclimate.physics.temperature.calc_equivalent_potential_temperature_davies_jones2009(pressure_data: xarray.DataArray, temperature_data: xarray.DataArray, dewpoint_data: xarray.DataArray, pressure_data_units: Literal['hPa', 'Pa'], temperature_data_units: Literal['celsius', 'kelvin', 'fahrenheit'], dewpoint_data_units: Literal['celsius', 'kelvin', 'fahrenheit']) xarray.DataArray

Calculate equivalent potential temperature using Robert Davies-Jones (2009) approximation.

Parameters

pressure_data: xarray.DataArray.

The pressure data set.

temperature_data: xarray.DataArray.

Atmospheric temperature.

dewpoint_data: xarray.DataArray.

The dew point temperature.

pressure_data_units: str.

The unit corresponding to pressure_data value. Optional values are hPa, Pa.

temperature_data_units: str.

The unit corresponding to temperature_data value. Optional values are celsius, kelvin, fahrenheit.

dewpoint_data_units: str.

The unit corresponding to dewpoint_data value. Optional values are celsius, kelvin, fahrenheit.

Returns

Equivalent potential temperature ( \(\mathrm{K}\) ).

xarray.DataArray.

See also

easyclimate.physics.temperature.calc_potential_temperature(temper_data: xarray.DataArray, pressure_data: xarray.DataArray, pressure_data_units: Literal['hPa', 'Pa', 'mbar'], kappa: float = 287 / 1005.7) xarray.DataArray

Calculate the potential temperature for dry air.

Uses the Poisson equation to calculation the potential temperature given pressure and temperature.

\[\theta = T \left( \frac{p_0}{p} \right) ^\kappa\]

Parameters

temper_data: xarray.DataArray.

Air temperature.

pressure_data: xarray.DataArray.

The pressure data set.

pressure_data_units: str.

The unit corresponding to pressure_data value. Optional values are hPa, Pa.

kappa: float, default: 287/1005.7.

Poisson constant \(\kappa\).

Returns

Potential temperature, units according to temper_data.

xarray.DataArray.

Reference

easyclimate.physics.temperature.calc_potential_temperature_vertical(temper_data: xarray.DataArray, vertical_dim: str, vertical_dim_units: Literal['hPa', 'Pa', 'mbar'], kappa: float = 287 / 1005.7) xarray.DataArray

Calculate the potential temperature for vertical variables.

Uses the Poisson equation to calculation the potential temperature given pressure and temperature.

\[\theta = T \left( \frac{p_0}{p} \right) ^\kappa\]

Parameters

temper_data: xarray.DataArray.

Air temperature.

vertical_dim: str.

Vertical coordinate dimension name.

vertical_dim_units: str.

The unit corresponding to the vertical p-coordinate value. Optional values are hPa, Pa, mbar.

kappa: float, default: 287/1005.7.

Poisson constant \(\kappa\).

Returns

Potential temperature, units according to temper_data.

xarray.DataArray.

Reference

easyclimate.physics.temperature.calc_virtual_temperature(temper_data: xarray.DataArray, specific_humidity_data: xarray.DataArray, specific_humidity_data_units: Literal['kg/kg', 'g/g', 'g/kg'], epsilon: float = 0.608) xarray.DataArray

Calculate virtual temperature.

The virtual temperature (\(T_v\)) is the temperature at which dry air would have the same density as the moist air, at a given pressure. In other words, two air samples with the same virtual temperature have the same density, regardless of their actual temperature or relative humidity. The virtual temperature is always greater than the absolute air temperature.

\[T_v = T(1+ \epsilon q)\]

where \(\epsilon = 0.608\) when the mixing ratio (specific humidity) \(q\) is expressed in \(\mathrm{g \cdot g^{-1}}\).

Parameters

temper_data: xarray.DataArray.

Air temperature.

specific_humidity_data: xarray.DataArray.

The absolute humidity data.

specific_humidity_data_units: str.

The unit corresponding to specific_humidity value. Optional values are kg/kg, g/g, g/kg and so on.

epsilon: float.

A constant.

Returns

The virtual temperature, units according to temper_data.

xarray.DataArray.

Reference

easyclimate.physics.temperature.calc_virtual_temperature_Hobbs2006(temper_data: xarray.DataArray, specific_humidity_data: xarray.DataArray, specific_humidity_data_units: Literal['kg/kg', 'g/g', 'g/kg'], epsilon: float = 0.6219569100577033) xarray.DataArray

Calculate virtual temperature.

The virtual temperature (\(T_v\)) is the temperature at which dry air would have the same density as the moist air, at a given pressure. In other words, two air samples with the same virtual temperature have the same density, regardless of their actual temperature or relative humidity. The virtual temperature is always greater than the absolute air temperature.

This calculation must be given an air parcel’s temperature and mixing ratio. The implementation uses the formula outlined in [Hobbs2006] pg.67 & 80.

\[T_v = T \frac{\text{q} + \epsilon}{\epsilon\,(1 + \text{q})}\]

where \(\epsilon \approx 0.622\) when the mixing ratio (specific humidity) \(q\) is expressed in \(\mathrm{g \ g^{-1}}\).

Parameters

temper_data: xarray.DataArray.

Air temperature.

specific_humidity_data: xarray.DataArray.

The absolute humidity data.

specific_humidity_data_units: str.

The unit corresponding to specific_humidity value. Optional values are kg/kg, g/g, g/kg and so on.

epsilon: float.

The molecular weight ratio, which is molecular weight of the constituent gas to that assumed for air. Defaults to the ratio for water vapor to dry air. (\(\epsilon \approx 0.622\))

Returns

The virtual temperature, units according to temper_data.

xarray.DataArray.

Reference