metpy.calc.moist_lapse(pressure, temperature, reference_pressure=None)[source]

Calculate the temperature at a level assuming liquid saturation processes.

This function lifts a parcel starting at temperature. The starting pressure can be given by reference_pressure. Essentially, this function is calculating moist pseudo-adiabats.

  • pressure (pint.Quantity) – Atmospheric pressure level(s) of interest

  • temperature (pint.Quantity) – Starting temperature

  • reference_pressure (pint.Quantity, optional) – Reference pressure; if not given, it defaults to the first element of the pressure array.


pint.Quantity – The resulting parcel temperature at levels given by pressure

See also


Calculate parcel temperature assuming dry adiabatic processes


Calculate complete parcel profile


This function is implemented by integrating the following differential equation:

\[\frac{dT}{dP} = \frac{1}{P} \frac{R_d T + L_v r_s} {C_{pd} + \frac{L_v^2 r_s \epsilon}{R_d T^2}}\]

This equation comes from [Bakhshaii2013].

Only reliably functions on 1D profiles (not higher-dimension vertical cross sections or grids).

Changed in version 1.0: Renamed ref_pressure parameter to reference_pressure