0

是否可以使用 Python + netCDF4 打开现有的 NetCDF 文件并将其中一个维度从固定大小更改为无限维度,以便我可以将数据附加到它?

我找到了这个问题/答案,其中列出了使用 NCO/xarray 执行此操作的几个选项,但我专门寻找使用 netCDF4 包的方法。

下面是一个创建具有固定维度的 NetCDF 文件的最小示例(这部分当然在现实中不存在,否则我可以简单地创建具有无限维度的文件......),然后重新打开它尝试修改time尺寸。有netCDF4.Dimension time_dim一个函数/方法isunlimited()来测试维度是否是无限的,但没有像make_unlimited()我希望的那样。

import netCDF4 as nc4
import numpy as np

# Create dataset for testing
nc1 = nc4.Dataset('test.nc', 'w')
dim = nc1.createDimension('time', 10)
var = nc1.createVariable('time', 'f8', 'time')
var[:] = np.arange(10)
nc1.close()

# Read it back
nc2 = nc4.Dataset('test.nc', 'a')
time_dim = nc2.dimensions['time']

# ...
# (1) Make time_dim unlimited
# (2) Append some data
# ...

nc2.close()
4

0 回答 0