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 424265093,MDExOlB1bGxSZXF1ZXN0MjYzNjU2Nzcz,2844,Read grid mapping and bounds as coords,22566757,closed,0,,,38,2019-03-22T15:25:37Z,2021-02-17T16:35:56Z,2021-02-17T16:35:56Z,CONTRIBUTOR,,0,pydata/xarray/pulls/2844," I prefer having these as coordinates rather than data variables. This does not cooperate with slicing/pulling out individual variables. `grid_mapping` should only be associated with variables that have horizontal dimensions or coordinates. `bounds` should stay associated despite having more dimensions. I have not implemented similar functionality for the iris conversions. An alternate approach to dealing with bounds (not used here) is to use a `pandas.IntervalIndex` http://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.IntervalIndex.html#pandas.IntervalIndex and use where the coordinate is within its cell to determine on which side the intervals are closed (`x_dim == x_dim_bnds[:, 0]` corresponds to ""left"", `x_dim == x_dim_bnds[:, 1]` corresponds to ""right"", and anything else is ""neither""). This would stay through slicing and might already be used for `.groupby_bins()`, but would not generalize to boundaries of multidimensional coordinates unless someone implements a multidimensional generalization of `pd.IntervalIndex` - [ ] Closes #xxxx - [X] Tests added - [ ] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/2844/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 424262546,MDExOlB1bGxSZXF1ZXN0MjYzNjU0NzQ0,2843,Allow passing _FillValue=False in encoding for vlen str variables.,22566757,closed,0,,,2,2019-03-22T15:20:27Z,2019-03-30T14:04:30Z,2019-03-30T14:04:13Z,CONTRIBUTOR,,0,pydata/xarray/pulls/2843," The documentation seems to imply that passing _FillValue=False in the encoding works to set no fill value for any value. These changes to `netCDF4_.py` and `h5netcdf_.py` seem to allow this for variables that are vlen strings (dtype `str` rather than `""S1""`): I have used the code-path in `netCDF4_.py` in real code and know that it at least allows the save to complete. Allowing _FillValue=False makes it easier to explicitly exclude `_FillValue` from being written for coordinate variables, which some CF-compliance checkers complain about. - [ ] Closes #xxxx - [X] Tests added - [ ] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/2843/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull