earthkit.meteo.thermo.saturation_ept

earthkit.meteo.thermo.saturation_ept(t: ArrayLike, p: ArrayLike, method: str = 'ifs') ArrayLike
earthkit.meteo.thermo.saturation_ept(t: xarray.DataArray, p: xarray.DataArray, method: str = 'ifs') xarray.DataArray
earthkit.meteo.thermo.saturation_ept(t: earthkit.data.FieldList, p: earthkit.data.FieldList, method: str = 'ifs') earthkit.data.FieldList

Compute the saturation equivalent potential temperature.

Parameters:
  • t (number or array-like) – Temperature (K)

  • p (number or array-like) – Pressure (Pa)

  • method (str, optional) – Specifies the computation method. The possible values are: “ifs”, “bolton35”, “bolton39”.

Returns:

Saturation equivalent potential temperature (K)

Return type:

number or array-like

The actual computation is based on the method:

  • “ifs”: The formula is based on the equivalent potential temperature definition used

    in the IFS model [IFS-CY47R3-PhysicalProcesses] (see Chapter 6.11) :

    \[\Theta_{esat} = \Theta \operatorname{exp}(\frac{L_{v} q_{sat}}{c_{pd} t})\]
  • “bolton35”: Eq (35) from [Bolton1980] is used:

    \[\Theta_{e} = \Theta (\frac{10^{5}}{p})^{\kappa 0.28 w_{sat}} \operatorname{exp}(\frac{2675 w_{sat}}{t})\]
  • “bolton39”: Eq (39) from [Bolton1980] is used:

    \[\Theta_{e} = t (\frac{10^{5}}{p-e_{sat}})^{\kappa} \operatorname{exp}[(\frac{3036}{t} - 1.78)w_{sat}(1+0.448 w_{sat})]\]

where:

Implementations

saturation_ept() calls one of the following implementations depending on the type of the input arguments:

The function returns an object of the same type as the input arguments.