IT pass HikiWiki - [Exp2021]GPhysスクリプト課題 Diff

  • Added parts are displayed like this.
  • Deleted parts are displayed like this.

{{toc}}

#作成中


= 提出について

* 提出期限: 09/16 (木) 23:59
* 修正期限: 09/24 (金) 17:00

== レポートの作成方法

* ((<ITPASS サーバでレポートを公開するには|[Exp2021]ITPASS サーバでレポートを公開するには>)) を参照してください. また, ((<簡単なレポートの書き方指南>)) も良く読みましょう.
* レポートの一番上に以下のことを必ず明記してください.
  * タイトル (例: ITPASS 実習レポート1)
  * 名前
    * 学籍番号は書かないでください.
  * 担当情報実験機名 (例: joho01)
* レポートの HTML ファイルの名前は index.html にしてください.
  複数の HTML ファイルを作る場合は, 以下の要件を満たすようにしてください.
  * index.html を表紙, 目次とする
  * どの HTML ファイルも index.html との相互リンクが張ってある
* ((<レポートのテンプレート|URL:/~itpass/exp/fy2021/210813/practice_kadai/html-samples/sample.html>))  を置いてあります. 自由に使ってもらってかまいません.
* HTML の書き方については実習の時間内では解説しません.
  Web や書籍などで書き方を調べてください.
  上記のテンプレートを参照するのもよいでしょう.
  これもレポートの一環としてがんばってください.
* 問題の難易度を高めに設定しています.
  解けない場合は, 未完成のスクリプトを提出し,
  どこまでできて, 何につまづいたかを詳しく解説してください.
  問題そのものができていなくても,
  きちんとした解説があるレポートには高い評価を与えます.
* 自力で頑張っても分からない場合は, 他の人が提出したレポート
  (実習のメーリングリストに投げられたレポート提出報告メールに
  書かれている (はずの) URL から見られます)
  を参考にすることを推奨します.
  その場合, 参考にしたレポートを参考資料に挙げるようにしてください.
  また, 丸写しにするのではなく, 自分なりの改良も加えましょう.
* ((<2009 年のレポート課題|[Exp2009]シェルスクリプト課題>)), ((<2010 年のレポート課題|[Exp2010]シェルスクリプト課題>)), ((<2011 年のレポート課題|[Exp2011]シェルスクリプト課題>)), ((<2012 年のレポート課題|[Exp2012]シェルスクリプト課題>)), ((<2013 年のレポート課題|[Exp2013]シェルスクリプト課題>)), ((<2014 年のレポート課題|[Exp2014]シェルスクリプト課題>)), ((<2015 年のレポート課題|[Exp2015]シェルスクリプト課題>)), ((<2016 年のレポート課題|[Exp2016]シェルスクリプト課題>)), ((<2017 年のレポート課題|[Exp2017]シェルスクリプト課題>)), ((<2018 年のレポート課題|[Exp2018]シェルスクリプト課題>)), ((<2019 年のレポート課題|[Exp2019]シェルスクリプト課題>)), ((<2020 年のレポート課題|[Exp2020]GPhysスクリプト課題>))  も参考にしてみてください.

#=== 授業時間外のレポート作成について
#
#* 自宅, 学内から ITPASS サーバ (ika-itpass) にログインする場合,
#  ((<[TEBIKI]SSHサーバへの公開鍵認証によるログイン>)) を参考にして下さい.
#  * なお, 学外からは情報実験機 (johoXX-itpass) に直接ログインすることはできません. 学外からは itpass サーバ (itpass.scitec.kobe-u.ac.jp) にログインし, itpass サーバから情報実験機に ssh でログインしましょう.
#* 507 号室は, 部屋の使用予定がない限り許可なく使ってもらって構いません. ゼミなどで使用している場合も, その場で許可をとってもらえば使用してかまいません.
#  * 507 号室の使用予定は以下の予定表で確認できます.
#    * ((<507 号室の予約表|URL:https://itpass.scitec.kobe-u.ac.jp/~bldg3/hiki/hiki.cgi?507号室の予約管理>))
#* 507 号室への入室にあたり事前に許可は不要ですが,
#  鍵がかかっていて入れないことがあります. 希望者には鍵を貸し出しますので, TA にご一報ください.
#* 部屋を使用するときには, 506 号室 もしくは 508 号室にいる人に一言断ってから使用してください. ((<[Exp2019]実習部屋(507号室)の使い方>)) もよく読んでください.


==  レポートの提出方法

=== ファイルを置く

今回のレポートは全て
ITPASS サーバ (ika-itpass) の ~/public_html/report01/
以下に置いてください.
置き場所となるディレクトリは必要に応じて自分で作ってください.

情報実験機で作ったファイルを ITPASS サーバに転送するには scp というコマンドを使うとよいでしょう. 詳しくは man を見てください.
各ファイルの置き方は以下のようにしてください.

* html ファイルは ~/public_html/report01/ 以下に置く.
* スクリプトは ~/public_html/report01/scripts/ 以下に置く.
* 結果として出力されたファイルは
  ~/public_html/report01/results/ 以下に置く.
* 注意: 問題として配布するデータファイルは置かなくても結構です.
  ただし, どこからどうやって入手したかはレポート本文に明記しておきましょう.

=== ディレクトリ構造の例

/home/hoge/public_html/report01/
:
|-- index.html
|
|-- scripts/
|   `-- quiz1.rb.txt
|
|-- results/
|   |-- result1.png
|   :
:

* 上の例にある hoge は自分のアカウント名に置き換えてください.

=== アップロード確認

ブラウザから全部のファイルにアクセスできるか確認してみましょう.
例えば, ITPASS サーバ (ika-itpass) では,
~/public_html/report01/index.html に対応する URL は

  http://itpass.scitec.kobe-u.ac.jp/~(自分のアカウント名)/report01/index.html

になります.

=== 提出完了の報告

提出期限までに以下のメールを送ってください.
内容を確認した後, 修正すべき点があればその旨を連絡します.
修正完了後, 再度メールで報告してください.
こちらから, レポート提出完了のメールが送られた時点で
レポートを提出したことになります.

* メールの内容
  * 件名
    * 「ITPASS実習レポート 08/13 出題分 (自分の氏名)」
  * 宛先
    * itpass のメーリングリスト
      * itpass-ml -at- itpass.scitec.kobe-u.ac.jp (-at- は @ に変更すること)
  * メール本文に必ず記入すること
    * 情報実験機番号
    * 氏名
    * レポートの URL

= 必須課題

== 注意

再解析データはデータ容量が大きいことがあるので, スクリプトの作成と実行は必ず自分の担当する実験実習機で行ってください.


== 問題 1

((<NCEP/NCAR Reanalysis|URL:https://psl.noaa.gov/data/gridded/data.ncep.reanalysis.html>))のデータを用いて,
以下の 3 つの中からどれか一つの図を描画するスクリプトを作成しなさい.
そして読み取れることを説明しなさい.

* 赤道における東西平均東西風の高度分布の時間変化
  * 現象の説明
    * 成層圏の赤道域では, 東西風が約二年の周期で変化することが知られ
      ており, 成層圏準二年周期振動 (QBO: Quasi-biennial oscillation)
      と呼ばれています. これは, その特異な周期と構造から, 直観的には
      その原因を理解し難い興味深い現象です.
  * 補足・ヒント
    * 横軸を時間, 縦軸を圧力 (高度) として東西平均 (経度方向に平均)
      した東西風の分布を描画するとよいでしょう.

* 2020 年の東西平均した子午面温度分布の季節変化
  * 現象の説明
    * 地球を含めた惑星の大気の温度分布は, 大気循環による熱輸送や放
      射などによって決定され, 公転に伴う入射太陽放射分布の変化に応
      じて季節変化しています.
  * 補足・ヒント
    * 東西平均 (経度方向に平均) した温度を 1 か月ごとに時間平均して
      12 枚の図を描画し, それらをまとめることで 2020 年の季節変化の
      動画を作成すると良いでしょう.

* 2020 年の質量流線関数 (子午面循環) の季節変化
  * 現象の説明
    * それぞれの緯度において吸収される太陽放射と惑星放射の過不足は,
      大気と海洋による南北熱輸送の発散と平均としてつり合っています.
      大気による南北熱輸送を担う要素の一つが東西平均子午面循環であ
      り, 公転に伴う入射太陽放射分布の変化に応じて季節変化しています.
  * 補足・ヒント
    * 子午面循環の構造は, 東西平均した南北風を用いて質量流線関数を
      求めることで描画することができます.
      東西平均 (経度方向に平均) した南北風を 1 か月ごとに時間平均し,
      ((<こちらのスクリプト|URL:http://davis.gfd-dennou.org/rubygadgets/ja/?%28Library%29+質量流線関数の計算>))
      を用いることで 1 か月ごとの質量流線関数を計算することができます.
      1 か月ごとの質量流線関数の図 12 枚を描画し, それらをまとめる
      ことで 2020 年の季節変化の動画を作成すると良いでしょう.
      * 質量流線関数は密度の重みを掛けた流線関数です. 流線関数は,
        その値が等値線を横切る流量を表します. (結果として, 等値線に
        沿って流れがあることを表します. なお, 上のスクリプトでは正の
        値は時計回りの循環を表し, 負の値は反時計回りの循環を表します
        (2021 年 9 月 20 日追記).)
      * 流線関数は二次元の連続の式の解であり, 適切な境界条件の下で
        流速を積分することで求めることができます. (本問題の場合は,
        南北速度を圧力方向に積分します.)
      * 流線関数について興味があれば, 流体力学の教科書等を調べてみ
        ると良いでしょう. あるいは, 3 年後期の惑星流体力学の授業で
        学ぶことができるでしょう.


==== レポートに書く内容

レポート内には以下を記述してください.
ただしリンクを貼る際は((*相対パスで指定するようにしてください*)).

* どの図を描画するスクリプトを作成したのか

* スクリプトファイル quiz1.rb.txt へのリンク

  上記で作成した quiz1.rb を quiz1.rb.txt という名前に変更してください. ブラウザ上から読めるようにするためです.
* スクリプトの解説

  スクリプト内の各行が何をしているのか, ((*スクリプト内にコメント文として書く*)).
* 描画に使用するデータファイルへのリンク

  リンク先はダウンロード元の URL を記してください.

* スクリプトの使い方の解説

  これをもとに TA が実際にテストします. 
  実行する際のスクリプト, データの置き場を明示してください.

#* 実行例 result1.txt, result1.png へのリンク
* 作成した動画ファイル (result1.gif) へのリンク


* 作成した図から読み取れること

  自分で作成した図から読み取れることを説明してください.
  必要に応じて参考文献, 参考ウェブページを引用しても構いません.
  その際には下の「参考資料」の欄に記入してください.

* 参考資料

  URL をベタ書きにするのではなく, そのページの作者やタイトル, および何を参考にしたのかも明記する.
* 共同作業した人の名前
* 工夫したこと, 感想など

#=== 実行結果の例
#
# (作成中)
#
# $ ruby quiz1.rb


== 問題 2

=== 興味のある大気現象の描画スクリプトの作成

自分が興味のある大気構造について, 図を描く GPhys を用いたスクリプトを作成しなさい. 動画でも構わない.
また, 作成した図について説明しなさい (何の図なのか). そして読み取れることを説明しなさい.

選ぶ題材は, 問題 1 で選んだもの以外のいずれかでも構わない.
問題 1 に挙げたもの以外の図を描くときには,
((<ここ|URL:https://psl.noaa.gov/data/gridded/data.ncep.reanalysis.html>))に ある NCEP NCAR Reanalysis データを使うとよいでしょう.

再解析データは実習中に説明した方法によってダウンロードしてください.

例えば, 2000 年における圧力面上の大気温度の日平均値のデータは下のようにたどることで見つけることができます.
* ((<NCEP/NCAR Reanalysis 1: Summary|URL:https://psl.noaa.gov/data/gridded/data.ncep.reanalysis.html>))
  の "We have separated the data documentation into seven sections" にある, "Pressure level" をクリック.
  * "Pressure level" : 圧力面上の値
* "Download/Plot Data" の "Air Temperature", "Daily", "Pressure" の行の "see list" をクリック.
  * "Air Temperature" : 大気温度
  * "Daily" : 日平均値
* "Level" の項目が "Multiple levels" の行の "See lists" をクリック.
  * "Multiple levels" : 複数面
* "air.2000.nc" をクリック.
  * ファイルの URL をコピーするには, リンク (air.2000.nc) を右クリックして「リンクのアドレスをコピー」のような項目をクリックする (名称はブラウザに依存する) と良いでしょう

物理量の名称は下のようなものがあるでしょう.
# RT
英語, 日本語, 備考
Air Temperature, 大気温度,
Geopotential Height, ジオポテンシャル高度, 重力ポテンシャル÷重力加速度
Relative Humidity, 相対湿度, 飽和水蒸気圧に対する水蒸気圧の割合
Specific Humidity, 比湿, 大気密度に対する水蒸気密度の割合
Omega (Vertical Velocity), 鉛直風, dp/dt (圧力の時間微分; 圧力座標での鉛直風)
U-Wind, 東西風,
V-Wind, 南北風,

なお, 上では圧力面上の物理量を保存したファイルの場所を書いていますが, その他の物理量を用いて図を描いても構いません.


==== レポートに書く内容

レポート内には以下を記述してください.
ただしリンクを貼る際は((*相対パスで指定するようにしてください*)).

* スクリプトファイル quiz2.rb.txt へのリンク

  上記で作成した quiz2.rb を quiz2.rb.txt という名前に変更してください. ブラウザ上から読めるようにするためです.
* スクリプトの解説

  スクリプト内の各行が何をしているのか, ((*スクリプト内にコメント文として書く*)).
* 描画に使用するデータファイルへのリンク

  リンク先はダウンロード元の URL を記してください.

* スクリプトの使い方の解説

  これをもとに TA が実際にテストします. 
  実行する際のスクリプト, データの置き場を明示してください.

#* 実行例 result2.txt, result2.png へのリンク
* 作成した図 (動画ファイル) (result2-1.png, result2-2.png, ... 等) へのリンク


* 作成した図の説明

  自分で作成した図が何の図なのかを説明してください.

  図を説明するには, 「いつ」「どこ」「物理量」「平均方法 (瞬間値? 平均値?)」「図の軸」のような情報が必要です.
  例えば, 下のような記述になるでしょう.
    * 2000 年 10 月 1 日 0 UT の 200 hPa 気圧面における東西風の瞬間値です.
    * 2000 年 10 月の 500 hPa 気圧面における温度の 1 カ月平均値です.
    * 2000 年の緯度 45°における海面更生気圧の経度分布の時間変化です.


* 作成した図から読み取れること

  自分で作成した図から読み取れることを説明してください.
  必要に応じて参考文献, 参考ウェブページを引用しても構いません.
  その際には下の「参考資料」の欄に記入してください.

* 参考資料

  URL をベタ書きにするのではなく, そのページの作者やタイトル, および何を参考にしたのかも明記する.
* 共同作業した人の名前
* 工夫したこと, 感想など

#=== 実行結果の例
#
# (作成中)
#
# $ ruby quiz1.rb


==== 作成する図の候補

作成する図はそれぞれの興味に従って選んで構いません.
もし思いつくことがない人は下の項目を参考にするとよいでしょう.

* 東西平均温度/東西風/比湿の緯度-圧力分布 (の季節変化の動画)
* 神戸市 (に最も近い点) における地表 (1000 hPa における) 温度/気圧の時間変化
* 神戸市 (に最も近い点) における温度/東西風/南北風の時間-圧力分布
* YYYY 年 MM 月に発生した台風の温度/風速/比湿分布 (の動画)


= 提出されたレポート

* joho 01 : ((<岩倉 龍太郎|URL:/~itpass/exp/fy2021/210813/kadai_answer/answers_final_211004/iwakura/>))
* joho 02 : ((<岡田 陸|URL:/~itpass/exp/fy2021/210813/kadai_answer/answers_final_211004/rokada5/>))
* joho 04 : 小野 誠太郎
* joho 05 : ((<小林 唯乃|URL:/~itpass/exp/fy2021/210813/kadai_answer/answers_final_211004/kobayash/>))
* joho 07 : ((<野間 光葉|URL:/~itpass/exp/fy2021/210813/kadai_answer/answers_final_211004/noma07/>))
* joho 08 : ((<半田 大樹|URL:/~itpass/exp/fy2021/210813/kadai_answer/answers_final_211004/handa512/>))
* joho 10 : ((<前河 千裕|URL:/~itpass/exp/fy2021/210813/kadai_answer/answers_final_211004/maegawa/>))
* joho 11 : ((<山下 雅生|URL:/~itpass/exp/fy2021/210813/kadai_answer/answers_final_211004/yamashma/>))