0

我有一个 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

4

1 回答 1

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)
于 2017-04-19T13:06:26.767 回答