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/975#issuecomment-241579204,https://api.github.com/repos/pydata/xarray/issues/975,241579204,MDEyOklzc3VlQ29tbWVudDI0MTU3OTIwNA==,10194086,2016-08-22T23:12:05Z,2016-08-22T23:12:05Z,MEMBER,"pydata/pandas#14068
","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,171956399
https://github.com/pydata/xarray/issues/975#issuecomment-241578398,https://api.github.com/repos/pydata/xarray/issues/975,241578398,MDEyOklzc3VlQ29tbWVudDI0MTU3ODM5OA==,10194086,2016-08-22T23:07:50Z,2016-08-22T23:07:50Z,MEMBER,"As somewhat hinted at above there seem to be several issues here. I tried to look into a solution for checking the first and last element (which seems work for Problem (1) in my original post) but the OverflowError persisted so I looked into this and now my code is a mess but I figured this second problem out.
Pandas does not raise an overflow error when adding a `TimedeltaIndex` and a Timestamp.
```
import pandas as pd
# overflow error
pd.to_timedelta(106580, 'D') + pd.Timestamp('2000')
# no overflow error
pd.to_timedelta([106580], 'D') + pd.Timestamp('2000')
```
This screws up line 145 in https://github.com/pydata/xarray/blob/master/xarray/conventions.py.
","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,171956399
https://github.com/pydata/xarray/issues/975#issuecomment-241033630,https://api.github.com/repos/pydata/xarray/issues/975,241033630,MDEyOklzc3VlQ29tbWVudDI0MTAzMzYzMA==,10194086,2016-08-19T14:28:39Z,2016-08-19T14:29:40Z,MEMBER,"I tried to look into the logic of decoding datetimes and I am not sure I got it. So the dtype of the dates should be:
```
if 1678 < year < 2262:
`datetime64[ns]`
else:
if calendar in ['standard', 'gregorian', 'proleptic_gregorian']:
`datetime.datetime`
else:
`netcdftime._datetime.datetime`
```
(Is it ever a `timedelta64[ns]`?)
The necessary conversion seems to be determined lazily (which may be the core of my problem above), Try this:
```
import xarray as xr
import numpy as np
units = 'days since 1850-01-01 00:00:00'
dates = np.arange(850) * 365
dta = xr.conventions.DecodedCFDatetimeArray(dates, units)
dta[0:1] # a datetime64[ns] object
dta[-1] # a datetime.datetime object
dta[:] # a datetime.datetime object
```
However, when I load these dates from a netCDF file (see the example in the first post) it results in an error. (Thus, the behavior is not exactly the same as when using `DecodedCFDatetimeArray`, I haven't figured out why.)
Another (or the same) problem is that in `DecodedCFDatetimeArray` in (in `__init__`) only the first element is tested when trying to generate the error message, maybe the first and the last element should be tested.
Here: (https://github.com/pydata/xarray/blob/master/xarray/conventions.py, line 375)
","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,171956399
https://github.com/pydata/xarray/issues/975#issuecomment-240957095,https://api.github.com/repos/pydata/xarray/issues/975,240957095,MDEyOklzc3VlQ29tbWVudDI0MDk1NzA5NQ==,10194086,2016-08-19T08:17:28Z,2016-08-19T08:17:28Z,MEMBER,"Yes, definitely. However, the documentation states that we should get back a `netcdftime.datetime` object when we are out of these bounds (http://xarray.pydata.org/en/stable/time-series.html#creating-datetime64-data). This only worked for (3) and not for (1). Thus only when the date was < 1678 and not for > 2262. I have not looked into why this occurs.
In my example (2) it returned a working `datetime64[ns]` object by wrapping around the year, which looks like an overflow problem. I also haven't looked into where this happens (xarray or netcdftime or ...), but this feels a bit dangerous to me.
","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,171956399