【发布时间】:2015-06-08 11:38:04
【问题描述】:
我正在编写一个读取两个不同 netCDF 文件的 python 脚本,并且在对变量进行评估后进行一些计算,这个想法是(代码的想法的一个例子,真正的代码太长了):
import netCDF4
import numpy as np
#other modules loaded...
#Values
a = 2
b = 4
c = 1
def srf(r, h):
if r[:] == 2:
if h[:] > 0:
surf = 1 + b
else:
surf = a + b
else:
surf = a - c
return surf
path_file : /home/file.nc
fhp = Dataset(path_file, r+)
ra = fhp.variables['VAR'][:]
path_file2 : /home/file2.nc
fhp2 = Dataset(path_file2, r+)
hu = fhp2.variables['VAR2'][:]
#Call the Function
srf(ra, hu)
每个 netCDF 文件都有 3 个维度,如果我尝试运行此代码,我会收到此错误
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
我需要在 las 两个维度中执行该函数,这些维度包含要在域 [TSTEP、ROW、COL] 中检查的信息。所以我需要遍历维度,但我不知道该怎么做,也不知道是否有最简单的方法。谢谢
【问题讨论】:
标签: python comparison netcdf