You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用xarray合并2010-2021年NetCDF文件后时间起点异常如何修复

问题原因

NetCDF格式的时间维度默认存储为相对于基准时间的数值偏移量,每个单文件的时间变量属性中会标注类似units: hours since 2010-01-01 00:00:00的基准时间规则。你遇到的问题是多文件合并时xarray未正确识别统一的时间基准,默认采用了1900-01-01作为偏移起点导致的。

解决方案

修改读取逻辑,强制开启时间自动解码,必要时手动校准时间即可,修改后代码如下:

import netCDF4
import numpy
import xarray

ds = xarray.open_mfdataset(
    'e.*.nc',
    combine = 'by_coords',
    concat_dim="time",
    # 强制开启时间解码
    decode_times=True,
    # 如果是非常规历法数据集(如360天、无闰年历法的气象数据)需添加该参数
    use_cftime=True
)

# 若自动解码后时间仍不符合预期,可手动重置时间,按需修改起始时间和频率即可
# 逐小时数据freq设为"H",日数据设为"D",月数据设为"M"
# ds['time'] = xarray.date_range(start="2010-01-01 00:00:00", periods=len(ds.time), freq="H")

# 导出前可先打印前5个时间节点验证正确性
# print(ds.time[:5])

ds.to_netcdf('eras_bir.nc')

内容的提问来源于stack exchange,提问作者Gzm_93

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 08:06:02