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 612785915,MDU6SXNzdWU2MTI3ODU5MTU=,4031,0.16.0 release,2448579,closed,0,,,9,2020-05-05T17:53:26Z,2020-07-14T17:54:31Z,2020-07-14T17:54:31Z,MEMBER,,,,"It'd be nice to issue a release soon. We should decide if this is a minor 0.15.2 or major 0.16.0 Please edit this list as you wish. **Must-have** - [x] #3936 multiple dims argmin, argmax - [x] #4019, #4088; MultiIndex to sparse DataArray bug - [x] #3922 fix dask array handling in idxmax, idxmin - [x] #4009, #4173 combine_attrs with open_mfdataset - [x] #3824 transpose coords (if major release) - [x] #3926 remove old autocombine - [x] #4135 nD dask arrays in idxmax/min **Nice to have** - [x] #4049, #4094 unstacking merge bug - [ ] #4022 apply_ufunc meta vectorize - [ ] #3924 interpolating to coordinates with nans - [ ] #3925 sel along unindexed 1d coordinates - [ ] #3993 replace dim with coord in integrate - [ ] #3594 unit support with pint - [ ] #4003 mfdataset with zarr - [x] #3905 length of dataarray reprs - [x] #3847 error summary for assert_allclose - [x] #4033 infer_freq - [x] #3938 plotting with multiindex - [x] #3816 map_blocks template - [x] #3976 in-place replacement error message - [x] #3975 pint dataset - [x] #4018 netdf3 dtype coercion - [ ] #3985 groupby multi-index bug (ref discussion below & in the issue)","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/4031/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed,13221727,issue 573768194,MDExOlB1bGxSZXF1ZXN0MzgyMjE1OTYw,3816,Add template xarray object kwarg to map_blocks,2448579,closed,0,,,9,2020-03-02T07:20:19Z,2020-05-06T16:41:59Z,2020-05-06T16:41:54Z,MEMBER,,0,pydata/xarray/pulls/3816," - [x] Closes #3575 - [x] Tests added - [x] Passes `isort -rc . && black . && mypy . && flake8` - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API This PR adds a `template` kwarg to `map_blocks` so that we can do more complicated things where automated inference of the template fails. `template` is expected to be an xarray object that looks like the result of the `map_blocks` computation. @jhamman To me, this seems a lot easier than defining a `dict` based schema. With dask variables, the memory cost shouldn't be high. It's easy to use standard xarray operations to make something that looks like the result dataset. Here's a notebook prototyping a `to_schema`/`from_schema` approach: https://gist.github.com/dcherian/130ba22d0fbadb616837deb914eaa67e#file-map_blocks_for_metsim_test-ipynb ```python ds = xr.tutorial.load_dataset(""air_temperature"").chunk({""lat"": 5}) template = ds.isel(lat=slice(1, None, 5)) result = xr.map_blocks(lambda x: x.isel(lat=[1]), ds) # fails result = xr.map_blocks(lambda x: x.isel(lat=[1]), ds, template=template) # yay xr.testing.assert_equal(result, template) # passes ``` Todo: - [x] add tests - [x] what if the function returns a variable not in the template? - [x] should we do anything with `template.attrs`? ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/3816/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 476494705,MDU6SXNzdWU0NzY0OTQ3MDU=,3182,RTD build failing,2448579,closed,0,,,9,2019-08-03T22:25:08Z,2019-08-07T03:53:43Z,2019-08-06T22:03:25Z,MEMBER,,,,"Looks like our RTD builds have been failing for the last 3 days. ``` The HTML pages are in _build/html. /home/docs/checkouts/readthedocs.org/user_builds/xray/conda/latest/lib/python3.7/site-packages/sphinx_rtd_theme/search.html:20: RemovedInSphinx30Warning: To modify script_files in the theme is deprecated. Please insert a