名前:西野友宗
担当情報実験機:joho-10
最終更新日:2022年9月18日
本レポートは、2022年度ITPASS実習の一環として、地球流体電脳倶楽部の有志が開発したソフトウェアGPhysを用いてNetCDFデータを可視化するためのスクリプトを作成し、大気や海洋についてグラフを描画する課題の結果をまとめたものです。本レポートのスクリプトはITPASS実習HPに例示されたスクリプトに基づいています。以下では、スクリプトの用途・実行方法と図の作成方法、図の意味について解説します。
スクリプトは以下の環境で作成・実行しました。
CPU : Intel Core i5-9600K
OS : Debian 11.5
グラフ作成に係る言語・ライブラリ : Ruby 2.7.4、GPhys 1.5.6、NetCDF library 4.7.4
図の編集と表示には以下のソフトウェアを用いています。
画像編集ソフトウェア : ImageMagick 6.9.11-60
PDF編集ソフトウェア : PDFtk 3.2.2
PDFビューア : Evince 3.38.2
イメージビューア : Eye of GNOME 3.38.2
----------------------------
問1では、赤道における月平均東西風の帯状平均(東西平均)について、鉛直構造の時間変化を描きます。データファイルはNOAA(National Oceanic and Atmospheric Administration)による東西風の再解析データ(ダウンロード用リンク 394MB)を使用します。ここで描画するグラフは、横軸を時刻(線形)・縦軸を気圧(対数スケール、上ほど低い)として、描画範囲はそれぞれ2008年1月から2022年3月まで、70hPaから10hPaまでとします。
スクリプトは下記URLより閲覧できます。ブラウザで表示する際はエンコードをUTF-8に設定してください。
問1スクリプトスクリプトはRuby、GPhys、NefCDF libraryがインストールされた環境で動作します。以下では上記動作確認環境(Debian)におけるコマンドの例を示します。
1.データファイルを適当なディレクトリにダウンロードします。
$ wget https://psl.noaa.gov/thredds/fileServer/Datasets/ncep.reanalysis/Monthlies/pressure/uwnd.mon.mean.nc
2.スクリプトを同じディレクトリにダウンロードし、拡張子を.rbに変更します。
$ wget http://itpass.scitec.kobe-u.ac.jp/~nishino3/report01/scripts/quiz1.rb.txt
$ mv quiz1.rb.txt quiz1.rb
3.スクリプトを実行します。このとき、グラフがdcl.pdfとして同じディレクトリ上に出力されます。
$ ruby quiz1.rb
4.この時点でグラフは横倒しになっているので、dcl.pdfを右に90°回転し、result1_QBO_2008to2022.pdfに出力します。
$ pdftk dcl.pdf cat 1-endright output result1_QBO_2008to2022.pdf # PDFtkを用いる場合
なお、DebianではPDFtkを以下のコマンドでインストールできます。
$ apt-get install pdftk
5.グラフのpdfファイルを開きます。
$ evince result1_QBO_2008to2022.pdf # Evinceを用いる場合
下記リンクよりグラフのpdfファイルを表示できます。
図は赤道上空の成層圏における月平均・帯状平均東西風の時間変化を表します。橙色領域は西風、青色領域は東風を表し、線は風速の等値線で、単位はm/sです。この図には、およそ2年の周期で東風・西風の領域が交互に高度の低い方へ降りていく様子が見られます。この現象は1960年代[1]より知られ、周期が平均して約27ヶ月と、2年より少し長いことから準二年周期振動(Quasi-biennial oscilation; QBO)といいます。
ここで描画した期間・高度のQBOでは、
[i] 廣田 勇 著「気象の教室1 グローバル気象学」東京大学出版会 (初版第4刷) p.117 図7-1
グラフの高度範囲を参考にしました。
1. ^ 同書 p.116 本文
2. ^ Freie Universität Berlin "The Quasi-Biennial-Oscillation (QBO) Data Serie" (英語版)、2022年8月23日閲覧
URL : https://www.geo.fu-berlin.de/en/met/ag/strat/produkte/qbo/index.html
上記Webサイトの記述 "the transition to easterlies is often delayed between 30 and 50 hPa" に基づきます。
----------------------------
問2では、2016年1月25日(JST)未明に神戸地方気象台で約17年ぶりの最低気温[3][4]を記録したことに関連して、2016年1月15日0時(UTC)から同月27日18時(UTC)までの北半球に於ける500hPa等圧面上の6時間毎の温度分布(瞬間値)を、北極を中心とする正距方位図法で描画したgifファイルを作成します。データファイルはNOAAによる再解析データ(ダウンロード用リンク 306MB)を用います。
スクリプトは下記URLより閲覧できます。ブラウザで表示する際はエンコードをUTF-8に設定してください。
問2スクリプト
1.データファイルを適当なディレクトリにダウンロードします。
$ wget https://downloads.psl.noaa.gov/Datasets/ncep.reanalysis/pressure/air.2016.nc
2.スクリプトを同じディレクトリにダウンロードし、拡張子を.rbに変更します。
$ wget http://itpass.scitec.kobe-u.ac.jp/~nishino3/report01/scripts/quiz2.rb.txt
$ mv quiz2.rb.txt quiz2.rb
3.スクリプトを実行します。このとき、6時間おきのグラフが52枚のpngファイル"dcl_*.png"として同じディレクトリ上に出力されます。
$ ruby quiz2.rb
4.出力されたグラフを1つのgifファイルにまとめます。
$ convert -delay 50 -loop 0 dcl_*.png result2_ColdCoreLow.gif # ImageMagickを用いる場合
5.完成したgifファイルを開きます。
$ eog result2_ColdCoreLow.gif # Eye of GNOMEを用いる場合
以下リンクよりグラフのgifファイルを表示できます。
アニメーション(3.1MB)
(補足)各時刻のグラフは以下のPDFファイルより一枚ずつ確認できます。
PDFファイル(8.7MB)
PDFファイルの作成方法
図は冬の北半球の対流圏中層における温度分布(瞬間値)とその時間変化の一例です。温度分布は220Kから270Kまでの範囲を10Kおきに区切る等温線とカラースケールで表現します。
まず全体を見渡すと、この期間の北半球500hPa等圧面上では高緯度ほど気温が低い傾向が見られます。これは北緯30~40度周辺で顕著で、260Kの等温線はほとんどの時間で一つの閉曲線をなしています。一方、より高緯度の領域では、それぞれの時刻についてこの傾向ははっきりとせず、240Kの等温線は激しく蛇行して複数の部分に離合集散しています。
次に等温線の移動に着目すると、中緯度では寒気の張り出しが東に移動し続ける様子が見られます。他方、北極周辺では移動方向はさほど一定せず、周囲よりも気温が低い複数の領域がそれぞれ小さく反時計回りに弧を描き(回転しながら)移動しています。
アジア周辺では、描画期間中は240Kの等温線の張り出しが継続しています。この中で、1月19日頃(UTC)にはバイカル湖の東に周囲よりも寒冷なひとかたまりの領域が見られ、20日から23日まで渤海周辺に向けて南下したのち、24日には北日本を東に進む様子が見られます。
[ii] 饒村 曜「北極の寒気がアメリカと日本に南下」 2019年1月31日 5:00 更新版、2022年8月21日閲覧
URL : https://news.yahoo.co.jp/byline/nyomurayo/20190131-00112844
図1(リンク先)のカラーリングと本文用語・解説を参考にしました。
[iii] 岩倉 龍太郎 ITPASS実習レポート 1 2022年8月20日閲覧
URL : https://itpass.scitec.kobe-u.ac.jp/~itpass/exp/fy2021/210813/kadai_answer/answers_final_211004/iwakura/
リンク先のスクリプトを参照することで、私の描画スクリプトのミスを発見・修正しました。
[iv] Satoshi Noda's web page: 論文執筆 2018年3月12日更新版、2022年9月18日閲覧
URL : https://epa.scitec.kobe-u.ac.jp/~noda/memo/index.htm.ja
サイト記載の「任意の場所に任意のテキストを書く方法」を用いて、グラフの右上に気圧と日時を表示しました。
[v] 長瀬来【Ruby入門】sliceの使い方まとめ【文字列 配列 正規表現】 2022年9月13日更新版、2022年9月18日閲覧
URL : https://www.sejuku.net/blog/14690
サイト記載のsliceを用いて文字列を取り出す方法を用いて、グラフ右上の日時の表示を構成しました。
3.^ Goo天気 神戸の最低気温ランキング 2022年8月22日閲覧
URL : https://weather.goo.ne.jp/past/ranking/low-temperature/770/
このサイトによれば、2016年1月25日以前で最後に-4.0℃以下を記録したのは1999年2月4日です。
4.^ 気象庁|過去の気象データ検索 神戸 2016年1月25日(10分ごとの値)、2022年8月23日閲覧
URL : https://www.data.jma.go.jp/obd/stats/etrn/view/10min_s1.php?prec_no=63&block_no=47770&year=2016&month=1&day=25&view=a3
2016年1月25日午前3:20、3:30(JST)に-4.0℃の記録が確認できます。
----------------------------