2. TRMM Rain Data Set

本章ではTRMM/PRで観測した降雨分布を示す際に利用した「TRMM Rain Data Set」についてまとめる.

2.1 特徴

利用したデータはNASDA(宇宙開発事業団)EORC(地球観測利用研究センター)が配布する地球気候変動研究のためのCD-ROMシリーズの 「ESRDC-007 TRMM Rain Data set TMI(1999-2000), PR(1998-2000)」に格納される観測データである. TRMM衛星に搭載されるPRおよびTMI(TRMM Microwave Imager: TRMMマイクロ波観測装置)双方の観測データが格納されている. が, 本論文ではPRによる観測データを利用した. NASDA(2000a)によると, このCD-ROMに格納されるデータセットは「気候モデル研究者が容易に地球観測衛星による地球観測データを利用できるために」製作された. このデータセットは以下に挙げる特徴をもつ.

2.2 データの仕様

本節では, 利用したデータセットの仕様について説明する. まずデータセットに含まれる変数および観測範囲, 格子情報について説明する. データは全球域とアジア域に分かれるが, 今回利用したのは全球域のデータである.

TRMM/PR 全球域:

次にデータセットのデータ形式について説明する. 2.1節で説明したように, 格納されるデータの形式はバイナリデータである. ここではバイナリデータ内部の構造についてまとめる. バイナリデータはヘッド部とデータ部に大別される. ヘッダ部にはFortranの文字配列が書式無し形式で格納されている.

 

図2.1: データ内部の構造の模式図. 左端がファイルの先頭である.
データを格納するファイル自身の構造は単純である. バイナリデータから数値を取り出すには付属するF77で書かれたサンプルプログラムを参考にプログラムを書く. その出力の一部を図2.2に, データセット付属のサンプルプログラムを図2.3に掲載する. 出力はバイナリ内のデータをASCII形式に変換するように書かれている.

 
TRMM/PR/Global                                                               
algorithm:NASA TRMM/PR 3A25                                               
create:NASDA                                                             
time:2000/1                                                             
Lat:38S--38N
Lon:0E--180--0.5W                                                     
grid:720x153; (1,1)=(0E,38S)
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 210411716 2 0 0 0 0 1 0 0 0 0 0 0 0 0 114 036232333341841201121 1 4 5 5 2 1 3 0 0 0 
0 0 411 4 714 1 3 0 3 0 8 0 0 0 0 0 0 0 3 7 6 41112 61319 8 84316 4 0 6 81231 2 2 0 0 0
0 0 111 411 6 0 7 0 0 0 0 0 0 0 0 0 0 4 51413 911 6 627 2 8122231 8 3 125 211 0 0 0 0 4 
0 0 022 9 0 0 1 6 210 0 4 7 0 0 0 0 0 9 617 61123 1 916 951 7121114 5 1 1 5 3 2 0 0 0 0
0 0 0 0 2 0 0 0 3 1 0 0 110 0 016 0 1 9 2 2 213 828 820 3 9 22010 2 111 3 1 5 8 0 0 0 0
0 0 1 0 1 0 0 0 0 3 0 0 0 0 0 0 0 0 0 6 0 513 217 0 4 3 3 7 222 410 1 0 2 0 1 0 0 0 0 0
0 0 0 1 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 1 0 3 6 014 2 1 3 3 11224 3 1 0 140 3 0 4 0 0 0 0  
0 0 0 0 0 0 0 0 0 0 0 0 0 0 017 0 3 0 8 1 5 0 8 1 2 2 236 33120 0 5 0 1 211 4 0 0 0 0 0
0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 3 0 0 0 316 5 1 42021 2 1 0 11010 5 0 0 0 0 0
3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 017 1 2 0 22520 211 3 2 0 033 312 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 4 2 1 5 1 1 512 212 5 4 114 3 2 2 1 8 138 0 0 0 0 0 
...
以下省略

図2.2: バイナリデータから数値を取り出しASCII形式で出力するF77のプログラム.

      program rd_gpr
      character*80 header(7)
      character*80 fname

      integer*2 pr(720,153)
      integer*2 pr_2(720,153)
      integer*2 pr_4(720,153)
      ...
      中略
      ...
c
      fname='gpr00100'
      open(80,file=fname,status='old',form='unformatted') 
      read(80) header
      read(80) pr
      read(80) pr_2
      read(80) pr_4
      ...
      中略
      ...
      write(*,*) header
      
      do j=153,1,-4
         write(*,'(200I2)') (pr(i,j)/10,i=1,720,12)
      end do
      

図2.3: 図2.2の出力を得るプログラム

2.3 データ形式の問題点

図2.3で示したデータの出力例から数値がどの格子における値であるか, 出力のみからは特定できないという点が挙げられる.

バイナリ形式のデータは, 情報がデータの格納されるファイルとは別離している. 「TRMM Rain Data Set」の場合, ファイルの先頭にファイル自身に関する情報が文字変数として格納されているものの, その情報を見るためには 利用者は2.3節で示したデータセット付属のサンプルプログラム, もしくはデータのマニュアル等からしか格納される変数の配置を知ることが出来ない. 各データのヘッダ部には文字配列の形で情報が記載されているものの, データ部に格納される変数自身には各々のもつ次元やデータの範囲などの情報は変数自身には与えられない. このようなデータ形式は非自己記述的と表現される.