improver.psychrometric_calculations.cloud_top_temperature module

Module containing the CloudTopTemperature plugin

class CloudTopTemperature(model_id_attr=None)[source]

Bases: PostProcessingPlugin

Plugin to calculate the convective cloud top temperature from the cloud condensation level temperature and pressure, and temperature on pressure levels data using saturated ascent. The temperature is that of the parcel after saturated ascent at the last pressure level where the parcel is buoyant. The interpolation required to get closer is deemed expensive. If the cloud top temperature is less than 4K colder than the cloud condensation level, the cloud top temperature is masked.

__init__(model_id_attr=None)[source]

Set up class

Parameters:

model_id_attr (Optional[str]) – Name of model ID attribute to be copied from source cubes to output cube

_abc_impl = <_abc_data object>
_calculate_cct()[source]

Ascends through the pressure levels (decreasing pressure) calculating the saturated ascent from the cloud condensation level until a level is reached where the atmosphere profile is warmer than the ascending parcel, signifying that buoyancy is negative and cloud growth has ceased. CCT is the saturated adiabatic temperature at the last atmosphere pressure level where the profile is buoyant. Temperature data are in Kelvin, Pressure data are in pascals, humidity data are in kg/kg. A mask is used to keep track of which columns have already been solved, so that they are not included in future iterations (x3 speed-up).

Return type:

ndarray

_make_cct_cube(data)[source]

Puts the data array into a CF-compliant cube

Return type:

Cube

process(t_at_ccl, p_at_ccl, temperature)[source]
Parameters:
  • t_at_ccl (Cube) – temperature at cloud condensation level

  • p_at_ccl (Cube) – pressure at cloud condensation level

  • temperature (Cube) – temperature on pressure levels

Return type:

Cube

Returns:

Cube of cloud top temperature