【问题标题】:Multiplication and addition of Netcdf filesNetcdf 文件的乘法和加法
【发布时间】:2021-03-30 23:10:45
【问题描述】:

我有两个具有相同步数的时间序列 netcdf 文件:

  1. U.nc,变量名为 u10.
  2. V.nc,变量名为 v10。 现在我想将 U.nc 与 U.nc 相加 类似地,V.nc 与 V.nc.

我也想加上U.nc和V.nc。,应该加上变量u10和v10。

我该怎么做?

【问题讨论】:

    标签: multiplication netcdf addition netcdf4 cdo-climate


    【解决方案1】:

    与上述 Adrian Tompkins 的回答类似。

    cdo -L -expr,'wind=sqrt(u10*u10+v10*v10)' -merge u.nc v.nc uv.nc wind.nc 
    

    这使用方法链。根据 CDO 的构建方式,您可能需要也可能不需要 -L

    【讨论】:

    • -L“锁”有什么作用?在尝试使用链式命令(尤其是在我的桌面上)时,我有时会遇到分段错误 - 使用 -L 会解决这个问题吗?
    • 这里解释了问题:code.mpimet.mpg.de/projects/cdo/…。如果您系统上的 hdf5 库不是线程安全的,则需要添加 -L 以使链接始终有效。
    • 太棒了,谢谢...我检查了文档,但那里没有太多关于此选项的详细信息。这太好了,由于段错误,我经常不得不重写代码以避免链接。谢谢!
    • 简单的解决方案是从 conda 安装 CDO。那样一切都是线程安全的。从源线程安全安装 hdf5 似乎很痛苦
    【解决方案2】:

    你可以通过 CDO 做到这一点

    用你加你:

    cdo mul u.nc u.nc ubyu.nc
    

    cdo ubyu.nc vbyv.nc usumv.nc
    

    不过,您似乎想做的是制作风矢量,因为您可以合并文件,然后使用 expr 运算符

    cdo merge u.nc v.nc uv.nc
    cdo expr,'wind=sqrt(u10*u10+v10*v10)' uv.nc wind.nc 
    

    See the tutorial here 了解有关 expr 运算符的更多详细信息

    【讨论】:

    • 非常感谢先生。有效。先生,您能帮我对 RCM 降水数据进行偏差校正吗?
    • 最好将其作为单独的问题上传到相应的网站上
    • 谢谢先生,但是我已经上传了这个问题,但什么也没发生,问题也被关闭了。你能帮我解决这个问题吗?
    猜你喜欢
    • 2021-04-12
    • 2021-01-26
    • 2012-03-15
    • 1970-01-01
    • 1970-01-01
    • 2023-03-30
    • 2014-01-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多