id,node_id,number,title,user,state,locked,assignee,milestone,comments,created_at,updated_at,closed_at,author_association,active_lock_reason,draft,pull_request,body,reactions,performed_via_github_app,state_reason,repo,type 1189140909,I_kwDOAMm_X85G4Nmt,6434,concat along dim with mix of scalar coordinate and array coordinates is not right,2448579,closed,0,,,3,2022-04-01T02:29:16Z,2022-04-06T01:19:47Z,2022-04-06T01:19:47Z,MEMBER,,,,"### What happened? Really hard to describe in words =) ``` concat = xr.concat([da.isel(time=0), da.isel(time=[1])], dim=""time"") xr.align(concat, da, dim=""time"") ``` fails when `concat` and `da` should be identical. This is causing failures in cf-xarray:https://github.com/xarray-contrib/cf-xarray/issues/319 cc @benbovy ### What did you expect to happen? _No response_ ### Minimal Complete Verifiable Example ```Python import numpy as np import xarray as xr time = xr.DataArray( np.array( [""2013-01-01T00:00:00.000000000"", ""2013-01-01T06:00:00.000000000""], dtype=""datetime64[ns]"", ), dims=""time"", name=""time"", ) da = time concat = xr.concat([da.isel(time=0), da.isel(time=[1])], dim=""time"") xr.align(da, concat, join=""exact"") # works da = xr.DataArray(np.ones(time.shape), dims=""time"", coords={""time"": time}) concat = xr.concat([da.isel(time=0), da.isel(time=[1])], dim=""time"") xr.align(da, concat, join=""exact"") ``` ### Relevant log output ``` --------------------------------------------------------------------------- ValueError Traceback (most recent call last) Input In [27], in 17 da = xr.DataArray(np.ones(time.shape), dims=""time"", coords={""time"": time}) 18 concat = xr.concat([da.isel(time=0), da.isel(time=[1])], dim=""time"") ---> 19 xr.align(da, concat, join=""exact"") File ~/work/python/xarray/xarray/core/alignment.py:761, in align(join, copy, indexes, exclude, fill_value, *objects) 566 """""" 567 Given any number of Dataset and/or DataArray objects, returns new 568 objects with aligned indexes and dimension sizes. (...) 751 752 """""" 753 aligner = Aligner( 754 objects, 755 join=join, (...) 759 fill_value=fill_value, 760 ) --> 761 aligner.align() 762 return aligner.results File ~/work/python/xarray/xarray/core/alignment.py:549, in Aligner.align(self) 547 self.find_matching_unindexed_dims() 548 self.assert_no_index_conflict() --> 549 self.align_indexes() 550 self.assert_unindexed_dim_sizes_equal() 552 if self.join == ""override"": File ~/work/python/xarray/xarray/core/alignment.py:395, in Aligner.align_indexes(self) 393 if need_reindex: 394 if self.join == ""exact"": --> 395 raise ValueError( 396 ""cannot align objects with join='exact' where "" 397 ""index/labels/sizes are not equal along "" 398 ""these coordinates (dimensions): "" 399 + "", "".join(f""{name!r} {dims!r}"" for name, dims in key[0]) 400 ) 401 joiner = self._get_index_joiner(index_cls) 402 joined_index = joiner(matching_indexes) ValueError: cannot align objects with join='exact' where index/labels/sizes are not equal along these coordinates (dimensions): 'time' ('time',) ``` ### Anything else we need to know? _No response_ ### Environment xarray main","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/6434/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed,13221727,issue