frontogenesis#

metpy.calc.frontogenesis(potential_temperature, u, v, dx=None, dy=None, x_dim=-1, y_dim=-2, *, parallel_scale=None, meridional_scale=None, latitude=None, longitude=None, crs=None)#

Calculate the 2D kinematic frontogenesis of a temperature field.

The implementation is a form of the Petterssen Frontogenesis and uses the formula outlined in [Bluestein1993] pg.248-253

\[F=\frac{1}{2}\left|\nabla \theta\right|[D cos(2\beta)-\delta]\]
  • \(F\) is 2D kinematic frontogenesis

  • \(\theta\) is potential temperature

  • \(D\) is the total deformation

  • \(\beta\) is the angle between the axis of dilatation and the isentropes

  • \(\delta\) is the divergence

Parameters:
  • potential_temperature ((…, M, N) xarray.DataArray or pint.Quantity) – Potential temperature

  • u ((…, M, N) xarray.DataArray or pint.Quantity) – x component of the wind

  • v ((…, M, N) xarray.DataArray or pint.Quantity) – y component of the wind

  • dx (pint.Quantity, optional) – The grid spacing(s) in the x-direction. If an array, there should be one item less than the size of u along the applicable axis. Optional if xarray.DataArray with latitude/longitude coordinates used as input.

  • dy (pint.Quantity, optional) – The grid spacing(s) in the y-direction. If an array, there should be one item less than the size of u along the applicable axis. Optional if xarray.DataArray with latitude/longitude coordinates used as input.

  • x_dim (int, optional) – Axis number of x dimension. Defaults to -1 (implying […, Y, X] order). Automatically parsed from input if using xarray.DataArray.

  • y_dim (int, optional) – Axis number of y dimension. Defaults to -2 (implying […, Y, X] order). Automatically parsed from input if using xarray.DataArray.

  • parallel_scale (pint.Quantity, optional) – Parallel scale of map projection at data coordinate. Optional if xarray.DataArray with latitude/longitude coordinates and MetPy CRS used as input. Also optional if longitude, latitude, and crs are given. If otherwise omitted, calculation will be carried out on a Cartesian, rather than geospatial, grid. Keyword-only argument.

  • meridional_scale (pint.Quantity, optional) – Meridional scale of map projection at data coordinate. Optional if xarray.DataArray with latitude/longitude coordinates and MetPy CRS used as input. Also optional if longitude, latitude, and crs are given. If otherwise omitted, calculation will be carried out on a Cartesian, rather than geospatial, grid. Keyword-only argument.

  • latitude (pint.Quantity, optional) – Latitude of data. Optional if xarray.DataArray with latitude/longitude coordinates used as input. Also optional if parallel_scale and meridional_scale are given. If otherwise omitted, calculation will be carried out on a Cartesian, rather than geospatial, grid. Keyword-only argument.

  • longitude (pint.Quantity, optional) – Longitude of data. Optional if xarray.DataArray with latitude/longitude coordinates used as input. Also optional if parallel_scale and meridional_scale are given. If otherwise omitted, calculation will be carried out on a Cartesian, rather than geospatial, grid. Keyword-only argument.

  • crs (pyproj.crs.CRS, optional) – Coordinate Reference System of data. Optional if xarray.DataArray with MetPy CRS used as input. Also optional if parallel_scale and meridional_scale are given. If otherwise omitted, calculation will be carried out on a Cartesian, rather than geospatial, grid. Keyword-only argument.

Returns:

(…, M, N) xarray.DataArray or pint.Quantity – 2D Frontogenesis in [temperature units]/m/s

Notes

To convert from [temperature units]/m/s to [temperature units]/100km/3h, multiply by \(1.08e9\)

Changed in version 1.0: Changed signature from (thta, u, v, dx, dy, dim_order='yx')