FC2ブログ
HOME   »  お絵書き
RSSフィード iGoogleに追加 MyYahooに追加
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
GMTで時系列データ、たとえば、

2000-01-20 435.44
2000-01-21 453.11
・・・

といったようなデータの時系列棒グラフを描くときにはちょっとした設定の変更をしなければならない。
↑の例だと、年-月-日という時系列データとなっているので、

gmtset INPUT_DATE_FORMAT yyyy-mm-dd


と宣言しておく必要がある。
出力するグラフの横軸を月だけにしたいときには、

gmtset PLOT_DATE_FORMAT mm


としておくとよい。
あと、Rのオプションも変える。
通常、

psxy input.dat -R0/100/0/550 -Sb0.5 -Ba50 > out.ps

と棒グラフを描くけど、
時系列データの場合、x軸を時系列にする場合、


psxy input.dat -R2009-01-20T/2009-12-31T/0/550 -JX24T/16 -Sb0.5 -Ba1o/a50 > out.ps

という風にxminT/xmaxTという形式でを入れる必要がある。
他にも、Jオプションに着目すると、サイズの後にTをつけたり、Bオプションで格子幅の設定を決める時には、1か月区切りの場合、1oとし、1日区切りの場合1dにする。
この辺は他のHPを参照すればいっぱい出てくる。
スポンサーサイト
※事前にnetcdfのバージョン3.6.0以後のものをインストールしておく必要があります。
netcdfインストールはこちら

今回のインストール環境
OS:linux_Vine5
netcdfバージョン:4.0.1
Cコンパイラ:gcc
インストール先:/usr/local
GMTバージョン:4.5.6


①install_gmt.shのダウンロード
最初にGMTのホームページへ行って、左サイドメニューの「MIRROR」→SHIMIZU_JAPANの黄色い丸をクリックしてftpサイトへ。
install_gmt.shをダウンロードしましょう。
その後、install_gmt.shの最初の方を編集します。
NETCDF_VERSION=□□□
VERSION=△△△

の□□□にnetcdfのバージョン、△△△にGMTのバージョンをそれぞれ書き直します。
今回は、
□□□=4.0.1
△△△=4.5.6
としましょう。

②intall_gmt.shの実行&GMTのインストール
では実行しましょう。
suになって行います。
まずは実行権限を与えます。
# chmod +x install_gmt.sh
で、実行。
# ./install_gmt.sh
すると、いろいろ質問されますので答えて行きます。
ほとんどはデフォルトでokです。
最初の方は以下を変更。

Enter directory with netcdf lib and include [/usr/local/netcdf-4.0.1]: /usr/local
Use experimental GDAL grid input in GMT (y/n) [y]: n

もしインストールするのに必要なファイルを持っていれば
Get any of the GMT version 4.5.6 archives via ftp? (y/n) [y]: n
で大丈夫です。


↓のようなディレクトリ関連の質問はすべてデフォルトでokです。
Directory for GMT executables? [/usr/local/GMT4.5.6/bin]:
もちろん変えたければどうぞw

Cコンパイラの質問はnetcdfをコンパイルしたコンパイラーと同じものを選びましょう。
私はgccだったので、
Enter name of C compiler (include path if not in search path): gcc
と入力。


その後に出てくる
Install any of the supplemental programs? (y/n/a(ll))? [a]:
には y を入力。
そして、
Install the ○○○ supplemental package? (y/n)? [y]:
という質問が続きますが、基本デフォルトの
○○○=mex、xgrid
のときだけ n を入力しましょう。

最後に、
Enter name of the parameter file that will now be created [GMTparam.txt]:
をデフォルトのままにして、インストールが始まります。
このままエラーが出なければ、

GMT installation complete. Remember to set these:

-----------------------------------------------------------------------
For csh or tcsh users:
setenv NETCDFHOME /usr/local
set path=(/usr/local/GMT4.5.6/bin $path)

For sh or bash users:
export NETCDFHOME=/usr/local
export PATH=/usr/local/GMT4.5.6/bin:$PATH

Note: if you installed netCDF as a shared library you may have to add
the path to this library to LD_LIBRARY_PATH or place the library in a
standard system path [see information on shared library for your OS].

For all users:
Add /usr/local/GMT4.5.6/man to MANPATH
Add /usr/local/GMT4.5.6/share/html/gmt_services.html as browser bookmark
-----------------------------------------------------------------------



という画面が出てきます。
これにて無事終了。


最後に.bashrcへ
### GMT 4.5.6
export NETCDFHOME=/usr/local
export PATH=/usr/local/GMT4.5.6/bin:$PATH

を書き加えてやれば終わりです。

※bashでなく、cshを使っている方は
setenv NETCDFHOME /usr/local
set path=(/usr/local/GMT4.5.6/bin $path)

で良いそうです。

よし、図を書こうと思ったら、アウトです!!
$ source .bashrc
を忘れずにw
ためしに、GMTのコマンドを入力すれば、
$ pscoast

pscoast 4.5.6 - Plot continents, shorelines, rivers, and borders on maps

usage: pscoast -B
…(中略)…
(See gmtdefaults man page for hidden GMT default parameters)


といったように表示されます。
なにもオプションをつけてないから当然エラー表示です。
あまりにも長いので中略してますw
(実際には200行もあります)

これにて無事にGMTが使えることが確認できましたね^^
お絵かきツールGMTをインストールするためにはnetcdfを最初にインストールしておく必要があります。
今回のインストール環境
OS:linux_Vine5
netcdfバージョン:4.0.1
Cコンパイラ:gcc
fortranコンパイラ:g95
インストール先:/usr/local

まずnetcdfを
http://www.unidata.ucar.edu/downloads/netcdf/ftp/netcdf-4.0.1.tar.gz
からソースコードをダウンロードします。
その後、解凍します。
解凍したファイルを/usr/localへ移動させます。
このときsuになりましょう。
あっ、もちろんconfigureさせるときに、
--prefix=/usr/localを指定すると、
インストール先のディレクトリを指定できますので移動させなくてもいいですw
好きにやってください。
# cd /usr/local

移動させたファイルへ入ります。
# cd netcdf-4.0.1

configureの前にコンパイラーの設定を行いましょう。
上記の場合、順に
# FC=g95 ; export FC
# CC=gcc ; export CC
# CPPFLAGS=-Df2cFortran ; export GPPFLAGS

とすればokです。

あとは
# ./configure
# make check
# make install

で完了です。
端末にいくつかのtestを経て、無事にインストールされた旨のメッセージが出ます。
これにて終了。


参考にさせていただいたサイト
GSMやMSMといったGPVデータをお絵かきしていますが、
最近のgrib2ファイルはg2ctl.plとgribmapの組み合わせを使えば容易にできます。
しかし、2007年以前のGSMのgribファイルを見ようとして、
gribファイル用のgrib2ctl.plを使ったとしても、エラーがでてctlファイルが作れない。
どうやら格子間隔や極域が邪魔をしてうまく出力されないみたい・・・

じゃあお絵描きは無理なのか?
色々調べた結果、GPVデータの読み込みツール「 jmagpv 」というものがあることが分かった。
「jmagpv」でググるとダウンロードページにいけるだろう。
私はifortにbig_endianのオプションをつけてインストール(コンパイル)出来た。

また、GPVデータをGMTを使ってお絵描きするツールもある。
「gpv gmt」でググってみるといいです。
これはwindowsでも使えて、非常に扱いやすいかも。
出力もテキストですし。
linuxではwineと併用すれば使えます。

無事GPVデータを読んで、お絵描きするシェルを作ることが出来た。
とりあえず一安心です

・紫を抜いたコンターの描き方
color (下限値) (上限値) (コンター間隔) -kind white->blue->green->yellow->red

・コンターの色と間隔の表示
cbarn

・図の上にタイトルを書く
set title (タイトル)

CALENDaR 12345678910111213141516171819202122232425262728293031
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。