r - 将 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 文件。有没有办法将这些毫无根据的“月份”单位更改为“自......以来的月份”?
解决方案
按顺序列举月份就足够了吗?
ncap2 -s 'time=array(0,1,$time)' soda3.3.1_1980_2015_sst.nc out.nc
您还可以按照 Chelmy 的评论和/或NCO 手册中的描述添加“自 ... 以来的月份”单位。我把它留给你,温柔的读者。
推荐阅读
- javascript - 无法从 websocket 消息对象获取 json 值
- authentication - 我在 laravel 中有两个登录重定向条件,无论是同一页面还是仪表板 | 拉拉维尔
- apache-spark - 在 Kubernetes spark-operator 中,Pod 安全上下文不适用于 spark 驱动程序和执行程序
- python - 如何“加入/关联”2个数据帧,以便左侧数据帧的每一行都“附加”到右侧数据帧的每一行
- r - Trace back - find if a string value occurs before another specific string value - dplyr/R
- javascript - React 道具和状态值不更新
- android - 如何解决在 jni 中获取 methodID 的问题
- javascript - 承诺已解决,但代码在等待中停止
- python - 如何搜索对象(或其子对象)是否包含给定名称的字段并验证其值
- string - 如何在绘图功能中使用交替文本字符串