[itbase2022]Fortran 課題 問題
問題
気圧は高度とともに減少する. 気圧面の高度は, 地面からその気圧面までの温度の平均を反映しており, 大気の状態の診断に利用されている.
下の 4 つのファイルにはそれぞれ, 北半球の 4 地点における 700 hPa 気圧面の高度 (m) の, 1990 年から 2019 年までの月平均値が保存されている (4 地点の位置を示した図).
- ファイル 1 (地点 1 (東経 180 度, 北緯 10 度の地点, 低緯度の太平洋), 図中の赤色)
- ファイル 2 (地点 2 (東経 180 度, 北緯 50 度の地点, 中緯度の太平洋), 図中の緑色)
- ファイル 3 (地点 3 (西経 105 度, 北緯 55 度の地点, カナダ, サスカチュワン州), 図中の青色)
- ファイル 4 (地点 4 (西経 90 度, 北緯 25 度の地点 (メキシコ湾), 図中の桃色)
(ファイルの書式については下の「データファイルの説明」を参照すること.)
これらのファイルを用いて下に示す計算をするプログラムを作り, また, 下に説明するグラフを描きなさい. (用語については下の「用語説明」を参照すること.) そして, 下の「提出物」に挙げるものを提出すること.
(1) 気圧面高度の月平均気候値からの偏差を計算するプログラム
地点 1 における 700 hPa 気圧面の高度の, 月平均気候値からの偏差を計算するプログラムを作りなさい.
(2) 気圧面高度の月平均気候値からの偏差の時間変化のグラフ
地点 1, 地点 2 における 700 hPa 気圧面の高度の, 月平均気候値からの偏差の時間変化のグラフを gnuplot を用いて描きなさい.
二地点における偏差の時間変化を, 一つのグラフに重ね描きすること. また, グラフには必ず軸の名称を付けること.
(3) 相関係数を計算するプログラム
地点 1 と地点 2 における 700 hPa 気圧面の高度の月平均気候値からの偏差の, 相関係数を計算するプログラムを作りなさい.
(4) 相関係数の計算
下の二つの組み合わせについて, 700 hPa 気圧面の高度の月平均気候値からの偏差の相関係数をそれぞれ求めなさい.
- 地点 1 と地点 3
- 地点 1 と地点 4
提出物
下に挙げるものを提出しなさい.
- 月平均気候値からの偏差を計算するプログラム ((1) で作成したもの)
- 月平均気候値からの偏差の時間変化のグラフ ((2) で作成したもの)
- 相関係数を計算するプログラム ((3) で作成したもの)
- 地点 1 と, 他の 3 地点のそれぞれとの相関係数 ((3), (4) で計算したもの)
提出するプログラムのファイルは, 拡張子が .f90 のテキストファイル (人間が読んでわかる形式, 拡張子は .f90~ ではないことに注意すること) とし, グラフのファイルは pdf 形式とする. 各問題ごとに, すべての処理を一つのプログラムで実行する必要はなく, 複数のプログラムを使って計算しても良い. その場合には処理に必要となるすべてのプログラムを提出すること. また, 計算した相関係数は地点ごとにメール本文に記載しなさい.
用語説明
- 気候値 (climatology)
- 長期間の平均値. 平均期間に決まりはないが, 通常は 30 年以上の平均値を表す. ここでは 1990 年から 2019 年までの平均値を「気候値」と呼んでいる.
ここでの「月平均気候値」は,
- 1 月気候値 = 30 年間の 1 月の平均値
- 2 月気候値 = 30 年間の 2 月の平均値
- ...
- 12 月気候値 = 30 年間の 12 月の平均値
を表す (補足の図).
- もし月平均気候値の計算を難しいと感じるようであれば,
データの時系列 (z(1), z(2), z(3), ...) の中で,
例えば各年の 1 月の値が何番目なのかを書き出してみると良い.
さらに同様にして, 各年の 2 月の値, 3 月の値, ... が何番目なのかを
考えてみると一般化することができるだろう.
- 1 月の値は z(1), z(13), z(25), ...
- 2 月の値は z(2), z(14), z(26), ...
- ...
- 気候値からの偏差
- 気候値からの差 (ずれ).
ここでは, 各年, 各月の値の, 月平均気候値からの差を考えるため,
- 1990 年 1 月の値の, 1 月気候値からの差
- 1990 年 2 月の値の, 2 月気候値からの差
- ...
- 1990 年 12 月の値の, 12 月気候値からの差
- 1991 年 1 月の値の, 1 月気候値からの差
- 1991 年 2 月の値の, 2 月気候値からの差
- ...
を扱う.
- なお, このような気候値からの偏差を英語では anomaly という (日本語では「アノ マリ」「アノマリ―」とカタカナで表記されることもある).
データファイルの説明
それぞれのファイルには, 下のように値が保存されている.
$ cat ../data/z700_000_000.txt 0 3121.709716796875 1 3137.392822265625 2 3143.870849609375 3 3146.833251953125 4 3154.45166015625 ...
- 1 カラム目 : 1990 年 1 月からの月 (0, 1, 2, ... が 1990 年 1 月, 2 月, 3 月, ... に対応)
- 2 カラム目 : 700 hPa 気圧面の高度. 単位は m (メートル).
データについて
データは, NCEP/NCAR Reanalys (Kalnay et al., 1996) から取得したものを加工して用意した.
参考文献
(2) の結果の図の例
グラフの書式 (軸の名称や線の色など) は上の図に従う必要はない. 各自が見やすいと思うグラフを作成して良い.
なお, 上の図は正しくないことに注意すること.
おまけ
興味があれば取り組んでみてください.
ここに, 1990 年から 2019 年までの, 赤道上および北半球の地点における 700 hPa 気圧面の高度 (m) の月平均値を納めたファイルがある. 気になる地点の値と地点 1 の値との相関係数を計算して, 相関係数が地理的にどのように分布しているか確認してみると (何が起こっているのか考えてみると) 良いでしょう.
それぞれのファイルの名前は
- z700_MMM_NNN.txt : 地点 MMM, NNN の 700 hPa 気圧面のジオポテンシャル高度
となっており, MMM, NNN はそれぞれ経度方向と緯度方向の格子点番号である. 格子点は経度, 緯度ともに 2.5 度間隔で,
- MMM = 000, 001, 002, ... はそれぞれ経度 0 度, 2.5 度, 5 度, ...
- NNN = 000, 001, 002, ... はそれぞれ緯度 0 度, 2.5 度, 5 度, ...
に対応する.
Keyword(s):
References:[[itbase2022]最終課題]