如何重新排列尺寸?

时间:2019-04-04 20:17:44

标签: 3d netcdf dimension permute

我正在处理降水数据。我需要在NetCDF文件中重新排列尺寸。我文件中的尺寸按(time, lat, lon)顺序排列。我需要按(lat, lon, time)的顺序使用它们。

我尝试了以下操作:

ncpdq -a lat,lon,time infile.nc outfile.nc   

现在,我得到了想要的尺寸顺序(lat, lon, time)

但是,lat维度变为UNLIMITED,这是错误的。时间维度应为UNLIMITED维度。这就是我得到的:

dimensions: 
   lon = 720 ;
   lat = UNLIMITED ; // (360 currently)
   time = 1404 ;

我应该怎么做才能将尺寸从(time, lat, lon)更改为(lat, lon, time)

1 个答案:

答案 0 :(得分:0)

我做了检查,对我来说似乎重新排序有效。我用ncdump -h inputfile.ncncdump -h outputfile.nc检查了文件信息,比较如下: Comparison of file info before and after the re-order

如您所见,已经进行了重新排序,并且第一个维度(在我的情况下为latc)变得不受限制。

幸运的是,您可以执行以下操作来修正纬度:

ncks --fix_rec_dmn lat output.nc -o outfixed.nc ; mv outfixed.nc outputfile.nc

并再次限制时间:

ncks --mk_rec_dmn time outputfile.nc -o outunlim.nc ; mv outunlim.nc outputfile.nc

所以现在输出文件应该没问题。