使用for循环调整来自etopo的网格数据

时间:2015-09-12 06:46:18

标签: 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)

提前谢谢

1 个答案:

答案 0 :(得分:0)

您可以尝试使用ncks

进行每十分之一的过度训练
ncks -d lat,,,10 -d lon,,,10 in.nc out.nc