epygram.formats.LFI
— Interface-Class to the LFI format¶
Contains the class to handle LFI format.
-
class
epygram.formats.LFI.
LFI
(*args, **kwargs)[source]¶ Bases:
epygram.resources.FileResource.FileResource
Class implementing all specificities for LFI resource format.
Note
This class is managed by footprint.
- info: Not documented
- priority: PriorityLevel::DEFAULT (rank=1)
Automatic parameters from the footprint:
- compressed (
builtins.bool
) - rwx - Compression flag.- Optional. Default is False.
- filename (
builtins.str
) - rxx - File name (absolute or relative) of the resource. - fmtdelayedopen (
builtins.bool
) - rxx - Opening of the resource delayed (not at time of construction).- Optional. Default is False.
- format (
builtins.str
) - rxx - Format of the resource.- Optional. Default is ‘LFI’.
- Values: set([‘LFI’])
- moveOnMass (
builtins.bool
) - rxx - If True, 3d fields are put on mass levels- Optional. Default is False.
- openmode (
builtins.str
) - rxx - Opening mode.- Values: set([‘append’, ‘write’, ‘w’, ‘read’, ‘r’, ‘a’])
- Remap: dict(append = ‘a’, read = ‘r’, write = ‘w’,)
- true3d (
builtins.bool
) - rxx - If False, 3D fields are seen as a collection of H2D fields- Optional. Default is False.
-
compressed
¶ Undocumented footprint attribute
-
extract_subdomain
(*args, **kwargs)¶ Extracts a subdomain from the LFI resource, given its fid and the geometry to use.
Parameters: - fid – must have syntax: (‘PARAMETER’, ‘*’) if not true3d else ‘PARAMETER’, * being a true star character, and PARAMETER being the name of the parameter requested, as named in LFI.
- geometry – the geometry on which extract data. None to keep the geometry untouched.
- vertical_coordinate – defines the requested vertical coordinate of the
V2DField (cf.
epygram.geometries.V1DGeometry
coordinate possible values).
- :param interpolation defines the interpolation function used to compute
the profile points locations from the fields grid:
- if ‘nearest’, each horizontal point of the section is taken as the horizontal nearest neighboring gridpoint;
- if ‘linear’ (default), each horizontal point of the section is computed with linear spline interpolation;
- if ‘cubic’, each horizontal point of the section is computed with linear spline interpolation.
Parameters: - exclude_extralevels – if True, not physical levels are removed
- cheap_height – has no effect (compatibity with FA format)
-
extractprofile
(*args, **kwargs)¶ Extracts a vertical profile from the LFI resource, given its fid and the geographic location (lon/lat) of the profile.
Parameters: - fid – must have syntax: (‘PARAMETER’, ‘*’) if not true3d, else ‘PARAMETER’, * being a true star character, and PARAMETER being the name of the parameter requested, as named in LFI.
- lon – the longitude of the desired point.
- lat – the latitude of the desired point.
- geometry – the geometry on which extract data. If None, it is built from lon/lat.
- vertical_coordinate – defines the requested vertical coordinate of the
V1DField (cf.
epygram.geometries.V1DGeometry
coordinate possible values). - interpolation –
defines the interpolation function used to compute the profile at requested lon/lat from the fields grid:
- if ‘nearest’ (default), extracts profile at the horizontal nearest neighboring gridpoint;
- if ‘linear’, computes profile with horizontal linear spline interpolation;
- if ‘cubic’, computes profile with horizontal cubic spline interpolation.
- external_distance – can be a dict containing the target point value and an external field on the same grid as self, to which the distance is computed within the 4 horizontally nearest points; e.g. {‘target_value’:4810, ‘external_field’:an_H2DField_with_same_geometry}. If so, the nearest point is selected with distance = |target_value - external_field.data|
- cheap_height – has no effect (compatibity with FA format)
-
extractsection
(*args, **kwargs)¶ Extracts a vertical section from the LFI resource, given its fid and the geographic (lon/lat) coordinates of its ends. The section is returned as a V2DField.
Parameters: - fid – must have syntax: (‘PARAMETER’, ‘*’) if not true3d else ‘PARAMETER’, * being a true star character, and PARAMETER being the name of the parameter requested, as named in LFI.
- end1 – must be a tuple (lon, lat).
- end2 – must be a tuple (lon, lat).
- geometry – the geometry on which extract data. If None, defaults to linearily spaced positions computed from points_number.
- points_number – defines the total number of horizontal points of the section (including ends). If None, defaults to a number computed from the ends and the resolution.
- resolution – defines the horizontal resolution to be given to the field. If None, defaults to the horizontal resolution of the field.
- vertical_coordinate – defines the requested vertical coordinate of the
V2DField (cf.
epygram.geometries.V1DGeometry
coordinate possible values). - interpolation –
defines the interpolation function used to compute the profile points locations from the fields grid:
- if ‘nearest’, each horizontal point of the section is taken as the horizontal nearest neighboring gridpoint;
- if ‘linear’ (default), each horizontal point of the section is computed with linear spline interpolation;
- if ‘cubic’, each horizontal point of the section is computed with linear spline interpolation.
- cheap_height – has no effect (compatibity with FA format)
-
filename
¶ Undocumented footprint attribute
-
find_fields_in_resource
(seed=None, fieldtype=[], generic=False)[source]¶ Returns a list of the fields from resource whose identifier match the given seed.
Parameters: - seed –
might be:
- a tuple of regular expressions,
- a string meant to be converted to a tuple
- a list of regular expressions tuples
- None. If None (default), returns the list of all fields in resource.
If self.true3d: tuples are replaced by string
- fieldtype – optional, among (‘H2D’, ‘Misc’) or a list of these strings. If provided, filters out the fields not of the given types.
- generic – if True, returns a list of tuples (fieldname, generic fid) of the fields.
- seed –
-
fmtdelayedopen
¶ Undocumented footprint attribute
-
format
¶ Undocumented footprint attribute
-
listfields
(**kwargs)[source]¶ Returns a list containing the LFI identifiers of all the fields of the resource.
-
moveOnMass
¶ Undocumented footprint attribute
-
open
(openmode=None)[source]¶ Opens a LFI with ifsaux’ LFIOUV, and initializes some attributes.
Parameters: openmode – optional, to open with a specific openmode, eventually different from the one specified at initialization.
-
openmode
¶ Undocumented footprint attribute
-
readfield
(*args, **kwargs)¶ Reads one field, given its identifier (tuple (LFI name, level)), and returns a Field instance. Interface to Fortran routines from ‘ifsaux’.
Parameters: - fieldidentifier – “LFI fieldname” if true3d, else (LFI fieldname, level).
- getdata – optional, if False, only metadata are read, the field do not contain data. Default is True.
-
readfields
(requestedfields=None, getdata=True)[source]¶ Returns a
epygram.base.FieldSet
containing requested fields read in the resource.Parameters: - requestedfields –
might be
- a tuple of regular expressions (e.g. (‘RVT’, ‘?’)) or a regular expression (e.g. ‘R?T’) if true3d
- a list of LFI fields identifiers with regular expressions (e.g. [(‘COVER???’, 0), (‘RVT’, ‘*’)])
- if not specified, interpretated as all fields that will be found in resource
- getdata – optional, if False, only metadata are read, the fields do not contain data. Default is True.
- requestedfields –
-
sortfields
()[source]¶ Returns a sorted list of fields with regards to their name and nature, as a dict of lists.
-
true3d
¶ Undocumented footprint attribute
-
what
(*args, **kwargs)¶ Writes in file a summary of the contents of the LFI.
Parameters: - out – the output open file-like object
- sortfields – True if the fields have to be sorted by type.
-
writefield
(field)[source]¶ Write a field in the resource.
Parameters: field – a epygram.base.Field
instance orepygram.H2DField
.
-
writefields
(fieldset)[source]¶ Write the fields of the fieldset in the resource.
Parameters: fieldset – must be a epygram.base.FieldSet
instance.