コンピュータさんとの共同生活

コンピュータさんに手伝ってもらってシミュレーションを行っていきます♪

時系列に図を並べる(1)

さて、また、気象庁の粗いGPVデータにもどります。
このデータ、まだ、たくさん表示しないままになってますよね?

1枚ずつ、表示させてみても、先の図を保存していないと、
良く分からなくなってしまいます。

で、1つの図にまとめてしまおうと。
それが、今回の趣旨です^^

下の方にあるプログラムを"kosui_grads.c"というファイル名
で保存してください。その後、cygwinで、以下のように
コンパイル(実行ファイルを作成)します。
# とても、人様にみせれるようなものでは無いのですけど(^^;

gcc kosui_grads.c -o kosui_grads

では、正しく動作するか、確認します。

./kosui_grads.exe 12 0

すると、以下のように表示されるはずです^^

open hecc88.ctl
open hpcc89.ctl
set lat 25 50
set lon 120 150
enable print tmo
set gxout shaded
set clevs 0.5 5 10 20 30 50 80 120 200
set ccols 15 5 4 3 7 8 6 2 9
set csmooth on
d apcpsfc.1
set gxout contour
set cint 2
d prmslmsl.2/100
set clevs 1 2 3 4 5 10 20 30 50 80 120 200
set ccols 4 7 8 2 5 4 3 7 8 6 2 9
d apcpsfc.1
print
disable print
quit

では、長くなってきたので、次回に続きます。
#include

int main(int argc, char *argv[])
{
int i,sw,gsm;

sw = atoi(argv[1]);
gsm= atoi(argv[2]); // GSM Switch ON=1 OFF=0

if(gsm==0){
if(sw==12){ printf("open hecc88.ctl\n"); printf("open hpcc89.ctl\n"); }
if(sw==24){ printf("open hecc88.ctl\n"); printf("open hece88.ctl\n"); printf("open hpce89.ctl\n"); }
if(sw==36){ printf("open hece88.ctl\n"); printf("open hecg88.ctl\n"); printf("open hpcg89.ctl\n"); }
if(sw==48){ printf("open hecg88.ctl\n"); printf("open heci88.ctl\n"); printf("open hpci89.ctl\n"); }
if(sw==60){ printf("open heci88.ctl\n"); printf("open hecj88.ctl\n"); printf("open hpcj89.ctl\n"); }
if(sw==72){ printf("open hecj88.ctl\n"); printf("open heck88.ctl\n"); printf("open hpck89.ctl\n"); }

if(sw==18){ printf("open hecb88.ctl\n"); printf("open hecd88.ctl\n"); printf("open hpcd89.ctl\n"); }
if(sw==30){ printf("open hecd88.ctl\n"); printf("open hecf88.ctl\n"); printf("open hpcf89.ctl\n"); }
if(sw==42){ printf("open hecf88.ctl\n"); printf("open hech88.ctl\n"); printf("open hpch89.ctl\n"); }
if(sw==54){ printf("open hech88.ctl\n"); printf("open hecy88.ctl\n"); printf("open hpcy89.ctl\n"); }
if(sw==66){ printf("open hecy88.ctl\n"); printf("open hecz88.ctl\n"); printf("open hpcz89.ctl\n"); }
}
else{
if(sw== 24){ printf("open hexe88.ctl\n"); printf("open hpxe89.ctl\n"); }
if(sw== 48){ printf("open hexe88.ctl\n"); printf("open hexi88.ctl\n"); printf("open hpxi89.ctl\n"); }
if(sw== 72){ printf("open hexi88.ctl\n"); printf("open hexk88.ctl\n"); printf("open hpxk89.ctl\n"); }
if(sw== 96){ printf("open hexk88.ctl\n"); printf("open hexm88.ctl\n"); printf("open hpxm89.ctl\n"); }
if(sw==120){ printf("open hexm88.ctl\n"); printf("open hexo88.ctl\n"); printf("open hpxo89.ctl\n"); }
}

printf("set lat 25 50\n");
printf("set lon 120 150\n");
printf("enable print tmo\n");
printf("set gxout shaded\n");
printf("set clevs 0.5 5 10 20 30 50 80 120 200\n");
// 0 0.1 1 5 10 20 30 50 80 120 200
printf("set ccols 15 5 4 3 7 8 6 2 9\n");
// gray cyan med.blue blue green yellow orange magenta red purple
printf("set csmooth on\n");
if(gsm==0){
if( sw==12 ) printf("d apcpsfc.1\n");
else printf("d apcpsfc.2-apcpsfc.1\n");
}
else{
if( sw==24 ) printf("d apcpsfc.1\n");
else printf("d apcpsfc.2-apcpsfc.1\n");
}

printf("set gxout contour\n");
printf("set cint 2\n");
if(gsm==0){
if( sw==12 ) printf("d prmslmsl.2/100\n");
else printf("d prmslmsl.3/100\n");
}
else{
if( sw==24 ) printf("d prmslmsl.2/100\n");
else printf("d prmslmsl.3/100\n");
}

printf("set clevs 1 2 3 4 5 10 20 30 50 80 120 200\n");
// 0 0.1 1 5 10 20 30 50 80 120 200
printf("set ccols 4 7 8 2 5 4 3 7 8 6 2 9\n");
// gray cyan med.blue blue green yellow orange magenta red purple
if(gsm==0){
if( sw==12 ) printf("d apcpsfc.1\n");
else printf("d apcpsfc.2-apcpsfc.1\n");
}
else{
if( sw==24 ) printf("d apcpsfc.1\n");
else printf("d apcpsfc.2-apcpsfc.1\n");
}

printf("print\n");
printf("disable print\n");
printf("quit\n");

return 0;
}
[ 2008/01/30 06:00 ] GrADS | TB(0) | CM(0)
コメントの投稿












管理者にだけ表示を許可する
トラックバック
この記事のトラックバックURL

プロフィール

貴樹

Author:貴樹

最近、SolidWorksという便利なCAEツールが広がっています。 天気予報も数値予報が重要ですよね(^^)ok
コンピュータを利用したシミュレーション技術が重要になってきているのですが、理解するためのキホンを知るために、この場をお借りしたいと思ってます。
久しぶりに、CAEのキホンである有限要素法でプログラム作成してみようかなぁ(・・)