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 1308371056,I_kwDOAMm_X85N_Chw,6806,"New alignment option: ""exact"" without broadcasting OR Turn off automatic broadcasting",2448579,closed,0,,,9,2022-07-18T18:43:31Z,2024-03-13T15:36:35Z,2024-03-13T15:36:35Z,MEMBER,,,,"### Is your feature request related to a problem? If we have two objects with dims `x` and `x1`, then `xr.align(..., join=""exact"")` will pass because these dimensions are broadcastable. I'd like a stricter option (`join=""strict""`?) that disallows broadcasting. ### Describe the solution you'd like ```python xr.align( xr.DataArray([1], dims=""x""), xr.DataArray([1], dims=""x1""), join=""strict"", ) ``` would raise an error. It'd be nice to have this as a built-in option so we can use ``` python with xr.set_options(arithmetic_join=""strict""): ... ``` ### Describe alternatives you've considered An alternative would be to allow control over automatic broadcasting through the `set_options` context manager., but that seems like it would be more complicated to implement. ### Additional context This turns up in staggered grid calculations with xgcm where it is easy to mistakenly construct very high-dimensional arrays because of automatic broadcasting.","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/6806/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed,13221727,issue