**
**
データファイル名、インデックスファイル名(gribの場合)、ファイルの種類(gribの場合)が必要。
- データファイル名のパス
dset ^test.bin 相対パスの場合 dset /home/hoge/test.bin 絶対パスの場合
x方向もしくは経度方向の次元の設定。等間隔で格子情報が格納されている場合はlinearで特定の値で指定するときはlevelsで記述する。
xdef 格子点数 linear 開始緯度 格子間隔 xdef 格子点数 levels level1 level2 ...例
xdef 144 linear 0.000000 2.500000 <---東経0度から2.5度間隔で144格子 xdef 12 levels 0 30 60 90 120 150 180 210 240 270 300 330 <---指定した経度で12点
変数名(GrADSの描画での変数名)とその鉛直レベルを記述する。ユニットの情報はgrib形式を読む際に必要なのでgrib2ctlやg2ctlで作るほうがいい。自分で書く場合は各種ドキュメントを参照。バイナリ形式なら意味はないので適当な値(99など)にしておく。地表気圧など鉛直レベルがない変数の鉛直レベルは0にする。変数は格納されている順に記述していく。
vars 変数の種類数 変数1 鉛直レベル ユニット 変数1の説明 変数2 鉛直レベル ユニット 変数2の説明 変数2 鉛直レベル ユニット 変数2の説明 … endvars例
vars 2 uwnd 17 99 ** zonal wind vwnd 17 99 ** meridional wind sfcpres 0 99 ** surface pressure endvars
ctlファイルのオプションにtemplateオプションを付け加えれば複数のデータファイルを1つのctlファイル、idxファイルで扱える。データセットを年月日や時間の分かる名前にする。例えば2010年8月のデータなら"pgb.201008"、1993年7月21日のデータなら"21jul93.dat"などとする。ctlファイルのdsetの項目で年月日や時間の部分を以下のような変数に変えてかく。詳細は GrADS本家のページを参照。
ファイル名が"pgb.201008"、"pgb.201007"であれば"pgb.%y4%m2"となり、"21jul93.dat"、"25aug94.dat"等であれば "%d2%mc%y2.dat"となる。時系列情報tdefの初期値、時間間隔をデータセットに合わせて書けばOK。
例:1979-2010年の月平均データをまとめて読む
%y4 | 4桁の年 |
---|---|
%m2 | 2桁の月 |
%mc | 3文字の月 |
%d2 | 2桁の日付 |
例:1979-2010年の月平均データをまとめて読む
dset ^pgb.anl.%y4%m2.avrg.grib index ^pgb.anl.avrg.grib.idx *---ここは適当に決めてgribmapすればよい。 … options yrev template … tdef 384 linear jan1979 1mo *---1ヵ月ごとに1979年1月から12*32=384個のデータ
例えば6,7月の連続したデータが数年分ある場合、上記の方法だと使わないデータまで用意しなければならず無駄が多い。またプログラムでの処理においても月毎に分けるのは都合が悪い。
この場合は少し変則的だがアンサンブルの次元を使う。すなわち時系列(例えば6月15日-9月15日)は同じデータが年毎に分かれているときは以下のようにctlファイルをつくればいい。
この場合は少し変則的だがアンサンブルの次元を使う。すなわち時系列(例えば6月15日-9月15日)は同じデータが年毎に分かれているときは以下のようにctlファイルをつくればいい。
dset ^hgt500.%e.bin options template undef 9.9999e+20 title NCEP/NCAR Reanalysis daily pressure xdef 49 linear 80.0 2.5 ydef 29 linear 0.0 2.5 zdef 1 levels 500 tdef 92 linear 15jun1974 1dy edef 10 names 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 vars 1 hgt 1 0 ** geopotential height endvars描画するときは
ga-> set ens 2001 ga-> set time 01jul1974で2001/7/1を指定できるし、年平均はアンサンブル平均を使って、
ga-> d ave(hgt, e=1, e=10)とすればcalender dayにおける10年気候値を作成できる。
最新コメント