问题描述
看看这个 NetCDF EURO-CORDEX 文件:
<xarray.Dataset>
Dimensions: (bnds: 2,rlat: 412,rlon: 424,time: 1800)
Coordinates:
lat (rlat,rlon) float64 ...
lon (rlat,rlon) float64 ...
* rlat (rlat) float64 -23.38 -23.26 -23.16 ... 21.61 21.73 21.83
* rlon (rlon) float64 -28.38 -28.26 -28.16 ... 17.93 18.05 18.16
* time (time) object 2011-01-01 12:00:00 ... 2015-12-30 12:00:00
Dimensions without coordinates: bnds
Data variables:
pr (time,rlat,rlon) float32 ...
rotated_pole |S1 ...
time_bnds (time,bnds) object ...
当我尝试通过 xarray
和 nco
坐标使用 lat
(在 Python 脚本中)或 lon
(在命令行中)对其进行剪辑时,大概不是用作 lat
和 lon
不是维度。我读到这些都是 coordinates
与任何变量无关。我如何将它们关联或使它们维度化?坐标 rlat
和 rlon
旁边的星号是否暗示我遗漏了什么?
注意我通过 xarray.Dataset.where
实现裁剪,但我对操纵尺寸/坐标很感兴趣,以便通常的裁剪操作可以工作。谢谢!
解决方法
您应该能够使用 CDO 剪辑此视频:
sellonlatbox,lonmin,lonmax,latmin,latmax infile outfile
CDO 将找出包含指定框的原始数据集中可能的最小矩形。这似乎是一个旋转的极坐标网格,所以你不会在框外得到一些网格单元。
NCO 也可以使用,但您需要使用 rlon 和 rlat 进行裁剪。因此,您需要选择合适的 rlon 和 rlat,以产生所需的 lon 和 lat。