python - 使用 for 循环调整 etopo 中的网格数据大小

标签 python matlab file for-loop netcdf

我有一个从 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/

相关文章:

c - C 中文件的冒泡排序

c# - 使用套接字将波斯字符串从 C# 服务器发送到 python 客户端

python - 如何使用 App Engine app.yaml 文件中定义的路由来提供来自 Google Cloud Storage 的内容?

matlab - 为什么 eigs( 'lm' ) 比 eigs ('sm' 快得多)

c++ - 多边形面积和多面体体积的精确公式

linux - 使用 awk 计算文件中特定列的出现次数

python - 使用 Drive API 在 Google Drive 中创建空电子表格

python - PHP 框架(CodeIgniter、Yii、CakePHP)与 Django

arrays - 如何找到每行中非零元素的位置?

c++ - ofstream - 检测文件是否在打开和关闭之间被删除