Frontogenesis3D#

class rojak.turbulence.diagnostic.Frontogenesis3D(u_wind: DataArray, v_wind: DataArray, potential_temperature: DataArray, geopotential: DataArray, divergence: DataArray, vector_derivatives: dict[VelocityDerivative, DataArray])[source]#

Bases: Diagnostic

Three-dimensional frontogenesis CAT diagnostic

The 3D frontogenesis equation is defined in [Bluestein1993] (p. 253) as,

\[\mathbf{F} = \frac{D}{Dt} | \nabla \theta |\]

where \(\frac{D}{Dt}\) is the material derivative and \(\theta\) is the potential temperature.

This implementation is based on the ECMWF implementation in the IFS which ignores terms related to diabatic heating, negligible horizontal gradients of the vertical velocity and that \(\frac{ \partial w }{ \partial z } = - \delta\). It is defined in [Bechtold2021] as,

\begin{aligned} \mathbf{F} = - \frac{1}{|\nabla\theta|} &\left[\frac{ \partial \theta }{ \partial x } \left( \frac{ \partial u }{ \partial x } \frac{ \partial \theta }{ \partial x } + \frac{ \partial v }{ \partial x } \frac{ \partial \theta }{ \partial y } \right) \right. + \left. \frac{ \partial \theta }{ \partial y } \left( \frac{ \partial u }{ \partial y } \frac{ \partial \theta }{ \partial x } + \frac{ \partial v }{ \partial y } \frac{ \partial \theta }{ \partial y } \right) \right. \\ &+ \left. \frac{ \partial \theta }{ \partial z } \left( \frac{ \partial u }{ \partial z } \frac{ \partial \theta }{ \partial x } + \frac{ \partial v }{ \partial z } \frac{ \partial \theta }{ \partial y} - \delta \frac{ \partial \theta }{ \partial z }\right) \right] \end{aligned}

where \(\delta\) is the divergence, i.e. \(\delta = \frac{ \partial u }{ \partial x } + \frac{ \partial v }{ \partial y }\)

Parameters:
__init__(u_wind: DataArray, v_wind: DataArray, potential_temperature: DataArray, geopotential: DataArray, divergence: DataArray, vector_derivatives: dict[VelocityDerivative, DataArray]) None[source]#
Parameters:
Return type:

None

Methods

__init__(u_wind, v_wind, ...)

x_component(dtheta_dx, dtheta_dy)

y_component(dtheta_dx, dtheta_dy)

z_component(dtheta_dx, dtheta_dy, dtheta_dz)

Attributes

computed_value

name