lfc#
- metpy.calc.lfc(pressure, temperature, dewpoint, parcel_temperature_profile=None, dewpoint_start=None, which='top')#
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 pressuretemperature (
pint.Quantity
) – Temperature at the levels given by pressuredewpoint (
pint.Quantity
) – Dewpoint at the levels given by pressureparcel_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
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 todewpoint
,dewpoint_start