[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [jmadata-users22] ツール



皆様

名古屋大学の若月です

昨日のツールに関してです。

すいません。いきなり東西線形補間ルーチンでバグってました。
利用して頂いている方は、再度ダウンロードしてください。
http://www.rain.ihas.nagoya-u.ac.jp/~waka/tools/jmagpv-1.0.tar.gz


以下、防災科研の鈴木様のご質問にお答えします。

> GrADS で表示させると、
> http://sea3.ori.u-tokyo.ac.jp/~suzuki/test.gif
> のようになってしまいます。gsm のデータは極方向に
> グリッド数が変化することと関連しているのでしょうか。
> jmagpv.f の東西補完のパラメータ intp は 0, 1, 2 で
> 試してみたのですが……。
> GrADS 側でなにか設定が必要でしょうか。

GrADS 側での設定は特に必要ないと思います。
上記の画像を拝見させてもらいましたが、私のプログラムでは、intp=0 としたときの出力だと
思います(そうでないならバグってます)。昨日、高知大学の菊地先生が指摘されていた通り、
高緯度で格子点数が少ない(マニュアルでいうところの準規則格子系)データになっていました。
intp=0での出力は、東西方向に規定の格子点数(緯度に依存し、菊池先生のメールの中にその数
が示されていた)だけ並べ、残りをundefとしただけの出力です。実際は、それぞれの緯度での格
子点数を等間隔に配置したものと解釈して、東西方向の補間のスイッチをいれました。また、
GSMデータは8領域に分割してありますが、それぞれ73×73の格子点数があるべき(←実際には
ないけど)データですので、合成すると重複部分(同じ値)ができます。上記の画像においても
その重複は取り除いています。


> あと、system.h でレコード長の扱い方を設定しますが、
>       subroutine dwrite ( irec,output,nsysrec,nx,ny,f )
> の中で
>      +     open ( 20,file=output,access='direct',recl=nx*4/nsysrec,
>      +     form='unformatted',status='unknown' )
> と出力ファイルを開いているので、system.h の
> .........
> という記述は逆ではないでしょうか?
> 勘違いしていたらすいません。

レコード単位という書き方ではなく、directアクセスにおけるレコード長1単位のバイト数と
書いた方がよいのかもしれません。そのへんの言葉の問題は、私の方に問題があるかもしれま
せん(そんなに専門ではないので)。いずれにしても、逆ではありません。
recl=N と書いた時、計算機がNバイトと解釈するのであれば "1" 、N×4バイトと解釈するの
であれば "4" を指定すればよいと思います。ほとんどの計算機は、"1"でよいと思います。
ちなみに私の使っている計算機はDEC-alphaなので"4"ですが...。

以上です。

私の解釈も間違いがあるかと思います。お気づきの際は、ご指摘していただけると幸いです。
どうぞよろしくお願いいたします。

 ------------------------------------------      ~~~
 若月泰孝     waka@xxxxxx       (( )
 〒464-8601   名古屋市千種区不老町          ( ( ) )
    名古屋大学 地球水循環研究センター     (( ) )  )
 Tel: 052-789-3493    FAX: 052-789-3436   (( ) ( ) )
 URL: http://www.rain.ihas.nagoya-u.ac.jp/~waka/
 ---------------------------------------------------------