我正在使用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
答案 0 :(得分:1)
我最终发现了这一点。我可以将年,月,日,小时,分钟和秒转换为朱利安日数。
然后我将预期的时差转换为朱利安日值(我说值,因为它在技术上不是朱利安日数)。
减去连续两个朱利安日数字。如果它们的差异不等于朱利安日值,则缺少时间戳。注意,此方法将捕获连续排序的两个重复时间戳。
我还没有确定一种自动更正此方法的方法,因为可能会出现其他可能的错误。