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.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_datasetinstead.Changed in version 1.0: Renamed
dewptparameter todewpoint