「大気上端」に入射する太陽放射 (3) 日平均値を計算する実用的なプログラム

大気上端に入射する太陽放射 (地表面の単位面積あたりのエネルギーの流れの量) は、 いわゆる太陽定数を一定とみなし、 天体力学による地球の公転・自転の軌道要素の理論計算をつかえば、 気象観測による情報をつかわないで計算することができる。

近藤 (2000) は、「付録 D 大気上端日平均日射量計算プログラム」 (303-304ページ) に、1990年代につかわれていたパソコン用の BASIC 言語によって、 日平均の大気上端に入射する太陽放射 (プログラム説明文での変数記号は「Sod」)を計算する プログラム例をしめしている。

ついでに、可照時間 (もし太陽と観測者とのあいだに光をさえぎるものがなかったばあいに 日照がある時間) も計算している (プログラム説明文での変数記号は「No」)。

これを Python に書きなおしてみた。 ただし、結果の出力が、近藤のプログラムは 10日おきの値をプリントするようになっていたが、 ここでは、毎日の値を標準出力に書きだすようにした。 また、当時の BASIC には arcsin や arccos がなかったので ATN (arctan) と SQR (sqrt) をつかったちょっと複雑な計算をするようになっていたところを、 Python の math にある asin() や acos() をつかって書きなおした。

【[2023-10-09 補足] 同じ計算をする Excel ワークシートもつくってみた。

このワークシートの E列の7~370行 と F~O[オー]列の 6~370行 には計算式がはいっている。 それぞれの列のここに示したいちばん上の行に計算式を入れ、そのまま下にコピーしたものである。】

プログラム中のつぎの変数を必要に応じて変更して実行する。

このプログラムの理屈の説明は、近藤 (2000) の本にはほとんどないが、 近藤 編著 (1994) の 4.2節 「大気上端における日射量」 (57ページ) に、 ことばと数式によって書かれている。 浅野 (2010) の 2.2.2節 「大気外日射量の分布」 (34-35ページ) とあわせてみると、 各日の太陽の赤緯 (δ) と 太陽・地球間の距離 (の年平均値に対するわりあい) の値が 得られたところからさきの計算の理屈はわかるだろう。

太陽の赤緯や 太陽・地球間の距離をもとめる式の係数がどのように得られたかの 説明はそこにないが、 [「大気上端」に入射する太陽放射 (2) 季節変化と、万年のけたの時間スケールの変化] とてらしあわせてみると、天体力学の計算式に、現在の (たとえば 1万年まえのものではない) 地球の軌道要素をいれたものにちがいない。

現実には、年のはじまりの太陽のみかけの位置 (黄経) は毎年すこしずつちがうが、 このプログラムでは、そのちがいを無視して、1年を 365等分または 366等分し、 等分された区間の中央での軌道要素を計算している。 太陽放射自体ではなく地表面の熱収支に関心があるばあいの実用にはじゅうぶんな精度だと思う。

文献


2022-07-24, 2023-10-09
増田 耕一 (MASUDA Kooiti)
[計算機を利用した気象分野の実習の教材]