parcel_profile#

metpy.calc.parcel_profile(pressure, temperature, dewpoint)[source]#

Calculate the profile a parcel takes through the atmosphere.

The parcel starts at temperature, and dewpoint, lifted up dry adiabatically to the LCL, and then moist adiabatically from there. pressure specifies the pressure levels for the profile.

Parameters:
  • pressure (pint.Quantity) – Atmospheric pressure level(s) of interest. This array must be from high to low pressure.

  • temperature (pint.Quantity) – Starting temperature

  • dewpoint (pint.Quantity) – Starting dewpoint

Returns:

pint.Quantity – The parcel’s temperatures at the specified pressure levels

Examples

>>> from metpy.calc import dewpoint_from_relative_humidity, parcel_profile
>>> 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)
>>> # computer parcel temperature
>>> parcel_profile(p, T[0], Td[0]).to('degC')
<Quantity([  29.3          28.61221952   25.22214738   23.46097684   21.5835928
19.57260398   17.40636185   15.05748615   12.49064866    9.6592539
    6.50023491    2.92560365   -1.19172846   -6.04257884  -11.92497517
-19.3176536   -28.97672464  -41.94444385  -50.01173076  -59.30936248
-70.02760604  -82.53084923  -94.2966713  -100.99074331 -108.40829933
-116.77024489 -126.42910222 -138.00649584 -144.86615886 -152.78967029], 'degree_Celsius')>

Notes

Only functions on 1D profiles (not higher-dimension vertical cross sections or grids). Duplicate pressure levels return duplicate parcel temperatures. Consider preprocessing low-precision, high frequency profiles with tools like scipy.medfilt, pandas.drop_duplicates, or numpy.unique.

Will only return Pint Quantities, even when given xarray DataArray profiles. To obtain a xarray Dataset instead, use parcel_profile_with_lcl_as_dataset instead.

Changed in version 1.0: Renamed dewpt parameter to dewpoint

Examples using metpy.calc.parcel_profile#

Advanced Sounding

Advanced Sounding

Advanced Sounding Plot with Complex Layout

Advanced Sounding Plot with Complex Layout

Sounding Calculation Examples

Sounding Calculation Examples

Upper Air Sounding Tutorial

Upper Air Sounding Tutorial