2007年03月23日

明け六つ 暮れ六つ 計算 6 7度21分40秒の経緯

 国立天文台の天文情報センター様に問い合わせまして、丁寧な回答をいただきました。どうも、ありがとうございます。

--- 要点 ------------
 寛政暦での明け六つ、暮れ六つの定義は、京都における春秋分の日の出前(または日の入後)二刻半。(1日=100刻、2刻半=36分)
 そのときの視太陽の中心の伏角が7.36度。
 寛政暦書の7度36分の記述が7.36度の意味=60進法で7度21分36秒
 理科年表はもう少し精度よく計算し、かつきりのよい数値
 7度21分40秒を採用。
 計算に大気補正は不要

-----------------

なんと!ということは7度21分40秒というのは厳密には寛政暦書の数値では無かったわけですね。(とはいってもその数値の差は4秒=900分の1度ということになりますが)見つからないはずです。

繰り返しになりますが、話の筋としては
 日の出(入り)前(後)二刻半の定義が先、その時刻の太陽の伏角として定義しなおした数値が
 幕府天文方は7.36度と算出(寛政暦書)。国立天文台では精度を上げて数値7度21分40秒とした(理科年表)。

ということのようですね。これで今までいきなり数字が出てきて釈然としなかった部分に筋が通りました。いやはや。

 −つづくー

参考
http://www.nao.ac.jp/koyomi/topics/html/topics1992.html

「日の出・日の入りの計算」 長沢 工 著

読めるかなあ。
posted by ketaru at 09:50| Comment(0) | TrackBack(0) | ソフトウェア

2007年03月10日

明け六つ 暮れ六つ 計算 5  謎の7度21分40秒 その2

寛政暦集 巻四  出でよ!
kanseireki1.JPG

とりあえずアタリをつけて、この辺かと思われたのですが、読めません。私の学力では無謀だったかな。
読めませんが、読める数値などを見て、無理やり意味を取ってみます。

昔は日の出数刻前星が消える頃。日没後星が見えるようになる頃という話かな。
晋書天文志?では春秋? 昼夜50刻として2刻半 5刻 250分 地平正下一十八度 七度余 赤道 七度三十六分 うーーーん。

しかしこの辺には7度21分40秒なんて書いていないようです。
7度36分がいかにもソレっぽいですが、14分20秒の差は何?視半径にしては微妙に小さい...。京都云々も見えないので、また別な所に記述があるのかなあ。と謎はつづいてしまうのでした.....。教えて!エライ人。

−つづく−

posted by ketaru at 19:28| Comment(2) | TrackBack(0) | ソフトウェア

2007年03月09日

明け六つ 暮れ六つ 計算 4  謎の7度21分40秒

さて、ここまでやって釈然としないのはいきなり与えられた謎の数値7度21分40秒です。
 今、自分が知っていることといえば最初にその数値にギョッとした大江戸生活体験事情の記述、「寛政暦では、太陽の中心が地平線の下7度21分40秒にある時とはっきり決めてある。」(時刻が生み出すエネルギー)というのと暦と時刻の事典には「寛政暦では京において7度21分40秒」というような記述があります。(ん?浅草の天文台ではないのね。)

これはひょっとして寛政暦とか言うものの原典を見ないとわからんのかなあ。ああ、古典漢文をちゃんとやっておけばよかったと思う今日この頃なのでした。

                       つづく

posted by ketaru at 22:17| Comment(0) | TrackBack(0) | ソフトウェア

2006年10月30日

明け六つ 暮れ六つ計算 3

さて、明け六つ暮れ六つ発生装置を求めて
 オープンソースであること
 単機能でシンプルであること
 コマンドラインだけでできること。
 などと改造できそうなプログラムを探してたどり着いたのは、

FreeBSD Astro Ports でした。

なにやら天文関係のプログラムが集まっているようなので、未来の天文学者さんやお好きな方は突入してみましょう。

sscalc-1.0
A sunrise/sunset time calculator

これが良さそうです。

私の手元には、open blocks という小型LINUXマシンしか無かったのでこれでいじってみます。

プログラムソースはここから飛べます。

これを適当にPC-UNIX上で展開して遊ぶのですが、
なにやらBSD環境用のMakefileっぽいのでベタにコンパイルしてみましょう
[user1@LinuxServer sscalc-1.0]$ gcc sscalc.c -lm
[user1@LinuxServer sscalc-1.0]$ ./a.out
23:31:05 09:34:58

怪しい時刻が出てまいりました。
sscalc.c をあれこれ見てみます。

344
345 double lat = 47.66; /* if nothing else given, use the author
s */
346 double lon = 117.43; /* location of Spokane, Washington, USA
*/

なにやらデフォルトはSpokane, Washington, USAになっています。
[user1@LinuxServer sscalc-1.0]$ ./a.out -h
./a.out: invalid option -- h
usage: sscalc [-n reps][-m mon][-d day][-o lon][-a lat][-rs]

ヘルプオプションは無いようですが、
-o 経度 -a 緯度 です。

ソースファイルの中には、cities.txtという、都市名3457個と経度緯度の対応表も入っていました、どこかで使えるかも。
[user1@LinuxServer sscalc-1.0]$ wc cities.txt
3457 10337 112858 cities.txt
[user1@LinuxServer sscalc-1.0]$ grep Tokyo cities.txt
Tokyo, Japan:-139.73:35.68


では東京の緯度経度を入れて見ます。

[user1@LinuxServer sscalc-1.0]$ ./a.out -o -139.73 -a 35.68
06:00:39 16:48:22

今日は6時日の出、16時48分日の入りだそうです。

こよみのぺーじさんを見ると。

日の出 06時00分 : 日の入 16時49分
おお、大体あってる(笑)

さて探している補正項らしきものは。

83 /*
84 ** The hour angle returned below is only for sunrise/sunset, i.e. when
85 ** the solar zenith angle is 90.8 degrees. The reason why it's not 90
86 ** degrees is because we need to account for atmospheric refraction.
87 */
88 static double
89 calcHourAngle(double lat, double solarDec, short calcSunrise)
90 {
91 double latRad = degToRad(lat);
92
93 if (calcSunrise)
94 return (acos(cos(degToRad(90.833)) / (cos(latRad) * cos(solarDec
)) -
95 tan(latRad) * tan(solarDec)));
96 else
97 return -(acos(cos(degToRad(90.833)) /
98 (cos(latRad) * cos(solarDec)) -
99 tan(latRad) * tan(solarDec)));
100 }
101
102

ここですね、大気の屈折もカウントが必要とあります。
こよみのぺーじさんでは補正は0.899度でした。
ここを書き直してコンパイル+実行してみると。

[user1@LinuxServer sscalc-1.0]$ ./a.out -o -139.73 -a 35.68
06:00:18 16:48:42

... まあいいかな。

では作戦通りここを書き換えてみましょう。
 7度21分40秒+太陽の視半径16分=7+(21/60)+(40/3600) + 16/60 = 7.628 でやってみましょう。

上の90.833 を 97.628と書き換えて
デフォルトの緯度経度もとりあえず東京にしておきます。

[user1@LinuxServer sscalc-1.0]$ ./a.out
05:26:09 17:22:50


おお、これで良さそうです。これぞ、ユビキタス江戸クロックの原理!
世界のおおむねどこでも、明け六つ暮れ六つが幕府の定義通りわかるはずですね。

- つづく-
posted by ketaru at 21:05| Comment(2) | TrackBack(0) | ソフトウェア

2006年10月25日

明け六つ 暮れ六つ計算 2

さて、明け六つ 暮れ六つを求めていろいろ調べて見ると。
大気差」という数字があるとわかりました。

日の出、日の入りの時に太陽は本当は地平線より下にあって、地球の大気の屈折で浮かび上がって見える。とのことです。知らなかった。

下記サイトはとても詳しいです。
 こよみのぺーじ 
補正は(−大気差−眼高差−視半径+地心視差)= -0.899度
で計算したとのことです。

これでツボがわかりました。
1 日の出、日の入りのプログラムのソースから補正項の定義、もしくは計算をしている所を上の数字を参考にして探す。

2 そのあたりを7度21分40秒で置き換えれば「明け六つ、暮れ六つ」発生装置になるのでは?いや、なるに決まっている。
(細かい補正の扱いをどうするのかの謎はちょっと置いておきます)

つづく
posted by ketaru at 06:59| Comment(2) | TrackBack(0) | ソフトウェア

2006年10月24日

明け六つ、暮れ六つ計算 1

 世間では江戸文化歴史検定というものがあるようですが。ちょっと関係のある話です。

 明け六つとか暮れ六つというのは、江戸時代の不定時法の言葉で日の出ちょっと前とか、日の入りちょっと後なのですが。具体的にいつかというと。
 「大江戸生活体験事情」という本をよんだら、太陽の中心が地平線下7度21分40秒の時。などと難しいことが書いてありました。
 恐るべしは幕府天文方の科学力です。

 それを知り、一時期職場で、暮れ六つまで作業を終わらせるのだー。とかいって仕事をしていたのですが、その為には具体的な時刻を知る必要があります。

1 理科年表の日の出日の入りのデータから36分ずらす。
2 日の出日の入りのソフトの結果を36分ずらす。
(36分というのは大江戸生活体験事情に出てきた簡易計算)

というのをやっていたのですが面倒になり。
日の出日の入り時刻を求めるプログラムをいじれば、明け六つ、暮れ六つ発生装置になるのではないか?いや、そうに決まっている。という予想をたてて、ある年のある日に作業は始まったのでした。 −つづく−
posted by ketaru at 21:37| Comment(0) | TrackBack(0) | ソフトウェア