dctools.utilities.xarray_utils.subsample_dataset

dctools.utilities.xarray_utils.subsample_dataset(ds, subsample_values=None, method='nearest', tolerance=None)

Subsamples an xarray Dataset over one or many dimensions.

Parameters:
  • ds (xr.Dataset) – Input dataset

  • subsample_values (Dict[str, Union[List, np.ndarray, slice]], optional) – Dictionary specifying the values to keep for each dimension, by default None. The keys of the dictionary are the dimension names, while the values can be a list, array, or slice object. If a dimension name is not among the dimensions all values are kept.

  • method (str, optional) – Selection method (one of “nearest”, “exact”, “ffill”, “bfill”), by default “nearest”

  • tolerance (Optional[Dict[str, float]], optional) – Dictionary containing dimension name as keys and selection tolerances as values, by default None.

Returns:

Subset dataset.

Return type:

xr.Dataset

Examples

>>> subsample_values = {
...     'time': pd.date_range('2024-01-01', '2024-01-10', freq='2D'),
...     'depth': [0, 10, 50, 100]
... }
... ds_sub = subsample_dataset(ds, subsample_values)

Using slices for subsetting.

>>> subsample_values = {
...     'lat': slice(-60, 60, 2),  # Latitudes de -60 à 60 avec pas de 2
...     'time': slice('2024-01-01', '2024-01-10')
... }
... ds_sub = subsample_dataset(ds, subsample_values)