2

我有一个这样的 netcdf 文件:

dimensions:
    time = 8760 ;
    lon_lat = 35047 ;
    temperature = 8760 ;
variables:
    float temp(temperature, lon_lat) ;
        temp:units = "C" ;
    float time(time) ;
    float longitude(lon_lat) ;
        longitude:units = "degrees east" ;
    float latitude(lon_lat) ;
        latitude:units = "degrees north" ;

netcdf 覆盖了整个美国。我想用 nco 做的是删除一个特定的区域,比如一个正方形。

因此,通过为某个区域提供某些坐标,我将删除“切出”该区域。

然后我会得到一个带有三个变量但没有该特定区域数据的州的 netcdf。假设我会让美国有一个洞。

我已经用 Hyperslabs ( http://nco.sourceforge.net/nco.html#hyp ) 进行了尝试:

ncks -d lon,-106.,-102. -d lat, 20.,30. in.nc out.nc

但是,它说:

ncks: ERROR dimension longitude is not in input file

对,因为维度是(lon_lat)。有没有办法通过变量来削减它?

4

2 回答 2

1

temperature关于尺寸,我有与 N1B4 相同的问题。该lat_lon维度可能表示非结构化网格。

试试 NCO 的辅助坐标功能。首先添加这些standard_name属性:

ncatted -a standard_name,latitude,o,c,latitude -a standard_name,longitude,o,c,longitude in.nc 

然后使用-Xhyperslab 你想要的区域,即除了洞之外的所有东西:

ncks -X 10,180,10,90 -X -180,0,-90,0 in.nc out.nc
于 2017-04-20T13:15:23.577 回答
0

您可以使用以下方法将区域设置为 CDO 中的 netcdf 缺失值:

 cdo setclonlatbox,missing_vlaue,lon1,lon2,lat1,lat2 infile outfile

这是你想要达到的目标吗?

于 2018-03-27T17:25:14.580 回答