NCO:使用 NCO ncks 从 NetCDF 文件中提取变量

2023-11-24

我试图通过输入以下命令从多变量 netcdf 文件中提取变量:

ncks -v ta temp1.nc out.nc

然而,当我查看 out.nc 标头时,所有变量仍然存在。

temp1.nc 和 out.nc 的标头如下:

--- temp1.nc header ---
dimensions:
        time = UNLIMITED ; // (124 currently)
        lon = 256 ;
        bnds = 2 ;
        lat = 128 ;
        lev = 40 ;
variables:
        double time(time) ;
                time:standard_name = "time" ;
                time:long_name = "time" ;
                time:units = "days since 1850-1-1" ;
                time:calendar = "365_day" ;
                time:axis = "T" ;
        double lon(lon) ;
                lon:standard_name = "longitude" ;
                lon:long_name = "longitude" ;
                lon:units = "degrees_east" ;
                lon:axis = "X" ;
                lon:bounds = "lon_bnds" ;
        double lon_bnds(lon, bnds) ;
        double lat(lat) ;
                lat:standard_name = "latitude" ;
                lat:long_name = "latitude" ;
                lat:units = "degrees_north" ;
                lat:axis = "Y" ;
                lat:bounds = "lat_bnds" ;
        double lat_bnds(lat, bnds) ;
        double p0 ;
                p0:long_name = "reference pressure" ;
                p0:units = "Pa" ;
        double lev(lev) ;
                lev:standard_name = "atmosphere_hybrid_sigma_pressure_coordinat
                lev:axis = "Z" ;
                lev:positive = "down" ;
                lev:long_name = "hybrid sigma pressure coordinate" ;
                lev:units = "1" ;
                lev:formula_terms = "a: a b: b p0: p0 ps: ps" ;
                lev:bounds = "lev_bnds" ;
                lev:formula = "p = a*p0 + b*ps" ;
        double lev_bnds(lev, bnds) ;
                lev_bnds:standard_name = "atmosphere_hybrid_sigma_pressure_coor
                lev_bnds:units = "1" ;
                lev_bnds:formula_terms = "a: a_bnds b: b_bnds p0: p0 ps: ps" ;
        double a(lev) ;
                a:long_name = "vertical coordinate formula term: ap(k)" ;
                a:units = "Pa" ;
        double b(lev) ;
                b:long_name = "vertical coordinate formula term: b(k)" ;
                b:units = "1" ;
        double a_bnds(lev, bnds) ;
                a_bnds:long_name = "vertical coordinate formula term: ap(k+1/2)
                a_bnds:units = "Pa" ;
        double b_bnds(lev, bnds) ;
                b_bnds:long_name = "vertical coordinate formula term: b(k+1/2)"
                b_bnds:units = "1" ;
        float ps(time, lat, lon) ;
                ps:standard_name = "surface_air_pressure" ;
                ps:long_name = "Surface Air Pressure" ;
                ps:units = "Pa" ;
                ps:comment = "surface pressure, not mean sea level pressure" ;
                ps:original_units = "hPa" ;
                ps:history = "2011-10-17T12:45:37Z altered by CMOR";
                ps:cell_measures = "area: areacella" ;
        float ta(time, lev, lat, lon) ;
                ta:standard_name = "air_temperature" ;
                ta:long_name = "Air Temperature" ;
                ta:units = "K" ;
                ta:_FillValue = 1.e+20f ;
                ta:missing_value = 1.e+20f ;
                ta:original_name = "T" ;
                ta:cell_measures = "area: areacella" ;
                ta:history = "2011-10-17T12:45:37Z altered by CMOR ;
// global attributes:

--- out.nc 标头 ---

dimensions:
        lev = 40 ;
        bnds = 2 ;
        lat = 128 ;
        lon = 256 ;
        time = UNLIMITED ; // (124 currently)
variables:
        double a(lev) ;
                a:long_name = "vertical coordinate formula term: ap(k)" ;
                a:units = "Pa" ;
        double a_bnds(lev, bnds) ;
                a_bnds:long_name = "vertical coordinate formula term: ap(k+1/2)" ;
                a_bnds:units = "Pa" ;
        double b(lev) ;
                b:long_name = "vertical coordinate formula term: b(k)" ;
                b:units = "1" ;
        double b_bnds(lev, bnds) ;
                b_bnds:long_name = "vertical coordinate formula term: b(k+1/2)" ;
                b_bnds:units = "1" ;
        double lat(lat) ;
                lat:standard_name = "latitude" ;
                lat:long_name = "latitude" ;
                lat:units = "degrees_north" ;
                lat:axis = "Y" ;
                lat:bounds = "lat_bnds" ;
        double lat_bnds(lat, bnds) ;
        double lev(lev) ;
                lev:standard_name = "atmosphere_hybrid_sigma_pressure_coordinate" ;
                lev:axis = "Z" ;
                lev:positive = "down" ;
                lev:long_name = "hybrid sigma pressure coordinate" ;
                lev:units = "1" ;
                lev:formula_terms = "a: a b: b p0: p0 ps: ps" ;
                lev:bounds = "lev_bnds" ;
                lev:formula = "p = a*p0 + b*ps" ;
        double lev_bnds(lev, bnds) ;
                lev_bnds:standard_name = "atmosphere_hybrid_sigma_pressure_coordinate" ;
                lev_bnds:units = "1" ;
                lev_bnds:formula_terms = "a: a_bnds b: b_bnds p0: p0 ps: ps" ;
        double lon(lon) ;
                lon:standard_name = "longitude" ;
                lon:long_name = "longitude" ;
                lon:units = "degrees_east" ;
                lon:axis = "X" ;
                lon:bounds = "lon_bnds" ;
        double lon_bnds(lon, bnds) ;
        double p0 ;
                p0:long_name = "reference pressure" ;
                p0:units = "Pa" ;
        float ps(time, lat, lon) ;
                ps:standard_name = "surface_air_pressure" ;
                ps:long_name = "Surface Air Pressure" ;
                ps:units = "Pa" ;
                ps:comment = "surface pressure, not mean sea level pressure" ;
                ps:original_units = "hPa" ;
                ps:history = "2011-10-17T12:45:37Z altered by CMOR" ;
                ps:cell_measures = "area: areacella" ;
        float ta(time, lev, lat, lon) ;
                ta:standard_name = "air_temperature" ;
                ta:long_name = "Air Temperature" ;
                ta:units = "K" ;
                ta:_FillValue = 1.e+20f ;
                ta:missing_value = 1.e+20f ;
                ta:original_name = "T" ;
                ta:cell_measures = "area: areacella" ;
                ta:history = "2011-10-17T12:45:37Z altered by CMOR" ;
        double time(time) ;
                time:standard_name = "time" ;
                time:long_name = "time" ;
                time:units = "days since 1850-1-1" ;
                time:calendar = "365_day" ;
                time:axis = "T" ;

// global attributes:

我预计 out.nc 上只有助教。我没有从 ncks 收到任何错误消息。

我在这里做错了什么?我很感激任何帮助。

谢谢。


出现此行为的原因是,默认情况下,NCO 提取与请求的变量“关联”的所有变量。这样用户就可以获得他们需要的一切,而无需自己寻找。换句话说,这是一个功能,而不是一个错误。要仅提取明确请求的变量,请使用 -C 开关,记录here, e.g.

ncks -C -v ta temp1.nc out.nc

这些文档还展示了如何去除与 CF 约定相关的变量,同时保留坐标等各种较长的选项。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

NCO:使用 NCO ncks 从 NetCDF 文件中提取变量 的相关文章

  • 将 NetCDF (.nc) 转换为 GEOTIFF

    I have nc文件大小约为 300MB 包含几个数据集 TEMP DEWPOINT 预测数据 我需要转换 TEMP 数据集为多个GEOTIFF one tif对于每个时间片 以下是如何 nc文件看起来像 调查了这个answer但这似乎适
  • NetCDF:如何屏蔽/过滤掉全球数据集中的非土地值,最好使用Python和/或NCO?

    我有一个分辨率为 0 25 度的全球数据 我想对其进行屏蔽 以便它只包含陆地上的数据值 数据涵盖经度维度的完整 360 度和纬度维度的 60 到 60 度 下面列出了文件头以及汇总纬度和经度坐标值 netcdf cmorph global
  • 使用 xarray 获取 netcdf 文件的平均值

    我使用 xarray 在 python 中打开了一个 netcdf 文件 数据集摘要如下所示 Dimensions latitude 721 longitude 1440 time 41 Coordinates longitude long
  • 计算网格 netCDF 文件中选定区域中的变量平均值

    假设我们有 TRMM 降水数据 每个文件代表每个月的数据 例如 文件夹中的文件是 3B42 1998 01 01 7A nc 3B42 1998 02 01 7A nc 3B42 1998 03 01 7A nc 3B42 1998 04
  • 使用气候数据运营商 (CDO) 的每日数据得出的每月潮湿天数总和

    我有每日时间分辨率的气候数据 并且想要按月和按年计算有降水量 例如 大于 1 毫米 天 的天数 我试过了eca pd 1 and eca rr1 但这些命令返回所有年份的潮湿日总数 例如 cdo eca pd 1 infile outfil
  • 更改 netCDF 文件的网格大小

    假设我有 2 个 netCDF 数据文件 其中包含同一区域 如南美洲 非洲等 的数据 但网格大小不同 另一个网格大小为 0 5 度 x 0 5 度 另一个网格大小为 1 0 度 x 1 0 度 我想将其网格大小增加或减少到不同的值 例如 0
  • Python 使用 xarray 从 NETCDF 文件中提取多个纬度/经度

    我有一个 NC 文件 时间 纬度 经度 从这里下载 https filebin net e3f1n1tl82dosq1w example nc t z86058ad我正在尝试提取多个站点的时间序列 纬度 经度点从这里下载 https fil
  • 使用 r 中的栅格包聚合季节平均值

    我正在尝试将每日数据 35 年 汇总到每月 然后使用 R 中的栅格包计算季节性平均值 我知道如何使用 CDO 执行此操作 下面是我的代码 它输出所有年份的 4 个季节平均值 140 层 我怎样才能循环输出仅 4 层 对于 4 个季节 我感谢
  • R软件中的NETCDF代码转换为TEXT数据

    我有来自三个 MSWEP CHIRPS PERSIANN CDR 卫星的三个 netcdf 文件 我想将它们转换为可读的文本数据 有人可以指导我吗 我不完全确定您想要的输出和期望 但让我尝试一下 我从以下位置获取了 netCDF 格式的 C
  • 使用 R 转换为 NetCDF 时保留栅格变量名称

    获取多年每月温度数据的光栅文件 该文件附有名称 可通过以下方式访问names object 采用以下格式 Jan 1981 Feb 1981 等 使用以下代码的两年示例文件here http www filedropper com samp
  • 将 netCDF 文件转换为 csv

    我正在努力将几个 Berkeley Earth netCDF 文件转换为 CSV 或其他表格格式 我意识到以前曾提出过类似的问题 但我无法应用我遇到的任何解决方案 例如 这个数据集 http berkeleyearth lbl gov au
  • 如何将netcdf4-python安装到ubuntu14.04上?

    我想将 netcdf4 python 安装到我的 Ubuntu14 04 上 libhdf5 dev 1 8 11 5ubuntu7 amd64 deb 和 libnetcdf 4 1 3 7ubuntu2 amd64 deb 已安装 我从
  • 从paleoView导入R中的netcdf时只有正纬度和经度可能是错误的投影

    我用的是古景 https onlinelibrary wiley com doi full 10 1111 ecog 03031软件用于下载过去气候的一些变量 包括 15000BP 10000BP 的平均温度 我可以根据要求上传文件 但至少
  • 如何使用 NCO 编辑 netcdf 文件中的全局属性

    我正在尝试编辑 netcdf 文件中的全局属性之一 START DATE 2016 05 12 00 00 00 我想将日期字符串更改为另一个日期 如何使用 nco 包执行此操作 我已经看到我可以使用 ncatted a D dbg lvl
  • 检查 netcdf linux 库版本

    如何确定我的系统中安装了哪个版本的 netcdf 库 有命令行吗 我尝试搜索 netcdf 发现了一堆文件 但无法确定版本号 有没有命令可以检查已安装的任何版本 我在ubuntu上 netCDF 提供nc config用于此目的的命令行工具
  • R 从 .CSV 创建 NetCDF

    我正在尝试从 csv 文件创建 NetCDF 我在这里和其他地方读过一些教程 但仍然有一些疑问 我有一个这样的表 lat long time rh temp 41 109 6 1 1 40 107 18 2 2 39 105 6 3 3 4
  • 从多个大型 NetCDF 文件中提取数据的快速/高效方法

    我只需要从全局网格中提取特定节点集的数据 由纬度 经度坐标 按 5000 10000 的顺序 给出 这些数据是水力参数的时间序列 例如波高 全局数据集很大 因此分为许多 NetCDF 文件 每个 NetCDF 文件大小约为 5GB 包含整个
  • 从 Grib 天气模型中提取数据

    我已经下载了grib1模型数据来自GFS http en wikipedia org wiki Global Forecast System 我使用的是 Mac OS X 并且能够构建wgrib2文件来自NOAA http en wikip
  • 使用 xarray 将新坐标分配给变量

    我有一个 nc 文件作为 xarray 中的数据集打开 其结构如下 ds
  • NCO 使用维度值而不是索引裁剪 netcdf 文件

    CDO 可以根据纬度和经度裁剪 netcdf 文件 只要它们以标准方式定义即可 而且我知道 如果您知道所需的索引范围 NCO 可以沿任何维度裁剪 netcdf 文件的子集 正如这个相关问题的答案中所述 有没有办法裁剪 NETCDF 文件 h

随机推荐

  • 如何覆盖嵌套的 NPM 依赖项版本?

    我想使用grunt contrib jasmineNPM 包 它有各种依赖关系 部分依赖关系图如下所示 email protected email protected email protected 不幸的是 这个版本有一个错误phanto
  • SciKit-Learn 标签编码器导致错误“参数必须是字符串或数字”

    我有点困惑 在这里创建一个 ML 模型 我正处于尝试从 大 数据帧 180 列 中获取分类特征并对其进行单热处理的步骤 以便我可以找到特征之间的相关性并选择 最佳 特征 这是我的代码 import labelencoder from skl
  • 在python中使用beautifulsoup解析html时<>更改为<和>

    使用 Beautifulsoup 处理 html 时 被转换为 lt and gt 由于标签锚全部转换 整个汤失去了结构 有什么建议吗 Setting formatter None可能有帮助 http www crummy com soft
  • 窗口加载和 WPF

    我在 Windows 2012 中有一个 WPF 项目 我需要在 Window Loaded 事件中加载一些信息 不过 我需要在视图模型中而不是在代码隐藏中执行此操作 我正在尝试使用以下代码 在我的 xaml 中
  • Visual Studio添加与dll同名的可执行文件

    在 Visual Studio 2008 中 我添加了 WinScp dll 在项目根目录中 作为引用 并且立即出现了一个黄色图标 在编译时 找不到类型或命名空间名称 WinSCP 是否缺少 using 指令或程序集引用 已解决的文件图像错
  • AVPlayerItem 失败,并显示 AVStatusFailed 和错误代码“无法解码”

    我遇到了一个奇怪的问题 希望有人能帮忙 在我的 iOS 应用程序中 我使用以下命令创建带有自定义配乐的视频MutableComposition通过组合用户照片库中的视频和应用程序包中的音频文件 然后我用一个AVPlayer and AVPl
  • 使用 NLog 记录波斯语消息

    在我的 ASP NET MVC 项目中 我在 Web config 中有以下配置
  • Android 工具栏后退箭头,带有 WhatsApp 等图标

    如何在 Android 工具栏中显示带后退箭头的图标 如 WhatsApp 我使用下面的代码在工具栏中设置后退箭头和图标 toolbar Toolbar findViewById R id toolbar setSupportActionB
  • JQuery Ajax 在 url 中添加哈希

    我这里有使用 struts2 jquery 插件的代码 h4 Choose A task h4 ul ul
  • Pandas:与之前值的差异

    给定一个看起来像这样的 Pandas 数据框 GROUP VALUE MASK 1 5 false 2 10 false 2 20 false 1 7 true 3 17 false 3 18 false 1 100 false 1 200
  • Ktor - 静态内容路由

    我很想更好地了解 Ktor 如何处理静态内容的路由 我的静态文件夹 工作目录 中有以下层次结构 static index html some files static css directory js directory some file
  • 如何创建和访问会话.net core api?

    我需要在 api 中创建并访问会话 例如 我有一个名为 Login Profile 的 api 当登录 api 被调用时 我需要创建会话 并且我需要访问配置文件 api 中的会话 当会话被清除时 登录和配置文件 api 不允许用户访问 怎么
  • 检查 Swift 字典是否不包含任何值?

    所以我正在制作一个待办事项列表应用程序 我希望用户在所有购物项目都被删除时收到通知 我有一个字典 其中包含 String store 作为键和 String items 作为值 有没有一种快速方法来检查所有项目的数组是否为空 有一个简单的方
  • Android Drawable 内存泄漏

    我使用几个大型绘图 但不知道如何管理内存泄漏 我跟踪了应用程序的堆大小 它不会停止增长 与分配的内存一样 尤其是 字节数组 byte 类型 它只会增长且永不减少 在 Eclipse 上的 DDMS 堆视图中 我的应用程序由一个使用片段的活动
  • 如何从正在运行的 QThread 向启动它的 PyQt Gui 发送信号?

    我试图了解如何使用从 Qthread 发送回启动的 Gui 界面的信号 设置 我有一个进程 模拟 需要几乎无限期地运行 或至少运行很长一段时间 在运行时 它会执行各种计算 并且某些结果必须发送回GUI 它将实时适当地显示它们 我使用 PyQ
  • 如何使 Qt Creator 的调试器在 OS X 中显示 C++ 矢量的内容?

    我正在编写一个广泛使用向量的程序 并且是第一次在 Mac OS X 10 6 6 上使用 Qt Creator 2 0 1 进行开发 当我调试时 我可以在Locals and Watchers窗口 但是一旦我去扩展一个向量 在这种情况下类型
  • 了解MyISAM记录结构

    我试图了解 MyISAM 如何物理存储其记录以及在记录插入和删除记录后如何维护其结构 我已阅读以下链接 MyISAM 动态数据文件布局 MyISAM记录结构 我想确认一下我的理解是否正确 如果不对请指正 固定大小的记录 删除标记决定记录是否
  • 枚举和枚举的区别

    枚举有valueOf string 获取枚举常量的方法和中存在的相同类型的方法java lang Enum有名字的类valueOf enumClassName string 我发现两者都给出相同的输出 那还有什么其他的区别呢 如果没有区别那
  • 装饰器的类型注释

    这不是一个大问题 但我只是想知道解决这个问题的方法 由于我刚开始在Python上使用函数注释 所以我不熟悉它 我有一个问题如下 当你制作一个装饰器并想在其上添加注释时 你该怎么做 例如 如下代码 def decorator func Cal
  • NCO:使用 NCO ncks 从 NetCDF 文件中提取变量

    我试图通过输入以下命令从多变量 netcdf 文件中提取变量 ncks v ta temp1 nc out nc 然而 当我查看 out nc 标头时 所有变量仍然存在 temp1 nc 和 out nc 的标头如下 temp1 nc he