earth2studio.io.KVBackend#

class earth2studio.io.KVBackend(device='cpu')[source]#

A key-value (dict) backend.

Parameters:

device (str = 'cpu') – Device to keep array tensors.

add_array(coords, array_name, data=None)[source]#

Add an array to the existing KV store.

Parameters:
  • coords (CoordSystem) – Ordered dict of coordinate information.

  • array_name (str) – Name to add to kv store for the new array. Can optionally be a list of array_names.

  • data (torch.Tensor | list[torch.Tensor], optional) – Optional data to initialize the array with. If None, then the KV store array is initialized with torch.float32 zeros. Can also pass a list of tensors, which must match in length to the list of array_names passed. If a list of tensors is passed, it is assumed that each tensor share coords.

Return type:

None

write(x, coords, array_name)[source]#

Write data to the current KV store using the passed array_name.

Parameters:
  • x (torch.Tensor | list[torch.Tensor]) – Tensor(s) to be written to KV store.

  • coords (OrderedDict) – Coordinates of the passed data.

  • array_name (str | list[str]) – Name(s) of the array(s) that will be written to.

Return type:

None