提问人:subhra sekhar maity 提问时间:11/1/2023 最后编辑:subhra sekhar maity 更新时间:11/2/2023 访问量:95
如何使用CDO将time_bnds 1981-01-01 00:00 -1981-01-01 23:00包含在NC文件中?
how to include the time_bnds 1981-01-01 00:00 -1981-01-01 23:00 in a nc file using cdo?
问:
我有一个 NC 文件,其中包含从 1981 年 1 月 1 日开始的 13879 个每日时间步长。我想以 1981-01-01 00:00-1981-01-01 23:00 的格式包含“time_bnds”。我如何使用 cdo 做到这一点?我附加了两个 NC 文件,其中一个需要此“time_bnds”,另一个包含所需的time_bnds。 需要包含time_bnds的那个被命名为
- imd_pr_1981_2018_clipped.nc
另一个格式正确(已经有time_bnds),
- pr_1981_2018_clipped_mm.nc
如上所述,请告知如何将time_bnds添加到 imd_pr_1981_2018_clipped.nc 文件中。
数据链接在这里
答:
1赞
Robert Wilson
11/1/2023
#1
在本例中,您要查找的 CDO 方法是 。shifttime
您需要将时间向前移动 23 小时,这可以按如下方式完成:
cdo shifttime,23hours in.nc out.nc
评论
0赞
subhra sekhar maity
11/1/2023
谢谢你的回答;但是,此命令没有给我预期的结果。时间戳不会更改。它仍然显示 1981-01-01 我需要的是 1981-01-01 00:00-1981-01-01 23:00
0赞
Robert Wilson
11/2/2023
请仔细检查。它对我有用。您正在运行什么命令,如何检查时间戳?
0赞
subhra sekhar maity
11/2/2023
我正在用全景检查它。我无法在此处附上屏幕截图。我正在使用命令:cdo shifttime,23hours imd_pr_1981_2018_clipped.nc out2.nc。
0赞
Robert Wilson
11/2/2023
尝试。我不熟悉 panoply,但看起来它所做的只是显示日期,而不是时间cdo showtimestamp
0赞
subhra sekhar maity
11/2/2023
cdo showtimetimestamp 命令的第一个和最后两个时间步长如下所示:前两个:1981-01-01T23:00:00 1981-01-02T23:00:00 最后两个:2018-12-30T23:00:00 2018-12-31T23:00:00。和1981-01-01 00:00-1981-01-01 23:00一样吗?
1赞
subhra sekhar maity
11/2/2023
#2
我要感谢 CDO 支持论坛的 Robert Wilson 和 Karin Meier-Fleischer 的帮助。正如罗伯特·威尔逊(Robert Wilson)所指出的,它不能使用CDO来完成,但可以通过NCO来实现。 我在 CDO 支持论坛中从 Karin Meier-Fleischer 那里得到了我的问题的解决方案,如下所示:
ncap2 -O -s 'defdim("bnds",2);time_bnds=make_bounds(TIME,$bnds,"time_bnds");' \imd_pr_1981_2018_clipped.nc imd_pr_1981_2018_clipped_changed.nc
CDO论坛的链接在这里
评论