【问题标题】:Splitting an netcdf file with nco using a variable as a splitting criteria使用变量作为分割标准,使用 nco 分割 netcdf 文件
【发布时间】:2019-02-25 14:41:15
【问题描述】:

我有一个如下结构的 netcdf 文件:

文件 AA_14.nc (NC_FORMAT_CLASSIC):

 8 variables (excluding dimension variables):
    short year[time]   
        units: -
    short doy[time]   
        units: days since 2008-01-01
        long_name: day of year
    short hour_min[time]   
        units: -
    float seconds[time]   
        units: -
    float Ux[time]   
        units: m s^-1
        long_name: horizontal w in x-coordinate
    float Uy[time]   
        units: m s^-1
        long_name: horizontal w in y-coordinate
    float Uz[time]   
        units: m s^-1
        long_name: horizontal w in z-coordinate
    float CO2[time]   
        units: mg m^-3
        long_name: 

 1 dimensions:
    time  Size:3241707   *** is unlimited ***

2 global attributes:
    title: data
    history: 20Hz data (50ms) 

在变量“doy”中,我有一年中的 3 天 100、101 和 102 我想提取 101 年的所有变量。 我曾尝试使用 nco 的 ncks 来实现,但没有成功。

哪种方法是正确的? 谢谢。

【问题讨论】:

    标签: split nco ncdf4


    【解决方案1】:

    假设您的文件中的时间是单调的,并且 XXX 是第一个索引,其中 doy 是 101,YYY 是 doy 的最后一个索引是 101,那么这样的事情将对所有 doy=101 值进行超切片:

    ncks -d time,XXX,YYY in.nc out.nc
    

    XXX 和 YYY 可以通过分页从例如

    的文本输出中找到
    ncks -v doy -C --trd in.nc | more
    

    手册解释了所有选项的含义。

    【讨论】:

    • 第一部分对我来说也很明显,我通过选择一个随机的开始和结束索引来运行它。我不完全确定如何找到我的 DOY 索引的精确开始和结束,但现在一切都清楚了。非常感谢!
    • 但是有一个问题我无法解释。考虑到 xxx 和 yyy 一天开始时的索引以及我正在使用的行结束时的索引就像您提到的那样 ncks -d time xxx yyy in.nc -h out.nc 我添加了 -h 以删除操作。例如,如果我从 DOY 100 的初始 ncdf 文件中提取数据,则与拆分后同一天创建的输出中的数据不同。我应该添加另一个论点,还是可能是什么原因?谢谢。
    • 您遇到的问题我不清楚,所以不知道如何帮助您。
    猜你喜欢
    • 2018-09-02
    • 2014-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-07
    相关资源
    最近更新 更多