使用Python + netCDF4,是否可以打开现有的NetCDF文件并将其中一个维度从固定大小更改为无限维度,以便我可以向其追加数据?
我找到this question/answer,其中列出了使用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()