Solver interfaces¶
eofs uses different interfaces to work with different types of input data Descriptions of each interface are below, and summarised in the following table:
Interface |
Type of input/output data |
|---|---|
iris |
Data read from a self-describing data format stored in an |
xarray |
Data stored in an |
standard |
Other data, stored in a |
Iris interface¶
The iris interface works with Cube objects, which are the data containers used by the iris data analysis package. The meta-data, including coordinate dimensions, associated with iris Cube objects is understood by the eofs.iris.Eofs solver interface. The outputs of the eofs.iris.Eof solver are also contained in Cube objects, meaning they can be used with tools in the iris package, and easily written to a file.
xarray interface¶
The xarray interface works with DataArray objects, which are the data containers used by the xarray package. The meta-data, including coordinate dimensions, associated with DataArray objects is understood by the eofs.xarray.Eofs solver interface. The outputs of the eofs.xarray.Eof solver are also contained in DataArray objects, allowing their use within other xarray tools including serialization to netCDF.
Standard interface¶
The standard interface works with numpy arrays or dask arrays, which makes the standard interface the general purpose interface. Any data that can be stored in a numpy.ndarray, numpy.ma.MaskedArray or dask.array.Array can be analysed with the eofs.standard.Eof solver interface.