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/issues/7794#issuecomment-1528760172,https://api.github.com/repos/pydata/xarray/issues/7794,1528760172,IC_kwDOAMm_X85bHwds,6628425,2023-04-29T11:07:29Z,2023-04-29T11:11:45Z,MEMBER,"The `cftime.Datetime360Day` objects are still expected here. We have not switched over to the universal `cftime.datetime` class yet within xarray, though my sense is this would likely still be an issue regardless (the traceback indicates the error comes up in xarray's indexing logic). `cftime.Datetime360Day` instances are instances of `cftime.datetime` objects:
```
>>> import cftime
>>> isinstance(cftime.Datetime360Day(2000, 1, 1), cftime.datetime)
True
```
This is the full traceback for reference:
```
Traceback (most recent call last):
File """", line 1, in
File ""/Users/spencer/software/xarray/xarray/core/dataset.py"", line 1917, in to_netcdf
return to_netcdf( # type: ignore # mypy cannot resolve the overloads:(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File ""/Users/spencer/software/xarray/xarray/backends/api.py"", line 1216, in to_netcdf
dump_to_store(
File ""/Users/spencer/software/xarray/xarray/backends/api.py"", line 1263, in dump_to_store
store.store(variables, attrs, check_encoding, writer, unlimited_dims=unlimited_dims)
File ""/Users/spencer/software/xarray/xarray/backends/common.py"", line 269, in store
variables, attributes = self.encode(variables, attributes)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File ""/Users/spencer/software/xarray/xarray/backends/common.py"", line 358, in encode
variables, attributes = cf_encoder(variables, attributes)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File ""/Users/spencer/software/xarray/xarray/conventions.py"", line 773, in cf_encoder
_update_bounds_encoding(variables)
File ""/Users/spencer/software/xarray/xarray/conventions.py"", line 347, in _update_bounds_encoding
) or contains_cftime_datetimes(v)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File ""/Users/spencer/software/xarray/xarray/core/common.py"", line 1818, in contains_cftime_datetimes
return _contains_cftime_datetimes(var._data)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File ""/Users/spencer/software/xarray/xarray/core/common.py"", line 1811, in _contains_cftime_datetimes
return isinstance(np.asarray(sample).item(), cftime.datetime)
^^^^^^^^^^^^^^^^^^
File ""/Users/spencer/Software/miniconda3/envs/xarray-tests-py311/lib/python3.11/site-packages/dask/array/core.py"", line 1700, in __array__
x = self.compute()
^^^^^^^^^^^^^^
File ""/Users/spencer/Software/miniconda3/envs/xarray-tests-py311/lib/python3.11/site-packages/dask/base.py"", line 314, in compute
(result,) = compute(self, traverse=False, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File ""/Users/spencer/Software/miniconda3/envs/xarray-tests-py311/lib/python3.11/site-packages/dask/base.py"", line 599, in compute
results = schedule(dsk, keys, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File ""/Users/spencer/Software/miniconda3/envs/xarray-tests-py311/lib/python3.11/site-packages/dask/threaded.py"", line 89, in get
results = get_async(
^^^^^^^^^^
File ""/Users/spencer/Software/miniconda3/envs/xarray-tests-py311/lib/python3.11/site-packages/dask/local.py"", line 511, in get_async
raise_exception(exc, tb)
File ""/Users/spencer/Software/miniconda3/envs/xarray-tests-py311/lib/python3.11/site-packages/dask/local.py"", line 319, in reraise
raise exc
File ""/Users/spencer/Software/miniconda3/envs/xarray-tests-py311/lib/python3.11/site-packages/dask/local.py"", line 224, in execute_task
result = _execute_task(task, data)
^^^^^^^^^^^^^^^^^^^^^^^^^
File ""/Users/spencer/Software/miniconda3/envs/xarray-tests-py311/lib/python3.11/site-packages/dask/core.py"", line 119, in _execute_task
return func(*(_execute_task(a, cache) for a in args))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File ""/Users/spencer/Software/miniconda3/envs/xarray-tests-py311/lib/python3.11/site-packages/dask/array/core.py"", line 120, in getter
c = a[b]
~^^^
File ""/Users/spencer/software/xarray/xarray/core/indexing.py"", line 490, in __getitem__
result = self.array[self.indexer_cls(key)]
~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
File ""/Users/spencer/software/xarray/xarray/core/indexing.py"", line 699, in __getitem__
return type(self)(_wrap_numpy_scalars(self.array[key]))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File ""/Users/spencer/software/xarray/xarray/core/indexing.py"", line 686, in __init__
self.array = _wrap_numpy_scalars(as_indexable(array))
^^^^^^^^^^^^^^^^^^^
File ""/Users/spencer/software/xarray/xarray/core/indexing.py"", line 727, in as_indexable
raise TypeError(f""Invalid array type: {type(array)}"")
TypeError: Invalid array type:
```","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1688779793
https://github.com/pydata/xarray/issues/7794#issuecomment-1528527292,https://api.github.com/repos/pydata/xarray/issues/7794,1528527292,IC_kwDOAMm_X85bG3m8,14371165,2023-04-29T02:39:19Z,2023-04-29T02:39:19Z,MEMBER,Why/where do you get a cftime._cftime.Datetime360Day ? It is deprecated according to cftime.,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1688779793