入出力ファイルのデフォルトの位置と名前をオーバーライドする場合は、 ソース・コードに変更を加えずに次の方法を使うことができます。
通常なら 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
注:
すべてのスクラッチ・ファイルを特定のディレクトリーへ入れるには、TMPDIR 環境変数にその ディレクトリーの名前を設定します。 そのようにした場合、プログラムはそのディレクトリーに入っているスクラッチ・ファイルをオープンします。 これは、/tmp ディレクトリーがスクラッチ・ファイルを入れるには小さすぎる場合などに行う必要が あります。
スクラッチ・ファイルに特定の名前を指定するには、以下のことを行ってください。
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
注: