紀元前4713年1月1日世界時12時を起算時点として、正午から翌日正午までを1日として加算して基準日からの経過日数をカウントしていく。これがユリウス日。天体の位置計算なんかでは必ず出てくる基準。何故こんな基準が設けられたのか、なんて細かい経緯や理屈は専門家にお任せして、とにかく計算の基準の中の基準と思えば良い。天文雑誌には必ず出てくる。
現在の太陽や月、星の位置を計算で求める場合、まず、現在のユリウス日が大事になってくる。基準日から何日経過しているのか。うるう年の処理も付いて回る。国によっては採用している暦が異なる場合がある。昔の日本は太陰暦だったが、過去の天体現象を調べる際、太陰暦では都合が悪い。まず、今日の太陽暦に換算しなければならない。そうした不便さを解消するには統一の基準が便利。1000年前の1月1日だって、ユリウス日に置き換えれば、ややこしい計算に悩む事は無い。
紀元前4713年1月1日を基準にしているから、今年の1月には245万4800日を超えており、あまりに日数が多い。いちいちこの経過日数を扱うのも面倒だから「修正ユリウス日(MJD)」を設けて、ユリウス日から240万を引いた値を専ら使用するようになっている。
例えば、本日のユリウス日は「2455059」日。240万を引いた「55059」日が修正ユリウス日(MJD)。そして、小数点以下を時間の単位で表す。世界時12時がユリウス日の基準だから、日本の場合は9時間先行(世界時が正午の場合、日本時間は21時)分の0.5を加える。24時間を「1」として、例えば12時間は「0.5」、9時間は「0.375」(9÷24)。午前6時であれば、「6÷24」で、0.25。8月16日午前6時をMJDにすると、「55059.25」となる。この値が天体の位置計算の第一の基準(観測地点の経緯度が第二の基準)と云える。
フリーゲルの公式と云うのがあって、日付から修正ユリウス日に変換する計算式が膾炙している。これをエクセルの関数を使って、まとめると以下の通り。
=IF(MONTH(A1)>2,INT(365.25*YEAR(A1))+INT(YEAR(A1)/400)-INT(YEAR(A1)/100)+INT(30.59*(MONTH(A1)-2))+DAY(A1)-678912,INT(365.25*(YEAR(A1)-1))+INT((YEAR(A1)-1)/400)-INT((YEAR(A1)-1)/100)+INT(30.59*(MONTH(A1)+10))+DAY(A1)-678912)
上の計算式をコピーして、エクセルの適当なセルに貼り付けて利用すると便利。セル「A1」に日付を入力するように設定してある。但し日付は1900年以降の適用(エクセルの日付処理に合わせている)。日付の入力は「yy/mm/dd」(今年に限っては「m/d」でも可)と入力する。例えば、上の計算式をセル「C1」に貼り付けておくと、「A1」に日付を入れると「C1]に計算結果のMJDが表示されるはずだ。
ついでに、例えば、「C2」に以下をコピーして貼り付ければ、入力した日付の「曜日」が表示される。
=IF(MOD(C1-4,7)=0,"SUN",IF(MOD(C1-4,7)=1,"MON",IF(MOD(C1-4,7)=2,"TUE",IF(MOD(C1-4,7)=3,"WED",IF(MOD(C1-4,7)=4,"THU",IF(MOD(C1-4,7)=5,"FRI","SAT"))))))
次に、日本時間(入力はhh/mm)を「A2」に入力した場合に、「C3」にその時間の正確なMJD(JD:修正ユリウス日<日本時間>)を計算させる式が以下の通り。
=C1+(HOUR(A2)-9)/24+MINUTE(A2)/1440
パソコンの無い時代は、これらをコツコツ手計算していたはずで、こうした事例を考えると、科学の進歩に感謝だね。
最近のコメント