JDをHJDに変換する
今vsoljのMLに報告しましたが、ブログにも記録しておきたいと思います。ご覧になったかたもいらっしゃるかもしれませんが、ご容赦ください。
もうBJDを使う時代かもしれませんが、まだまだHJDが普通に使われていますね。
日本変光星研究会編の「変光星観測」の141ページには日心補正の計算には補正をするソフトウェアを利用するのが一般的ですとありますが、JDをHJDに変換する時に何で皆さんはやっておられますか?
私がNgaさんに日心補正をどうやってと、尋ねましたら、このエクセルシートを使えばと送ってくださったのがBruton氏のサイト(下記参照)からダウンロードできるエクセルシートでした。
今回、このエクセルシートやインターネットで見つけられた他の手段を使って3つの場合について実際に計算して比較してみました。
下の表を御覧ください。
Date & Timeは仮想の観測日時と時刻です。最初の2つの観測日時は冬至と夏至の頃で、太陽と正反対の方向にある仮想の星を観測した時に補正値がどうなるか見ました。3番目のは黄道面から離れた星の場合を見ました。
JDはその時刻のJDです。
Objectは仮想の対象星です。
dt=HJD-JDは日心補正値です。
ConverterはJDをHJDに変換する手段で
Kaiは私が作成したR言語によるスクリプトで地球の位置を地球の楕円軌道のケプラー方程式をニュートン近似で解をもとめて補正値を計算しています。基本的にはBrutonのマクロの計算方法を手直しし、定数を改訂したものです。
Osmは大島さんが作成されたエクセルシートです。「Henden&Kaitchuck(1982) Astronomical Photometry のP.114の式を使っています。ケプラー方程式は直接には解いていませんが、(和書で水路部「こよみ便利帳」にあるような)多項式近似で動径を求めているようです。」とのことです。http://otobs.org/hiki/?heliocentricJD
AIJはAstroImageJに付属しているCoordinate Converterです。
BAAはこのサイトです。 http://britastro.org/computing/applets_dt.html
L.Cookはこのサイトで計算させることもできますし、エクセルをダウンロードすることもできます
http://www.lewcook.com/JDSUNTime.htm
Brutonはこのサイトで計算させることもできますし、エクセルをダウンロードすることもできます。 http://www.physics.sfasu.edu/astro/javascript/hjd.html
astrolibRはR言語の天文プログラムのパッケージでその中の変換プログラムです。
https://rdrr.io/cran/astrolibR/man/helio_jd.html
Bruton.revは彼のエクセルシートのマクロをホンのわずか修正した場合です。(下記参照)
結果を見てみました。
冬至の頃は地球は近日点の近くで夏至の頃は反対に遠日点の近くなので、その距離の差が補正値に現れるはずですが、
BrutonとastrolibRではどちらの場合も補正値が499秒と全く違わないので円軌道で計算していることがわかります。
他の5つでは距離の差が補正値に反映していて、しかも0.1秒台で一致しています。
astrolibRのにはびっくりしました。パッケージに入っているのが信じられません。他のプログラムでも問題があったことがあります。(JDに入れる値はしかもJD-2400000です。要注意。まあ使わないほうが良いプログラムです。)
Brutonのマクロでは地球の楕円軌道をケプラー方程式で解いて地球の位置を出しているのですが、得られた太陽と地球の距離reを最後の最後で入れ忘れていて実際には円軌道扱いのように見えるのです。
彼のマクロのこの行
correction = ausec * (earthx * objectx + earthy * objecty + earthz * objectz)
にreをこのように入れます。
correction = ausec * re * (earthx * objectx + earthy * objecty + earthz * objectz)
そうすればBruton.revにあるように他のconverterと極めてよく合うようになります。
もしBrutonのエクセルシートをお使いの場合はこのようにマクロを修正なさることをおすすめします。
なお、AstroImageJのConverterだとBJDも計算させられます。
Date & Time 2011.12.22. 0 UT 2011.06.22. 0 UT 2018.09.02. 12 UT
JD 2455917.5 245734.5 2458364.0
Object RA:06 00 00 Dec:23.5 RA:18 00 00 Dec:-23.5 RA:19 16 50 Dec:29 10 52
Converter dt=HJD-JD in sec dt=HJD-JD in sec dt=HJD-JD in sec
Kai 0.005681 490.8 0.005869 507.1 0.002706 233.8
Osm 0.005681 490.8 0.005869 507.1 0.002736 236.4
AIJ 0.005682 490.9 0.005869 507.1 0.002705 233.7
BAA 0.00568 490.9* 0.00587 507.1* 0.00271 233.8*
L.Cook 0.005681 490.9** 0.005869 507.1** 0.002706 233.8**
Bruton 0.005775 499.0 0.005776 499.0 0.002682 231.7
astrolibR 0.005774 498.9 0.005774 498.9 0.002611 225.6
Bruton.rev 0.005682 490.9 0.005870 507.2 0.002706 233.8
* from dt in minutes
**from dt in seconds