[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jamsat-bb:5141] QT98 Y2K (2000.2.29)


QT98 V4.0JにY2K問題(閏日の不具合)が発生しました。
皆さんのトラッキング・ソフトは大丈夫でしょうか?

先日、配送されたORBS.063をQK.EXEで変換し、QT98 V4.0Jに読み込んで
計算したところ、「本来のパスの時刻」に1日プラスされたものが計算
結果として表示されていることに気付きました。
即ち、09MAR100 hhmmss であるべきところが、10MAR100 hhmmss という
結果として出力されているのです。どうやら、忘れた頃にY2K問題が発生
したものと考え、その原因と対策について検討してみました。
以下、簡単に、その検討結果を報告したいと思います。

1.状況

 不具合の内容については、上述のとおり。

2.原因

 閏日(2月29日)の影響(認識されていない。)と考えられる。

【本来の対応】
 ORBS   058    059    060    061   062    063  ←UPDATE.DATの日付
         2/27  2/28   2/29    3/1   3/2    3/3 ←    暦の日付

【今回の対応】
 ORBS   058    059    060    061   062    063  ←UPDATE.DATの日付
         2/27  2/28    3/1  3/2   3/3  3/4  ←    暦の日付

 例えば、ORBS.062には、本来3月2日が該当すべき(上段)ところ、閏日の影響
 を受けて、実際の日付に+1日した=3月3日(下段)として認識されてしまう。

 この不具合の発生原因について考える。

 ��QK.EXEが閏日を認識しないままKEPFILE,STNMFILEを書き換えている。
 ��QK.EXE自体は閏日をカウントし正常に処理するが、KEPFILE,STNMFILEをQT98が
   読み込む際に、閏日をカウントせずに軌道計算した結果を出力している。
 ��QT98自体が2000.2.29を認識していない。(Y2K対応できていない。)
 これについては、結果出力に2000.2.29を出力(来年は無しを確認)しており、
  正常に軌道計算されていることを確認した。

 種々の状況を想定した結果、上記�^燭い蓮↓△�原因であると判断した。

3.対策

 不具合の対応策として、次の2つを確認した。

【その1】

 ��QK.EXEにより、送られてきたORBSデータでKEPFILE,STNMFILEを更新する。
 �△修里泙�QT98で、更新されたファイルを読み込む。
 ��EDITで、通常のKEPFILEの修正(EPOCHの部分のみ再入力する作業)をする。
 ��EPOCHの再入力の際、表示された日付から -1日して入力する。
 即ち、03MAR00 hhmmss ならば、02MAR00 hhmmss と入力することによって、
 02MAR100 hhmmss として、本来の正しい関係が認識される。

【その2】

 �〇�前に、送られてきたORBSデータの日付部分を書き換える。
  即ち、062.XXXXXX の部分を -1日して、061.XXXXXX と書き換え、保存する。
 �△修里泙�QT98で、更新されたファイルを読み込む。
 ��EDITで、通常のKEPFILEの修正(EPOCHの部分のみ再入力する作業)をする。
 ��EPOCHの再入力の際、表示された日付をそのまま再入力する。
 即ち、02MAR00 hhmmss ならば、そのまま 02MAR00 hhmmss と再入力すること
 によって、02MAR100 hhmmss として書き換わり、正しく認識される。

※なお、この対応は1999年の通日処理でも可能だと思われますが、確認はして
 いません。その際に注意すべきことは、この場合も通常の365日加算を364日
 の加算として、-1日のオフセットをとることが必要となることです。


            JH4DHX/3 大谷  Mar.9  2000