netcdf - 从 netCDF 文件中提取特定的粒子 id 变量
问题描述
我有一个从粒子分散模型 (GNOME) 输出的 netCDF 文件。因为它是一个粒子分散模型,我让每个粒子都由一个粒子 id 变量标识:
int id(数据);
id:description = "particle ID" ;
id:units = "1" ;
我只需要提取一些特定的粒子 id 及其位置。我曾尝试使用 cdo 和 nco 运算符,但出现以下错误:
- ncks -v 经度,纬度 -d id,62001。infile.nc outputfile.nc ncks:错误维度 id 不在输入文件中
- cdo -select,name=latitude,longitude,id=62968 infile.nc outputfile.nc cdo select (Abort): 不支持的选择关键字:'id'!
我希望有人能帮助我。谢谢
解决方案
该维度实际上被命名为“数据”。我建议您将维度重命名为“id”。然后你的命令应该工作:
ncrename -d data,id in.nc
ncks -v longitude,latitude -d id,62001. in.nc out.nc
或者您可以不理会名称,如果 id 确实是数据索引,那么这应该有效:
ncks -v longitude,latitude -d data,62001 in.nc out.nc
注意:这次没有小数点,因为数据不是坐标,如此处所述。
编辑:20210921 回应下面的评论,除非我遗漏了什么,否则数据集需要有一个变量traj
尺寸traj(time,data)
,以便建议的命令获得您想要的结果。您的文件的标题显示没有这样的变量。
推荐阅读
- python - 如何使用“matplotlib.pyplot”在不同的窗口中绘制我的图表?
- c++ - 如何在 Qt creator 4.8 中使用 C++11
- php - 将对象值替换为数组
- reactjs - 你能同时使用 React-hooks 和 redux 吗?
- c++ - 使用来自 SYSTEM 级别进程(Windows 服务)的登录用户上下文来模拟和运行任何方法:
- google-bigquery - Bigquery 命令行中的 --job_property
- excel - 缺少 Excel 库导致不需要/使用它的用户的参考错误
- java - 创建名为“serviceController”的 bean 时出错:自动装配依赖项的注入失败;
- angular - 在 2 个子组件之间传递变量会产生 ExpressionChangedAfterItHasBeenCheckedError 错误
- javascript - NavigationTimingAPI 可以用于异步调用吗?