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

问题描述

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

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

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

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

解决方法

如果您能够运行一个简单的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")

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...