lfc#

metpy.calc.lfc(pressure, temperature, dewpoint, parcel_temperature_profile=None, dewpoint_start=None, which='top')[source]#

Calculate the level of free convection (LFC).

This works by finding the first intersection of the ideal parcel path and the measured parcel temperature. If this intersection occurs below the LCL, the LFC is determined to be the same as the LCL, based upon the conditions set forth in [USAF1990], pg 4-14, where a parcel must be lifted dry adiabatically to saturation before it can freely rise.

Parameters:
  • pressure (pint.Quantity) – Atmospheric pressure profile. This array must be from high to low pressure.

  • temperature (pint.Quantity) – Temperature at the levels given by pressure

  • dewpoint (pint.Quantity) – Dewpoint at the levels given by pressure

  • parcel_temperature_profile (pint.Quantity, optional) – The parcel’s temperature profile from which to calculate the LFC. Defaults to the surface parcel profile.

  • dewpoint_start (pint.Quantity, optional) – Dewpoint of the parcel for which to calculate the LFC. Defaults to the surface dewpoint.

  • which (str, optional) – Pick which LFC to return. Options are ‘top’, ‘bottom’, ‘wide’, ‘most_cape’, and ‘all’; ‘top’ returns the lowest-pressure LFC (default), ‘bottom’ returns the highest-pressure LFC, ‘wide’ returns the LFC whose corresponding EL is farthest away, ‘most_cape’ returns the LFC that results in the most CAPE in the profile.

Returns:

  • pint.Quantity – LFC pressure, or array of same if which=’all’

  • pint.Quantity – LFC temperature, or array of same if which=’all’

Examples

>>> from metpy.calc import dewpoint_from_relative_humidity, lfc
>>> from metpy.units import units
>>> # pressure
>>> p = [1008., 1000., 950., 900., 850., 800., 750., 700., 650., 600.,
...      550., 500., 450., 400., 350., 300., 250., 200.,
...      175., 150., 125., 100., 80., 70., 60., 50.,
...      40., 30., 25., 20.] * units.hPa
>>> # temperature
>>> T = [29.3, 28.1, 23.5, 20.9, 18.4, 15.9, 13.1, 10.1, 6.7, 3.1,
...      -0.5, -4.5, -9.0, -14.8, -21.5, -29.7, -40.0, -52.4,
...      -59.2, -66.5, -74.1, -78.5, -76.0, -71.6, -66.7, -61.3,
...      -56.3, -51.7, -50.7, -47.5] * units.degC
>>> # relative humidity
>>> rh = [.85, .65, .36, .39, .82, .72, .75, .86, .65, .22, .52,
...       .66, .64, .20, .05, .75, .76, .45, .25, .48, .76, .88,
...       .56, .88, .39, .67, .15, .04, .94, .35] * units.dimensionless
>>> # calculate dewpoint
>>> Td = dewpoint_from_relative_humidity(T, rh)
>>> # calculate LFC
>>> lfc(p, T, Td)
(<Quantity(968.171757, 'hectopascal')>, <Quantity(25.8362857, 'degree_Celsius')>)

See also

parcel_profile

Notes

Only functions on 1D profiles (not higher-dimension vertical cross sections or grids). Since this function returns scalar values when given a profile, this will return Pint Quantities even when given xarray DataArray profiles.

Changed in version 1.0: Renamed dewpt,``dewpoint_start`` parameters to dewpoint, dewpoint_start

Examples using metpy.calc.lfc#

Sounding Calculation Examples

Sounding Calculation Examples