我试图存储每个时间增量和每个网格点的v_潮汐结果。 我需要存储v_潮汐结果,这取决于纬度、经度和时间
例如,如果时间向量具有维度120x1、纬度101x121和经度101x121,则v_潮汐矩阵的维度为120x1011x121
northward_velocity = fes.Handler("ocean", "memory", configuration_file)
# eastward_velocity = fes.Handler("ocean", "memory", configuration_file)
# GRID
lats = np.arange(1, 2, 0.5)
lons = np.arange(-79, -78, 0.5)
assert lons.shape == lats.shape
size = lats.size
lons, lats = np.meshgrid(lons, lats)
# DATES
ai, mi, di = 2019, 6, 3
af, mf, df = 2019, 6, 4
dates = datetime(ai, mi, di)
step = timedelta(minutes=60)
# DATENUM
def datenum(dt):
mdn = dt + timedelta(days = 366)
frac = (dt - datetime(dt.year,dt.month,dt.day,0,0,0)).seconds/86400.0
return mdn.toordinal() + frac
dat=np.empty(lons.shape,dtype='datetime64[us]')
while dates < datetime(af, mf, df):
dat.fill(dates)
v_tide, _ = northward_velocity.vector(lats.ravel(), lons.ravel(), dat.ravel())
# u_tide, lp = eastward_velocity.vector(lats.ravel(), lons.ravel(), dates.ravel())
dates += step
你在找这样的东西吗
这是一个非常糟糕的基本例子。可能有100种方法可以做得更好。但我们对你的数据一无所知,这应该让你开始
Filling a 2D matrix in numpy using a for loop
请阅读以下教程:
https://numpy.org/devdocs/user/quickstart.html#indexing-slicing-and-iterating
https://scipy-lectures.org/
相关问题 更多 >
编程相关推荐