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/pull/7654#issuecomment-1538818465,https://api.github.com/repos/pydata/xarray/issues/7654,1538818465,IC_kwDOAMm_X85buIGh,5821660,2023-05-08T18:09:59Z,2023-05-08T18:09:59Z,MEMBER,"I've converted to draft for now, as I'm still evaluating solutions for the CF encoding/decoding.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1633623916
https://github.com/pydata/xarray/pull/7654#issuecomment-1496973403,https://api.github.com/repos/pydata/xarray/issues/7654,1496973403,IC_kwDOAMm_X85ZOgBb,5821660,2023-04-05T06:15:58Z,2023-04-05T06:15:58Z,MEMBER,"As explained I've created two PR (#7719 and #7720) for the ""easy"" changes from this PR. Would be great, if those could go in fast. Thanks!","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1633623916
https://github.com/pydata/xarray/pull/7654#issuecomment-1496950962,https://api.github.com/repos/pydata/xarray/issues/7654,1496950962,IC_kwDOAMm_X85ZOaiy,5821660,2023-04-05T05:46:15Z,2023-04-05T05:46:15Z,MEMBER,@dcherian Just a heads-up: I find this PR getting more and more involved at different parts of the machinery and hard to follow for reviewers. I'll split this up and start with the more or less undisputed changes.,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1633623916
https://github.com/pydata/xarray/pull/7654#issuecomment-1496044623,https://api.github.com/repos/pydata/xarray/issues/7654,1496044623,IC_kwDOAMm_X85ZK9RP,5821660,2023-04-04T14:10:33Z,2023-04-04T14:10:33Z,MEMBER,"Still hunting for corner cases and issues inside encode_cf_variable/decode_cf_variable.
It looks like I already see some light again. Not sure, if this is the last iteration, but the testsuite is still running green with added and enhanced tests, which is not that bad.
Unfortunately https://github.com/pydata/xarray/issues/2304 is still an issue for now. I'll clarify that later with an added test.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1633623916
https://github.com/pydata/xarray/pull/7654#issuecomment-1493930592,https://api.github.com/repos/pydata/xarray/issues/7654,1493930592,IC_kwDOAMm_X85ZC5Jg,5821660,2023-04-03T08:53:17Z,2023-04-03T08:53:17Z,MEMBER,While trying to create a test which specifically tests `_choose_float_dtype` I've found some issues with checking for availability of scale_factor/add_offset. Now testing for `None`.,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1633623916
https://github.com/pydata/xarray/pull/7654#issuecomment-1493296175,https://api.github.com/repos/pydata/xarray/issues/7654,1493296175,IC_kwDOAMm_X85ZAeQv,5821660,2023-04-02T10:47:21Z,2023-04-02T10:47:21Z,MEMBER,"This is now ready for another round of reviews, @dcherian, @Illviljan and @mankoff.
As @mankoff already pointed out, xarray is very generous to try to encode/decode non CF conforming data. This makes things a bit complicated as some issues only surface in rare corner cases.
I've tried to be as explicit in `_choose_float_dtype`, also added comments/tests where needed.
I'm finding the typing a bit hard. It seems that mypy can't derive the correct types from return types in certain cases.
","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1633623916
https://github.com/pydata/xarray/pull/7654#issuecomment-1493127898,https://api.github.com/repos/pydata/xarray/issues/7654,1493127898,IC_kwDOAMm_X85Y_1La,5821660,2023-04-01T21:23:40Z,2023-04-01T21:23:40Z,MEMBER,"If at first you don't succeed... It looks like we have something working here.
Some more typing and maybe some more tests covering the cases with scale_factor/add_offset/_FillValue non-conforming CF and we should be good to go. Or do I miss something?","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1633623916
https://github.com/pydata/xarray/pull/7654#issuecomment-1493084805,https://api.github.com/repos/pydata/xarray/issues/7654,1493084805,IC_kwDOAMm_X85Y_qqF,5821660,2023-04-01T19:34:18Z,2023-04-01T19:34:18Z,MEMBER,"The latest changes brake #1840 again. We have two contradicting forces here, which need to be aligned. ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1633623916
https://github.com/pydata/xarray/pull/7654#issuecomment-1492895855,https://api.github.com/repos/pydata/xarray/issues/7654,1492895855,IC_kwDOAMm_X85Y-8hv,5821660,2023-04-01T09:48:57Z,2023-04-01T09:48:57Z,MEMBER,"@Illviljan I'm not able to figure out the typing if I want to use Data-types as functions to convert python numbers to array scalars. If you have any suggestion how to fix this, please let me know.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1633623916
https://github.com/pydata/xarray/pull/7654#issuecomment-1492880874,https://api.github.com/repos/pydata/xarray/issues/7654,1492880874,IC_kwDOAMm_X85Y-43q,5821660,2023-04-01T08:46:49Z,2023-04-01T09:28:16Z,MEMBER,"@dcherian @Illviljan Thanks for the first round of review. I've rebased everything on latest main. Now the code moving from `conventions.py` to `coding.variable.py` is correct. I've also removed the functions which have been converted to `VariableCoders` and adapted the tests.
To sum up this PR, it does:
- convert functions to `VariableCoders` along @shoyer's TODO:
https://github.com/pydata/xarray/blob/1c81162755457b3f4dc1f551f0321c75ec9daf6c/xarray/conventions.py#L298-L302
https://github.com/pydata/xarray/blob/1c81162755457b3f4dc1f551f0321c75ec9daf6c/xarray/conventions.py#L393-L405
- preserve boolean dtype within `encoding`:
https://github.com/pydata/xarray/issues/7652#issuecomment-1476956975
- deterrmine cf packed dtype from `scale_factor`/`add_offset`
#7691, #2304
","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1633623916
https://github.com/pydata/xarray/pull/7654#issuecomment-1491760266,https://api.github.com/repos/pydata/xarray/issues/7654,1491760266,IC_kwDOAMm_X85Y6nSK,5821660,2023-03-31T11:13:49Z,2023-03-31T11:13:49Z,MEMBER,"@dcherian @basnijholt
After the dev-meeting I've taken a step back and first implemented the coders as mentioned in @shoyer's ToDo.
I've fixed the one bool->int issue and it now derives the dtype for ScaleOffset coding from scale_factor add_offset.
I've improved some test with regard to the scale/offset issue.
I'll concentrate on the string fillvalue issues in a follow up PR.
","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1633623916
https://github.com/pydata/xarray/pull/7654#issuecomment-1483074081,https://api.github.com/repos/pydata/xarray/issues/7654,1483074081,IC_kwDOAMm_X85YZeoh,5821660,2023-03-24T16:21:06Z,2023-03-24T16:21:06Z,MEMBER,"> make
That's 15 UTC, or 17 CEST (my local time). Should work for me. I'll try to collect all available information on that topic and the current status.","{""total_count"": 1, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 1, ""rocket"": 0, ""eyes"": 0}",,1633623916
https://github.com/pydata/xarray/pull/7654#issuecomment-1483006535,https://api.github.com/repos/pydata/xarray/issues/7654,1483006535,IC_kwDOAMm_X85YZOJH,2448579,2023-03-24T15:35:58Z,2023-03-24T15:35:58Z,MEMBER,"> Any comments appreciated.
Let's discuss at next week's meeting. @kmuehlbauer can you make it? 9.30am MT Wed 29 Mar 2023","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1633623916
https://github.com/pydata/xarray/pull/7654#issuecomment-1482654644,https://api.github.com/repos/pydata/xarray/issues/7654,1482654644,IC_kwDOAMm_X85YX4O0,5821660,2023-03-24T11:28:14Z,2023-03-24T11:28:14Z,MEMBER,"And yet another related issue: https://github.com/pydata/xarray/issues/1647
Currently both netcdf/h5netcdf are able to set a `_FillValue` for VLEN strings, but for the numpy-side ""NaN"" can only be handled with dtype=object. Maybe it's time to consolidate string handling in xarray. But that should be taken care of in a separate issue / feature branch.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1633623916
https://github.com/pydata/xarray/pull/7654#issuecomment-1481108692,https://api.github.com/repos/pydata/xarray/issues/7654,1481108692,IC_kwDOAMm_X85YR-zU,5821660,2023-03-23T12:27:45Z,2023-03-23T12:27:45Z,MEMBER,"XRef: https://github.com/pydata/xarray/issues/2040#issuecomment-379418732
Citing @shoyer from above comment:
> The main reason why we don't do any special handling for object arrays currently in xarray is that our conventions coding/decoding system has no way of marking variable length string arrays. We should probably handle this by making a custom dtype like h5py that marks variables length strings using dtype metadata: http://docs.h5py.org/en/latest/special.html#variable-length-strings
Another interesting issue by @shoyer:
https://github.com/pydata/xarray/issues/2059
I'm really uncertain if using `.astype` here is the right way to go. Any comments appreciated.
","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1633623916
https://github.com/pydata/xarray/pull/7654#issuecomment-1479093658,https://api.github.com/repos/pydata/xarray/issues/7654,1479093658,IC_kwDOAMm_X85YKS2a,5821660,2023-03-22T08:24:50Z,2023-03-22T08:24:50Z,MEMBER,"> But **not** `int64` -> `int32`, and ` `O`
@basnijholt I've explained the issues whereabouts over at your issue https://github.com/pydata/xarray/issues/7652#issuecomment-1479080036. ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1633623916
https://github.com/pydata/xarray/pull/7654#issuecomment-1479011015,https://api.github.com/repos/pydata/xarray/issues/7654,1479011015,IC_kwDOAMm_X85YJ-rH,5821660,2023-03-22T06:58:04Z,2023-03-22T06:58:04Z,MEMBER,"@basnijholt Thanks for testing. I can't reproduce this. Here everything works as expected. But I've a slightly different environment (full netcdf4-stack, latest versions of everything).
The tests which check for dtype equality (vlen-case) do not raise in this PR for any backend and array container, so I'm assuming this should work as expected (at least for `bool`->`int8`, and ` `O`.
As stated over at #7652 I can't reproduce the int64->int32 conversion in any environments I tested so far. I'll have another look at your environment.
","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1633623916
https://github.com/pydata/xarray/pull/7654#issuecomment-1477869426,https://api.github.com/repos/pydata/xarray/issues/7654,1477869426,IC_kwDOAMm_X85YFn9y,5821660,2023-03-21T13:47:45Z,2023-03-21T13:47:45Z,MEMBER,The one failed run might be spurious. Maybe a re-run of this would work.,"{""total_count"": 1, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 1, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1633623916
https://github.com/pydata/xarray/pull/7654#issuecomment-1477604960,https://api.github.com/repos/pydata/xarray/issues/7654,1477604960,IC_kwDOAMm_X85YEnZg,5821660,2023-03-21T10:35:38Z,2023-03-21T10:35:38Z,MEMBER,I'll add to `whats-new.rst` if an updated version is merged.,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1633623916