[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[jmadata-users33] software to read GPV (and to convert into NetCDF)
- To: jmadata-users@xxxxxx
- Subject: [jmadata-users33] software to read GPV (and to convert into NetCDF)
- From: Takeshi Horinouchi <horinout@xxxxxx>
- Date: Thu, 18 Jul 2002 12:05:57 +0900
- Delivered-To: mailing list jmadata-users@xxxxxx
- Mailing-List: contact jmadata-users-help@xxxxxx; run by ezmlm
jmadata-usersの皆様:
MSM及びRSMのデータ(in「国内2進形式」)を読むためのソフトを作り
ました。気象庁の豊田さんにアドバイスを頂きましたので、記して感謝
致します。
Rubyという言語で書かれたライブラリーとなっており、そのアプリケー
ションとして、ファイルの内容表示や NetCDF 形式への変換を行うコマ
ンドがあります。まだまだ改善すべき点は多くありますが、現状でも一
応使用に耐えると思いますので、公開します。(改善のためのパッチを
歓迎します。)
必要なソフトは、
(1) Ruby 1.6.5 以降 (http://www.ruby-lang.org/ja/)
(2) NetCDF 3 (http://www.unidata.ucar.edu/packages/netcdf/)
(3) 本ソフトを含む幾つかのライブラリー
です。(1), (2) をまずインストールすれば、(3)は添付した seteup.rb
を適当な作業ディレクトリーで実行すればダウンロード&インストール
できます。(2)のNetCDFは大元の C 版だけがインストールできていれば
充分です。なお、(3) の中身は以下の通りです。最後の2つが今回作っ
たものです。
NArray http://www.ir.isas.ac.jp/~masa/ruby/dist/narray-0.5.6p2.tar.gz,
RubyNetCDF http://ruby.gfd-dennou.org/products/ruby-netcdf/ruby-netcdf-0.3.5.tar.gz,
MultiBitNums http://ruby.gfd-dennou.org/products/multibitnums/multibitnums-0.1.1.tar.gz,
gpv http://ruby.gfd-dennou.org/products/gpv/gpv-0.1.1.tar.gz
setup.rb (テキストファイル, Rubyプログラム) は UNIX を前提にして
います。実行は、
% ruby setup.rb
とするか、
% chmod +x setup.rb
% setup.rb
です。
---
堀之内 武 horinout@xxxxxx
京都大学宙空電波科学研究センター 611-0011 宇治市五ヶ庄
#!/usr/bin/env ruby
URL = {
'NArray'=> 'http://www.ir.isas.ac.jp/~masa/ruby/dist/narray-0.5.6p2.tar.gz',
'RubyNetCDF' => 'http://ruby.gfd-dennou.org/products/ruby-netcdf/ruby-netcdf-0.3.5.tar.gz',
'MultiBitNums' => 'http://ruby.gfd-dennou.org/products/multibitnums/multibitnums-0.1.1.tar.gz',
'gpv' => 'http://ruby.gfd-dennou.org/products/gpv/gpv-0.1.1.tar.gz'
}
TOP = {
'NArray' => 'narray-0.5.6p2',
'RubyNetCDF' => 'ruby-netcdf-0.3.5',
'MultiBitNums' => 'multibitnums-0.1.1',
'gpv' => 'gpv-0.1.1'
}
REQUIRE = {
'NArray' => 'narray',
'RubyNetCDF' => 'numru/netcdf',
'MultiBitNums' => 'numru/multibitnums',
'gpv' => 'numru/gpv'
}
INSTALL = {
'NArray' => "tar xvzf #{TOP['NArray']}.tar.gz && cd #{TOP['NArray']} && ruby extconf.rb && make && make site-install",
'RubyNetCDF' => "tar xvzf #{TOP['RubyNetCDF']}.tar.gz && cd #{TOP['RubyNetCDF']} && ruby extconf.rb && make && make site-install",
'MultiBitNums' => "tar xvzf #{TOP['MultiBitNums']}.tar.gz && cd #{TOP['MultiBitNums']} && ruby extconf.rb && make && make site-install",
'gpv' => "tar xvzf #{TOP['gpv']}.tar.gz && cd #{TOP['gpv']} && ruby install.rb"
}
URL.each_key do |soft|
begin
print "checking for #{soft}...\n"
require REQUIRE[soft]
print " --> found\n"
rescue
print " --> not found. ",
"Would you like to Download and install it? (y, n); \n"
ans = gets()
if ( ans =~ /^y/ )
print "downloading #{URL[soft]} with wget ...\n"
stat = system("wget #{URL[soft]}")
raise 'Could not download ' + URL[soft] if (!stat)
print "installing #{soft}...\n",INSTALL[soft],"\n"
stat = system(INSTALL[soft])
raise 'Installation failed: ' + soft if (!stat)
else
raise "You need to install it\n"
end
end
end