我从nc
文件中读取了数组形式的变量。现在我用所有这些变量的第一个元素进行了计算,并创建了一个新变量。我想对初始数组中的每个元素重复相同的一组计算,而不必更改计算的代码,因为我考虑了一个点。你知道吗
我试过zip
和nditer
,但在这两种情况下,变量a
中的if语句都要更改为.any()
或.all()
。我也不能这样做,因为我希望if语句只考虑一个点,而不是整个数组。你知道吗
T = AD06_ALL_OMNI.variables['A_TEMP'][:][0]
REL_HUM = AD06_ALL_OMNI.variables['HUMIDITY'][:][0]
AIR_PRES = AD06_ALL_OMNI.variables['A_PRES'][:][0]
a = T-29.65
#masking of values so that division by 0 is avoided
if a!=0.0:
exponent1 = math.exp(17.67*T-0.16/a)
q = REL_HUM*exponent1/(26.3*AIR_PRES)
deltaq = 0.98*qs-q
print (deltaq)
我需要为每个点计算a
,这样就可以从对应点的T,REL_HUM
和AIR_PRES
的值中找出相同点的deltaq
。所有变量的大小都相同(1d数组)。请帮帮我!你知道吗
假设所有数组的长度相同(如果没有等长的气压、空气温度和湿度,则没有意义),可以使用循环来迭代a的所有值,检查每个值是否为0,并计算和打印每个点的deltaq。我希望这有帮助。你知道吗
相关问题 更多 >
编程相关推荐