next up previous contents
Next: ヒストグラムの操作 Up: ヒストグラムを表示する Previous: ヒストグラムのハードコピー

aヒストグラムを保存する・読みだす

作られたヒストグラムを保存したり読みだしたりする方法を見てみましょう。 そのためにまずヒストグラムがどのようにファイルに書かれるかを説明します。 ヒストグラムは単純な配列ではありません。配列の寸法や軸の情報、エラーや 溢れなど副次的に多くの情報が保管されなければなりません。そのため、 CERNLIBではZEBRAというメモリー管理の機構が導入されています。いわば構造 のないFORTRANのコモンブロックを構造体のように使うための苦労の作です。 このZEBRAの内容をファイルに保存する、ファイルから読みだす方法も当然用 意されています。ディスク上にZEBRAのデータを落とすフォーマットをRZと呼 びます。ヒストグラムの入出力はこのRZの機能を使います。

これまでに見てきたヒストグラムはメモリー上に置かれますが、実際にはファ イルに書かれたヒストグラムを参照することの方が普通です。メモリーは次に 述べるヒストグラムの操作や演算のための作業場所として使われているのです。 そしてPAWの中ではそれぞれに名前を付けて参照します。そしてそれらはディ レクトリートゥリーで関係付けられます。一番上のディレクトリー、UNIXで/ にあたるのが//です。メモリーは//PAWCという名前で参照されます。ではファ イルはどうなっているのでしょうか。ヒストグラムファイルはFORT RANのLUN 論理機器番号で参照されるファイルとして開かれます。HISTOGRAM/FILEコマン ドが使われます。次の例を見てください。

        PAW > HI/FILE 1 test.hist ! N

ファイルをLUNの1に割り当てて開きます。ファイル名はtest.histです。次の! はKUIPの文法にしたがって指定したくないパラメータをスキップしています。 この位置にはLRECL論理レコード長が指定されるのですがデフォルトを使うよ うに!としました。次のNが指定したいものなのですが、新規に作るファイルを 意味します。これを指定しないとtest.histを探しに行って見つからないので エラーになります。この段階でCDIRとやってみます。コマンドZEBRA/RZ/CDIR です。

        PAW > CDIR

         Current Working Directory = //LUN1

現在//LUN1というディレクトリにいると言っています。そもそもどんなディレ クトリがあるのでしょうか

        PAW > LDIR //

         //PAWC            COMMON /PAWC/ in memory

         //LUN1            test.hist

LDIRはZEBRA/RZ/LDIRです。このように現在test.histを対象にしたディレクト リにいることが解かります。既存のヒストグラムをHI/FILEで開いた場合はこ の時点でヒストグラムは見える状態になっています。この例では新規ファイル なのでなにもありませんが。

これでもう入出力が可能です。といっても通常のいわゆるファイル入出力と はちょっと違います。PAWでのヒストグラム入出力は//PAWCとカレントディレ クトリ(//LUN1など)との間で行なわれることになります。ファイルに対応した ディレクトリにあるヒストグラムがそのファイルの内容ということになります。 //PAWCに作ったヒストグラムを保存したいときはですから//LUN1などにコピー しなければなりません。また操作を加えてやるためには//LUN1から//PAWCへコ ピーしてやる必要があるということです。入力はファイルからメモリーつまり //LUN1から//PAWCへHISTOGRAM/HIO/HRINコマンドで、出力はメモリーからファ イルつまり//PAWCから//LUN1へHISTOGRAM/HIO/HROUTコマンドで行なえます。 今の場合まだファイルにはヒストグラムがありません。書き出しましょう。

        PAW > HROUT 1001

出力が出来たかどうかLDIRで見ることが出来ます。

        PAW > ldir







         ************** Directory ===> //LUN1 <===



                          Created 951130/1745  Modified 951130/2156





         ===> List of objects 

             HBOOK-ID  VARIABLE                             CYCLE    DATE/TIME   NDATA 


               1001         0                                   1   951130/2156     60 




          Number of records =    3  Number of megawords =  0 +  2108 words

          Per cent of directory quota used =   0.009

          Per cent of file used            =   0.009

          Blocking factor                  =   1.953

ファイルにはサブディレクトリを作ることも出来ます。MDIRで作ります。 CDIRでディレクトリの間を移動できます。

このようにPAWでの操作というのはファイルをいくつか開いてヒストグラム を読み込み、//PAWCを使って作業し、結果をファイルに書き出すということの 繰り返しになります。必要なくなったファイルはCLOSEします。正確には FORTRAN/CLOSEです。

        PAW > CLOSE 1



next up previous contents
Next: ヒストグラムの操作 Up: ヒストグラムを表示する Previous: ヒストグラムのハードコピー



Kinya Hibino
Sun Jan 14 21:50:32 JST 1996