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 795584845,PR_kwDOAMm_X84va6lN,6049,closed,0,Attempt datetime coding using cftime when pandas fails,132147,"A netCDF4 dataset we use has a time variable defined as: ``` double time(time) ; time:axis = ""T"" ; time:bounds = ""time_bnds"" ; time:calendar = ""gregorian"" ; time:long_name = ""time"" ; time:standard_name = ""time"" ; time:units = ""days since 1970-01-01 00:00:00 00"" ; ``` Note the `units` attribute, specifically a timezone offset of `00` without any `+-` sign. xarray can successfully open this dataset and parse the time units, making a time variable with the expeced values. However, attempting to save this dataset (e.g. after slicing some geographic bounds or selecting a subset of variables), xarray would raise an error trying to reformat the time `units`. This fix applies the same logic used in the decoding step to the encoding step - specifically, attempt to use `pandas` but if that fails then use `cftime`. The decoding step catches `ValueError` to do this, but `ValueError` was not caught in the encode workflow. - [x] Tests added - [x] Passes `pre-commit run --all-files` - [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst`",2021-12-06T07:12:35Z,2022-01-04T00:28:15Z,2021-12-24T11:48:22Z,2021-12-24T11:48:22Z,60f72ef4b1b8182245ee06f1758339826052bfb7,,,0,312f64e4da178928d309eac87f7010c281e5618b,f76ea09bebba35a175868a81845c426890ec0330,CONTRIBUTOR,,13221727,https://github.com/pydata/xarray/pull/6049, 1346513048,PR_kwDOAMm_X85QQiiY,7834,closed,0,Use `numpy.can_cast` instead of casting and checking,132147,"In numpy >= 1.24 unsafe casting raises a RuntimeWarning for an operation that xarray does often to check if casting is safe. `numpy.can_cast` looks like an alternative approach designed for this exact case. - [ ] Tests added - [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst` - [ ] New functions/methods are listed in `api.rst` ",2023-05-11T06:36:06Z,2023-06-26T05:06:30Z,2023-06-26T05:06:29Z,,63331ae1eb3f89cd9b69add8ed7562e03edb1297,,,1,452156f6b116e719d7a3354e7b072d5b48729582,51554f2638bc9e4a527492136fe6f54584ffa75d,CONTRIBUTOR,,13221727,https://github.com/pydata/xarray/pull/7834,