运行DiFX
设置MPI和mpifxcorr
设置 mpifxcorr
现在比以前简单了许多,只需将 setup.bash
或 setup.csh
添加到登录脚本中。你可以在安装目录的顶层找到这些设置文件。假设你使用的是 bash
,并运行 DiFX-2.2(现在已经较旧,最新版本为2.8.1),你需要的文件是 master_tags/DiFX-2.2/setup.bash
。
你在安装 DiFX 时应该已经设置过这个文件。
要确保 MPI 准备好运行,输入 mpirun
。它应该显示可用的选项列表。如果它抱怨环境没有准备好,可能需要运行 mpd
。除此之外,咨询你所用 MPI 发行版的具体文档,这里有太多不同的 MPI 版本,无法进行详细的故障排除。
这个文件定义了一堆变量,例如$DIFXROOT
,并将$DIFXROOT/bin/
添加到路径中。
因此,编译的所有程序都应该可以正常运行。
输入which mpifxcorr
- 您应该看到将要运行的mpifxcorr
版本和路径。
为了确保MPI准备好运行,键入 mpirun
。 它应该给您提供它所采取的选项列表。 如果它抱怨环境还没有准备好,您可能需要运行’mpd’。
除此之外 - 请参阅您的发行版的特定MPI文档,有太多不同的MPI发行版,无法在此处进行详细的故障排除。
运行mpifxcorr
如果您已经下载了一些示例数据并且只想测试它,那么您可以立即开始,因为您不需要生成辅助文件。
但是,最好从一开始就遵循正常的设置相关性的路径,您只需使用vex文件即可生成所有mpifxcorr配置文件。
下面显示了一个相关处理方式的流程图:
如图所见,有两个步骤需要用户输入。
第一个是生成 .v2d
文件。 有关此文件的介绍,可以参考vex2difx文档,但它可以(并且通常是)非常简单。
另一个是机器文件和.threads文件。 这些描述了mpifxcorr将在哪台计算机上运行以及它将使用多少个计算线程。
这里显示了一个示例,具体可以参考difx-files。 如果您只是在一台机器上运行(比如自己的笔记本或者服务器),那么只需一遍又一遍地使用它的名称即可。
您至少需要N + 2个条目,其中N是望远镜的数量。
Before you start up the correlator, you should start up errormon2 to log
the messages which come out of the correlator. Just type errormon2, and
it will write a file called log (you can rename it later if you want).
在启动相关处理之前,您应该启动 errormon2
以记录相关处理输出的消息。 只需键入 errormon2
,它将写入一个名为log的文件(如果需要,稍后可以将其重命名)。
一旦您拥有机器文件,并且errormon2正在运行,您就应该能够使用以下命令启动相关处理:
1 | $ mpirun -machinefile machines.list -np X mpifxcorr example.input |
将machines.list替换为您的机器文件名,将X替换为要使用的进程数,并将example.input替换为输入文件名。
目前,主要有以下几个工具可以运行:genmachines/startdifx、espresso 和 startcorr.pl。genmachines
适用于 Mark5 单元相关的相关性计算,espresso
用于基于文件的相关性计算,而 startcorr.pl
适用于 eVLBI。将来这些工具可能会统一。
辅助程序
如上所述,DiFX 提供了一系列辅助程序,帮助设置相关处理作业并将输出转换为导出格式。下面列出了这些程序及其简要说明的链接。
vex2difx
vex2difx在vex2difx有很好的文档。
calcif2
使用 calcif2
生成相关模型文件。它处理由 vex2difx
生成的 .calc
文件,并生成 .delay
、.uvw
、.rate
和 .im
文件。你应该在 vex2difx
之后运行 calcif2
,在 mpifxcorr
之前运行。
difx2fits
difx2fits
用于生成 FITS 文件。要使用 difx2fits
,需要将 .input
文件中的输出格式设置为 SWIN,并在相关性计算完成后使用 difx2fits
。更多文档已记录在 这里。
difx2mark4
difx2mark4
用于生成类地测量的 Mark4 可见性数据集。它的运行方式与 difx2fits
类似。相关文档已记录在 这里。
参考指南
关于 mpifxcorr
及其支持软件的详细信息,可以在参考