geocat.comp.interpolation.interp_hybrid_to_pressure#
- geocat.comp.interpolation.interp_hybrid_to_pressure(data, ps, hyam, hybm, p0=100000.0, new_levels=array([100000., 92500., 85000., 70000., 50000., 40000., 30000., 25000., 20000., 15000., 10000., 7000., 5000., 3000., 2000., 1000., 700., 500., 300., 200., 100.], dtype=float32), lev_dim=None, method='linear', extrapolate=False, variable=None, t_bot=None, phi_sfc=None)#
Interpolate and extrapolate data from hybrid-sigma levels to isobaric levels. Keeps attributes (i.e. metadata) of the input data in the output as default.
Notes
ACKNOWLEDGEMENT: We’d like to thank to Brian Medeiros, Matthew Long, and Deepak Cherian at NSF NCAR for their great contributions since the code implemented here is mostly based on their work.
- Parameters:
data (
xarray.DataArray
) – Multidimensional data array of hybrid-sigma levels and has alev_dim
coordinate.ps (
xarray.DataArray
) – A multi-dimensional array of surface pressures (Pa), same time/space shape as data.hyam, hybm (
xarray.DataArray
) – One-dimensional arrays containing the hybrid A and B coefficients. Must have the same dimension size as thelev_dim
dimension of data.p0 (
float
, optional) – Scalar numeric value equal to surface reference pressure (Pa). Defaults to 100000 Pa.new_levels (
numpy.ndarray
, optional) – A one-dimensional array of output pressure levels (Pa). If not given, the mandatory list of 21 pressure levels is used.lev_dim (
str
, optional) – String that is the name of level dimension in data. Defaults to “lev”.method (
str
, optional) – String that is the interpolation method; can be either “linear” or “log”. Defaults to “linear”.extrapolate (
bool
, optional) – If True, below ground extrapolation forvariable
will be done using an ECMWF formulation. Defaults to False.variable (
str
, optional) – String representing what variable is extrapolated below surface level. Temperature extrapolation = “temperature”. Geopotential height extrapolation = “geopotential”. All other variables = “other”. If “other”, the value ofdata
at the lowest model level will be used as the below ground fill value. Required if extrapolate is True.t_bot (
xarray.DataArray
, optional) – Temperature in Kelvin at the lowest layer of the model. Not necessarily the same as surface temperature. Required ifextrapolate
is True andvariable
is not'other'
phi_sfc (
xarray.DataArray
, optional) – Geopotential in J/kg at the lowest layer of the model. Not necessarily the same as surface geopotential. Required ifextrapolate
is True andvariable
is not'other'
.
- Returns:
output (
xarray.DataArray
) – Interpolated data with isobaric levels
See also
Related NCL Functions: vinth2p, vinth2p_ecmwf