2014-06-24 53 views
0

我正在使用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

我終於找到了答案。我可以將年,月,日,小時,分鐘和秒轉換爲Julian日數。

然後,我將預期的時差轉換爲朱利安日價值(我說價值,因爲它在技術上不是朱利安日數)。

減去兩個連續的儒略日數字。如果它們的差值不等於Julian Day值,則會丟失時間戳。請注意,此方法會捕獲兩個連續排序的重複時間戳。

我還沒有確定一種方法來自動糾正此錯誤,因爲可能會出現其他可能的錯誤。