从4d NetCDF文件中提取海底数据

时间:2020-09-29 23:22:21

标签: r netcdf nco cdo-climate

我有用于海洋pH值,o2等的全局4D NetCDF文件。每个文件都有1个变量和4个维度(时间,经度,纬度和深度)。我正在寻找从不包含NA的每个单元的最深处提取数据。我曾尝试将NCO的ncks与负超平板一起使用:

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

但是,这仅给我提供了最深深度的数据(即-5700 m深度的数据),并输出了海洋所有较浅区域的NaN。有没有办法以类似的方式提取数据,但是指定我想要每个单元格的最深非NaN值?

我可以使用R,CDO或NCO。预先感谢您提供的任何帮助。

1 个答案:

答案 0 :(得分:3)

如果您能够运行一个简单的Python脚本,则可以使用nctoolkit(https://nctoolkit.readthedocs.io/en/latest/installing.html)来完成,该工具使用CDO作为后端。对于一个文件,您将执行以下操作:

import nctoolkit as nc
data = nc.open_data("infile.nc")
bottom = nc.open_data("infile.nc")
bottom.bottom_mask()
data.multiply(bottom)
data.vertical_sum()
data.to_nc("outfile.nc")