命名在英特尔编译器上编译的数据文件连续作业

问题描述 投票:0回答:1

有时我会同时提交多个作业,并且希望将所有数据文件单独写入(不要覆盖同一个文件)。 为此,我必须更改每次运行的数据文件的名称,并且我添加了几行代码,但我想知道是否有人对类似问题有任何提示。

例如,最好的做法是使用与作业编号相同的名称来命名数据文件(尽管这听起来不可能)。

fortran fortran90 intel-fortran
1个回答
2
投票

您可能可以使用

GET_COMMAND_ARGUMENT
(参见here)来获取定义输出文件夹的参数,例如:

PROGRAM main
   ... var defs ...

   CALL GET_COMMAND_ARGUMENT(1, folder)
   WRITE(filename, '(a,<blah>)') TRIM(folder)//"/<filename>.dat"
   OPEN(UNIT=lun, FILE=filename, <args>)

   ... main code ...
END PROGRAM main

在您的提交脚本中,您必须有类似的内容

mkdir runjobNNNN
./main "runjobNNNN"

其中

NNNN
是运行编号。请注意,您可能需要仔细检查提交脚本的这些命令是否有效,我不能 100% 确定它们是否按书面方式工作,但这个想法应该有效。

© www.soinside.com 2019 - 2024. All rights reserved.