earthkit.meteo.vertical.fieldlist.pressure_on_hybrid_levels

earthkit.meteo.vertical.fieldlist.pressure_on_hybrid_levels(sp, A=None, B=None, levels=None, alpha_top='ifs', output='full')

Compute pressure and related parameters on hybrid (IFS model) levels.

Parameters:
  • sp (FieldList|Field) – Surface pressure (Pa). Can be a single Field or a FieldList. If a FieldList is provided, it must contain exactly one Field.

  • A (ArrayLike | None, optional) – A-coefficients defining the hybrid levels. Must contain all the half-levels in ascending order with respect to the model level number (from the top of the atmosphere toward the surface). When None (default), the A and B coefficients will be inferred from the metadata of the input field sp.

  • B (ArrayLike | None, optional) – B-coefficients defining the hybrid levels. Must contain all the half-levels in ascending order with respect to the model level number. (from the top of the atmosphere toward the surface). Must have the same size as A. When None (default), the A and B coefficients will be inferred from the metadata of the input field sp.

  • levels (ArrayLike | None, optional) – Hybrid full-levels to return. Level numbering starts at 1 at the top of the atmosphere and increases towards the surface. If None (default), all the levels are returned in the order defined by the A and B coefficients (i.e. ascending order with respect to the model level number). If only half-levels are requested in output the levels are interpreted as half-level numbers (so 0 is a valid half-level number corresponding to the top of the atmosphere).

  • alpha_top ({"ifs", "arpege"}, default "ifs") – Option to initialise the alpha parameter on the top of the model atmosphere. See earthkit.meteo.vertical.array.pressure_on_hybrid_levels() for details.

  • output ({"full", "half", "delta", "alpha"} | list | tuple, default "full") –

    Specify which outputs to return. Possible values are “full”, “half”, “delta” and “alpha”. Can be a single string or a list/tuple of strings. Default is “full”. The outputs are:

    • ”full”: pressure (Pa) on full-levels

    • ”half”: pressure (Pa) on half-levels. When levels is None, returns all the half-levels. When levels is not None, only returns the half-levels below the requested full-levels.

    • ”delta”: logarithm of pressure difference between two adjacent half-levels. Uses the same indexing as the full-levels.

    • ”alpha”: alpha parameter defined for layers (i.e. for full-levels). Uses the same indexing as the full-levels. Used for the calculation of the relative geopotential thickness on full-levels. See relative_geopotential_thickness_on_hybrid_levels() for details..

Returns:

Pressure and/or related parameters on hybrid levels. When a single output type is requested, a single FieldList is returned. When multiple output types are requested, a tuple of FieldLists is returned, one for each requested output type, in the same order as specified in the input.

Return type:

FieldList|tuple[FieldList, ]

Notes

The hybrid model levels divide the atmosphere into \(NLEV\) layers. These layers are defined by the pressures at the interfaces between them for \(0 \leq k \leq NLEV\), which are the half-levels \(p_{k+1/2}\) (indices increase from the top of the atmosphere towards the surface). The half-levels are defined by the A and B coefficients in such a way that at the top of the atmosphere the first half-level pressure \(p_{0+1/2}\) is a constant, while at the surface \(p_{NLEV+1/2}\) is the surface pressure.

The full-level pressure \(p_{k}\) associated with each model level is defined as the middle of the layer for \(1 \leq k \leq NLEV\).

The level definitions can be written as:

\[ \begin{align}\begin{aligned}p_{k+1/2} = A_{k+1/2} + p_{s} B_{k+1/2} \quad k=0, 1, ..., NLEV\\p_{k} = \frac{1}{2} (p_{k-1/2} + p_{k+1/2}) \quad k=1, 2, ..., NLEV\end{aligned}\end{align} \]

where

  • \(p_{s}\) is the surface pressure

  • \(p_{k+1/2}\) is the pressure at the half-levelss

  • \(p_{k}\) is the pressure at the full-levels

  • \(A_{k+1/2}\) and \(B_{k+1/2}\) are the A- and B-coefficients defining the model levels.

For more details see [IFS-CY49R1-Dynamics] Chapter 2, Section 2.2.1.