使われているサブルーチンの説明 (gtool_historyauto; dc_date 使用版)

例題のプログラム において gtool_historyauto モジュールの各サブルーチンが行っていることを大まかに説明します. より詳しい説明は リファレンスマニュアル: gtool_historyauto を参照してください.

use gtool_historyauto
モジュールの使用を宣言します. Fortran 90/95 メインプログラムの先頭にいれましょう.
call HistoryAutoCreate(title, source, institution, dims, dimsize, longnames, unit, origin, interval, terminus)
gtool4 データ出力の初期設定を行います. 各引数の意味は次のとおりです.
  • file は出力するファイルの名前を指定します.
  • title, source, institution は生成する gtool4 データについての一般的な情報を書き込みます title はデータ全体の表題, source はデータを作成する際の手段を書いておき ます. モデル計算の出力ならばモデルの名前を書けばよいでしょう. institution はファイルを最終的に変更した人あるいは 組織などを示す項目です.
  • dims, dimsizes, longnames, units は次元に関する情報を指定しています. サンプルプログラムでは複数の次元を設定していますので, それぞれの項目を 配列として与えています.
    • dims は次元の名前を定義します. gtool_historyauto ではこの名前を用いて次元を参照あるいは指定したりするこ とになります.
    • dimsizes はそれぞれの次元の大きさを指定しています. 0 は延長可能な次元であることを意味します. 時間積分計算の場合には, 時間の次元をこのような変数に指定すればよいでしょう.
    • longnames は長い名前を指定します. 描画の際に軸のタイトルとして用いられることになります.
    • units は各次元の単位です. 無次元の場合には '1' を単位として指定してください.
  • origin, interval, terminus は出力するデータの時間設定に関連する項目です. 変数の型は DC_DIFFTIME を用いてください. DC_DIFFTIME 型変数の使用法については 日時および時刻の操作 を参照してください.

    • origin は時間の原点であり, HistoryAutoPut により変数を最初に出力するときの時間を指定します.
    • interval は出力時間間隔を示しています. 同じ変数に対して HistoryAutoPut を再度呼んだときに, この間隔に応じて 自動的に内部で出力の可否を判定します.
    • terminus は出力の終了時刻を設定します.

    ただし, これらはデフォルト値として利用されるもので, NAMELIST から IntValue, OriginValue, TerminusValue 等の値を与えた場合にはそちらが優先されます.

call HistoryAutoPutAxis(dim, array)
gtool4 データの座標軸データを設定します. ここに与えられた座標軸データは, gtool_historyauto を用いて出力する全てのファイルに出力されます.
  • dim には座標の名称を指定します. これは HistoryAutoCreatedims に与えられたもののどれかでなければいけません.
  • array には座標軸データを与えます.
call HistoryAutoAddVariable(varname, dims, longname, units, [xtype])
出力する変数を定義します. 各引数の意味は次のとおりです.
  • varname は変数の名前を指定します. 以下, gtool_historyauto ではこの名前を用いて変数を参照あるいは指定したりする ことになります.
  • dims は変数の次元を次元名の配列で指定します. dims=('x','t') では 2 次元配列であり, 1 次元目が 'x', 2 次元目が 't' で あることを表しています.
  • longname は長い方の名前です. 描画の際にタイトルとして用いられることになります.
  • units は変数の単位を表します. 無次元の場合には '1' を指定しましょう.
  • xtype は変数の型を表します. 指定可能な型については リファレンスマニュアル を参照してください. xtype='double' は倍精度変数であることを表しています.
call HistoryAutoPut(time, varname, array)
定義した変数を出力します.
  • time にはモデル内の現在時刻を与えてください. 変数の型は DC_DIFFTIME を用いてください. DC_DIFFTIME 型変数の使用法については 日時および時刻の操作 を参照してください.
  • varname は出力する変数名です. あらかじめ HistoryAutoAddVariable で定義されている必要があります.
  • array は出力する値が格納されている配列です.
call HistoryAutoClose
終了処理を行います. プログラムの最後にいれましょう.

$Id: gtauto_desc.rd,v 1.4 2009-10-19 11:56:10 morikawa Exp $