id,node_id,number,state,locked,title,user,body,created_at,updated_at,closed_at,merged_at,merge_commit_sha,assignee,milestone,draft,head,base,author_association,auto_merge,repo,url,merged_by
263654744,MDExOlB1bGxSZXF1ZXN0MjYzNjU0NzQ0,2843,closed,0,Allow passing _FillValue=False in encoding for vlen str variables.,22566757,"<!-- Feel free to remove check-list items aren't relevant to your change -->
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
",2019-03-22T15:20:27Z,2019-03-30T14:04:30Z,2019-03-30T14:04:13Z,,630e5af32173b0368ff3dce2340f0b94dee58b5a,,,0,101f261f1280b5f6b02be7899d77d969db096972,742ed3984f437982057fd46ecfb0bce214563cb8,CONTRIBUTOR,,13221727,https://github.com/pydata/xarray/pull/2843,
263656773,MDExOlB1bGxSZXF1ZXN0MjYzNjU2Nzcz,2844,closed,0,Read grid mapping and bounds as coords,22566757,"<!-- Feel free to remove check-list items aren't relevant to your change -->
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
",2019-03-22T15:25:37Z,2021-02-17T16:35:56Z,2021-02-17T16:35:56Z,2021-02-17T16:35:56Z,12b4480ff2bde696142ca850275cdcc85ca0fbc9,,,0,d3ec7abca84e0cdbdfbd07b7465b208af6ccb262,10f0227a1667c5ab3c88465ff1572065322cde77,CONTRIBUTOR,,13221727,https://github.com/pydata/xarray/pull/2844,