Source code for meteodatalab.operators.theta

"""algorithm to compute the potential temperature theta in K."""

# Third-party
import xarray as xr
from earthkit.meteo import thermo  # type: ignore

# Local
from .. import metadata


[docs] def compute_theta(p: xr.DataArray, t: xr.DataArray) -> xr.DataArray: """Potential temperature in K. Parameters ---------- p : xarray.DataArray pressure in Pa t : xarray.DataArray air temperature in K Constants --------- Reference surface pressure for computation of potential temperature p0 = 1.0e5 Returns ------- xarray.DataArray potential temperature in K """ pb, tb = xr.broadcast(p, t) return xr.DataArray( thermo.potential_temperature(tb.values, pb.values), dims=pb.dims, attrs=metadata.override(p.metadata, shortName="PT"), )