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 文件中提取变量 的相关文章

  • 扫描仪仅读取第一个单词而不是行

    在我当前的程序中 一种方法要求用户输入产品的描述作为String输入 但是 当我稍后尝试打印此信息时 只有该信息的第一个单词String显示 这可能是什么原因造成的 我的方法如下 void setDescription Product aP

随机推荐

  • 如何覆盖嵌套的 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