将NetCDF文件中的时间维度单位从几个月更改为几个月

时间:2019-09-09 22:25:25

标签: r netcdf nco

我目前有多个具有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文件中的“几个月...”单位。有没有办法将这些毫无根据的“月”单位更改为“ ...之后的几个月”?

1 个答案:

答案 0 :(得分:2)

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

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

您还可以按照Chelmy的注释和/或NCO manual中的说明,为时间添加“ ...之后的月份”。好的读者,我把它留给您练习。