我有一个从http://ngdc.noaa.gov/mgg/global/global.html下载的文件,我在其中提取了自定义网格以解决海洋学中的问题。但是,此网格比我进行实验所需的分辨率更高(1分钟或1/60度)。因此,我想知道是否要有10分钟的网格分辨率,如何使用for循环“调整”它的大小?我知道如何在MATLAB中制作代码(粘贴在下面的代码),但是由于我想成为python用户,所以我不知道该怎么做。
MATLAB代码:
ii=0;
for i=1:10:1681;
ii=ii+1;
jj=0;
for j=1:10:4561;
jj=jj+1;
n=j+((i-1)*4561);
long2(ii,jj)=lon(n);
latie2(ii,jj)=lat(n);
c2(ii,jj)=depth(n);
end
end
深度文件具有以下结构,其数组大小为1621x4561:
array([[ 200, 191, 192, ..., 1344, 1345, 1343],
[ 191, 178, 192, ..., 1330, 1332, 1337],
[ 178, 176, 177, ..., 1297, 1303, 1314],
...,
[-1806, -1853, -1897, ..., 295, 296, 295],
[-1803, -1845, -1887, ..., 294, 295, 295],
[-1806, -1844, -1881, ..., 294, 294, 295]], dtype=int16)
提前致谢
最佳答案
您可以尝试使用ncks每十个纬度和纬度进行超平铺
ncks -d lat,,,10 -d lon,,,10 in.nc out.nc