我正在尝试将值从numpy数组移动到我正在创建的NetCDF文件。目前我正在尝试在创建netCDF文件时找到模拟numpy数组的'花式索引'的最佳方法,但是当数据集只有两个点时,两个索引系统不匹配。
import netCDF4
import numpy as np
rootgrp = netCDF4.Dataset('Test.nc','w',format='NETCDF4')
time = rootgrp.createDimension('time',None)
dim1 = rootgrp.createDimension('dim1',100)
dim2 = rootgrp.createDimension('dim2',100)
dim3 = rootgrp.createDimension('dim3',100)
ncVar = rootgrp.createVariable('ncVar','f4',('time','dim1','dim2','dim3'))
npArr = np.arange(0,10000)
npArr = np.reshape(npArr,(100,100))
所以这很好用:
x,y=np.array(([1,75,10,99],[40,88,19,2]))
ncVar[0,x,y,0] = npArr[x,y]
虽然这不是:
x,y=np.array(([1,75],[40,88]))
ncVar[0,x,y,0] = npArr[x,y]
这些分配是动态循环的一部分,该动态循环确定x,y
在{1000}时间步骤为ncVar
创建值