元天文少年の三好@工学院大学%天文学会会員歴39年です。

Mitsutaka FUJITA wrote:

(snip) 
> http://www.willbell.com/software/jpl.htm に書かれている、JPLの
> 製品の使用法に関することです。
> 
> ソースプログラムのうち、DPLEPHで tdb2(1) と tdb2(2) の入力の
> 部分について、よくわからない点があります。
> 
> However, for maximum interpolation accuracy, set tdb2(1) equal to
> the most recent midnight at or before interpolation epoch
> (i.e., xxxxxxx.5d0) and set tdb2(2) equal to the remaining fractional
> part of the day.
> 
> という、最高精度で結果を得るための設定なのですが、上記の英文の
> 意味が良くわかりません。特に、 (i.e., xxxxxxx.5d0) のところは、
> どうしてこのような値になるのか、見当が付きません。
(snip)

 DPLEPHの第1引数tdb2は寸法2の配列で、両要素の和でCD-ROMデータを内挿
して暦データを求めたい日時を太陽系力学時を用いたユリウス日で与えます。
1個の倍精度実数ではなくわざわざ2個の要素の和として与えるのは元々単精
度のPLEPH において(浮動小数点数の精度の問題で)時刻を表わすのに日付と
0h GMTからの経過分に分ける必要があったためで、倍精度では殆ど気にする必
要がなくなりましたが、このサブルーチンが呼出す内挿サブルーチンに渡され
る前にtdb2(1) から0.5 を引いたものと、tdb2(2) とをそれぞれ整数部、小数
部に分けたものを整数部、小数部毎に足し合せ、整数部には0.5 を戻していま
すので、tdb2(2) を絶対値最小(すなわち0.5 以下)にしておくのが最良とい
うことになります。
 例えば2004年4月25日18時GMT であればtdb2(1) を2453121.5d0 、tdb2(2) 
を-0.25d0 とします。「 (i.e., xxxxxxx.5d0)」の意味はユリウス日の基準が
正子(0h)ではなく正午(12h) であるためです。

工学院大学 工学部情報工学科・工学研究科情報学専攻 三好和憲