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
orpint.Quantity
) – Potential temperatureu ((…, M, N)
xarray.DataArray
orpint.Quantity
) – x component of the windv ((…, M, N)
xarray.DataArray
orpint.Quantity
) – y component of the winddx (
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 ifxarray.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 ifxarray.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 ifxarray.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 ifxarray.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 ifxarray.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 ifxarray.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 ifxarray.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
orpint.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')