千葉大環境リモートセンシング研究センターの説明を読むこと.
このページの、
3.4.1 カウント値から物理量(輝度温度、反射率)への変換
のところにある、count2tbb_v102.tgz を保存して、展開する. シェルスクリプト count2tbb.sh を実行すればデータの ダウンロードと処理がされる.
[maro@shear7]$ tar -zxvf count2tbb_v102.tgz # 展開 [maro@shear7]$ cd count2tbb_v102 [maro@shear7]$ sh count2tbb.sh #データのダウンロードと処理を行う. |
ただし、オリジナルの count2tbb.sh は、描画ソフトGMTを用いて画像ファイルを 作る設定になっていますので、GMTをインストールしていないと動きません. そこで、count2tbb.sh は下に置いたサンプル(count2tbb_sample.sh; 複数の時刻 について、gradsデータを作成する設定に修正したもの)に差し替えて、 日時, データを保存するdirectory名などを適宜修正して使用してください.
これを実行すると YYYYMMDDHHMN_CHN_NUM.dat という名前のデータが,予め作成してある directory(この例では/home/hogehoge/2020/12/)以下に複数作成されます. YYYYは年、MMは月、DDは日、HHは時、MNは分、CHNはチャンネル、NUMはバンド, 時刻は世界標準時UTC (=日本時間-9h)であることに注意. データを保存するdirectory名は、適宜修正して使用してください.
これらのデータをgradsで表示するための.ctlファイル(sample.ctl) も下に置いておきますので、適宜修正して使ってください. 以下のcount2tbb_sample.sh は赤外の 10.4μm(CHN=TIR, NUM=01) を処理する設定になっていますが、CHNの設定をVISにすれば可視データ (反射率)についても同様に処理できます. ただし、赤外と可視で空間解像度が異なる(赤外0.02度, 可視0.01度)ので ctlファイルはsample_VIS.ctlの方を使うこと.
上記の各時刻のデータ(YYYYMMDDHHMN_CNN_NUM.dat) を複数読み込み、 ある指定した領域を抜き出して、一つの時系列データにすることを考える. 以下は使用するファイルのサンプルです. 日本時で2020年12/11日から12/13日の3日間の コンポジット (00LT〜23LT) を作る例になっています. filename_in.txtは、読み込むべきデータ名を羅列したものです. local time compositeの作成のため、データ名は日本時間の00時から23時、すなわち 世界時で前日の15UTCから始まり、14UTCで終わるものにしてください。 例えば、日本時で2020年12/11日から12/13日の3日間のIR 01 のコンポジットを作るには、データ名は202012101500_TIR_01.dat から始まり、202012131400_TIR_01.datまでの並びになります. 作成の際は、ls *_TIR_01.dat > filename_in.txt などとして,不要な日のデータ名(前日の15UTCから14UTCまで)を消すなどすれば良い.(抜けはないか、行数は24の倍数になっているか注意)
[maro@shear7]$ ifort -convert big_endian extract-combine.f # コンパイル [maro@shear7]$ ./a.out #実行 |
どのような処理をしているかはプログラム中にコメントしてあります. 日時などを適宜修正して使用してください (日本語でコメントを入れています). 一般に言えることですが、大量のデータを処理する前に、まず少量のデータでプログラムの動作と結果(出力が変な値になっていないか、データが空間的に不連続になっていないか、など)を確認すること.
上の作業で作成した赤外輝度温度の時系列データ(tbb_combined.dat) を読み込んで、local time(日本時)コンポジット(各時刻毎のTbbの平均値)を作成する ことを考える. 以下は使用するファイルのサンプルです. compositeの日平均値からの偏差、水平方向に平滑化した値も出力されます. 描画する際の便宜のため、データは2サイクル分(49時刻分)出力するようにしています.
[maro@shear7]$ ifort -convert big_endian calc-composite.f # コンパイル [maro@shear7]$ ./a.out #実行 |
以下は、結果表示用のgsファイルのサンプルと、カラーバー用のgsファイル.
Tbb 偏差表示用 Tbb_anomaly_6panels.gs
以下は、各時刻のTbb データ(YYYYMMDDHHMN_CNN_NUM.dat) を複数読み込み、指定した長方形領域 における各温度帯(以下の例ではT=TH0=220Kから320Kまで DTH=1Kおき)の格子数および全面積に対する占有率(%)を求めるプログラムと表示用ctlファイル. 長方形領域はプログラム中のis, ie, js, jeで指定しています. is, ie, js, jeを配列にしたり、解析領域を定義する配列(領域内の格子点を1, それ以外を0とするなど)を読み込むなどしてプログラムを改変すれば、任意の形の領域について計算ができます.