XL Fortran for AIX V8.1.1

ユーザーズ・ガイド


I/O ファイルの位置と名前の選択

I/O ファイルのデフォルトの位置と名前をオーバーライドする場合は、ソース・コードに変更を加えずに次の方法を使うことができます。

明示的な名前に接続されていないファイルの命名

通常なら fort.unit という形式の名前が付くファイルへ特定の名前を指定するには、まず実行時オプションの unit_vars を設定し、次に、個々のスクラッチ・ファイルごとに XLFUNIT_unit という形式の名前が付いた環境変数を設定する必要があります。

Fortran プログラム内の装置番号と、ファイル・システム内のパス名とが関連付けられます。

たとえば、Fortran プログラムに次のステートメントが入っているとします。

      OPEN (UNIT=1, FORM='FORMATTED', ACCESS='SEQUENTIAL', RECL=1024)
      ...
      OPEN (UNIT=12, FORM='UNFORMATTED', ACCESS='DIRECT', RECL=131072)
      ...
      OPEN (UNIT=123, FORM='UNFORMATTED', ACCESS='SEQUENTIAL', RECL=997)

XLFRTEOPTS="unit_vars=yes"     # Allow overriding default names.
XLFUNIT_1="/tmp/molecules.dat" # Use this named file.
XLFUNIT_12="../data/scratch"   # Relative to current directory.
XLFUNIT_123="/home/user/data"  # Somewhere besides /tmp.
export XLFRTEOPTS XLFUNIT_1 XLFUNIT_12 XLFUNIT_123

注:

  1. XLFUNIT_number 変数名は大文字でなければならず、 number に先行ゼロが付いていてはなりません。
  2. unit_vars=yes は、他に設定した実行時オプションによっては、 XLFRTEOPTS 変数の値の一部にすぎない場合もあります。 XLFRTEOPTS 値の一部になり得る他のオプションについては、 実行時オプションの設定を参照してください。
  3. unit_vars 実行時オプションが no に設定されているか、未定義である場合、あるいは、プログラムの実行時に適当な XLFUNIT_number 変数が設定されていない場合、プログラムはファイルにデフォルトの名前 (fort.unit ) を使用し、ファイルを現行ディレクトリーに入れます。

スクラッチ・ファイルの命名

すべてのスクラッチ・ファイルを特定のディレクトリーへ入れるには、 TMPDIR 環境変数にそのディレクトリーの名前を設定します。そのようにした場合、プログラムはそのディレクトリーに入っているスクラッチ・ファイルをオープンします。これは、/tmp ディレクトリーがスクラッチ・ファイルを入れるには小さすぎる場合などに行う必要があります。

スクラッチ・ファイルに特定の名前を指定するには、以下のことを行ってください。

  1. 実行オプションの scratch_vars を設定します。
  2. 個々のスクラッチ・ファイルごとに XLFSCRATCH_unit という形式の名前が付いた環境変数を設定します。

Fortran プログラム内の装置番号と、ファイル・システム内のパス名とが関連付けられます。その場合、スクラッチ・ファイルの位置は TMPDIR 変数の影響を受けません。

たとえば、Fortran プログラムに次のステートメントが入っているとします。

      OPEN (UNIT=1, STATUS='SCRATCH', &
            FORM='FORMATTED', ACCESS='SEQUENTIAL', RECL=1024)
      ...
      OPEN (UNIT=12, STATUS='SCRATCH', &
            FORM='UNFORMATTED', ACCESS='DIRECT', RECL=131072)
      ...
      OPEN (UNIT=123, STATUS='SCRATCH', &
            FORM='UNFORMATTED', ACCESS='SEQUENTIAL', RECL=997)

XLFRTEOPTS="scratch_vars=yes"     # Turn on scratch file naming.
XLFSCRATCH_1="/tmp/molecules.dat" # Use this named file.
XLFSCRATCH_12="../data/scratch"   # Relative to current directory.
XLFSCRATCH_123="/home/user/data"  # Somewhere besides /tmp.
export XLFRTEOPTS XLFSCRATCH_1 XLFSCRATCH_12 XLFSCRATCH_123

注:

  1. XLFSCRATCH_number 変数名は大文字でなければならず、 number に先行ゼロが付いている必要があります。
  2. scratch_vars=yes は、他に設定した実行時オプションによっては、 XLFRTEOPTS 変数の値の一部にすぎない場合もあります。 XLFRTEOPTS 値の一部になり得る他のオプションについては、 実行時オプションの設定を参照してください。
  3. scratch_vars 実行時オプションが no に設定されているか、未定義である場合、あるいは、プログラムの実行時に適当な XLFSCRATCH_number 変数が設定されていない場合、プログラムはスクラッチ・ファイルに固有の名前を選択し、そのファイルを TMPDIR 変数で指定されたディレクトリーか、 TMPDIR 変数が指定されていない場合は /tmp ディレクトリーに入れます。


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]