スポンサーリンク

SunCalcの月の出、月の入の「時間差」について

雨降ってるし、Akita_Tawarayaさんとi*matさんからいただいたリクエストを星空スコアのプログラムに反映する作業を進めている。ロジックが本当に正しいのかどうか、いまひとつ自信が持てないので、公的機関の数値と星空スコアの数値の突き合わせ作業を進めているわけだが、月の出、月の入の時間が一致しない。

具体的は、国立天文台(NAOJ)の月の出、月の入の時間とSunCalcで計算している数値にわずか?な差がある。国立天文台の月の出入りの数値は、下記のサイトで確認できる。

月の出入り@東京(東京都) 令和 7年(2025)06月 - 国立天文台暦計算室

単純にNAOJとSunCalcのロジックが違うんだろうなとは思うが、それ以上のことは分からない(説明されても理解できない)。星空スコアで使っている「SunCalcライブラリ(PHP版)」は、指定した日付・緯度・経度をもとに、月の出入り時刻を算出しているので、私からは、ブラックボックスになっているわけだ(実際には、コードがGitHubで読めるようになっている)。

GitHub - gregseth/suncalc-php: PHP library for basic astronomical computation (sun and moon rise and set, moon phases, …)
PHP library for basic astronomical computation (sun and moon rise and set, moon phases, …) - gregseth/suncalc-php

2025年6月1日〜7日の期間において、月の出と月の入の数値についてNAOJとSunCalcの値を比較してみたのが下の表。月の出に関しては、1分から6分、月の入に関しては2分から4分の差があった。AIさんに聞いてみると「国立天文台は地平線高度の補正(大気差補正あり)を含むが、SunCalcは単純な球体モデル。特に低空での誤差が出やすい。」とのことだが、検証はしていない(幻覚の可能性あり)。ほかにも理由はあるだろう。

Screenshot

SunCalcとNAOJについて、同じように比較したユーザーさんはほかにもいて、下のように結論付けている。

日の出・日の入り・南中時刻については1分程度の差があった。方位や高度については0.1°程度の差があった。

月の出・月の入りについては最大8分程度の差があった。方位については1°程度の差があった。月齢については直接比較できないが、30倍すると概ね一致することは確認できる。

SunCalcを使ってJavaScriptで日の出・日の入りや月の出・月の入りを計算する - Qiita
はじめに 日の出・日の入りや月の出・月の入りなどの天文計算は複雑で、自分で実装するとなると面倒である。そこでSunCalcというライブラリを用いて、JavaScriptで計算してみることにした。また、計算結果を国立天文台ウェブサイトのものと...

どちらにしても、国立天文台が示している月の出、月の入とSunCalcのそれは、上記のような「差」が発生していると考えていただければと思う。日の出、日の入りにも同じような差があるのは、上のブログの報告のとおり。

したがって、SunCalcを使っている星空スコアの数値も、NAOJと同じではないということに留意していただければと思うのだ。

この記事へのコメント

  1. ・・・突き詰めて考えると、ナカナカ難しいもんですね。

    日の出入り の定義をNAOJの歴Wikiでみると、”太陽の上辺が水平線と一致した時”ナ~ンテ書いてあったり。
    定義自体、時代や国によって変遷している、とも。

    月(太陽)が丁度1コ分ズレるのが約2分らしいので、定義の違いカナ?
    でも、方位の誤差とか説明できないし。
    そんな簡単な理由じゃないんでしょうねえ・・・

    • 天文学って難しくて脳みそがちぎれそうになってしまいます。あ、いや、どの勉強も難しいのは嫌いなんですが…。

タイトルとURLをコピーしました