Skip to article frontmatterSkip to article content
import glob
from virtualizarr import open_virtual_dataset
import xarray as xr
xr.show_versions()
/home/datawork-marc/ENVS/pangeo2025/lib/python3.13/site-packages/pyproj/network.py:59: UserWarning: pyproj unable to set PROJ database path.
  _set_context_ca_bundle_path(ca_bundle_path)

INSTALLED VERSIONS
------------------
commit: None
python: 3.13.3 | packaged by conda-forge | (main, Apr 14 2025, 20:44:03) [GCC 13.3.0]
python-bits: 64
OS: Linux
OS-release: 3.12.53-60.30-default
machine: x86_64
processor: x86_64
byteorder: little
LC_ALL: None
LANG: en_US.UTF-8
LOCALE: ('en_US', 'UTF-8')
libhdf5: 1.14.4
libnetcdf: 4.9.2

xarray: 2025.3.1
pandas: 2.2.3
numpy: 2.2.4
scipy: 1.15.2
netCDF4: 1.7.2
pydap: None
h5netcdf: 1.6.1
h5py: 3.12.1
zarr: 3.0.6
cftime: 1.6.4
nc_time_axis: None
iris: None
bottleneck: None
dask: 2025.3.0
distributed: 2025.3.0
matplotlib: 3.10.1
cartopy: 0.24.0
seaborn: None
numbagg: None
fsspec: 2025.3.2
cupy: None
pint: None
sparse: None
flox: None
numpy_groupies: None
setuptools: 78.1.0
pip: 25.0.1
conda: None
pytest: None
mypy: None
IPython: 9.1.0
sphinx: None
import virtualizarr
virtualizarr.__version__
'1.3.2'
virtual_datasets = [
    open_virtual_dataset(filepath)
    for filepath in glob.glob('/home/datawork-lops-riomar/GAMAR/OUTPUTS/GAMAR_1h_inst_Y2023M*.nc')
]
# this Dataset wraps a bunch of virtual ManifestArray objects directly
virtual_ds = xr.combine_nested(virtual_datasets, concat_dim=['time'])
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
Cell In[7], line 2
      1 # this Dataset wraps a bunch of virtual ManifestArray objects directly
----> 2 virtual_ds = xr.combine_nested(virtual_datasets, concat_dim=['time'])

File /home/datawork-marc/ENVS/pangeo2025/lib/python3.13/site-packages/xarray/structure/combine.py:588, in combine_nested(datasets, concat_dim, compat, data_vars, coords, fill_value, join, combine_attrs)
    585     concat_dim = [concat_dim]
    587 # The IDs argument tells _nested_combine that datasets aren't yet sorted
--> 588 return _nested_combine(
    589     datasets,
    590     concat_dims=concat_dim,
    591     compat=compat,
    592     data_vars=data_vars,
    593     coords=coords,
    594     ids=False,
    595     fill_value=fill_value,
    596     join=join,
    597     combine_attrs=combine_attrs,
    598 )

File /home/datawork-marc/ENVS/pangeo2025/lib/python3.13/site-packages/xarray/structure/combine.py:367, in _nested_combine(datasets, concat_dims, compat, data_vars, coords, ids, fill_value, join, combine_attrs)
    364 _check_shape_tile_ids(combined_ids)
    366 # Apply series of concatenate or merge operations along each dimension
--> 367 combined = _combine_nd(
    368     combined_ids,
    369     concat_dims,
    370     compat=compat,
    371     data_vars=data_vars,
    372     coords=coords,
    373     fill_value=fill_value,
    374     join=join,
    375     combine_attrs=combine_attrs,
    376 )
    377 return combined

File /home/datawork-marc/ENVS/pangeo2025/lib/python3.13/site-packages/xarray/structure/combine.py:246, in _combine_nd(combined_ids, concat_dims, data_vars, coords, compat, fill_value, join, combine_attrs)
    242 # Each iteration of this loop reduces the length of the tile_ids tuples
    243 # by one. It always combines along the first dimension, removing the first
    244 # element of the tuple
    245 for concat_dim in concat_dims:
--> 246     combined_ids = _combine_all_along_first_dim(
    247         combined_ids,
    248         dim=concat_dim,
    249         data_vars=data_vars,
    250         coords=coords,
    251         compat=compat,
    252         fill_value=fill_value,
    253         join=join,
    254         combine_attrs=combine_attrs,
    255     )
    256 (combined_ds,) = combined_ids.values()
    257 return combined_ds

File /home/datawork-marc/ENVS/pangeo2025/lib/python3.13/site-packages/xarray/structure/combine.py:278, in _combine_all_along_first_dim(combined_ids, dim, data_vars, coords, compat, fill_value, join, combine_attrs)
    276     combined_ids = dict(sorted(group))
    277     datasets = combined_ids.values()
--> 278     new_combined_ids[new_id] = _combine_1d(
    279         datasets, dim, compat, data_vars, coords, fill_value, join, combine_attrs
    280     )
    281 return new_combined_ids

File /home/datawork-marc/ENVS/pangeo2025/lib/python3.13/site-packages/xarray/structure/combine.py:301, in _combine_1d(datasets, concat_dim, compat, data_vars, coords, fill_value, join, combine_attrs)
    299 if concat_dim is not None:
    300     try:
--> 301         combined = concat(
    302             datasets,
    303             dim=concat_dim,
    304             data_vars=data_vars,
    305             coords=coords,
    306             compat=compat,
    307             fill_value=fill_value,
    308             join=join,
    309             combine_attrs=combine_attrs,
    310         )
    311     except ValueError as err:
    312         if "encountered unexpected variable" in str(err):

File /home/datawork-marc/ENVS/pangeo2025/lib/python3.13/site-packages/xarray/structure/concat.py:277, in concat(objs, dim, data_vars, coords, compat, positions, fill_value, join, combine_attrs, create_index_for_new_dim)
    264     return _dataarray_concat(
    265         objs,
    266         dim=dim,
   (...)    274         create_index_for_new_dim=create_index_for_new_dim,
    275     )
    276 elif isinstance(first_obj, Dataset):
--> 277     return _dataset_concat(
    278         objs,
    279         dim=dim,
    280         data_vars=data_vars,
    281         coords=coords,
    282         compat=compat,
    283         positions=positions,
    284         fill_value=fill_value,
    285         join=join,
    286         combine_attrs=combine_attrs,
    287         create_index_for_new_dim=create_index_for_new_dim,
    288     )
    289 else:
    290     raise TypeError(
    291         "can only concatenate xarray Dataset and DataArray "
    292         f"objects, got {type(first_obj)}"
    293     )

File /home/datawork-marc/ENVS/pangeo2025/lib/python3.13/site-packages/xarray/structure/concat.py:516, in _dataset_concat(datasets, dim, data_vars, coords, compat, positions, fill_value, join, combine_attrs, create_index_for_new_dim)
    513 # Make sure we're working on a copy (we'll be loading variables)
    514 datasets = [ds.copy() for ds in datasets]
    515 datasets = list(
--> 516     align(
    517         *datasets, join=join, copy=False, exclude=[dim_name], fill_value=fill_value
    518     )
    519 )
    521 dim_coords, dims_sizes, coord_names, data_names, vars_order = _parse_datasets(
    522     datasets
    523 )
    524 dim_names = set(dim_coords)

File /home/datawork-marc/ENVS/pangeo2025/lib/python3.13/site-packages/xarray/structure/alignment.py:883, in align(join, copy, indexes, exclude, fill_value, *objects)
    687 """
    688 Given any number of Dataset and/or DataArray objects, returns new
    689 objects with aligned indexes and dimension sizes.
   (...)    873 
    874 """
    875 aligner = Aligner(
    876     objects,
    877     join=join,
   (...)    881     fill_value=fill_value,
    882 )
--> 883 aligner.align()
    884 return aligner.results

File /home/datawork-marc/ENVS/pangeo2025/lib/python3.13/site-packages/xarray/structure/alignment.py:576, in Aligner.align(self)
    574 self.assert_no_index_conflict()
    575 self.align_indexes()
--> 576 self.assert_unindexed_dim_sizes_equal()
    578 if self.join == "override":
    579     self.override_indexes()

File /home/datawork-marc/ENVS/pangeo2025/lib/python3.13/site-packages/xarray/structure/alignment.py:477, in Aligner.assert_unindexed_dim_sizes_equal(self)
    475     add_err_msg = ""
    476 if len(sizes) > 1:
--> 477     raise ValueError(
    478         f"cannot reindex or align along dimension {dim!r} "
    479         f"because of conflicting dimension sizes: {sizes!r}" + add_err_msg
    480     )

ValueError: cannot reindex or align along dimension 'time_counter' because of conflicting dimension sizes: {744, 672, 720}