我有一个从 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 每十分之一的经度和纬度进行 super 切片。
ncks -d lat,,,10 -d lon,,,10 in.nc out.nc
关于python - 使用 for 循环调整 etopo 中的网格数据大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32536056/