earthkit.data.xr_engine.builder

Attributes

Classes

BackendDataBuilder

DatasetBuilder

MemoryBackendDataBuilder

Build a dataset using memory backend.

SingleDatasetBuilder

SplitDatasetBuilder

TensorBackendArray

Mixin class that extends a class that defines a shape property to

TensorBackendDataBuilder

Build a dataset using memory backend.

VariableBuilder

Functions

from_earthkit(ds[, backend_kwargs, other_kwargs])

Create an xarray dataset from an earthkit fieldlist.

Module Contents

earthkit.data.xr_engine.builder.BACKEND_AND_XR_OPEN_DS_KWARGS = ['decode_times', 'decode_timedelta', 'drop_variables']
class earthkit.data.xr_engine.builder.BackendDataBuilder(ds, profile, dims, grid=None, fixed_local_attrs=None)
array_namespace
build()
abstractmethod build_values(*args, **kwargs)
check_tensor_coords(var_name, coord_name, tensor_coords)
collect_aux_coords()
coords()
dims
ds
dtype
field_coords
fixed_local_attrs
flatten_values
grid = None
pre_build_variable(ds_var, dims, name)
pre_build_variables()

Generate a builder for each variable.

prepare_tensor(ds, dims, name)
profile
tensor_coords
class earthkit.data.xr_engine.builder.DatasetBuilder(ds, profile, backend_kwargs=None)
direct_backend
ds
grid(ds)
grids
parse(ds, profile=None, full=False)
profile_kwargs
split_dims
class earthkit.data.xr_engine.builder.MemoryBackendDataBuilder(ds, profile, dims, grid=None, fixed_local_attrs=None)

Bases: BackendDataBuilder

Build a dataset using memory backend.

Each variable contain data values in memory copied from the input fields. As soon as a field’s values are copied, the field is immediately released and its memory is freed if the field supports this operation. Fields released in this way are not available for further access.

array_namespace
build()
build_values(tensor, var_dims, name)

Generate the data object stored in the xarray variable.

check_tensor_coords(var_name, coord_name, tensor_coords)
collect_aux_coords()
coords()
dims
ds
dtype
field_coords
fixed_local_attrs
flatten_values
grid = None
pre_build_variable(ds_var, dims, name)
pre_build_variables()

Generate a builder for each variable.

prepare_tensor(ds, dims, name)
profile
tensor_coords
earthkit.data.xr_engine.builder.NON_XR_OPEN_DS_KWARGS = ['split_dims', 'direct_backend']
class earthkit.data.xr_engine.builder.SingleDatasetBuilder(*args, from_xr=False, **kwargs)

Bases: DatasetBuilder

build()
direct_backend
ds
grid(ds)
grids
parse(ds, profile=None, full=False)
profile_kwargs
split_dims
class earthkit.data.xr_engine.builder.SplitDatasetBuilder(*args, backend_kwargs=None, other_kwargs=None)

Bases: DatasetBuilder

build()
direct_backend
ds
grid(ds)
grids
parse(ds, profile=None, full=False)
prepare(keys)
profile_kwargs
split()
split_dims
class earthkit.data.xr_engine.builder.TensorBackendArray(tensor, dims, shape, array_namespace, dtype, var_name)

Bases: xarray.backends.common.BackendArray

Mixin class that extends a class that defines a shape property to one that also defines ndim, size and __len__.

array_namespace
async async_get_duck_array(dtype=None)
abstractmethod async_getitem(key)
Async:

dims
dtype
get_duck_array(dtype=None)
lock
property nbytes
property ndim: int

Number of array dimensions.

See also

numpy.ndarray.ndim

shape
property size: int

Number of elements in the array.

Equal to np.prod(a.shape), i.e., the product of the array’s dimensions.

See also

numpy.ndarray.size

tensor
class earthkit.data.xr_engine.builder.TensorBackendDataBuilder(ds, profile, dims, grid=None, fixed_local_attrs=None)

Bases: BackendDataBuilder

Build a dataset using memory backend.

Each variable contain a TensorBackendArray object that loads the data on demand from the GRIB using the associated TensorFieldList. This solution can work bot for GRIB data stored in memory or on disk.

array_namespace
build()
build_values(tensor, var_dims, name)

Generate the data object stored in the xarray variable.

check_tensor_coords(var_name, coord_name, tensor_coords)
collect_aux_coords()
coords()
dims
ds
dtype
field_coords
fixed_local_attrs
flatten_values
grid = None
pre_build_variable(ds_var, dims, name)
pre_build_variables()

Generate a builder for each variable.

prepare_tensor(ds, dims, name)
profile
tensor_coords
class earthkit.data.xr_engine.builder.VariableBuilder(name, var_dims, data_maker, tensor, remapping, dims_as_attrs_map=None, fixed_local_attrs=None)
adjust_attrs(drop_keys=None, rename=None)
property attrs
build(add_earthkit_attrs=True)
collect_attrs(attrs, strict=True, extra_attrs=None)

Load the attributes for the variable.

Parameters:
  • attrs (list) – A list of attributes to be collected.

  • strict (bool, optional) – If True, perform a strict check on the attributes.

  • collect (list, optional) – A list of attributes that are collected but not added to the variable attributes.

data_maker
dims_as_attrs_map
fixed_local_attrs
name
remapping
tensor
var_dims
earthkit.data.xr_engine.builder.from_earthkit(ds, backend_kwargs=None, other_kwargs=None)

Create an xarray dataset from an earthkit fieldlist.

Parameters:
  • ds (FieldList) – The input fieldlist.

  • backend_kwargs (dict, optional) – Backend kwargs that can be passed to xarray.open_dataset() as “backend_kwargs”.

  • other_kwargs (dict, optional) – Additional kwargs passed to xarray.open_dataset(). Cannot contain any of the keys in backend_kwargs.