如何使用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?

提问人:subhra sekhar maity 提问时间:11/1/2023 最后编辑:subhra sekhar maity 更新时间:11/2/2023 访问量:95

问:

我有一个 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的那个被命名为

  1. imd_pr_1981_2018_clipped.nc

另一个格式正确(已经有time_bnds),

  1. pr_1981_2018_clipped_mm.nc

如上所述,请告知如何将time_bnds添加到 imd_pr_1981_2018_clipped.nc 文件中。

数据链接在这里

NETCDF CDO-气候

评论

0赞 Robert Wilson 11/2/2023
我已经根据给出的信息回答了问题。然而,Q 相当不清楚。“1981-01-01 00:00-1981-01-01 23:00 格式”是什么意思?在 netCDF 中,您可以指定时间和边界等内容,这将指定时间戳所涵盖的开始和结束时间段。因此,您的问题可以用多种方式解释。
0赞 subhra sekhar maity 11/2/2023
谢谢你,先生。阅读您的评论后,我现在意识到它应该是时间限制(time_bnds)。很抱歉,我发布了一个不正确的问题,浪费了您宝贵的时间。您能建议我如何将time_bnds合并到 nc 文件中吗?
0赞 Robert Wilson 11/2/2023
你能重写这个问题吗?发布带有编辑的原始问题会让第一次阅读该问题的人感到困惑。只需告诉我们您需要回答什么,然后就这样了
0赞 subhra sekhar maity 11/2/2023
谢谢你,先生。我已经重写了这个问题。
0赞 Robert Wilson 11/2/2023
我不相信你可以用CDO做到这一点。你可以用 NCO 来做。看看这个问题: stackoverflow.com/questions/36665848/...

答:

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论坛的链接在这里