Skip to content

wrong time encoding after padding #4224

Closed
@xzenggit

Description

@xzenggit

What happened:

If I open a netcdf with default settings (contain a daily time dimension) and then pad with hourly values, even the padded dataset shows hourly time values, the hourly values cannot be saved. I think this is due to the encoding, but I'm not sure how to fix it.

What you expected to happen:
I expected the final line of code give me

#array(['2000-01-01T00:00:00.000000000', '2000-01-01T01:00:00.000000000',
#      '2000-01-01T02:00:00.000000000', '2000-01-01T03:00:00.000000000',
#       '2000-01-01T04:00:00.000000000'], dtype='datetime64[ns]')

Instead, it outputs

#array(['2000-01-01T00:00:00.000000000', '2000-01-01T00:00:00.000000000',
#      '2000-01-01T00:00:00.000000000', '2000-01-01T00:00:00.000000000',
#      '2000-01-01T00:00:00.000000000'], dtype='datetime64[ns]')

Minimal Complete Verifiable Example:

import xarray as xr

time = pd.date_range("2000-01-01", freq="1D", periods=365 )
ds = xr.Dataset({"foo": ("time", np.arange(365)), "time": time})
ds.to_netcdf('test5.nc')

ds = xr.open_dataset('test5.nc')
ds.time.encoding

# padding
ds_hourly = ds.resample(time='1h').pad()
ds_hourly.time.values[0:5]
#array(['2000-01-01T00:00:00.000000000', '2000-01-01T01:00:00.000000000',
#      '2000-01-01T02:00:00.000000000', '2000-01-01T03:00:00.000000000',
#       '2000-01-01T04:00:00.000000000'], dtype='datetime64[ns]')

ds_hourly.to_netcdf('test6.nc')

# load the padded data file
ds_hourly_load = xr.open_dataset('test6.nc')
ds_hourly_load.time.values[0:5]
#array(['2000-01-01T00:00:00.000000000', '2000-01-01T00:00:00.000000000',
#      '2000-01-01T00:00:00.000000000', '2000-01-01T00:00:00.000000000',
#      '2000-01-01T00:00:00.000000000'], dtype='datetime64[ns]')

Anything else we need to know?:

Environment:
xarray version: '0.15.1'

Output of xr.show_versions()

Metadata

Metadata

Assignees

No one assigned

    Labels

    topic-metadataRelating to the handling of metadata (i.e. attrs and encoding)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions