知識の箱
主に気象を研究する上で得た知識と、WEBページ作成のために得た知識を記録しています。
wgrbでデータの切り出し
gribのコマンドを使って、grib形式のデータから特定のデータを抜き出す。
基本コマンドは、
> wgrib -i (元のgribファイル) -o (出力ファイル)
でできる。
◎出力するファイルのフォーマットを指定。[ ]にオプションを入れるこでフォーマットを指定できる。
> wgrib -i (元のgribファイル) [ ] -o (出力ファイル)
-grib :grib形式
-bin :バイナリ形式
-text :テキスト形式
-ieee :ieee形式
ヘッダーをつけない場合には、さらに-nhを付ける。
-bin -nh :ヘッダーなしのバイナリ形式
-text -nh :ヘッダーなしのテキスト形式
テキストでヘッダーをつけると、データの最初に格子数がが出力される。
たとえば、
144 73
1.11111
1.11112
1.11113
…
など。
*ヘッダーありとヘッダーなしで、バイナリ出力した時の読み出し方の違い(fortranサンプルプログラム)
!—————————————-
!ヘッダーなし
!—————————————-
program read_bin
implicit none
integer, parameter :: xgrid=144, ygrid=73
integer :: i, j
real(kind=4), dimension(xgrid,ygrid) :: data
open (unit=11, file=’test.bin’, form=’unformatted’, access=’direct’, recl=xgrid*ygrid*4)
read (unit=11,rec=1) data
do j = 1, ygrid
do i = 1, xgrid
write (6,*) data(i,j)
end do
end do
end program read_bin
!—————————————-
!—————————————-
!ヘッダーあり
!—————————————-
program read_bin
implicit none
integer, parameter :: xgrid=144, ygrid=73
integer :: i, j
real(kind=4), dimension(xgrid,ygrid) :: data
open (unit=11, file=’test.bin’, form=’unformatted’, access=’sequential’)
read (unit=11) data
do j = 1, ygrid
do i = 1, xgrid
write (6,*) data(i,j)
end do
end do
end program read_bin
!—————————————-