metpy.calc.isentropic_interpolation(levels, pressure, temperature, *args, vertical_dim=0, temperature_out=False, max_iters=50, eps=1e-06, bottom_up_search=True, **kwargs)[source]

Interpolate data in isobaric coordinates to isentropic coordinates.

  • levels (array) – One-dimensional array of desired potential temperature surfaces

  • pressure (array) – One-dimensional array of pressure levels

  • temperature (array) – Array of temperature

  • vertical_dim (int, optional) – The axis corresponding to the vertical in the temperature array, defaults to 0.

  • temperature_out (bool, optional) – If true, will calculate temperature and output as the last item in the output list. Defaults to False.

  • max_iters (int, optional) – Maximum number of iterations to use in calculation, defaults to 50.

  • eps (float, optional) – The desired absolute error in the calculated value, defaults to 1e-6.

  • bottom_up_search (bool, optional) – Controls whether to search for levels bottom-up, or top-down. Defaults to True, which is bottom-up search.

  • args (array, optional) – Any additional variables will be interpolated to each isentropic level


list – List with pressure at each isentropic level, followed by each additional argument interpolated to isentropic coordinates.


Input variable arrays must have the same number of vertical levels as the pressure levels array. Pressure is calculated on isentropic surfaces by assuming that temperature varies linearly with the natural log of pressure. Linear interpolation is then used in the vertical to find the pressure at each isentropic level. Interpolation method from [Ziv1994]. Any additional arguments are assumed to vary linearly with temperature and will be linearly interpolated to the new isentropic levels.

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

Changed in version 1.0: Renamed theta_levels, axis parameters to levels, vertical_dim