我正在寻找计算大气层中的极向热通量,即(u't')的平均值。我知道NumPy中的协方差函数,但似乎无法实现它。以下是我的代码。
from netCDF4 import Dataset
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.basemap import Basemap
myfile = '/home/ubuntu/Fluxes_Test/out.nc'
Import = Dataset(myfile, mode='r')
lon = Import.variables['lon'][:] # Longitude
lat = Import.variables['lat'][:] # Latitude
time = Import.variables['time'][:] # Time
lev = Import.variables['lev'][:] # Level
wind = Import.variables['ua'][:]
temp = Import.variables['ta'][:]
lon = lon-180 # to shift co-ordinates to -180 to 180.
variable1 = np.squeeze(wind,temp, axis=0)
variable2 = np.cov(variable1)
m = Basemap(resolution='l')
lons, lats = np.meshgrid(lon,lat)
X, Y = m(lons, lats)
cs = m.pcolor(X,Y, variable2)
plt.show()
我试图计算(协方差)通量的变量wind和temp的形状都是(3960,64,128),因此在64x128网格上有3960个数据(带坐标)。
我试着挤压两个变量来生成一个(3960,3960,64,128)数组,因此cov可以处理wind和temp的前两个数据系列(两个3960),但这不起作用。