2017-04-20 68 views
0

“腰斩”的价值观我有一个netCDF文件这样一个:NCO - 如何从一个特定的区域

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)。有没有办法通过变量来削减它?

+0

这个文件看起来不正确的,为什么是'temperature'一个尺寸?为什么有一个单一的空间维度'lat_lon'?该文件可能应该是3D,'time' x'lat' x'lon',并且将'temperature'作为变量,而不是维度。一旦你把文件理顺了,你可以使用hyperslabs在'lat'和'lon'中提取一个矩形。 – N1B4

回答

0

我有和N1B4有关的temperature尺寸的问题。尺寸lat_lon可能表示一个非结构化网格。

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

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

然后使用-X到hyperslab你想要的区域,即一切,但孔:

ncks -X 10,180,10,90 -X -180,0,-90,0 in.nc out.nc 
+0

这是整洁的,我不知道这些ncks功能! – N1B4

相关问题