Turbulence Time Series Calculations

metpy.calc.turbulence

This module contains calculations related to turbulence and time series perturbations.

metpy.calc.turbulence.get_perturbation(ts, axis=-1)

Compute the perturbation from the mean of a time series.

Parameters:ts (array_like) – The time series from which you wish to find the perturbation time series (perturbation from the mean).
Returns:array_like – The perturbation time series.
Other Parameters:
 axis (int) – The index of the time axis. Default is -1

Notes

The perturbation time series produced by this function is defined as the perturbations about the mean:

\[x(t)^{\prime} = x(t) - \overline{x(t)}\]
metpy.calc.turbulence.tke(u, v, w, perturbation=False, axis=-1)

Compute the turbulence kinetic energy (e) from the time series of the velocity components.

Parameters:
  • u (array_like) – The wind component along the x-axis
  • v (array_like) – The wind component along the y-axis
  • w (array_like) – The wind component along the z-axis
  • perturbation ({False, True}, optional) – True if the u, v, and w components of wind speed supplied to the function are perturbation velocities. If False, perturbation velocities will be calculated by removing the mean value from each component.
Returns:

array_like – The corresponding turbulence kinetic energy value

Other Parameters:
 

axis (int) – The index of the time axis. Default is -1

See also

get_perturbation()
Used to compute perturbations if perturbation is False.

Notes

Turbulence Kinetic Energy is computed as:

\[e = 0.5 \sqrt{\overline{u^{\prime2}} + \overline{v^{\prime2}} + \overline{w^{\prime2}}},\]

where the velocity components

\[u^{\prime}, v^{\prime}, u^{\prime}\]

are perturbation velocities. For more information on the subject, please see [1].

References

[1]Garratt, J.R., 1994: The Atmospheric Boundary Layer. Cambridge University Press, 316 pp.
metpy.calc.turbulence.kinematic_flux(vel, b, perturbation=False, axis=-1)

Compute the kinematic flux from the time series of two variables vel and b. Note that to be a kinematic flux, at least one variable must be a component of velocity.

Parameters:
  • vel (array_like) – A component of velocity
  • b (array_like) – May be a component of velocity or a scalar variable (e.g. Temperature)
  • perturbation ({False, True}, optional) – True if the vel and b variables are perturbations. If False, perturbations will be calculated by removing the mean value from each variable.
Returns:

array_like – The corresponding kinematic flux

Other Parameters:
 

axis (int) – The index of the time axis. Default is -1

Notes

A kinematic flux is computed as

\[\overline{u^{\prime} s^{\prime}}\]

where at the prime notation denotes perturbation variables, and at least one variable is perturbation velocity. For example, the vertical kinematic momentum flux (two velocity components):

\[\overline{u^{\prime} w^{\prime}}\]

or the the vertical kinematic heat flux (one velocity component, and one scalar):

\[\overline{w^{\prime} T^{\prime}}\]

If perturbation variables are passed into this function (i.e. perturbation is True), the kinematic flux is computed using the equation above.

However, the equation above can be rewritten as

\[\overline{us} - \overline{u}~\overline{s}\]

which is computationally more efficient. This is how the kinematic flux is computed in this function if perturbation is False.

For more information on the subject, please see [2].

References

[2]Garratt, J.R., 1994: The Atmospheric Boundary Layer. Cambridge University Press, 316 pp.
metpy.calc.turbulence.friction_velocity(u, w, v=None, perturbation=False, axis=-1)

Compute the friction velocity from the time series of the x, z, and optionally y, velocity components.

Parameters:
  • u (array_like) – The wind component along the x-axis
  • w (array_like) – The wind component along the z-axis
  • v (array_like, optional) – The wind component along the y-axis.
  • perturbation ({False, True}, optional) – True if the u, w, and v components of wind speed supplied to the function are perturbation velocities. If False, perturbation velocities will be calculated by removing the mean value from each component.
Returns:

array_like – The corresponding friction velocity

Other Parameters:
 

axis (int) – The index of the time axis. Default is -1

See also

kinematic_flux()
Used to compute the x-component and y-component vertical kinematic momentum flux(es) used in the computation of the friction velocity.

Notes

The Friction Velocity is computed as:

\[u_{*} = \sqrt[4]{\left(\overline{u^{\prime}w^{\prime}}\right)^2 + \left(\overline{v^{\prime}w^{\prime}}\right)^2},\]

where :math: overline{u^{prime}w^{prime}} and :math: overline{v^{prime}w^{prime}} are the x-component and y-components of the vertical kinematic momentum flux, respectively. If the optional v component of velocity is not supplied to the function, the computation of the friction velocity is reduced to

\[u_{*} = \sqrt[4]{\left(\overline{u^{\prime}w^{\prime}}\right)^2}\]

For more information on the subject, please see [3].

References

[3]Garratt, J.R., 1994: The Atmospheric Boundary Layer. Cambridge University Press, 316 pp.