让我们考虑这两个文件:
from netCDF4 import Dataset as dset
for i in range(2):
with dset('test_{}.nc'.format(i),'w') as f:
f.createDimension('A',5)
f.createDimension('B',8)
f.createVariable('v1',float,('A',))
f.createVariable('v2',float,('B',))
f['v1'][:] = range(i*5,i*5+5)
f['v2'][:] = range(i*8,i*8+8)
如果两个维度是无限的,则 ncrcat 直接工作并沿 B 连接 v2,沿 A 连接 v1。
ncrcat test_0.nc test_1.nc test_01.nc
但是,如果尺寸是固定尺寸,就像上面的示例一样,我必须连续将 A 和 B 设置为记录尺寸以使它们不受限制,然后连接
ncks --mk_rec_dmn A test_0.nc test_0u.nc ; mv test_0u.nc test_0.nc
ncks --mk_rec_dmn B test_0.nc test_0u.nc ; mv test_0u.nc test_0.nc
ncks --mk_rec_dmn A test_1.nc test_1u.nc ; mv test_1u.nc test_1.nc
ncks --mk_rec_dmn B test_1.nc test_1u.nc ; mv test_1u.nc test_1.nc
ncrcat test_0.nc test_1.nc test_01.nc
有没有另一种方法可以用更少的行来做到这一点?