我有用于海洋pH值,o2等的全局4D NetCDF文件。每个文件都有1个变量和4个维度(时间,经度,纬度和深度)。我正在寻找从不包含NA的每个单元的最深处提取数据。我曾尝试将NCO的ncks与负超平板一起使用:
ncks -d depth,-1 in.nc out.nc
但是,这仅给我提供了最深深度的数据(即-5700 m深度的数据),并输出了海洋所有较浅区域的NaN。有没有办法以类似的方式提取数据,但是指定我想要每个单元格的最深非NaN值?
我可以使用R,CDO或NCO。预先感谢您提供的任何帮助。
答案 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")