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 temperaturedewpoint (
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.17408111 23.41044641 21.53049669 19.51679547 17.34763012 14.99552875 12.4250297 9.58933992 6.4250951 2.84385238 -1.28217807 -6.14487817 -12.0437512 -19.45887455 -29.14459155 -42.13147376 -50.19971377 -59.49169312 -70.19973455 -82.69068969 -94.44583924 -101.13413664 -108.54542355 -116.90037584 -126.55118719 -138.11894611 -144.97290122 -152.88981956], '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_datasetinstead.Changed in version 1.0: Renamed
dewptparameter todewpoint