我有一个netCDF文件,并尝试使用python netCDF4创建新变量。但是程序无法将值分配给数组。
以下是我的代码
import netCDF4
file = netCDF4.Dataset(filename, "r+")
tmp = file.createVariable("tmp", "f4", ('time','height','lat','lon'), zlib=True)
tmp.set_auto_mask(False)
tmp.set_auto_maskandscale(False)
//setting values
tmp[0][0][0][0] = 0.1234
print(tmp[0][0][0][0])
//I got 9.96921e+36, which seems to be the default fill value
我该怎么做才能解决这个问题?
任何帮助都将不胜感激。
TIA
答案 0 :(得分:0)
访问NetCDF文件中的变量的方法如下:
file.variables["tmp"][0,0,0,0] = 0.1234
//read complete var
putDataInHere = file.variables["tmp"][:]
如果您查看tmp
变量并打印它,您会看到如下内容:
<type "netCDF4._netCDF4.Variable">
float32 temp(time, level, lat, lon)
least_significant_digit: 3
units: K
unlimited dimensions: time, level
current shape = (0, 0, 73, 144)