按非关联坐标剪辑 NetCDF 文件

问题描述

看看这个 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 ...

当我尝试通过 xarraynco 坐标使用 lat(在 Python 脚本中)或 lon(在命令行中)对其进行剪辑时,大概不是用作 latlon 不是维度。我读到这些都是 coordinates 与任何变量无关。我如何将它们关联或使它们维度化?坐标 rlatrlon 旁边的星号是否暗示我遗漏了什么?

注意我通过 xarray.Dataset.where 实现裁剪,但我对操纵尺寸/坐标很感兴趣,以便通常的裁剪操作可以工作。谢谢!

解决方法

您应该能够使用 CDO 剪辑此视频:

sellonlatbox,lonmin,lonmax,latmin,latmax infile outfile

CDO 将找出包含指定框的原始数据集中可能的最小矩形。这似乎是一个旋转的极坐标网格,所以你不会在框外得到一些网格单元。

NCO 也可以使用,但您需要使用 rlon 和 rlat 进行裁剪。因此,您需要选择合适的 rlon 和 rlat,以产生所需的 lon 和 lat。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...