r语言 - 仅从 4d NetCDF 文件中提取底部温度



我有一个关于海洋温度的NetCDF文件。它有 1 个变量("temp"(和 4 个维度(时间、纬度、纬度和深度(。我想只提取每次最大深度的温度,lon和lat,以获得海底温度光栅砖。我愿意使用 R 或在终端中使用气候数据运算符。

NetCDF 文件的属性

nc_open('data.pre1980.nc')
File data.pre1980.nc (NC_FORMAT_CLASSIC):
1 variables (excluding dimension variables):
float temp[lon,lat,depth,time]   
standard_name: sea_water_temperature
long_name: TEMPERATURE
units: Celsius_scale
_FillValue: -9.98999971057742e+33
missing_value: -9.98999971057742e+33
pointwidth: 1
4 dimensions:
time  Size:324   *** is unlimited ***
standard_name: time
units: months since 1960-01-01
calendar: 360_day
axis: T
lon  Size:440
standard_name: longitude
long_name: longitude
units: degree_east
axis: X
lat  Size:179
standard_name: latitude
long_name: latitude
units: degree_north
axis: Y
depth  Size:40
units: meters
axis: Z
gridtype: 0
4 global attributes:
CDI: Climate Data Interface version 1.9.6 (http://mpimet.mpg.de/cdi)
Conventions: CF-1.6
history: Fri Aug 16 13:33:42 2019: cdo merge data.nc data.nc.1 data.nc.2 data.nc.3 data.nc.4 data.nc.5 data.pre1980.nc
CDO: Climate Data Operators version 1.9.6 (http://mpimet.mpg.de/cdo)

提前感谢!

尝试带有负超板的 NCO 的 ncks:

ncks -d depth,-1 in.nc out.nc

不太可能有更简洁的解决方案。

CDO 确实具有相同的功能,但带有负索引来表示从文件末尾反向计数(时间、高度等(,因此您还可以执行以下操作:

cdo sellevidx,-1 in.nc out.nc

但查理是对的,nco 更简洁,因为它需要比使用 cdo 少输入一个字符,除非您当然想使用一个使用比"深度"更长的垂直坐标名称的文件来执行此操作,在这种情况下 cdo 获胜;-(

最新更新