[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[dennou-ruby:002421] Re: Global attribute
- To: dennou-ruby@xxxxxxxxxxx
- Subject: [dennou-ruby:002421] Re: Global attribute
- From: Takeshi Horinouchi <horinout@xxxxxxxxxxxxxxxxxx>
- Date: Tue, 23 Aug 2005 09:51:10 +0900
- Cc: horinout@xxxxxxxxxxxxxxxxxx
竹広さん
堀之内です。
> 竹広です.
>
> 以前 Global attribute の扱いを質問しまして, それに沿って
> 以下のようなコード(抜粋)をかいて gp* コマンドに
> とりいれてみました.
gp* コマンドに共通するものは別のファイルにくくりだして
require するのがいいと思います。保守すべきところが
一箇所にかたまりますので。特に今回については、私が
枠をまだ整備してないための対応法ですから、将来の
書き換えが予想されますし。今のうちにくくりだしの
作業をして、各コマンドのソースは出来るだけそれぞれ
に固有なことだけをするよう軽くしたほうがいいのでは?
> 入力ファイルが NetCDF でない場合にも対処したつもりなんですが
> いかがなものでしょうか.
>
> それから入力が複数ファイルの場合には gphys.data.file の返り値が
> NetCDF Class でなくファイル名の配列になってしまうので,
> おなじ方法がとれません. その場合には別途一つのファイルを開いて
> Global attribute を読み取るぐらいでいいのでしょうか.
> もっと洒落た方法があったら教えて下さい.
ファイル「名」の配列を返すのは一貫性にかけますね。
ファイルオブジェクトを返すように変えたほうがいいと思います
→ 今後検討します。
> Takepiro(竹広真一)@数理解析研究所. 京都大学
> E-mail:takepiro@xxxxxxxxxxxxxx
> takepiro@xxxxxxxxxxxxxxxxxxxx
>
> ======================================================================
> gphys = GPhys::IO.open_gturl(gturl) # 入力
>
> outncfile=NetCDF.create(outfilename) # 出力
>
> # Copy global attributes (only for NetCDF file)
> ncfile = gphys.data.file
> if /NetCDF/ =~ ncfile.class.to_s
> ncfile.each_att{|att|
> att.copy(outncfile)
> }
> end
>
> ...
>
> GPhys::IO.write( outncfile, gphys )
> NetCDF_Conventions.add_history(outncfile, command) # Exec command written as a history
>
> outncfile.close
> ======================================================================
>
--
堀之内 武 horinout@xxxxxxxxxxxxxxxxxx
京都大学生存圏研究所 phone:0774-38-3812
611-0011 宇治市五ヶ庄 fax:0774-31-8463