检查数据中是否缺少时间戳

时间:2014-06-24 01:11:48

标签: time-series gfortran missing-data

我正在使用gfortran。我有一点经验(主要是科学编程)。我有一个数组(以字符读入)类似于以下内容:

12/1/2009 0:00  296 3161    -20.38
12/1/2009 1:00  297 3161    -20.18
12/1/2009 3:00  298 3161    -19.56

我想要一个自动程序,可以查看时间戳,并根据给定的预期时间间隔确定是否缺少时间戳(对于上面的例子,这将是1小时)。我可以想办法检查丢失的时间戳,但它涉及编写大量的if语句,或者包含过去和未来5年所有时间戳列表的文本文件。

是否有一些可以简化此功能的内在功能?

数据采用MM / DD / YYYY HR:MIN ...的形式。我有办法获取数据的月,日,年,小时和分钟。我不知道比较时间戳并确定是否有遗漏的有用方法。

最终目标是找到这些缺失时间戳的位置,填入它们,并在与该时间戳对应的其余列中放置“NAN”或空白。

12/1/2009 0:00  296 3161    -20.38
12/1/2009 1:00  297 3161    -20.18
12/1/2009 2:00
12/1/2009 3:00  298 3161    -19.56

1 个答案:

答案 0 :(得分:1)

我最终发现了这一点。我可以将年,月,日,小时,分钟和秒转换为朱利安日数。

然后我将预期的时差转换为朱利安日值(我说值,因为它在技术上不是朱利安日数)。

减去连续两个朱利安日数字。如果它们的差异不等于朱利安日值,则缺少时间戳。注意,此方法将捕获连续排序的两个重复时间戳。

我还没有确定一种自动更正此方法的方法,因为可能会出现其他可能的错误。