I'm new to Python and I'm using xarray. My netcdf file contains data with time given in 'days since 0001-01-01 00:00:00', calendar type is Julian. Does anybody know an easy way to convert the time to standard calendar?
Thanks in advance :)
xarray.Dataset.convert_calendar()
didn't work for me
datetime.datetime.strptime(Dataset.time, "%Y %m %d %H %M")
and similar also did not work.
You can convert Julian dates to a standard calendar (usually Gregorian) in xarray using cftime
library. Here's a minimal example:
cftime
: pip install cftime
import xarray as xr
import cftime
# Load your dataset
ds = xr.open_dataset('your_file.nc')
# Convert Julian to standard calendar (e.g., Gregorian)
ds['time'] = xr.coding.times.decode_cf_datetime(ds['time'], calendar='gregorian')
# Now ds['time'] is in Gregorian
Note: Replace 'your_file.nc'
with your NetCDF file path.
Hope that helps!