html_url,issue_url,id,node_id,user,created_at,updated_at,author_association,body,reactions,performed_via_github_app,issue https://github.com/pydata/xarray/issues/5733#issuecomment-908436153,https://api.github.com/repos/pydata/xarray/issues/5733,908436153,IC_kwDOAMm_X842JaK5,4160723,2021-08-30T15:24:17Z,2021-08-30T15:24:17Z,MEMBER,"@jbusecke I agree with your point of view that ""xarray-style"" comparison is more practical in a scientific workflow. Especially if dimension order is irrelevant for most (all?) xarray operations, ignoring the order for `assert_allclose` / `assert_equal` too makes sense and is consistent. However, it might be also dangerous / harmful if the workflow includes data conversion between labeled vs. unlabelled formats. There's a risk of checking for equality with xarray, then later converting to numpy and assuming that arrays are equal without feeling the need to check again. If dimension sizes are the same this might lead to very subtle bugs. Since it is easy to ignore or forget about default values, having a `check_dim_order` option that defaults to `True` is probably safer IMHO, although slightly less convenient. No strong views, though. @dcherian I like your idea but I'm not sure what's best between your code snippet and checking equality of aligned dimensions datasets only if non-dimension-aligned are not equal. ","{""total_count"": 2, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 2, ""rocket"": 0, ""eyes"": 0}",,977544678 https://github.com/pydata/xarray/issues/5733#issuecomment-904552118,https://api.github.com/repos/pydata/xarray/issues/5733,904552118,IC_kwDOAMm_X8416l62,4160723,2021-08-24T11:21:22Z,2021-08-24T11:21:22Z,MEMBER,"Is there any operation in xarray where dimension order matters? If yes, I'm not sure if it's a good idea to allow transposed dimension pass `assert_allclose` or `assert_equal`. But even otherwise, I'd find it a bit weird for a ""numpy equivalent"" function to have: ```python xr.testing.assert_allclose(ds1.data, ds2.data) # ok np.testing.assert_allclose(ds1.data.values, ds2.data.values) # fails ``` What about a `check_dim_order` option? Also, it would be useful if information about non-matching dimension order was shown more explicitly in the assertion error message.","{""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,977544678