Contains the class for Vertical geometry of fields.
Bases: epygram.util.RecursiveObject, footprints.FootprintBase
Handles the vertical geometry for fields.
Here, the grid defines the vertical position of each level between a bottom and a top positions.
The position of points w/r to the vertical grid (mass or flux points), is interpreted as:
levels is a list with one item for each level represented in data. Each item can be a scalar (constant value for all the data point),
an array with the horizontal geographic shape (level constant in time but varying on the horizontal), an array with the first dimension corresponding to the validity lengthy and other dimensions to represent the horizotal.
It is not allowed to have a level varying in time and constant on the geographic domain.
Footprint:
dict(
attr = dict(
grid = dict(
access = 'rxx',
alias = set([]),
default = footprints.stdtypes.FPDict::<<
as_dict:: dict()
>>,
info = 'Handles description of the vertical grid.',
optional = True,
outcast = set([]),
remap = dict(),
type = footprints.stdtypes.FPDict,
values = set([]),
),
levels = dict(
access = 'rxx',
alias = set([]),
default = None,
info = 'Effective levels on which data is available.',
optional = False,
outcast = set([]),
remap = dict(),
type = footprints.stdtypes.FPList,
values = set([]),
),
position_on_grid = dict(
access = 'rxx',
alias = set([]),
default = '__unknown__',
info = 'Position of points w/r to the vertical grid.',
optional = True,
outcast = set([]),
remap = dict(),
values = set(['flux', 'mass', '__unknown__']),
),
structure = dict(
access = 'rxx',
alias = set([]),
default = None,
optional = False,
outcast = set([]),
remap = dict(),
values = set(['V']),
),
typeoffirstfixedsurface = dict(
access = 'rxx',
alias = set([]),
default = None,
info = 'Type of horizontal level, as of GRIB2 norm (inspired from GRIB_API).',
optional = False,
outcast = set([]),
remap = dict(),
type = int,
values = set([]),
),
),
bind = [],
info = 'Not documented',
only = dict(),
priority = dict(
level = footprints.priorities.PriorityLevel::DEFAULT,
),
)
Converts a ‘hybrid_pressure’ VGeometry to a ‘pressure’ VGeometry.
Psurf is the surface pressure in Pa, needed for integration of Ai and Bi.
gridposition (= ‘mass’ or ‘flux’) is the target grid position. By default the data position in the origin geometry is taken.
vertical_mean defines the kind of averaging done on the vertical to compute half-levels from full-levels, or inverse: ‘geometric’ or ‘arithmetic’.
Converts a hybrid_height coordinate grid into pressure. - P is the vertical profile of pressure to use - position is the position of P values on the grid (‘mass’ or ‘flux’)
Converts a hybrid_pressure coordinate grid into altitude of mass levels.
Converts a hybrid_height coordinate grid into altitude.
Zsurf is the surface pressure, needed for integration of Ai and Bi.
If gridposition is given (‘mass’ or ‘flux’), the target grid is computed accordingly. By default the data position in the origin geometry is taken. If conv2height is True, conversion into height is performed instead of altitude.
Converts a pressure coordinate grid (on mass or flux levels) to altitude on mass levels).