issue_comments: 580935355
This data as json
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/3739#issuecomment-580935355 | https://api.github.com/repos/pydata/xarray/issues/3739 | 580935355 | MDEyOklzc3VlQ29tbWVudDU4MDkzNTM1NQ== | 33062222 | 2020-01-31T22:17:34Z | 2020-01-31T22:17:34Z | NONE | Hi Ryan, thanks for your reply. Apologies for not creating a reproducible problem earlier as the files weren't created by xarray routine. Please find my attempt at reproducing the problem below: Minimum steps to reproduce the error```python import numpy as np import xarray as xr import pandas as pd data1 = np.ones(shape=(1, 181, 360)) lats=np.arange(-90,91, 1) lons=np.arange(-180,180,1) time1 = np.array([0]) creating the first datasetda_1 = xr.DataArray(data1, coords=[time1, lats, lons], dims=['time', 'lats', 'lons']) da_1.time.attrs['units'] = "hours since 1988-01-01 00:00:00" da_1.time.attrs['calendar'] = "proleptic_gregorian" da_1.time.attrs['standard_name'] = "time" ds_1 = xr.Dataset({'V':da_1}) ds_1.attrs['Conventions'] = 'CF' ds_1.to_netcdf('ds_1.nc', encoding=None) creating second test datasettime2=np.array([6]) # wrong time value da_2 = xr.DataArray(data1, coords=[time2, lats, lons], dims=['time', 'lats', 'lons']) da_2.time.attrs['units'] = "hours since 1988-01-01 06:00:00" da_2.time.attrs['calendar'] = "proleptic_gregorian" da_2.time.attrs['standard_name'] = "time" ds_2 = xr.Dataset({'V':da_2}) ds_2.attrs['Conventions'] = 'CF' saving it with wrong time valueds_2.to_netcdf('ds_2.nc', encoding=None) Reading the 2 files and concatenating themfiles = ['/path/to/ds_1.nc', '/path/to/ds_2.nc'] ds_test = xr.open_mfdataset(files, combine='nested', concat_dim='time', decode_cf=False) yr = 1988 # year dates = pd.date_range(start=(yr), end=str(yr+1), freq='6H', closed='left') ds_test.time.values=dates[:2] # fixing the time values ds_test.time.attrs['units'] = "Seconds since 1970-01-01 00:00:00" #required encoding ds_test.to_netcdf('ds_1_2.nc') # gives the same error ```
I've also mentioned your suggestion earlier in the original post. It also gives the same error message Please find the following reproducible steps incorporating your suggestion. Trying time encoding solution``` Reading the filesfiles = ['/path/to/ds_1.nc', '/path/to/ds_2.nc'] ds_test = xr.open_mfdataset(files, combine='nested', concat_dim='time', decode_cf=False) yr = 1988 # year dates = pd.date_range(start=(yr), end=str(yr+1), freq='6H', closed='left') ds_test.time.values=dates[:2] # fixing the time values encoding tryds_test.time.encoding['units'] = "Seconds since 1970-01-01 00:00:00" ds_test.to_netcdf('ds_1_2.nc') # gives same error ```
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
558293655 |