muttenz's blog

スイス星空だより

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