首页 > 解决方案 > 将 NetCDF 文件中的时间维度单位从几个月更改为几个月

问题描述

我目前有多个具有 4 个维度(纬度、经度、时间和深度)的 NetCDF 文件。每个代表单年的月度数据。时间单位是“月”,1-12,因此如果我想跨年合并这些文件以给我一个时间维度为月*年的单个 NetCDF 文件,这将毫无用处。

单个文件的时间维度属性:

time  Size:12   *** is unlimited ***
            long_nime: time
            units: month

我使用 nco 的 ncrcat 进行合并。

ncrcat soda3.3.1*sst.nc -O soda3.3.1_1980_2015_sst.nc

这有效,除了合并时,读取时间值

#in R
soda.info$var$temp$dim[[3]]$vals
  [1]  1  2  3  4  5  6  7  8  9 10 11 12  1  2  3  4  5  6  7  8  9 10 11 12  1
 [26]  2  3  4  5  6  7  8  9 10 11 12  1  2  3  4  5  6  7  8  9 10 11 12  1  2
 [51]  3  4  5  6  7  8  9 10 11 12  1  2  3  4  5  6  7  8  9 10 11 12  1  2  3
 [76]  4  5  6  7  8  9 10 11 12  1  2  3  4  5  6  7  8  9 10 11 12  1  2  3  4
[101]  5  6  7  8  9 10 11 12  1  2  3  4  5  6  7  8  9 10 11 12  1  2  3  4  5
[126]  6  7  8  9 10 11 12  1  2  3  4  5  6  7  8  9 10 11 12  1  2  3  4  5  6
[151]  7  8  9 10 11 12  1  2  3  4  5  6  7  8  9 10 11 12  1  2  3  4  5  6  7
[176]  8  9 10 11 12  1  2  3  4  5  6  7  8  9 10 11 12  1  2  3  4  5  6  7  8
[201]  9 10 11 12  1  2  3  4  5  6  7  8  9 10 11 12  1  2  3  4  5  6  7  8  9
[226] 10 11 12  1  2  3  4  5  6  7  8  9 10 11 12  1  2  3  4  5  6  7  8  9 10
[251] 11 12  1  2  3  4  5  6  7  8  9 10 11 12  1  2  3  4  5  6  7  8  9 10 11
[276] 12  1  2  3  4  5  6  7  8  9 10 11 12  1  2  3  4  5  6  7  8  9 10 11 12
[301]  1  2  3  4  5  6  7  8  9 10 11 12  1  2  3  4  5  6  7  8  9 10 11 12  1
[326]  2  3  4  5  6  7  8  9 10 11 12  1  2  3  4  5  6  7  8  9 10 11 12  1  2
[351]  3  4  5  6  7  8  9 10 11 12  1  2  3  4  5  6  7  8  9 10 11 12  1  2  3
[376]  4  5  6  7  8  9 10 11 12  1  2  3  4  5  6  7  8  9 10 11 12  1  2  3  4
[401]  5  6  7  8  9 10 11 12  1  2  3  4  5  6  7  8  9 10 11 12  1  2  3  4  5
[426]  6  7  8  9 10 11 12

...如果我想跟踪时间,这显然没有多大帮助。

过去,我只使用带有“自...以来的几个月”单位的 NetCDF 文件。有没有办法将这些毫无根据的“月份”单位更改为“自......以来的月份”?

标签: rnetcdfnco

解决方案


按顺序列举月份就足够了吗?

ncap2 -s 'time=array(0,1,$time)' soda3.3.1_1980_2015_sst.nc out.nc

您还可以按照 Chelmy 的评论和/或NCO 手册中的描述添加“自 ... 以来的月份”单位。我把它留给你,温柔的读者。


推荐阅读